采用雙體DMA的無線NIC收發(fā)器的核心模塊設(shè)計(jì)
發(fā)布時(shí)間:2007/8/30 0:00:00 訪問次數(shù):453
摘要:介紹了一種無線網(wǎng)絡(luò)接口卡的核心硬件模塊的實(shí)現(xiàn)原理,通過雙DMA實(shí)現(xiàn)對(duì)無線網(wǎng)絡(luò)數(shù)據(jù)的快速收發(fā)。對(duì)NIC接收模塊和發(fā)送模塊的硬件實(shí)現(xiàn)電路作出了詳細(xì)分析。
關(guān)鍵詞:收發(fā)器 無線網(wǎng)絡(luò) DMA 曼徹斯特編碼 DP8391
隨著無線通信技術(shù)的不斷成熟和應(yīng)用,各種各樣的智能化和網(wǎng)絡(luò)化的無線通信產(chǎn)品不斷涌現(xiàn),無線網(wǎng)絡(luò)產(chǎn)品也得到飛速發(fā)展。無線網(wǎng)絡(luò)接口卡收發(fā)器作為無線網(wǎng)絡(luò)的重要組成部分,為可靠的無線傳輸提供重要的硬件接口及物理層和數(shù)據(jù)鏈路層的協(xié)議支撐。
圖1
本文詳細(xì)分析10Mbps無線網(wǎng)絡(luò)接口卡的核心——收發(fā)器的設(shè)計(jì)過程中的問題,提出無線網(wǎng)絡(luò)接口卡NIC實(shí)現(xiàn)方案,并對(duì)其核心的發(fā)送和接收模塊電路作出分析和探討。
1 無線NIC總體實(shí)現(xiàn)方案
無線NIC的基本結(jié)構(gòu)如圖1。它主要由三部分組成,即數(shù)據(jù)鏈路控制器、Manchester代碼轉(zhuǎn)換器和無線收發(fā)電視。鏈路控制器采用DP8390,以實(shí)現(xiàn)數(shù)據(jù)層路層協(xié)議的控制 ,NIC中設(shè)計(jì)了8K×2bits的RAM作為網(wǎng)卡的緩沖區(qū),以提高系統(tǒng)的執(zhí)行速度。系統(tǒng)采用PCI總線與主機(jī)相連[1]。為了與以太網(wǎng)卡兼容,設(shè)計(jì)中增加了PROM自舉電路模塊[2]。
內(nèi)部硬件基本模塊如圖2。它主要由無線收發(fā)模塊、編碼轉(zhuǎn)換模塊、接收處理模塊、發(fā)送處理模塊、DMA控制模塊、串并轉(zhuǎn)換模塊等組成。系統(tǒng)時(shí)鐘統(tǒng)一采用10MHz方波發(fā)生器的時(shí)鐘[3-4],以進(jìn)行數(shù)據(jù)幀的同步。
圖2
2 收發(fā)器模塊設(shè)計(jì)
2.1 發(fā)送模塊設(shè)計(jì)
發(fā)送模塊通過DMA方式讀取RAM中的數(shù)據(jù)并將數(shù)據(jù)交給無線發(fā)送模塊進(jìn)行發(fā)送[5],其工作過程如圖3。網(wǎng)卡向無線網(wǎng)絡(luò)發(fā)送數(shù)據(jù)過程如下:
(1)NIC初始化。計(jì)算機(jī)對(duì)NIC中各寄存器的讀寫是利用主機(jī)的I/O方式,網(wǎng)卡的基地址一般為300H。初始化NIC實(shí)際上是利用OUT指令對(duì)NIC中有關(guān)的寄存器寫控制字。
(2)微機(jī)與網(wǎng)卡中緩沖RAM交換數(shù)據(jù)是使用NIC遠(yuǎn)程DMA模式。開動(dòng)遠(yuǎn)程DMA后,微機(jī)不斷讀寫網(wǎng)卡的數(shù)據(jù)端口,就能成功地執(zhí)行遠(yuǎn)程DMA過程,完成微機(jī)與網(wǎng)卡中緩沖RAM的數(shù)據(jù)交換。
圖3
(3)緩沖RAM收發(fā)網(wǎng)上的數(shù)據(jù)使用NIC的本地DMA模式。當(dāng)初始化過程后,網(wǎng)卡處在接收狀態(tài),一旦接收網(wǎng)上來的數(shù)據(jù),就自動(dòng)執(zhí)行本地DMA過程,對(duì)緩沖RAM進(jìn)行本地DMA寫。
發(fā)送電路模塊的設(shè)計(jì)原理圖如圖4。發(fā)送模塊主要由10MHz標(biāo)準(zhǔn)方波發(fā)生器、一個(gè)D觸發(fā)器、4034并/串雙向移位寄存器、一個(gè)4040計(jì)數(shù)器和兩個(gè)雙端與門。
10MHz標(biāo)準(zhǔn)方波發(fā)生器用于產(chǎn)生10MHz標(biāo)準(zhǔn)方波,提供發(fā)送數(shù)據(jù)的時(shí)鐘信息。4040用于發(fā)送位計(jì)數(shù)。在發(fā)送完一個(gè)字節(jié)后,4040用其Q3送出完成信號(hào),在D觸發(fā)器中鎖存,即生成字節(jié)轉(zhuǎn)換完畢信號(hào),允許送出下一字節(jié);待接收到第二字節(jié)后,復(fù)位D觸發(fā)器,重復(fù)前述過程。4034在10MHz脈沖控制下,將數(shù)據(jù)總線上的并行數(shù)據(jù)轉(zhuǎn)換成1010MHz的串行數(shù)據(jù)發(fā)往曼徹斯特編碼器。
圖4中P1.7為計(jì)數(shù)器的初始復(fù)位信號(hào)線,由其在發(fā)送開始、全部發(fā)送完成以及發(fā)送未完中斷后發(fā)出復(fù)位脈沖。發(fā)送未完中斷是用來處理發(fā)送過程中在同軸電纜上的沖突,此時(shí)將終止當(dāng)前發(fā)送。D觸發(fā)器用來鎖存計(jì)數(shù)器4040的Q3輸出端狀態(tài),告知CPU此時(shí)外設(shè)已準(zhǔn)備就緒。
2.2 接收模塊設(shè)計(jì)
接收模塊由初始化模塊和接收中斷模塊兩部分組成。初始化模塊完成對(duì)NIC寄存器的初始化,并對(duì)網(wǎng)卡中斷INT3和DMA參數(shù)進(jìn)行初始化,等待中斷。
當(dāng)網(wǎng)絡(luò)有數(shù)據(jù)需要接收時(shí),引發(fā)網(wǎng)卡中斷INT3,接收處理模塊通過DMA與RAM進(jìn)行數(shù)據(jù)傳送。這種不需要CPU干預(yù)的、成批量的數(shù)據(jù)傳送,可以極大地提高數(shù)據(jù)的接收速度。
接收處理模塊完成數(shù)據(jù)幀的處理(主要是以太幀),判斷是控制幀還是數(shù)據(jù)幀,并進(jìn)行幀的校驗(yàn),利用串并轉(zhuǎn)換模塊轉(zhuǎn)換成并行數(shù)據(jù)[6]。主要功能如下:
(1)遠(yuǎn)程DMA讀過程設(shè)置在微機(jī)的中斷子程序中,本地DMA寫完成后,中斷微機(jī)主程序,執(zhí)行遠(yuǎn)程DMA,完成微機(jī)接收數(shù)據(jù)過程。微機(jī)發(fā)送過程是由微機(jī)一方先執(zhí)行遠(yuǎn)程DMA寫,然后執(zhí)行本地DMA讀。
(2)如果是發(fā)送數(shù)據(jù),則發(fā)送模塊完成與接收模塊相反的過程。不過,發(fā)送時(shí)還要判斷能束發(fā)送,即用改進(jìn)沖突檢測(cè)方式進(jìn)行沖突檢測(cè)。由于無線傳輸無法進(jìn)行載波偵聽,只能利用接收方是否忙判斷線路狀態(tài),用軟件實(shí)現(xiàn)。接收處理模塊的執(zhí)行過程如圖5。
2.3 編碼轉(zhuǎn)換、計(jì)部件與時(shí)鐘
編碼轉(zhuǎn)換環(huán)節(jié)主要用于將接收來的信號(hào)通過曼徹斯特編碼器DP8391進(jìn)行解碼,產(chǎn)生相應(yīng)的數(shù)據(jù)流,并進(jìn)行同步的幀頭與校驗(yàn)判斷,進(jìn)行鎖存,產(chǎn)生10MHz串行位流,并將之轉(zhuǎn)換成并行數(shù)據(jù)字節(jié)流,交給接收模塊,送入緩沖區(qū)。在發(fā)送時(shí),其過程與接收過程相反。編碼器與計(jì)數(shù)器配合使用,對(duì)發(fā)送和接收到的數(shù)據(jù)進(jìn)行計(jì)數(shù)。
圖5
2.3.1 編碼轉(zhuǎn)換
摘要:介紹了一種無線網(wǎng)絡(luò)接口卡的核心硬件模塊的實(shí)現(xiàn)原理,通過雙DMA實(shí)現(xiàn)對(duì)無線網(wǎng)絡(luò)數(shù)據(jù)的快速收發(fā)。對(duì)NIC接收模塊和發(fā)送模塊的硬件實(shí)現(xiàn)電路作出了詳細(xì)分析。
關(guān)鍵詞:收發(fā)器 無線網(wǎng)絡(luò) DMA 曼徹斯特編碼 DP8391
隨著無線通信技術(shù)的不斷成熟和應(yīng)用,各種各樣的智能化和網(wǎng)絡(luò)化的無線通信產(chǎn)品不斷涌現(xiàn),無線網(wǎng)絡(luò)產(chǎn)品也得到飛速發(fā)展。無線網(wǎng)絡(luò)接口卡收發(fā)器作為無線網(wǎng)絡(luò)的重要組成部分,為可靠的無線傳輸提供重要的硬件接口及物理層和數(shù)據(jù)鏈路層的協(xié)議支撐。
圖1
本文詳細(xì)分析10Mbps無線網(wǎng)絡(luò)接口卡的核心——收發(fā)器的設(shè)計(jì)過程中的問題,提出無線網(wǎng)絡(luò)接口卡NIC實(shí)現(xiàn)方案,并對(duì)其核心的發(fā)送和接收模塊電路作出分析和探討。
1 無線NIC總體實(shí)現(xiàn)方案
無線NIC的基本結(jié)構(gòu)如圖1。它主要由三部分組成,即數(shù)據(jù)鏈路控制器、Manchester代碼轉(zhuǎn)換器和無線收發(fā)電視。鏈路控制器采用DP8390,以實(shí)現(xiàn)數(shù)據(jù)層路層協(xié)議的控制 ,NIC中設(shè)計(jì)了8K×2bits的RAM作為網(wǎng)卡的緩沖區(qū),以提高系統(tǒng)的執(zhí)行速度。系統(tǒng)采用PCI總線與主機(jī)相連[1]。為了與以太網(wǎng)卡兼容,設(shè)計(jì)中增加了PROM自舉電路模塊[2]。
內(nèi)部硬件基本模塊如圖2。它主要由無線收發(fā)模塊、編碼轉(zhuǎn)換模塊、接收處理模塊、發(fā)送處理模塊、DMA控制模塊、串并轉(zhuǎn)換模塊等組成。系統(tǒng)時(shí)鐘統(tǒng)一采用10MHz方波發(fā)生器的時(shí)鐘[3-4],以進(jìn)行數(shù)據(jù)幀的同步。
圖2
2 收發(fā)器模塊設(shè)計(jì)
2.1 發(fā)送模塊設(shè)計(jì)
發(fā)送模塊通過DMA方式讀取RAM中的數(shù)據(jù)并將數(shù)據(jù)交給無線發(fā)送模塊進(jìn)行發(fā)送[5],其工作過程如圖3。網(wǎng)卡向無線網(wǎng)絡(luò)發(fā)送數(shù)據(jù)過程如下:
(1)NIC初始化。計(jì)算機(jī)對(duì)NIC中各寄存器的讀寫是利用主機(jī)的I/O方式,網(wǎng)卡的基地址一般為300H。初始化NIC實(shí)際上是利用OUT指令對(duì)NIC中有關(guān)的寄存器寫控制字。
(2)微機(jī)與網(wǎng)卡中緩沖RAM交換數(shù)據(jù)是使用NIC遠(yuǎn)程DMA模式。開動(dòng)遠(yuǎn)程DMA后,微機(jī)不斷讀寫網(wǎng)卡的數(shù)據(jù)端口,就能成功地執(zhí)行遠(yuǎn)程DMA過程,完成微機(jī)與網(wǎng)卡中緩沖RAM的數(shù)據(jù)交換。
圖3
(3)緩沖RAM收發(fā)網(wǎng)上的數(shù)據(jù)使用NIC的本地DMA模式。當(dāng)初始化過程后,網(wǎng)卡處在接收狀態(tài),一旦接收網(wǎng)上來的數(shù)據(jù),就自動(dòng)執(zhí)行本地DMA過程,對(duì)緩沖RAM進(jìn)行本地DMA寫。
發(fā)送電路模塊的設(shè)計(jì)原理圖如圖4。發(fā)送模塊主要由10MHz標(biāo)準(zhǔn)方波發(fā)生器、一個(gè)D觸發(fā)器、4034并/串雙向移位寄存器、一個(gè)4040計(jì)數(shù)器和兩個(gè)雙端與門。
10MHz標(biāo)準(zhǔn)方波發(fā)生器用于產(chǎn)生10MHz標(biāo)準(zhǔn)方波,提供發(fā)送數(shù)據(jù)的時(shí)鐘信息。4040用于發(fā)送位計(jì)數(shù)。在發(fā)送完一個(gè)字節(jié)后,4040用其Q3送出完成信號(hào),在D觸發(fā)器中鎖存,即生成字節(jié)轉(zhuǎn)換完畢信號(hào),允許送出下一字節(jié);待接收到第二字節(jié)后,復(fù)位D觸發(fā)器,重復(fù)前述過程。4034在10MHz脈沖控制下,將數(shù)據(jù)總線上的并行數(shù)據(jù)轉(zhuǎn)換成1010MHz的串行數(shù)據(jù)發(fā)往曼徹斯特編碼器。
圖4中P1.7為計(jì)數(shù)器的初始復(fù)位信號(hào)線,由其在發(fā)送開始、全部發(fā)送完成以及發(fā)送未完中斷后發(fā)出復(fù)位脈沖。發(fā)送未完中斷是用來處理發(fā)送過程中在同軸電纜上的沖突,此時(shí)將終止當(dāng)前發(fā)送。D觸發(fā)器用來鎖存計(jì)數(shù)器4040的Q3輸出端狀態(tài),告知CPU此時(shí)外設(shè)已準(zhǔn)備就緒。
2.2 接收模塊設(shè)計(jì)
接收模塊由初始化模塊和接收中斷模塊兩部分組成。初始化模塊完成對(duì)NIC寄存器的初始化,并對(duì)網(wǎng)卡中斷INT3和DMA參數(shù)進(jìn)行初始化,等待中斷。
當(dāng)網(wǎng)絡(luò)有數(shù)據(jù)需要接收時(shí),引發(fā)網(wǎng)卡中斷INT3,接收處理模塊通過DMA與RAM進(jìn)行數(shù)據(jù)傳送。這種不需要CPU干預(yù)的、成批量的數(shù)據(jù)傳送,可以極大地提高數(shù)據(jù)的接收速度。
接收處理模塊完成數(shù)據(jù)幀的處理(主要是以太幀),判斷是控制幀還是數(shù)據(jù)幀,并進(jìn)行幀的校驗(yàn),利用串并轉(zhuǎn)換模塊轉(zhuǎn)換成并行數(shù)據(jù)[6]。主要功能如下:
(1)遠(yuǎn)程DMA讀過程設(shè)置在微機(jī)的中斷子程序中,本地DMA寫完成后,中斷微機(jī)主程序,執(zhí)行遠(yuǎn)程DMA,完成微機(jī)接收數(shù)據(jù)過程。微機(jī)發(fā)送過程是由微機(jī)一方先執(zhí)行遠(yuǎn)程DMA寫,然后執(zhí)行本地DMA讀。
(2)如果是發(fā)送數(shù)據(jù),則發(fā)送模塊完成與接收模塊相反的過程。不過,發(fā)送時(shí)還要判斷能束發(fā)送,即用改進(jìn)沖突檢測(cè)方式進(jìn)行沖突檢測(cè)。由于無線傳輸無法進(jìn)行載波偵聽,只能利用接收方是否忙判斷線路狀態(tài),用軟件實(shí)現(xiàn)。接收處理模塊的執(zhí)行過程如圖5。
2.3 編碼轉(zhuǎn)換、計(jì)部件與時(shí)鐘
編碼轉(zhuǎn)換環(huán)節(jié)主要用于將接收來的信號(hào)通過曼徹斯特編碼器DP8391進(jìn)行解碼,產(chǎn)生相應(yīng)的數(shù)據(jù)流,并進(jìn)行同步的幀頭與校驗(yàn)判斷,進(jìn)行鎖存,產(chǎn)生10MHz串行位流,并將之轉(zhuǎn)換成并行數(shù)據(jù)字節(jié)流,交給接收模塊,送入緩沖區(qū)。在發(fā)送時(shí),其過程與接收過程相反。編碼器與計(jì)數(shù)器配合使用,對(duì)發(fā)送和接收到的數(shù)據(jù)進(jìn)行計(jì)數(shù)。
圖5
2.3.1 編碼轉(zhuǎn)換
熱門點(diǎn)擊
- 數(shù)字射頻技術(shù)對(duì)手機(jī)電路設(shè)計(jì)帶來的影響及發(fā)展趨
- 一種改進(jìn)的WCDMA下行軟切換功率分配方案
- 移動(dòng)終端安全模塊技術(shù)研究
- RISC/DSP融合可滿足VoIP產(chǎn)品的功耗
- 采用雙體DMA的無線NIC收發(fā)器的核心模塊設(shè)
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說新車間的特點(diǎn)是“靈動(dòng)”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(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)用研究