專(zhuān)利名稱(chēng):多通道高速數(shù)據(jù)處理器及處理方法
技術(shù)領(lǐng)域:
本發(fā)明設(shè)備是一種無(wú)線網(wǎng)絡(luò)安全領(lǐng)域的高速數(shù)據(jù)處理設(shè)備,它采用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)為基礎(chǔ)平臺(tái),是一種多通道高速數(shù)據(jù)處理系統(tǒng)。
背景技術(shù):
高速分組數(shù)據(jù)、多媒體數(shù)據(jù)和Internet等業(yè)務(wù)的應(yīng)用推動(dòng)著碼分多址(CDMA)從IS-95向CDMA2000 1X升級(jí)。國(guó)際標(biāo)準(zhǔn)化組織3GPP2制定了CDMA2000 1X分組數(shù)據(jù)網(wǎng)絡(luò)的相關(guān)標(biāo)準(zhǔn),采用了IETF在移動(dòng)IP技術(shù)上已有的工作成果,使網(wǎng)絡(luò)具有快速提供IP接入的能力、與其他IP網(wǎng)的互通能力、更好的漫游能力及私有網(wǎng)絡(luò)的IP業(yè)務(wù)能力,并且使系統(tǒng)具有提供144Kbps、384Kbps和2Mbps接入速率及簡(jiǎn)單IP和移動(dòng)IP業(yè)務(wù)功能。
在CDMA2000 1X網(wǎng)絡(luò)中,移動(dòng)臺(tái)MS或移動(dòng)手機(jī)與分組數(shù)據(jù)服務(wù)節(jié)點(diǎn)(PDSN)之間采用端對(duì)端協(xié)議(PPP)協(xié)議作為數(shù)據(jù)鏈路協(xié)議。對(duì)于從廣域網(wǎng)到移動(dòng)節(jié)點(diǎn)的IP包,分組數(shù)據(jù)服務(wù)節(jié)點(diǎn)會(huì)將它對(duì)應(yīng)到一個(gè)具體的端對(duì)端協(xié)議連接上,通過(guò)查找目的移動(dòng)手機(jī)的IP地址與相對(duì)應(yīng)A10連接的映射關(guān)系,將IP包發(fā)送給移動(dòng)手機(jī)終端;對(duì)于從一個(gè)已經(jīng)注冊(cè)的手機(jī)終端的歸屬代理家鄉(xiāng)代理(HA)收到一個(gè)IP包時(shí),分組數(shù)據(jù)服務(wù)節(jié)點(diǎn)可以根據(jù)HA的IP地址和手機(jī)終端的IP地址找到相應(yīng)的R-P連接,發(fā)送數(shù)據(jù)包;對(duì)于來(lái)自移動(dòng)手機(jī)的IP數(shù)據(jù)包,手機(jī)終端將它封裝在端對(duì)端協(xié)議數(shù)據(jù)包中向網(wǎng)絡(luò)發(fā)送,經(jīng)過(guò)無(wú)線空中接口和基站傳輸后,再由基站控制器的分組控制功能(PCF)部件將移動(dòng)終端的端對(duì)端協(xié)議數(shù)據(jù)封裝在通用路由協(xié)議(GRE)隧道中向分組數(shù)據(jù)服務(wù)節(jié)點(diǎn)傳送,然后由網(wǎng)絡(luò)側(cè)的分組數(shù)據(jù)服務(wù)節(jié)點(diǎn)對(duì)隧道封裝數(shù)據(jù)包進(jìn)行解包、重新組裝處理后路由到網(wǎng)絡(luò)側(cè)的IP骨干網(wǎng),或通過(guò)反向隧道發(fā)送到其歸屬代理HA處。
基于網(wǎng)絡(luò)處理器的移動(dòng)互聯(lián)網(wǎng)內(nèi)容監(jiān)管設(shè)備在攔截、過(guò)濾和分析CDMA分組數(shù)據(jù)域的信息時(shí),需要將端對(duì)端協(xié)議的高速數(shù)據(jù)鏈路控制協(xié)議(HDLC)幀連成一個(gè)完整的數(shù)據(jù)包,這時(shí)需要對(duì)高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)幀轉(zhuǎn)義或反轉(zhuǎn)義,恢復(fù)出原始的數(shù)據(jù)。但如果這種工作交由網(wǎng)絡(luò)處理器完成,必將加大系統(tǒng)的開(kāi)銷(xiāo),極大影響系統(tǒng)的性能。
發(fā)明內(nèi)容
技術(shù)問(wèn)題本發(fā)明的目的是提供一種多通道高速數(shù)據(jù)處理系統(tǒng),我們?cè)O(shè)計(jì)了多通道高速數(shù)據(jù)處理系統(tǒng)來(lái)輔助主機(jī)工作,從而實(shí)現(xiàn)移動(dòng)互聯(lián)網(wǎng)內(nèi)容監(jiān)管數(shù)據(jù)的高速實(shí)時(shí)處理,減少主機(jī)的負(fù)擔(dān),提高效率。
技術(shù)方案本發(fā)明采用外加現(xiàn)場(chǎng)可編程門(mén)陣列協(xié)處理器的方式完成多路異步高速數(shù)據(jù)鏈路控制協(xié)議處理功能,并通過(guò)4倍數(shù)據(jù)速率(QDR)接口與主機(jī)通信,將原來(lái)由軟件處理的一些工作由硬件來(lái)完成,減少主機(jī)的負(fù)擔(dān),提高效率。
隨著微電子技術(shù)的發(fā)展,現(xiàn)場(chǎng)可編程門(mén)陣列器件得到了飛速發(fā)展,由于該器件具有工作速度快、集成度高和現(xiàn)場(chǎng)可編程等特點(diǎn),因而在數(shù)字信號(hào)處理中得到了廣泛的應(yīng)用。本發(fā)明基于高速數(shù)據(jù)鏈路控制協(xié)議的基本原理,在Xilinx公司的現(xiàn)場(chǎng)可編程門(mén)陣列芯片Spartan系列器件(XC3S2000-4FG676C)完成了本發(fā)明的設(shè)計(jì)。高速數(shù)據(jù)鏈路控制協(xié)議是一個(gè)面向位的協(xié)議,支持半雙工和全雙工通信,它被廣泛應(yīng)用與數(shù)據(jù)通信領(lǐng)域,是其他許多數(shù)據(jù)鏈路控制協(xié)議的技術(shù)。它具有很強(qiáng)的差錯(cuò)檢錯(cuò)、高效和同步傳輸?shù)奶攸c(diǎn)。目前許多網(wǎng)絡(luò)路由設(shè)備和交換機(jī)均利用高速數(shù)據(jù)鏈路控制協(xié)議作為其鏈路協(xié)議。
本發(fā)明高速數(shù)據(jù)處理器主要對(duì)來(lái)自主機(jī)的多路高速數(shù)據(jù)鏈路控制協(xié)議幀進(jìn)行并行的解封裝和端對(duì)端協(xié)議包反轉(zhuǎn)義處理,最后將結(jié)果反饋主機(jī)進(jìn)行下一步的重組和協(xié)議處理,從而緩解了主機(jī)負(fù)擔(dān)過(guò)重,系統(tǒng)開(kāi)銷(xiāo)過(guò)大的壓力,保證了整個(gè)移動(dòng)互聯(lián)網(wǎng)監(jiān)控系統(tǒng)的高速運(yùn)轉(zhuǎn)。本發(fā)明提出的多通道高速數(shù)據(jù)處理系統(tǒng),一方面遵循了IEEE的國(guó)際標(biāo)準(zhǔn),實(shí)現(xiàn)了標(biāo)準(zhǔn)規(guī)定的基本功能——高速數(shù)據(jù)鏈路控制協(xié)議幀的轉(zhuǎn)義/反轉(zhuǎn)義以及循環(huán)冗余碼效驗(yàn)(CRC)校驗(yàn);另一方面還提供了可擴(kuò)展的、靈活借口,根據(jù)以后的實(shí)際需要,對(duì)處理器進(jìn)行擴(kuò)展;另外,該處理器設(shè)計(jì)完畢后,可以通過(guò)在現(xiàn)已開(kāi)發(fā)的軟件或硬件上稍加修改,可以將該處理器改造為其他通信產(chǎn)品,例如幀中繼系統(tǒng),綜合服務(wù)數(shù)字網(wǎng)(ISDN),X.25數(shù)據(jù)網(wǎng),骨干和邊緣路由器等各種數(shù)據(jù)環(huán)境網(wǎng)環(huán)境中,所以本高速數(shù)據(jù)鏈路控制協(xié)議處理器仍有相當(dāng)廣泛的應(yīng)用前景。
本發(fā)明設(shè)備的結(jié)構(gòu)如下
本發(fā)明包含現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊,4倍數(shù)據(jù)速率接口模塊,可編程只讀存儲(chǔ)器程序配置模塊和軟件系統(tǒng)模塊等四個(gè)部分。其中1、現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊采用200萬(wàn)門(mén)現(xiàn)場(chǎng)可編程門(mén)陣列,作為主機(jī)的協(xié)處理器,在該設(shè)備中居于核心地位?,F(xiàn)場(chǎng)可編程門(mén)陣列與4倍數(shù)據(jù)速率接口之間通過(guò)LA_1協(xié)議進(jìn)行通信。I/O電平輸出遵循HSTL_1_DCI(1.5V)標(biāo)準(zhǔn),為此需提供額外的0.75V參考電平。現(xiàn)場(chǎng)可編程門(mén)陣列通過(guò)與Flash可編程只讀存儲(chǔ)器(FLASH PROM)之間的串行接口接受配置信息,此外,還可以通過(guò)JTAG接口直接對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列進(jìn)行配置和調(diào)試。上電后,現(xiàn)場(chǎng)可編程門(mén)陣列自行向可編程只讀存儲(chǔ)器(PROM)中讀取數(shù)據(jù),在工作狀態(tài)時(shí)還可以通過(guò)重置信號(hào)進(jìn)行重新配置。
2、4倍數(shù)據(jù)速率接口模塊連接主板和該設(shè)備,為該設(shè)備提供與主機(jī)之間的通信和數(shù)據(jù)交互。此外,該設(shè)備的所有供電都由該接口提供。
(1)內(nèi)部集成電路總線接口,接口通過(guò)內(nèi)部集成電路(I2C)總線訪問(wèn)卡上的內(nèi)部集成電路E2PROM來(lái)獲取該設(shè)備識(shí)別符、工作電平和溫度等設(shè)備信息,從而識(shí)別該設(shè)備。
(2)4倍數(shù)據(jù)速率接口,該設(shè)備的16位數(shù)據(jù)接口在雙時(shí)鐘驅(qū)動(dòng)下倍頻成為邏輯32位??偩€提供可同時(shí)工作的四倍速輸入輸出端口和24位地址線寬。
(3)JTAG調(diào)試接口,雖然LA_1標(biāo)準(zhǔn)中包含JTAG接口,但僅限于提供測(cè)試接口(不支持對(duì)可編程只讀存儲(chǔ)器和現(xiàn)場(chǎng)可編程門(mén)陣列的燒寫(xiě)),所以在設(shè)計(jì)中另外引入了JTAG插槽,通過(guò)PC機(jī)直接下載程序到可編程只讀存儲(chǔ)器。
(4)外圍供電模塊,4倍數(shù)據(jù)速率接口為該設(shè)備提供+3.3V、+1.8V和+1.5V直流電壓。除此以外,諸如2.5V、1.2V、0.75V電壓都由該設(shè)備通過(guò)+3.3V本地生成。
3、可編程只讀存儲(chǔ)器程序配置模塊(1)內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路,記錄協(xié)處理器設(shè)備信息,包括設(shè)備ID、工作電平和溫度等參數(shù),系統(tǒng)啟動(dòng)時(shí),4倍數(shù)據(jù)速率接口通過(guò)內(nèi)部集成電路總線對(duì)其進(jìn)行檢測(cè)以識(shí)別該設(shè)備。此外,內(nèi)部集成電路可編程只讀存儲(chǔ)器本身還支持口令加密和密碼保護(hù)。
(2)Flash可編程只讀存儲(chǔ)器電路,在上電時(shí)自動(dòng)對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列進(jìn)行配置,其配置方式分主從兩種模式,其主要區(qū)別在于配置時(shí)鐘信號(hào)源的不同。在現(xiàn)場(chǎng)可編程門(mén)陣列主控模式中,現(xiàn)場(chǎng)可編程門(mén)陣列為可編程只讀存儲(chǔ)器提供配置時(shí)鐘信號(hào),在現(xiàn)場(chǎng)可編程門(mén)陣列受控模式中,由外部晶振提供配置時(shí)鐘信號(hào)。
4、軟件系統(tǒng)模塊軟件系統(tǒng)模塊實(shí)現(xiàn)整個(gè)現(xiàn)場(chǎng)可編程門(mén)陣列的多通道數(shù)據(jù)處理功能。各驅(qū)動(dòng)模塊均采用動(dòng)態(tài)模塊加載的方式編寫(xiě)。
軟件系統(tǒng)模塊主要包括了以下的幾個(gè)部分隊(duì)列調(diào)度模塊,接收數(shù)據(jù)緩存模塊、發(fā)送數(shù)據(jù)緩存模塊、高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包反轉(zhuǎn)義及其標(biāo)志字處理模、幀效驗(yàn)序列模塊。
在結(jié)構(gòu)上,該處理器具體包括以下的四個(gè)模塊現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊,4倍數(shù)據(jù)速率接口模塊,可編程只讀存儲(chǔ)器程序配置模塊和軟件系統(tǒng)模塊;所述4倍數(shù)據(jù)速率接口模塊包括內(nèi)部集成電路總線接口、4倍數(shù)據(jù)速率接口、JTAG接口、外圍供電模塊,現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊通過(guò)4倍數(shù)據(jù)速率接口連接外部的主機(jī)、通過(guò)電源線與外圍供電模塊連接、通過(guò)JTAG接口與可編程只讀存儲(chǔ)器程序配置模塊中的Flash可編程只讀存儲(chǔ)器電路相接,F(xiàn)lash可編程只讀存儲(chǔ)器電路還通過(guò)JTAG接口與外部的PC機(jī)相接;可編程只讀存儲(chǔ)器程序配置模塊中的內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路通過(guò)內(nèi)部集成電路總線接口連接外部的主機(jī);軟件系統(tǒng)模塊,包括了隊(duì)列調(diào)度模塊,接收數(shù)據(jù)緩存模塊、發(fā)送數(shù)據(jù)緩存模塊、高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包反轉(zhuǎn)義及其標(biāo)志字處理模、幀效驗(yàn)序列模塊,模塊與模塊之間通過(guò)信號(hào)傳遞連接在一起。軟件系統(tǒng)模塊駐留在可編程只讀存儲(chǔ)器程序配置模塊中,系統(tǒng)工作后,程序被加載到現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊中,而通過(guò)4倍數(shù)據(jù)速率接口模塊與主機(jī)的程序連接在一起。
現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊采用200萬(wàn)門(mén)“XC3S2000”現(xiàn)場(chǎng)可編程門(mén)陣列作為主機(jī)的協(xié)處理器。4倍數(shù)據(jù)速率接口模塊中,外圍供電模塊采用了“TPS75525”電壓轉(zhuǎn)換芯片;在生成1.2v電壓時(shí),采用了“TPS54312”電壓轉(zhuǎn)換芯片;在生成0.75V電壓時(shí),采用“MAX1589EZTAFJ”芯片。可編程只讀存儲(chǔ)器程序配置模塊中,采用內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路記錄本發(fā)明的有關(guān)信息,包括設(shè)備識(shí)別符、工作電平和溫度等參數(shù),主機(jī)通過(guò)內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路進(jìn)行檢測(cè)以識(shí)別多通道高速數(shù)據(jù)處理器,內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路本身還支持口令加密和密碼保護(hù)??删幊讨蛔x存儲(chǔ)器程序配置模塊中,采用Flash可編程只讀存儲(chǔ)器電路在上電時(shí)自動(dòng)對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊進(jìn)行配置,有主控模式和被控模式兩種。
多通道高速數(shù)據(jù)處理器的高速數(shù)據(jù)處理方法是軟件系統(tǒng)模塊中,首先由網(wǎng)絡(luò)處理器發(fā)出讀寫(xiě)信息和數(shù)據(jù)信息,隊(duì)列調(diào)度模塊從網(wǎng)絡(luò)處理器獲取讀寫(xiě)及其數(shù)據(jù)信息,接收模塊從隊(duì)列調(diào)度模塊獲取相應(yīng)的寫(xiě)命令后,對(duì)緩沖區(qū)進(jìn)行相應(yīng)的寫(xiě)操作,以便于高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包反轉(zhuǎn)義及其標(biāo)志字處理模的處理,處理后的控制信號(hào)有效幀信號(hào)、轉(zhuǎn)義信號(hào)及其處理器輸出數(shù)據(jù)一并傳入幀效驗(yàn)序列模塊,經(jīng)校驗(yàn)后產(chǎn)生控制信號(hào)寫(xiě)緩沖信號(hào),幀尾信號(hào),效驗(yàn)錯(cuò)誤信號(hào)及其效驗(yàn)后數(shù)據(jù),傳入發(fā)送數(shù)據(jù)緩存模塊,綜合處理判斷后將數(shù)據(jù)寫(xiě)入緩沖區(qū),結(jié)合隊(duì)列調(diào)度模塊的讀信息,通過(guò)對(duì)該緩沖區(qū)的讀操作將處理后的數(shù)據(jù)輸出。軟件系統(tǒng)模塊對(duì)每個(gè)通道的數(shù)據(jù)進(jìn)行幀頭搜索、循環(huán)冗余碼校驗(yàn)、反轉(zhuǎn)義、丟棄序列的檢測(cè)、幀長(zhǎng)的監(jiān)測(cè)以及幀尾的搜索,一旦檢測(cè)到某一幀當(dāng)前傳輸?shù)男畔⑽粩?shù)達(dá)到最大幀長(zhǎng)或檢測(cè)到丟棄序列時(shí),狀態(tài)機(jī)對(duì)當(dāng)前幀的處理結(jié)束,并重新對(duì)新的一幀進(jìn)行幀頭搜索,而當(dāng)前幀中的剩余數(shù)據(jù)將不被處理。軟件系統(tǒng)模塊同時(shí)處理高達(dá)128通道并行傳輸?shù)母咚贁?shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)流,它的實(shí)現(xiàn)是采用時(shí)分復(fù)用的方式,其中通道狀態(tài)存儲(chǔ)器是實(shí)現(xiàn)時(shí)分復(fù)用的關(guān)鍵,每一個(gè)通道在該通道狀態(tài)存儲(chǔ)器之中都有一塊固定的存儲(chǔ)空間,用以存儲(chǔ)該通道的數(shù)據(jù)處理情況,即通道狀態(tài)信息,為每一個(gè)通道每一段需要被處理的數(shù)據(jù)分配一段長(zhǎng)度一定的時(shí)間片,每個(gè)時(shí)間片結(jié)束時(shí),當(dāng)前通道最新的狀態(tài)信息將被存入通道狀態(tài)存儲(chǔ)器中的相應(yīng)存儲(chǔ)空間,當(dāng)新的一段數(shù)據(jù)到達(dá)時(shí),此段數(shù)據(jù)所屬的通道在上一個(gè)時(shí)間片內(nèi)被刷新的狀態(tài)信息將從通道狀態(tài)存儲(chǔ)器中讀出并加載到狀態(tài)機(jī)中,為新一輪的數(shù)據(jù)處理做準(zhǔn)備。
有益效果本發(fā)明多通道高速數(shù)據(jù)處理設(shè)備達(dá)到了良好功能特性實(shí)現(xiàn)了RFC1662規(guī)定的高速數(shù)據(jù)鏈路控制協(xié)議功能,實(shí)現(xiàn)了標(biāo)志字檢測(cè)、轉(zhuǎn)義/反轉(zhuǎn)義、幀效驗(yàn)序列(FCS)功能,同時(shí)具有可擴(kuò)展性和靈活性的特點(diǎn),方便以后的升級(jí)擴(kuò)展;本發(fā)明設(shè)備還通過(guò)增加接收和發(fā)送模塊實(shí)現(xiàn)多通道并行處理高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù),提高了處理器的效率;通過(guò)把4倍數(shù)據(jù)速率接口的地址總線作為控制信號(hào)利用,實(shí)現(xiàn)了總線復(fù)用,提高了總線利用率。
本發(fā)明主要是基于移動(dòng)互聯(lián)網(wǎng)內(nèi)容監(jiān)管設(shè)備中高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包的高速數(shù)據(jù)處理的現(xiàn)場(chǎng)可編程門(mén)陣列實(shí)現(xiàn)。本發(fā)明在硬件實(shí)現(xiàn)方面提出了新的設(shè)計(jì)結(jié)構(gòu)和實(shí)現(xiàn)方法;在功能上實(shí)現(xiàn)了高速數(shù)據(jù)鏈路控制協(xié)議幀的轉(zhuǎn)義/反轉(zhuǎn)義、循環(huán)冗余碼校驗(yàn)功能、幀頭幀尾的搜索及其去除,尤其關(guān)鍵的是通過(guò)與主機(jī)的通信,實(shí)現(xiàn)了多個(gè)用戶(hù)同時(shí)在線時(shí)端對(duì)端協(xié)議包的處理,并達(dá)到了200Mbps的高速處理能力。在功能上實(shí)現(xiàn)了移動(dòng)互聯(lián)網(wǎng)內(nèi)容監(jiān)管系統(tǒng)中端對(duì)端協(xié)議包的高速處理。
圖1基于現(xiàn)場(chǎng)可編程門(mén)列陣的多通道高速數(shù)據(jù)處理設(shè)備結(jié)構(gòu)框圖;圖24倍數(shù)據(jù)速率接口模塊2示意圖;圖3Flash可編程只讀存儲(chǔ)器電路3.2與現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1連接圖;圖4可編程只讀存儲(chǔ)器程序配置模塊3配置流程圖;圖5軟件模塊連接圖;圖6本發(fā)明設(shè)備的軟件狀態(tài)圖;圖7單通道高速數(shù)據(jù)處理器狀態(tài)轉(zhuǎn)移圖。
以上的圖中有現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1,4倍數(shù)據(jù)速率接口模塊2,可編程只讀存儲(chǔ)器程序配置模塊3和軟件系統(tǒng)模塊4;內(nèi)部集成電路總線接口2.1、4倍數(shù)據(jù)速率接口2.2、JTAG調(diào)試接口2.3、外圍供電模塊2.4;內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路3.1和Flash可編程只讀存儲(chǔ)器電路3.2;隊(duì)列調(diào)度模塊4.1,接收數(shù)據(jù)緩存模塊4.2、發(fā)送數(shù)據(jù)緩存模塊4.3、高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包反轉(zhuǎn)義及其標(biāo)志字處理模4.4、幀效驗(yàn)序列模塊4.5。
具體實(shí)施例方式
以下結(jié)合附圖,對(duì)本發(fā)明設(shè)備各個(gè)模塊的結(jié)構(gòu)和流程進(jìn)行詳細(xì)說(shuō)明。
本發(fā)明設(shè)備是一種基于現(xiàn)場(chǎng)可編程門(mén)陣列的多通道高速數(shù)據(jù)處理設(shè)備。
如圖1所示本發(fā)明的系統(tǒng)架構(gòu)可知,該處理器具體包括以下的四個(gè)模塊現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1,4倍數(shù)據(jù)速率接口模塊2,可編程只讀存儲(chǔ)器程序配置模塊3和軟件系統(tǒng)模塊4;所述4倍數(shù)據(jù)速率接口模塊2包括內(nèi)部集成電路總線接口2.1、4倍數(shù)據(jù)速率接口2.2、JTAG接口2.3、外圍供電模塊2.4,現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1通過(guò)4倍數(shù)據(jù)速率接口2.2連接外部的主機(jī)、通過(guò)電源線與外圍供電模塊2.4連接、通過(guò)JTAG接口2.3與可編程只讀存儲(chǔ)器程序配置模塊3中的Flash可編程只讀存儲(chǔ)器電路3.2相接,F(xiàn)lash可編程只讀存儲(chǔ)器電路3.2還通過(guò)JTAG接口2.3與外部的PC機(jī)相接;可編程只讀存儲(chǔ)器程序配置模塊3中的內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路3.1通過(guò)內(nèi)部集成電路總線接口2.1連接外部的主機(jī);軟件系統(tǒng)模塊4,包括了隊(duì)列調(diào)度模塊4.1,接收數(shù)據(jù)緩存模塊4.2、發(fā)送數(shù)據(jù)緩存模塊4.3、高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包反轉(zhuǎn)義及其標(biāo)志字處理模4.4、幀效驗(yàn)序列模塊4.5,模塊與模塊之間通過(guò)信號(hào)傳遞連接在一起。軟件系統(tǒng)模塊4駐留在可編程只讀存儲(chǔ)器程序配置模塊3中,系統(tǒng)工作后,程序被加載到現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1中,而通過(guò)4倍數(shù)據(jù)速率接口模塊2與主機(jī)的程序連接在一起。
本發(fā)明處理器采用200萬(wàn)門(mén)Spartan3 XC3S2000現(xiàn)場(chǎng)可編程門(mén)陣列。現(xiàn)場(chǎng)可編程門(mén)陣列達(dá)到200Mbps的處理速度,接入接口部分與主機(jī)之間采用標(biāo)準(zhǔn)內(nèi)部集成電路方式完成信號(hào)連接和時(shí)序匹配過(guò)程;采用數(shù)字控制阻抗匹配(DCI)技術(shù)在現(xiàn)場(chǎng)可編程門(mén)陣列內(nèi)部實(shí)現(xiàn)的I/O信號(hào)線短接;2M系統(tǒng)門(mén)結(jié)構(gòu)、320K分布式RAM、720K Block RAM、40個(gè)專(zhuān)用乘法器、4組數(shù)字時(shí)鐘管理結(jié)構(gòu)(DCM)可以對(duì)外提供4個(gè)不同的時(shí)鐘信號(hào)、最高可達(dá)565個(gè)用戶(hù)I/O最高可達(dá)270對(duì)差分信號(hào)對(duì)、支持18種單行I/O標(biāo)準(zhǔn)和8種差分I/O標(biāo)準(zhǔn)。本系統(tǒng)的設(shè)計(jì)中,采用LA_14倍數(shù)據(jù)速率接口模塊2連接主機(jī)和本發(fā)明設(shè)備,為本發(fā)明設(shè)備提供與主機(jī)之間的通信和數(shù)據(jù)交互。此外,本發(fā)明設(shè)備的所有供電都由該接口提供。內(nèi)部集成電路總線接口2.1通過(guò)內(nèi)部集成電路總線訪問(wèn)卡上的I2C E2PROM來(lái)獲取本發(fā)明設(shè)備的識(shí)別符、工作電平和溫度等設(shè)備信息,從而識(shí)別本發(fā)明設(shè)備。4倍數(shù)據(jù)速率接口2.2的16位數(shù)據(jù)接口在雙時(shí)鐘驅(qū)動(dòng)下倍頻成為邏輯32位,它運(yùn)用LA_1協(xié)議,在實(shí)際運(yùn)用中選擇和定制的空間較大;JTAG調(diào)試接口2.3僅限于提供測(cè)試接口(不支持對(duì)可編程只讀存儲(chǔ)器和現(xiàn)場(chǎng)可編程門(mén)陣列的燒寫(xiě)),所以在設(shè)計(jì)中另外引入了JTAG插槽,通過(guò)PC機(jī)直接下載程序到可編程只讀存儲(chǔ)器;外圍供電模塊2.4在生成2.5V電壓時(shí),我們采用了TI的TPS75525電壓轉(zhuǎn)換芯片,5Pin TO-263(KTT)封裝;在生成1.2v電壓時(shí),我們采用了TI的TPS54312電壓轉(zhuǎn)換芯片,20Pin PWP封裝;在生成0.75V電壓時(shí),我們采用MAX1589EZTAFJ,TDFN封裝;采用內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路3.1記錄本發(fā)明設(shè)備信息,包括設(shè)備識(shí)別符、工作電平和溫度等參數(shù)。此外,內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路3.1本身還支持口令加密和密碼保護(hù);采用Flash可編程只讀存儲(chǔ)器電路3.2在上電時(shí)自動(dòng)對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列進(jìn)行配置,有主控模式和被控模式兩種。
與本發(fā)明設(shè)備相關(guān)聯(lián)的外部設(shè)備主要有主機(jī)和PC。本發(fā)明設(shè)備通過(guò)一個(gè)114管腳的插座連接主機(jī),接口信號(hào)遵循LA_1協(xié)議,此外本發(fā)明設(shè)備的供電也通過(guò)該插座引入。與外部計(jì)算機(jī)之間的連接主要通過(guò)JTAG接口,通過(guò)該接口調(diào)試和燒寫(xiě)現(xiàn)場(chǎng)可編程門(mén)陣列以及可編程只讀存儲(chǔ)器。在對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列的訪問(wèn)中,JTAG模式享有最高優(yōu)先級(jí)。
在我們的發(fā)明設(shè)備上還設(shè)計(jì)了針對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列的硬件復(fù)位和軟件復(fù)位端口,硬件復(fù)位通過(guò)對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列PROG_B管腳置位來(lái)清除配置存儲(chǔ)區(qū)內(nèi)存,然后可通過(guò)JTAG模式重新燒寫(xiě)或可編程只讀存儲(chǔ)器重新進(jìn)行自動(dòng)配置。軟件復(fù)位端口主要用于程序的復(fù)位和調(diào)試,其功能可由用戶(hù)自行定義。
現(xiàn)場(chǎng)可編程門(mén)陣列的工作時(shí)鐘由40MHz板載晶振提供,也可以采用114插槽提供的200MHz 4倍數(shù)據(jù)速率接口時(shí)鐘,以上兩種時(shí)鐘都由全局時(shí)鐘端口引入,在現(xiàn)場(chǎng)可編程門(mén)陣列內(nèi)部通過(guò)數(shù)字時(shí)鐘管理結(jié)構(gòu)模塊進(jìn)行分頻和倍頻生成系統(tǒng)時(shí)鐘。
以下對(duì)各個(gè)模塊進(jìn)行展開(kāi)說(shuō)明。
1、現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1(1)現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1的配置模式我們采用的Spartan現(xiàn)場(chǎng)可編程門(mén)陣列兼容多種配置模式,各配置模式的選擇通過(guò)撥碼開(kāi)關(guān)對(duì)模式管腳高低電平的設(shè)置來(lái)實(shí)現(xiàn)的。不同模式對(duì)應(yīng)的管腳電平配置見(jiàn)下表1
表1各模式對(duì)應(yīng)的MODE管腳配置說(shuō)明JTAG模式不受模式選擇的制約而始終可用,為其分配選擇模式只是為了防止在配置過(guò)程中同其他的配置方式發(fā)生沖突。
現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1的系統(tǒng)資源在單板設(shè)計(jì)中,我們采用了Xilinx公司的Spartan3 XC3S2000現(xiàn)場(chǎng)可編程門(mén)陣列,其主要硬件參數(shù)如下2M系統(tǒng)門(mén)結(jié)構(gòu);320K分布式RAM、720K Block RAM;40個(gè)專(zhuān)用乘法器;4組數(shù)字時(shí)鐘管理結(jié)構(gòu),可以對(duì)外提供4個(gè)不同的時(shí)鐘信號(hào);最高可達(dá)565個(gè)用戶(hù)I/O;最高可達(dá)270對(duì)差分信號(hào)對(duì);支持18種單行I/O標(biāo)準(zhǔn)和8種差分I/O標(biāo)準(zhǔn)。
現(xiàn)場(chǎng)可編程門(mén)陣列的I/O分為8個(gè)Bank,每個(gè)Bank的I/O輸出供電相對(duì)獨(dú)立,原則上能同時(shí)支持8種不同的I/O標(biāo)準(zhǔn)。
(2)現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1的供電說(shuō)明現(xiàn)場(chǎng)可編程門(mén)陣列的供電主要分為以下幾個(gè)部分現(xiàn)場(chǎng)可編程門(mén)陣列核心供電Vccint;現(xiàn)場(chǎng)可編程門(mén)陣列輔助供電Vccaux;輸出驅(qū)動(dòng)電平Vcco;輸入?yún)⒖茧娖絍ref。
其中,有的電壓如Vccint和Vccaux相對(duì)固定,其他的電壓隨與之對(duì)應(yīng)的Bank所采用的I/O標(biāo)準(zhǔn)而變化。在上電是,各電平必須滿(mǎn)足相應(yīng)的要求。在本設(shè)計(jì)中,Bank1到Bank3由于采用了與4倍數(shù)據(jù)速率接口一致的HSTL_I標(biāo)準(zhǔn),所以在這些Bank中必須采用1.5Vcco和0.75V Vref。
在本設(shè)計(jì)中,Bank1到Bank3由于采用了與4倍數(shù)據(jù)速率接口一致的HSTL_I標(biāo)準(zhǔn),所以在這些Bank中必須采用1.5Vcco和0.75V Vref。詳細(xì)的電平配置如下表所示
表2現(xiàn)場(chǎng)可編程門(mén)陣列輸入電平列表數(shù)字控制阻抗匹配技術(shù)是在現(xiàn)場(chǎng)可編程門(mén)陣列內(nèi)部實(shí)現(xiàn)的I/O信號(hào)線端接,對(duì)于不同的I/O標(biāo)準(zhǔn)往往有不同的實(shí)現(xiàn)方法,主要通過(guò)向現(xiàn)場(chǎng)可編程門(mén)陣列各Bank的VRN和VRP管腳提供上拉或者下拉的參考電阻,現(xiàn)場(chǎng)可編程門(mén)陣列根據(jù)各Bank對(duì)應(yīng)的端接方式和提供的特征阻抗值向各I/O管腳提供數(shù)字控制阻抗匹配。
在本設(shè)計(jì)中,主要針對(duì)HSTL_I標(biāo)準(zhǔn)配置數(shù)字控制阻抗匹配,HSTL_I標(biāo)準(zhǔn)在作為信號(hào)輸出時(shí)不啟動(dòng)端接,在作為信號(hào)輸入時(shí)啟用端接,而且是包含上拉和下拉參考電阻的雙端接形式。
現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1的電路上還包括直流1.2V為現(xiàn)場(chǎng)可編程門(mén)陣列模塊供電、2.5V外圍供電和0.75V參考電壓三個(gè)外圍直流電壓轉(zhuǎn)換電路以及40MHz全局時(shí)鐘信號(hào)發(fā)生單元和重置開(kāi)關(guān)電路等幾個(gè)外圍電路。其中,40MHz晶振為現(xiàn)場(chǎng)可編程門(mén)陣列提供全局時(shí)鐘,并且可以通過(guò)現(xiàn)場(chǎng)可編程門(mén)陣列內(nèi)部數(shù)字時(shí)鐘管理結(jié)構(gòu)模塊實(shí)現(xiàn)頻率轉(zhuǎn)換。在現(xiàn)場(chǎng)可編程門(mén)陣列受控模式中,為可編程只讀存儲(chǔ)器提供配置時(shí)鐘信號(hào)。內(nèi)部集成電路可編程只讀存儲(chǔ)器與4倍數(shù)據(jù)速率接口以?xún)?nèi)部集成電路進(jìn)行通信,主機(jī)以此獲得該設(shè)備參數(shù)。
2、4倍數(shù)據(jù)速率接口模塊24倍數(shù)據(jù)速率接口模塊2為現(xiàn)場(chǎng)可編程門(mén)陣列與主機(jī)之間的邏輯接口現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1主要對(duì)來(lái)自主機(jī)的多路高速數(shù)據(jù)鏈路控制協(xié)議幀進(jìn)行并行的高速數(shù)據(jù)鏈路控制協(xié)議解封裝和端對(duì)端協(xié)議包反轉(zhuǎn)義,最后將結(jié)果反饋主機(jī)進(jìn)行下一步的重組和協(xié)議處理。
(1)接口操作綜述4倍數(shù)據(jù)速率接口模塊2遵循以下幾條原則 控制信號(hào)總是在K時(shí)鐘上升沿鎖存; 地址和數(shù)據(jù)信號(hào)在K時(shí)鐘的上升、下降沿讀取; 進(jìn)程中的讀寫(xiě)數(shù)據(jù)操作均不能被中斷或者重新開(kāi)始。
(2)4倍數(shù)據(jù)速率接口模塊2的數(shù)據(jù)傳輸結(jié)構(gòu)及其操作時(shí)序數(shù)據(jù)寫(xiě)入結(jié)構(gòu)字寫(xiě)入信號(hào)有BW1#和BW0#兩個(gè)控制信號(hào),分別控制數(shù)據(jù)輸入管腳的高8位(D[15:8])和低8位(D[7:0]),與之相對(duì)應(yīng)的校驗(yàn)位是DP1和DP0。一個(gè)寫(xiě)周期由檢測(cè)到K上升沿時(shí)W#為低電平開(kāi)始。寫(xiě)周期的地址在隨后的K#上升沿由A提供。在同一個(gè)周期內(nèi),寫(xiě)入數(shù)據(jù)在K以及K#的上升沿獲得。具體數(shù)據(jù)寫(xiě)入時(shí)序?yàn)樵贙的上升沿,BW1控制的高8位(D[15:8])寫(xiě)入字節(jié)0Bits[31:24],BW0控制的低8位(D[7:0])寫(xiě)入字節(jié)1 Bits[23:16];在K#的上升沿,BW1控制的高8位(D[15:8])寫(xiě)入字節(jié)2 Bits[15:8],BW0控制的低8位(D[7:0])寫(xiě)入字節(jié)0 Bits[7:0]。
數(shù)據(jù)輸出結(jié)構(gòu)數(shù)據(jù)輸出結(jié)構(gòu)與數(shù)據(jù)寫(xiě)入結(jié)構(gòu)相對(duì)應(yīng),一個(gè)讀周期由檢測(cè)到K上升沿時(shí)R#為低電平開(kāi)始。與此同時(shí),讀操作的地址在A上讀入。數(shù)據(jù)在下一個(gè)K上升沿以后以C和C#為參考時(shí)鐘輸出。
(3)輸出寄存器控制(從設(shè)備屬性)4倍數(shù)據(jù)速率接口模塊2為寄存輸出數(shù)據(jù)提供兩種機(jī)制。一般地,控制節(jié)拍由C和C#這對(duì)差分輸入時(shí)鐘提供,它們通過(guò)微小的相位偏移,允許用戶(hù)的數(shù)據(jù)輸出在隨后的K和K#時(shí)鐘信號(hào)的基礎(chǔ)上有幾納秒的延遲。從而使設(shè)備以類(lèi)似傳統(tǒng)流水線讀設(shè)備的方式來(lái)工作?;谧止?jié)寫(xiě)入控制信號(hào)的Burst1和Burst2為可選模式;在讀操作中提供給主機(jī)的Echo Clock信號(hào)CQ、CQ#;產(chǎn)生輸出校驗(yàn)位。
(4)本發(fā)明的LA_1協(xié)議運(yùn)用LA_1協(xié)議為4倍數(shù)據(jù)速率接口的運(yùn)用提供了一個(gè)參考方案,在實(shí)際運(yùn)用中選擇和定制的空間較大。在本發(fā)明從屬設(shè)備的設(shè)計(jì)中,由于內(nèi)存調(diào)度的相對(duì)獨(dú)立性,地址信號(hào)僅起到了片選設(shè)備的作用,并不存在與實(shí)際內(nèi)存空間的一一映射。然而,基于設(shè)備的通用性,接口程序的設(shè)計(jì)還必須包括●基于字節(jié)寫(xiě)入控制信號(hào)的Burst1和Burst2可選模式●在讀操作中提供給主機(jī)的Echo Clock信號(hào)CQ、CQ#●產(chǎn)生輸出校驗(yàn)位(5)接口供電模塊詳細(xì)設(shè)計(jì)該設(shè)備的主供電來(lái)自Mictor 114插口提供的三路直流電源,電壓值分別為3.3V、1.5V、1.8V。此外,為了驅(qū)動(dòng)Spartan現(xiàn)場(chǎng)可編程門(mén)陣列,同時(shí)為1至3Bank提供HSTL_I參考電平,還要在卡上利用電壓控制芯片本地生成1.2V、2.5V、0.75V電平。其中,1.2V為現(xiàn)場(chǎng)可編程門(mén)陣列內(nèi)核供電,2.5V為現(xiàn)場(chǎng)可編程門(mén)陣列輔助供電和4至7Bank以及0Bank I/O供電,0.75V為1至3Bank參考電平。在產(chǎn)生本地電平時(shí),3.3V生成1.2V和2.5V,1.8V生成0.75V。
TPS75525 3.3/2.5V電壓轉(zhuǎn)換芯片在生成2.5V電壓時(shí),我們采用了TI的TPS75525電壓轉(zhuǎn)換芯片,5Pin TO-263(KTT)封裝。其中管腳1(EN)為輸入使能,管腳2(IN)為輸入電平,管腳3(GND)為地,管腳4(OUTPUT)為輸出電平,管腳5(FB/PG)為輸入反饋/特定模式下PG輸出。
TPS54312 3.3/1.2V電壓轉(zhuǎn)換芯片在生成1.2V電壓時(shí),我們采用了TI的TPS54312電壓轉(zhuǎn)換芯片,20Pin PWP封裝。其中管腳1(AGND)模擬地,管腳5(BOOT)保留,管腳19(FSEL)為頻率輸入選擇,管腳3(NC)無(wú)連接;管腳11-13(PGND)為功率地,管腳6-10(PH)為相位輸入/輸出,管腳4(PWRGD)為Power Good指示,管腳20(RT)頻率設(shè)置電阻輸入,管腳18(SS/ENA)慢啟動(dòng)/輸入使能/輸出復(fù)用管腳,管腳17(VBIAS)內(nèi)部偏置輸出控制,管腳14-16(VIN)輸入電平,管腳(VSENSE)誤差反饋放大輸入。
MAX15891.8/0.75V電壓轉(zhuǎn)換芯片通過(guò)Mictor 114插口提供的1.8V電源驅(qū)動(dòng),輸出0.75V的HSTL_I參考電平,完整的芯片部件標(biāo)號(hào)為MAX1589EZTAFJ,采用標(biāo)準(zhǔn)TDFN封裝。其中管腳6(IN)為電源輸入,管腳4(GND)為地,管腳5(SHDN)用于關(guān)閉信號(hào),低電平有效,管腳3(RESET)為重啟信號(hào),低電平有效,管腳2(I.C.)為內(nèi)部連接,置空或接地,管腳1(OUT)為電壓輸出,中部焊盤(pán)EP為地。
3、可編程只讀存儲(chǔ)器程序配置模塊3Flash可編程只讀存儲(chǔ)器電路3.2在上電時(shí)自動(dòng)對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列有兩種配置模式主控模式和被控模式,其主要區(qū)別在于配置時(shí)鐘信號(hào)源的不同。在現(xiàn)場(chǎng)可編程門(mén)陣列主控模式中,現(xiàn)場(chǎng)可編程門(mén)陣列為可編程只讀存儲(chǔ)器提供配置時(shí)鐘信號(hào),在現(xiàn)場(chǎng)可編程門(mén)陣列受控模式中,由外部晶振提供配置時(shí)鐘信號(hào)。在設(shè)計(jì)中,可以通過(guò)調(diào)節(jié)現(xiàn)場(chǎng)可編程門(mén)陣列配置模式選擇開(kāi)關(guān)來(lái)切換主從兩種模式。默認(rèn)方式為現(xiàn)場(chǎng)可編程門(mén)陣列主控模式,我們通過(guò)設(shè)置Xilinx BitGen軟件中速率配置選項(xiàng)來(lái)調(diào)節(jié)可編程只讀存儲(chǔ)器配置速率。圖3為現(xiàn)場(chǎng)可編程門(mén)陣列主控模式下現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊1與Flash可編程只讀存儲(chǔ)器模塊3.2的連接圖。
現(xiàn)場(chǎng)可編程門(mén)陣列通過(guò)與FLASH可編程只讀存儲(chǔ)器之間的串行接口接受配置信息,此外,還可以通過(guò)JTAG接口直接對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列進(jìn)行配置和DEBUG。上電后,現(xiàn)場(chǎng)可編程門(mén)陣列自行向可編程只讀存儲(chǔ)器中讀取數(shù)據(jù),在工作狀態(tài)時(shí)還可以通過(guò)重置信號(hào)進(jìn)行重新配置。
圖4為可編程只讀存儲(chǔ)器程序配置模塊3配置流程圖,首先由系統(tǒng)上電,若電源滿(mǎn)足供電條件,即Vccin>1V,Vccaux>2V,VccoBank4>1V三個(gè)條件同時(shí)滿(mǎn)足,則清除配置存儲(chǔ)區(qū)內(nèi)存,然后判斷引腳INT_B是否為高電平,若為高電平,則自動(dòng)檢測(cè)配置模式管腳,然后按照對(duì)應(yīng)模式下載配置信息,若CRC校驗(yàn)后無(wú)誤,則配置完畢,進(jìn)入用戶(hù)模式。若在用戶(hù)模式下需要重新配置現(xiàn)場(chǎng)可編程門(mén)陣列,則將PROG_B管腳電平置低。若在配置過(guò)程中,檢測(cè)到PROG_B引腳為低電平,則清除配置存儲(chǔ)區(qū)內(nèi)存,進(jìn)入新的配置流程;若在初次配置完成后,檢測(cè)到INT_B引腳為低電平,則需要重新進(jìn)行CRC校驗(yàn),檢測(cè)配置信息。
4、本發(fā)明的軟件模塊4圖5為軟件模塊間的連接圖。各個(gè)模塊間通過(guò)信號(hào)傳遞信息首先由網(wǎng)絡(luò)處理器發(fā)出讀寫(xiě)信息和數(shù)據(jù)信息,隊(duì)列調(diào)度模塊4.1從網(wǎng)絡(luò)處理器獲取讀寫(xiě)及其數(shù)據(jù)信息,接收模塊4.2從隊(duì)列調(diào)度模塊4.1獲取相應(yīng)的寫(xiě)命令后,對(duì)緩沖區(qū)進(jìn)行相應(yīng)的寫(xiě)操作,以便于高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包反轉(zhuǎn)義及其標(biāo)志字處理模4.4的處理,處理后的控制信號(hào)有效幀信號(hào)、轉(zhuǎn)義信號(hào)及其處理器輸出數(shù)據(jù)一并傳入幀效驗(yàn)序列模塊4.5,經(jīng)校驗(yàn)后產(chǎn)生控制信號(hào)寫(xiě)緩沖信號(hào),幀尾信號(hào),效驗(yàn)錯(cuò)誤信號(hào)及其效驗(yàn)后數(shù)據(jù),傳入發(fā)送數(shù)據(jù)緩存模塊4.3,綜合處理判斷后將數(shù)據(jù)寫(xiě)入緩沖區(qū),結(jié)合隊(duì)列調(diào)度模塊4.1的讀信息,通過(guò)對(duì)該緩沖區(qū)的讀操作將處理后的數(shù)據(jù)輸出。
軟件系統(tǒng)模塊4中,首先由網(wǎng)絡(luò)處理器發(fā)出讀寫(xiě)信息和數(shù)據(jù)信息,隊(duì)列調(diào)度模塊4.1從網(wǎng)絡(luò)處理器獲取讀寫(xiě)及其數(shù)據(jù)信息,接收模塊4.2從隊(duì)列調(diào)度模塊4.1獲取相應(yīng)的寫(xiě)命令后,對(duì)緩沖區(qū)進(jìn)行相應(yīng)的寫(xiě)操作,以便于高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包反轉(zhuǎn)義及其標(biāo)志字處理模4.4的處理,處理后的控制信號(hào)有效幀信號(hào)、轉(zhuǎn)義信號(hào)及其處理器輸出數(shù)據(jù)一并傳入幀效驗(yàn)序列模塊4.5,經(jīng)校驗(yàn)后產(chǎn)生控制信號(hào)寫(xiě)緩沖信號(hào),幀尾信號(hào),效驗(yàn)錯(cuò)誤信號(hào)及其效驗(yàn)后數(shù)據(jù),傳入發(fā)送數(shù)據(jù)緩存模塊4.3,綜合處理判斷后將數(shù)據(jù)寫(xiě)入緩沖區(qū),結(jié)合隊(duì)列調(diào)度模塊4.1的讀信息,通過(guò)對(duì)該緩沖區(qū)的讀操作將處理后的數(shù)據(jù)輸出。軟件系統(tǒng)模塊4對(duì)每個(gè)通道的數(shù)據(jù)進(jìn)行幀頭搜索、循環(huán)冗余碼校驗(yàn)、反轉(zhuǎn)義、丟棄序列的檢測(cè)、幀長(zhǎng)的監(jiān)測(cè)以及幀尾的搜索,一旦檢測(cè)到某一幀當(dāng)前傳輸?shù)男畔⑽粩?shù)達(dá)到最大幀長(zhǎng)或檢測(cè)到丟棄序列時(shí),狀態(tài)機(jī)對(duì)當(dāng)前幀的處理結(jié)束,并重新對(duì)新的一幀進(jìn)行幀頭搜索,而當(dāng)前幀中的剩余數(shù)據(jù)將不被處理。軟件系統(tǒng)模塊4同時(shí)處理高達(dá)128通道并行傳輸?shù)母咚贁?shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)流,它的實(shí)現(xiàn)是采用時(shí)分復(fù)用的方式,其中通道狀態(tài)存儲(chǔ)器是實(shí)現(xiàn)時(shí)分復(fù)用的關(guān)鍵,每一個(gè)通道在該通道狀態(tài)存儲(chǔ)器之中都有一塊固定的存儲(chǔ)空間,用以存儲(chǔ)該通道的數(shù)據(jù)處理情況,即通道狀態(tài)信息,為每一個(gè)通道每一段需要被處理的數(shù)據(jù)分配一段長(zhǎng)度一定的時(shí)間片,每個(gè)時(shí)間片結(jié)束時(shí),當(dāng)前通道最新的狀態(tài)信息將被存入通道狀態(tài)存儲(chǔ)器中的相應(yīng)存儲(chǔ)空間,當(dāng)新的一段數(shù)據(jù)到達(dá)時(shí),此段數(shù)據(jù)所屬的通道在上一個(gè)時(shí)間片內(nèi)被刷新的狀態(tài)信息將從通道狀態(tài)存儲(chǔ)器中讀出并加載到狀態(tài)機(jī)中,為新一輪的數(shù)據(jù)處理做準(zhǔn)備。
圖6為本設(shè)計(jì)的軟件設(shè)計(jì)狀態(tài)轉(zhuǎn)移圖。本發(fā)明可以同時(shí)處理高達(dá)128通道并行傳輸?shù)母咚贁?shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)流,它的實(shí)現(xiàn)是采用時(shí)分復(fù)用的方式,核心部分由一個(gè)收發(fā)獨(dú)立且可分時(shí)處理的高速數(shù)據(jù)鏈路控制協(xié)議處理器和一個(gè)通道狀態(tài)存儲(chǔ)器構(gòu)成。其中通道狀態(tài)存儲(chǔ)器是實(shí)現(xiàn)時(shí)分復(fù)用的關(guān)鍵,每一個(gè)通道在該通道狀態(tài)存儲(chǔ)器之中都有一塊固定的存儲(chǔ)空間,用以存儲(chǔ)該通道的數(shù)據(jù)處理情況,即通道狀態(tài)信息。本發(fā)明為每一個(gè)通道每一段需要被處理的數(shù)據(jù)分配一段長(zhǎng)度一定的時(shí)間片。每個(gè)時(shí)間片結(jié)束時(shí),當(dāng)前通道最新的狀態(tài)信息(包括處理結(jié)束時(shí)狀態(tài)機(jī)所處的狀態(tài)、對(duì)該通道已經(jīng)處理過(guò)的數(shù)據(jù)的CRC校驗(yàn)碼及其未殘段數(shù)據(jù)的長(zhǎng)度,當(dāng)前時(shí)間片內(nèi)已處理完但尚未來(lái)得及被輸出的接收數(shù)據(jù)等)將被存入通道狀態(tài)存儲(chǔ)器中的相應(yīng)存儲(chǔ)空間。當(dāng)新的一段數(shù)據(jù)到達(dá)時(shí),此段數(shù)據(jù)所屬的通道在上一個(gè)時(shí)間片內(nèi)被刷新的狀態(tài)信息將從通道狀態(tài)存儲(chǔ)器中讀出并加載到狀態(tài)機(jī)中,為新一輪的數(shù)據(jù)處理做準(zhǔn)備。
為了實(shí)現(xiàn)主機(jī)對(duì)每個(gè)通道的數(shù)據(jù)傳輸?shù)谋O(jiān)控功能,設(shè)計(jì)中,在空閑狀態(tài)中加了一個(gè)分支狀態(tài),若主機(jī)(host)發(fā)現(xiàn)某個(gè)通道的數(shù)據(jù)傳輸有誤或長(zhǎng)時(shí)間未接收到該通道的數(shù)據(jù),能且只能在該多通道的等待空閑狀態(tài)查詢(xún)?cè)撏ǖ赖臓顟B(tài)信息,以確保不中斷對(duì)其余通道數(shù)據(jù)的正常操作。
我們?cè)趯?duì)現(xiàn)場(chǎng)可編程門(mén)陣列器件進(jìn)行功能設(shè)計(jì)時(shí)采用的是″Top to Down″(″從頂?shù)降住?的方法,亦即根據(jù)要求的功能先設(shè)計(jì)出頂層的原理框圖,該圖通常由若干個(gè)功能模塊組成。再把各個(gè)模塊細(xì)化為子模塊,對(duì)較復(fù)雜的設(shè)計(jì)還可把各子模塊分成一層層的下級(jí)子模塊,各層的功能可以用硬件描述語(yǔ)言或電路圖來(lái)實(shí)現(xiàn)。
圖7為單通道高速數(shù)據(jù)處理器狀態(tài)轉(zhuǎn)移圖。對(duì)每個(gè)通道的數(shù)據(jù)進(jìn)行幀頭搜索、CRC校驗(yàn)、反轉(zhuǎn)義、丟棄序列的檢測(cè)、幀長(zhǎng)的監(jiān)測(cè)以及幀尾的搜索。一旦檢測(cè)到某一幀當(dāng)前傳輸?shù)男畔⑽粩?shù)達(dá)到最大幀長(zhǎng)或檢測(cè)到丟棄序列時(shí),狀態(tài)機(jī)對(duì)當(dāng)前幀的處理結(jié)束,并重新對(duì)新的一幀進(jìn)行幀頭搜索,而當(dāng)前幀中的剩余數(shù)據(jù)將不被處理。
S1缺省狀態(tài),進(jìn)行幀頭的搜索;S2數(shù)據(jù)的處理,包括反轉(zhuǎn)義,CRC的校驗(yàn),丟棄序列的檢測(cè);S3對(duì)CRC校驗(yàn)碼和幀長(zhǎng)進(jìn)行判斷,對(duì)狀態(tài)位進(jìn)行標(biāo)識(shí)。
狀態(tài)機(jī)開(kāi)始工作時(shí)處于缺省狀態(tài)S1,進(jìn)行幀頭的搜索。結(jié)合狀態(tài)寄存器中存儲(chǔ)的數(shù)據(jù),移位后,通過(guò)邏輯關(guān)系判斷為(7E)后,狀態(tài)機(jī)才認(rèn)為已搜索到幀頭,并且立即跳入狀態(tài)S2,進(jìn)行數(shù)據(jù)的處理,包括反轉(zhuǎn)義,丟棄序列的檢測(cè)。若狀態(tài)機(jī)檢測(cè)到丟棄序列,該通道當(dāng)前幀剩余的數(shù)據(jù)將被丟棄,即既不被處理,也不送入FIFO中,狀態(tài)直接由S2轉(zhuǎn)為S1,進(jìn)行新的一幀的幀頭搜索,同時(shí)給出錯(cuò)誤狀態(tài)。狀態(tài)S2中,若搜索到了當(dāng)前幀的幀尾或下一幀的幀頭時(shí),跳入狀態(tài)S3,首先進(jìn)行CRC校驗(yàn)碼和最終幀長(zhǎng)的判斷,相應(yīng)的給出各種錯(cuò)誤判斷。因?yàn)樵诒驹O(shè)計(jì)中前一幀的幀尾即為后一幀的幀頭,因此無(wú)須S1中的幀頭搜索,而直接跳入S2;。由于幀長(zhǎng)的計(jì)算是在此子狀態(tài)機(jī)之外(但仍在主狀態(tài)“處理”中),與數(shù)據(jù)的處理同步且獨(dú)立的進(jìn)行,所以當(dāng)狀態(tài)機(jī)處于狀態(tài)S2,正處理數(shù)據(jù)之時(shí),一旦發(fā)現(xiàn)幀長(zhǎng)超過(guò)了最大允許的長(zhǎng)度,如同檢測(cè)到丟棄序列一樣,直接跳入S1,進(jìn)行下一幀的幀頭搜索,同時(shí)給出幀長(zhǎng)過(guò)長(zhǎng)的錯(cuò)誤狀態(tài),而當(dāng)前幀的剩余數(shù)據(jù)將不被處理。狀態(tài)機(jī)由S2跳入S3之后,首先進(jìn)行各種錯(cuò)誤的判斷。當(dāng)發(fā)現(xiàn)接收到的數(shù)據(jù)幀同時(shí)存在多個(gè)錯(cuò)誤時(shí),狀態(tài)機(jī)以幀效驗(yàn)序列錯(cuò)誤為優(yōu)先級(jí)最高的錯(cuò)誤狀態(tài)。由于除了正常狀態(tài)(接收數(shù)據(jù)既不在幀頭,也不在幀尾),大部分狀態(tài)都在發(fā)現(xiàn)幀尾時(shí)(S3狀態(tài)中)進(jìn)行判斷,并隨同接收數(shù)據(jù)一并輸出。而一個(gè)高速數(shù)據(jù)鏈路控制協(xié)議幀的開(kāi)始,只能在S1中判斷,此時(shí)移位寄存器不可能有輸出,所以有必要在通道狀態(tài)RAM中置一個(gè)狀態(tài)標(biāo)志位幀開(kāi)始標(biāo)志位,當(dāng)發(fā)現(xiàn)幀頭時(shí),將其置為1,待到移位寄存器第一次滿(mǎn)時(shí),輸出狀態(tài)位。
為了實(shí)現(xiàn)反轉(zhuǎn)義的功能,當(dāng)狀態(tài)機(jī)檢測(cè)到0x7D時(shí),即將下一數(shù)據(jù)與0X20異或輸出。
在狀態(tài)機(jī)中為了實(shí)現(xiàn)多通道的時(shí)分復(fù)用,同樣也用變量幀長(zhǎng)度來(lái)控制一個(gè)通道的處理時(shí)間,即每次處理一位數(shù)據(jù),長(zhǎng)度減1,直至為0,從而完成了該通道的處理。
我們借助于多通道高速數(shù)據(jù)鏈路控制協(xié)議的辦法,接收時(shí),在數(shù)據(jù)前端追加通道號(hào)(考慮到我們的具體設(shè)計(jì)對(duì)象,該通道號(hào)采用KEY號(hào)更為合理),每一個(gè)通道配有一個(gè)通道狀態(tài)寄存器,記錄上次該通道(即相應(yīng)的KEY號(hào))處理情況,以及CRC校驗(yàn)值,以便下一次在該基礎(chǔ)上繼續(xù)計(jì)算CRC校驗(yàn)值,從而完成了校驗(yàn)功能。
處理過(guò)的數(shù)據(jù)即發(fā)相應(yīng)的ready信號(hào)。根據(jù)寫(xiě)狀態(tài)時(shí)所獲得的信息本次處理的包中包含完整端對(duì)端協(xié)議包的個(gè)數(shù)及其長(zhǎng)度,并將數(shù)據(jù)讀出,而剩余殘段則寄存在現(xiàn)場(chǎng)可編程門(mén)陣列內(nèi)部,待下一次相同KEY號(hào)的數(shù)據(jù)輸入時(shí),構(gòu)成完整端對(duì)端協(xié)議包再輸出。
應(yīng)當(dāng)理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)本發(fā)明的較佳實(shí)例以及其技術(shù)構(gòu)思做出各種可能的改變或替換,而所有這些改變或替換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種多通道高速數(shù)據(jù)處理器,其特征在于該處理器具體包括以下的四個(gè)模塊現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊(1),4倍數(shù)據(jù)速率接口模塊(2),可編程只讀存儲(chǔ)器程序配置模塊(3)和軟件系統(tǒng)模塊(4);所述4倍數(shù)據(jù)速率接口模塊(2)包括內(nèi)部集成電路總線接口(2.1)、4倍數(shù)據(jù)速率接口(2.2)、JTAG接口(2.3)、外圍供電模塊(2.4),現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊(1)通過(guò)4倍數(shù)據(jù)速率接口(2.2)連接外部的主機(jī)、通過(guò)電源線與外圍供電模塊(2.4)連接、通過(guò)JTAG接口(2.3)與可編程只讀存儲(chǔ)器程序配置模塊(3)中的Flash可編程只讀存儲(chǔ)器電路(3.2)相接,F(xiàn)lash可編程只讀存儲(chǔ)器電路(3.2)還通過(guò)JTAG接口(2.3)與外部的PC機(jī)相接;可編程只讀存儲(chǔ)器程序配置模塊(3)中的內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路(3.1)通過(guò)內(nèi)部集成電路總線接口(2.1)連接外部的主機(jī);軟件系統(tǒng)模塊(4),包括了隊(duì)列調(diào)度模塊(4.1),接收數(shù)據(jù)緩存模塊(4.2)、發(fā)送數(shù)據(jù)緩存模塊(4.3)、高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包反轉(zhuǎn)義及其標(biāo)志字處理模(4.4)、幀效驗(yàn)序列模塊(4.5),模塊與模塊之間通過(guò)信號(hào)傳遞連接在一起。軟件系統(tǒng)模塊(4)駐留在可編程只讀存儲(chǔ)器程序配置模塊(3)中,系統(tǒng)工作后,程序被加載到現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊(1)中,而通過(guò)4倍數(shù)據(jù)速率接口模塊(2)與主機(jī)的程序連接在一起。
2.根據(jù)權(quán)利要求1所述的多通道高速數(shù)據(jù)處理器,其特征在于現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊(1)采用200萬(wàn)門(mén)“XC3S2000”現(xiàn)場(chǎng)可編程門(mén)陣列作為主機(jī)的協(xié)處理器。
3.根據(jù)權(quán)利要求1所述的多通道高速數(shù)據(jù)處理器,其特征在于4倍數(shù)據(jù)速率接口模塊(2)中,外圍供電模塊(2.4)采用了“TPS75525”電壓轉(zhuǎn)換芯片;在生成1.2v電壓時(shí),采用了“TPS54312”電壓轉(zhuǎn)換芯片;在生成0.75V電壓時(shí),采用“MAX1589EZTAFJ”芯片。
4.根據(jù)權(quán)利要求1所述的多通道高速數(shù)據(jù)處理器,其特征在于可編程只讀存儲(chǔ)器程序配置模塊(3)中,采用內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路(3.1)記錄本發(fā)明的有關(guān)信息,包括設(shè)備識(shí)別符、工作電平和溫度等參數(shù),主機(jī)通過(guò)內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路(3.1)進(jìn)行檢測(cè)以識(shí)別多通道高速數(shù)據(jù)處理器,內(nèi)部集成電路總線可編程只讀存儲(chǔ)器電路(3.1)本身還支持口令加密和密碼保護(hù)。
5.根據(jù)權(quán)利要求1所述的多通道高速數(shù)據(jù)處理器,其特征在于可編程只讀存儲(chǔ)器程序配置模塊(3)中,采用Flash可編程只讀存儲(chǔ)器電路(3.2)在上電時(shí)自動(dòng)對(duì)現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊(1)進(jìn)行配置,有主控模式和被控模式兩種。
6.一種如權(quán)利要求1所述的多通道高速數(shù)據(jù)處理器的高速數(shù)據(jù)處理方法,其特征在于軟件系統(tǒng)模塊(4)中,首先由網(wǎng)絡(luò)處理器發(fā)出讀寫(xiě)信息和數(shù)據(jù)信息,隊(duì)列調(diào)度模塊(4.1)從網(wǎng)絡(luò)處理器獲取讀寫(xiě)及其數(shù)據(jù)信息,接收模塊(4.2)從隊(duì)列調(diào)度模塊(4.1)獲取相應(yīng)的寫(xiě)命令后,對(duì)緩沖區(qū)進(jìn)行相應(yīng)的寫(xiě)操作,以便于高速數(shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)包反轉(zhuǎn)義及其標(biāo)志字處理模(4.4)的處理,處理后的控制信號(hào)有效幀信號(hào)、轉(zhuǎn)義信號(hào)及其處理器輸出數(shù)據(jù)一并傳入幀效驗(yàn)序列模塊(4.5),經(jīng)校驗(yàn)后產(chǎn)生控制信號(hào)寫(xiě)緩沖信號(hào),幀尾信號(hào),效驗(yàn)錯(cuò)誤信號(hào)及其效驗(yàn)后數(shù)據(jù),傳入發(fā)送數(shù)據(jù)緩存模塊(4.3),綜合處理判斷后將數(shù)據(jù)寫(xiě)入緩沖區(qū),結(jié)合隊(duì)列調(diào)度模塊(4.1)的讀信息,通過(guò)對(duì)該緩沖區(qū)的讀操作將處理后的數(shù)據(jù)輸出。
7.根據(jù)權(quán)利要求6所述的多通道高速數(shù)據(jù)處理器的高速數(shù)據(jù)處理方法,其特征在于軟件系統(tǒng)模塊(4)對(duì)每個(gè)通道的數(shù)據(jù)進(jìn)行幀頭搜索、循環(huán)冗余碼校驗(yàn)、反轉(zhuǎn)義、丟棄序列的檢測(cè)、幀長(zhǎng)的監(jiān)測(cè)以及幀尾的搜索,一旦檢測(cè)到某一幀當(dāng)前傳輸?shù)男畔⑽粩?shù)達(dá)到最大幀長(zhǎng)或檢測(cè)到丟棄序列時(shí),狀態(tài)機(jī)對(duì)當(dāng)前幀的處理結(jié)束,并重新對(duì)新的一幀進(jìn)行幀頭搜索,而當(dāng)前幀中的剩余數(shù)據(jù)將不被處理。
8.根據(jù)權(quán)利要求6所述的多通道高速數(shù)據(jù)處理器的高速數(shù)據(jù)處理方法,其特征在于軟件系統(tǒng)模塊(4)同時(shí)處理高達(dá)128通道并行傳輸?shù)母咚贁?shù)據(jù)鏈路控制協(xié)議數(shù)據(jù)流,它的實(shí)現(xiàn)是采用時(shí)分復(fù)用的方式,其中通道狀態(tài)存儲(chǔ)器是實(shí)現(xiàn)時(shí)分復(fù)用的關(guān)鍵,每一個(gè)通道在該通道狀態(tài)存儲(chǔ)器之中都有一塊固定的存儲(chǔ)空間,用以存儲(chǔ)該通道的數(shù)據(jù)處理情況,即通道狀態(tài)信息,為每一個(gè)通道每一段需要被處理的數(shù)據(jù)分配一段長(zhǎng)度一定的時(shí)間片,每個(gè)時(shí)間片結(jié)束時(shí),當(dāng)前通道最新的狀態(tài)信息將被存入通道狀態(tài)存儲(chǔ)器中的相應(yīng)存儲(chǔ)空間,當(dāng)新的一段數(shù)據(jù)到達(dá)時(shí),此段數(shù)據(jù)所屬的通道在上一個(gè)時(shí)間片內(nèi)被刷新的狀態(tài)信息將從通道狀態(tài)存儲(chǔ)器中讀出并加載到狀態(tài)機(jī)中,為新一輪的數(shù)據(jù)處理做準(zhǔn)備。
全文摘要
多通道高速數(shù)據(jù)處理器及處理方法是一種無(wú)線網(wǎng)絡(luò)安全領(lǐng)域的高速數(shù)據(jù)處理設(shè)備,它采用現(xiàn)場(chǎng)可編程門(mén)陣列為基礎(chǔ)平臺(tái),是一種多通道高速數(shù)據(jù)處理系統(tǒng)。該處理器具體包括以下的四個(gè)模塊現(xiàn)場(chǎng)可編程門(mén)陣列硬件模塊(1),4倍數(shù)據(jù)速率接口模塊(2),可編程只讀存儲(chǔ)器程序配置模塊(3)和軟件系統(tǒng)模塊(4);首先由網(wǎng)絡(luò)處理器發(fā)出讀寫(xiě)信息和數(shù)據(jù)信息,隊(duì)列調(diào)度模塊(4.1)從網(wǎng)絡(luò)處理器獲取讀寫(xiě)及其數(shù)據(jù)信息,接收模塊(4.2)從隊(duì)列調(diào)度模塊(4.1)獲取相應(yīng)的寫(xiě)命令后,對(duì)緩沖區(qū)進(jìn)行相應(yīng)的寫(xiě)操作,處理后數(shù)據(jù)一并傳入幀效驗(yàn)序列模塊(4.5),經(jīng)校驗(yàn)后傳入發(fā)送數(shù)據(jù)緩存模塊(4.3),綜合處理判斷后將數(shù)據(jù)寫(xiě)入緩沖區(qū),通過(guò)對(duì)該緩沖區(qū)的讀操作將處理后的數(shù)據(jù)輸出。
文檔編號(hào)H04L9/00GK1889503SQ200610040769
公開(kāi)日2007年1月3日 申請(qǐng)日期2006年6月1日 優(yōu)先權(quán)日2006年6月1日
發(fā)明者黃杰, 胡愛(ài)群, 裴文江 申請(qǐng)人:東南大學(xué)