基于PCI總線的通用網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)平臺(tái)
發(fā)布時(shí)間:2007/4/23 0:00:00 訪問次數(shù):534
關(guān)鍵詞:PCI設(shè)備 Linux 通用網(wǎng)絡(luò)實(shí)驗(yàn)設(shè)備
在網(wǎng)絡(luò)技術(shù)快速發(fā)展的今天,根據(jù)用戶特殊的需求,有時(shí)需要研發(fā)特殊的私有網(wǎng)絡(luò)協(xié)議,以使網(wǎng)絡(luò)的性能得到優(yōu)化。研究新的網(wǎng)絡(luò)協(xié)議,必須進(jìn)行仿真以驗(yàn)證性能,但是網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,性能指標(biāo)多樣,并且不同的協(xié)議需要的具體測(cè)試環(huán)境不同,因此很難用純軟件的方式(如NS2、OPNET)給出網(wǎng)絡(luò)協(xié)議運(yùn)行性能的有效描述。另一方面,如果針對(duì)每一種網(wǎng)絡(luò)協(xié)議搭建專門的測(cè)試平臺(tái),則需要大量的人力、經(jīng)費(fèi)和時(shí)間。而采用中硬件相結(jié)合的方法搭建一種通用網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)平臺(tái),既能很好地測(cè)試出整個(gè)設(shè)備的性能,又能大幅度節(jié)約開發(fā)成本,縮短開發(fā)時(shí)間,是一種切實(shí)可行的方法。
為此,本文提出一種通用網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)平臺(tái)的軟硬件設(shè)計(jì)方案,并詳細(xì)介紹該平臺(tái)的中硬件設(shè)計(jì)方法。
1 系統(tǒng)設(shè)計(jì)的思想
該網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)的目的是:針對(duì)不同的私有網(wǎng)絡(luò)協(xié)議,開發(fā)者可以根據(jù)協(xié)議標(biāo)準(zhǔn)有針對(duì)性地修改網(wǎng)絡(luò)層和傳輸層的程序代碼,然后通過本系統(tǒng)測(cè)試其協(xié)議的性能。所以,該系統(tǒng)應(yīng)該是一個(gè)與協(xié)議無關(guān)且可程控的數(shù)據(jù)傳輸通道。數(shù)據(jù)包經(jīng)過系統(tǒng)傳輸后,更多的工作由傳輸層、網(wǎng)絡(luò)層和上層應(yīng)用程序完成。該系統(tǒng)的整體框架結(jié)構(gòu)如圖1所示。
為了保證實(shí)驗(yàn)平臺(tái)的通用性可操作性,采用PC機(jī)和與PCI總線接口的網(wǎng)絡(luò)設(shè)備卡(以下簡稱PCI接口卡)組建該平臺(tái)。
近年來,Linux操作系統(tǒng)獲得了突飛猛進(jìn)的發(fā)展,它強(qiáng)大的功能、良好的界面、高效率以及全開放的特性使其具有很強(qiáng)的吸引力。基于以上考慮,在PC機(jī)中采用Linux操作系統(tǒng)。按Linux操作系統(tǒng)的設(shè)計(jì)標(biāo)準(zhǔn),私有網(wǎng)絡(luò)協(xié)議軟件需要包含傳輸層代碼、網(wǎng)絡(luò)層代碼以及與設(shè)備相關(guān)的驅(qū)動(dòng)程序,并運(yùn)行在系統(tǒng)“核心態(tài)”中。在本實(shí)驗(yàn)平臺(tái)中,不需要用戶關(guān)心驅(qū)動(dòng)程序的設(shè)計(jì),但允許將網(wǎng)絡(luò)層和傳輸層代碼運(yùn)行在Linux“用戶態(tài)”中。
PCI接口卡是基于PCI總線的,它通過合理選擇接口芯片屏蔽PCI總線協(xié)議的多余功能,并使用FPGA芯片把上層傳輸過來的數(shù)據(jù)包進(jìn)行相應(yīng)的處理(詳見第2節(jié)),然后傳遞到物理層設(shè)備。
2 實(shí)驗(yàn)平臺(tái)的硬件設(shè)計(jì)
2.1 PCI接口卡結(jié)構(gòu)
PIC接口卡由PCI總線接口芯片、數(shù)據(jù)處理模塊FPGA、數(shù)據(jù)緩存模塊RAM和有線傳輸驅(qū)動(dòng)模塊LVDS(Low Voltage Differential Signaling Driver)等四部分組成,模塊間的數(shù)據(jù)傳輸如圖2所示。
2.2 芯片的選擇
Winbond公司以太網(wǎng)控制芯片W89C840AF支持高達(dá)100Mbps的雙向數(shù)據(jù)傳輸,該芯片不但具有良好的PCI總線接口設(shè)計(jì),而且還有一整套的網(wǎng)絡(luò)數(shù)據(jù)傳輸機(jī)制,技術(shù)成熟。所以在此選用W89C840AF,并借用該芯片的網(wǎng)絡(luò)數(shù)據(jù)傳輸機(jī)制,通過對(duì)芯片合理配置,實(shí)現(xiàn)一條從驅(qū)動(dòng)程序到物理層設(shè)備的透明數(shù)據(jù)傳輸通道,來滿足設(shè)備要求。
FPGA芯片只要能夠提供足夠多的I/O口和內(nèi)部硬件資源即可。RAM是為了滿足不同網(wǎng)絡(luò)協(xié)議以及算法對(duì)存儲(chǔ)器的需要而設(shè)置的,對(duì)于不同的私有網(wǎng)絡(luò)協(xié)議,根據(jù)實(shí)際需要選用適當(dāng)容量的RAM即可,沒有很荷刻的要求。本系統(tǒng)中FPGA芯片選用ACEX1K50TC144,RAM芯片選用CY7C006AC_PLCC,主要考慮的是芯片的速率高、使用簡單并且價(jià)格低廉。
有線傳輸信號(hào)驅(qū)動(dòng)模塊選用LVDS芯片對(duì)(ds90c401,ds90c402),該芯片對(duì)的優(yōu)點(diǎn)是速率高(155Mbps串行數(shù)據(jù)傳輸)、傳輸距離遠(yuǎn)、靈敏度高、功耗小。
2.3 PCI接口卡的功能
PCI總線接口芯片(W89C840AF)把從PCI總線上傳輸過來的數(shù)據(jù)封裝成“以太幀”的格式,傳遞給FPGA(RAM可以對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行緩沖),F(xiàn)PGA去掉前8byte的“以太幀頭”從而獲得數(shù)據(jù)包。然后根據(jù)不同網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)包格式,在FPGA中靈活地設(shè)備相應(yīng)的邏輯功能。如作者目前在研的衛(wèi)星ATM網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng),定義了一種私有的ATM協(xié)議,數(shù)據(jù)處理單元將完成以下任務(wù):識(shí)別信元頭,按優(yōu)先級(jí)對(duì)信元進(jìn)行排隊(duì)、存儲(chǔ)、打包并轉(zhuǎn)發(fā)
關(guān)鍵詞:PCI設(shè)備 Linux 通用網(wǎng)絡(luò)實(shí)驗(yàn)設(shè)備
在網(wǎng)絡(luò)技術(shù)快速發(fā)展的今天,根據(jù)用戶特殊的需求,有時(shí)需要研發(fā)特殊的私有網(wǎng)絡(luò)協(xié)議,以使網(wǎng)絡(luò)的性能得到優(yōu)化。研究新的網(wǎng)絡(luò)協(xié)議,必須進(jìn)行仿真以驗(yàn)證性能,但是網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,性能指標(biāo)多樣,并且不同的協(xié)議需要的具體測(cè)試環(huán)境不同,因此很難用純軟件的方式(如NS2、OPNET)給出網(wǎng)絡(luò)協(xié)議運(yùn)行性能的有效描述。另一方面,如果針對(duì)每一種網(wǎng)絡(luò)協(xié)議搭建專門的測(cè)試平臺(tái),則需要大量的人力、經(jīng)費(fèi)和時(shí)間。而采用中硬件相結(jié)合的方法搭建一種通用網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)平臺(tái),既能很好地測(cè)試出整個(gè)設(shè)備的性能,又能大幅度節(jié)約開發(fā)成本,縮短開發(fā)時(shí)間,是一種切實(shí)可行的方法。
為此,本文提出一種通用網(wǎng)絡(luò)協(xié)議實(shí)驗(yàn)平臺(tái)的軟硬件設(shè)計(jì)方案,并詳細(xì)介紹該平臺(tái)的中硬件設(shè)計(jì)方法。
1 系統(tǒng)設(shè)計(jì)的思想
該網(wǎng)絡(luò)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)的目的是:針對(duì)不同的私有網(wǎng)絡(luò)協(xié)議,開發(fā)者可以根據(jù)協(xié)議標(biāo)準(zhǔn)有針對(duì)性地修改網(wǎng)絡(luò)層和傳輸層的程序代碼,然后通過本系統(tǒng)測(cè)試其協(xié)議的性能。所以,該系統(tǒng)應(yīng)該是一個(gè)與協(xié)議無關(guān)且可程控的數(shù)據(jù)傳輸通道。數(shù)據(jù)包經(jīng)過系統(tǒng)傳輸后,更多的工作由傳輸層、網(wǎng)絡(luò)層和上層應(yīng)用程序完成。該系統(tǒng)的整體框架結(jié)構(gòu)如圖1所示。
為了保證實(shí)驗(yàn)平臺(tái)的通用性可操作性,采用PC機(jī)和與PCI總線接口的網(wǎng)絡(luò)設(shè)備卡(以下簡稱PCI接口卡)組建該平臺(tái)。
近年來,Linux操作系統(tǒng)獲得了突飛猛進(jìn)的發(fā)展,它強(qiáng)大的功能、良好的界面、高效率以及全開放的特性使其具有很強(qiáng)的吸引力;谝陨峡紤],在PC機(jī)中采用Linux操作系統(tǒng)。按Linux操作系統(tǒng)的設(shè)計(jì)標(biāo)準(zhǔn),私有網(wǎng)絡(luò)協(xié)議軟件需要包含傳輸層代碼、網(wǎng)絡(luò)層代碼以及與設(shè)備相關(guān)的驅(qū)動(dòng)程序,并運(yùn)行在系統(tǒng)“核心態(tài)”中。在本實(shí)驗(yàn)平臺(tái)中,不需要用戶關(guān)心驅(qū)動(dòng)程序的設(shè)計(jì),但允許將網(wǎng)絡(luò)層和傳輸層代碼運(yùn)行在Linux“用戶態(tài)”中。
PCI接口卡是基于PCI總線的,它通過合理選擇接口芯片屏蔽PCI總線協(xié)議的多余功能,并使用FPGA芯片把上層傳輸過來的數(shù)據(jù)包進(jìn)行相應(yīng)的處理(詳見第2節(jié)),然后傳遞到物理層設(shè)備。
2 實(shí)驗(yàn)平臺(tái)的硬件設(shè)計(jì)
2.1 PCI接口卡結(jié)構(gòu)
PIC接口卡由PCI總線接口芯片、數(shù)據(jù)處理模塊FPGA、數(shù)據(jù)緩存模塊RAM和有線傳輸驅(qū)動(dòng)模塊LVDS(Low Voltage Differential Signaling Driver)等四部分組成,模塊間的數(shù)據(jù)傳輸如圖2所示。
2.2 芯片的選擇
Winbond公司以太網(wǎng)控制芯片W89C840AF支持高達(dá)100Mbps的雙向數(shù)據(jù)傳輸,該芯片不但具有良好的PCI總線接口設(shè)計(jì),而且還有一整套的網(wǎng)絡(luò)數(shù)據(jù)傳輸機(jī)制,技術(shù)成熟。所以在此選用W89C840AF,并借用該芯片的網(wǎng)絡(luò)數(shù)據(jù)傳輸機(jī)制,通過對(duì)芯片合理配置,實(shí)現(xiàn)一條從驅(qū)動(dòng)程序到物理層設(shè)備的透明數(shù)據(jù)傳輸通道,來滿足設(shè)備要求。
FPGA芯片只要能夠提供足夠多的I/O口和內(nèi)部硬件資源即可。RAM是為了滿足不同網(wǎng)絡(luò)協(xié)議以及算法對(duì)存儲(chǔ)器的需要而設(shè)置的,對(duì)于不同的私有網(wǎng)絡(luò)協(xié)議,根據(jù)實(shí)際需要選用適當(dāng)容量的RAM即可,沒有很荷刻的要求。本系統(tǒng)中FPGA芯片選用ACEX1K50TC144,RAM芯片選用CY7C006AC_PLCC,主要考慮的是芯片的速率高、使用簡單并且價(jià)格低廉。
有線傳輸信號(hào)驅(qū)動(dòng)模塊選用LVDS芯片對(duì)(ds90c401,ds90c402),該芯片對(duì)的優(yōu)點(diǎn)是速率高(155Mbps串行數(shù)據(jù)傳輸)、傳輸距離遠(yuǎn)、靈敏度高、功耗小。
2.3 PCI接口卡的功能
PCI總線接口芯片(W89C840AF)把從PCI總線上傳輸過來的數(shù)據(jù)封裝成“以太幀”的格式,傳遞給FPGA(RAM可以對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行緩沖),F(xiàn)PGA去掉前8byte的“以太幀頭”從而獲得數(shù)據(jù)包。然后根據(jù)不同網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)包格式,在FPGA中靈活地設(shè)備相應(yīng)的邏輯功能。如作者目前在研的衛(wèi)星ATM網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng),定義了一種私有的ATM協(xié)議,數(shù)據(jù)處理單元將完成以下任務(wù):識(shí)別信元頭,按優(yōu)先級(jí)對(duì)信元進(jìn)行排隊(duì)、存儲(chǔ)、打包并轉(zhuǎn)發(fā)
熱門點(diǎn)擊
- 超/極低頻通信技術(shù)
- ISO7816(part1-3)異步智能卡資
- PPP協(xié)議
- 單片機(jī)控制的網(wǎng)絡(luò)交換機(jī)設(shè)計(jì)與實(shí)現(xiàn)
- 跳頻電臺(tái)中央控制單元及跳頻單元的硬件設(shè)計(jì)
- 基于ZigBee技術(shù)的射頻芯片CC2430
- FLEX編碼與POCSAG編碼
- IP電話的VoIP語音網(wǎng)關(guān)設(shè)計(jì)
- 實(shí)現(xiàn)基于GPRS的無線遠(yuǎn)程IAP功能
- DSP與PC間高速串口通信的實(shí)現(xiàn)
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號(hào)調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究