隨著無線通信技術(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é)議支撐。 本文詳細(xì)分析10Mbps無線網(wǎng)絡(luò)接口卡的核心——收發(fā)器的設(shè)計過程中的問題,提出無線網(wǎng)絡(luò)接口卡NIC實現(xiàn)方案,并對其核心的發(fā)送和接收模塊電路作出分析和探討。 1 無線NIC總體實現(xiàn)方案 無線NIC的基本結(jié)構(gòu)如圖1。它主要由三部分組成,即數(shù)據(jù)鏈路控制器、Manchester代碼轉(zhuǎn)換器和無線收發(fā)電視。鏈路控制器采用DP8390,以實現(xiàn)數(shù)據(jù)層路層協(xié)議的控制 ,NIC中設(shè)計了8K×2bits的RAM作為網(wǎng)卡的緩沖區(qū),以提高系統(tǒng)的執(zhí)行速度。系統(tǒng)采用PCI總線與主機相連[1]。為了與以太網(wǎng)卡兼容,設(shè)計中增加了PROM自舉電路模塊[2]。 內(nèi)部硬件基本模塊如圖2。它主要由無線收發(fā)模塊、編碼轉(zhuǎn)換模塊、接收處理模塊、發(fā)送處理模塊、DMA控制模塊、串并轉(zhuǎn)換模塊等組成。系統(tǒng)時鐘統(tǒng)一采用10MHz方波發(fā)生器的時鐘[3-4],以進行數(shù)據(jù)幀的同步。 2 收發(fā)器模塊設(shè)計 2.1 發(fā)送模塊設(shè)計 發(fā)送模塊通過DMA方式讀取RAM中的數(shù)據(jù)并將數(shù)據(jù)交給無線發(fā)送模塊進行發(fā)送[5],其工作過程如圖3。網(wǎng)卡向無線網(wǎng)絡(luò)發(fā)送數(shù)據(jù)過程如下: (1)NIC初始化。計算機對NIC中各寄存器的讀寫是利用主機的I/O方式,網(wǎng)卡的基地址一般為300H。初始化NIC實際上是利用OUT指令對NIC中有關(guān)的寄存器寫控制字。 (2)微機與網(wǎng)卡中緩沖RAM交換數(shù)據(jù)是使用NIC遠程DMA模式。開動遠程DMA后,微機不斷讀寫網(wǎng)卡的數(shù)據(jù)端口,就能成功地執(zhí)行遠程DMA過程,完成微機與網(wǎng)卡中緩沖RAM的數(shù)據(jù)交換。 (3)緩沖RAM收發(fā)網(wǎng)上的數(shù)據(jù)使用NIC的本地DMA模式。當(dāng)初始化過程后,網(wǎng)卡處在接收狀態(tài),一旦接收網(wǎng)上來的數(shù)據(jù),就自動執(zhí)行本地DMA過程,對緩沖RAM進行本地DMA寫。 發(fā)送電路模塊的設(shè)計原理圖如圖4。發(fā)送模塊主要由10MHz標(biāo)準(zhǔn)方波發(fā)生器、一個D觸發(fā)器、4034并/串雙向移位寄存器、一個4040計數(shù)器和兩個雙端與門。 10MHz標(biāo)準(zhǔn)方波發(fā)生器用于產(chǎn)生10MHz標(biāo)準(zhǔn)方波,提供發(fā)送數(shù)據(jù)的時鐘信息。4040用于發(fā)送位計數(shù)。在發(fā)送完一個字節(jié)后,4040用其Q3送出完成信號,在D觸發(fā)器中鎖存,即生成字節(jié)轉(zhuǎn)換完畢信號,允許送出下一字節(jié);待接收到第二字節(jié)后,復(fù)位D觸發(fā)器,重復(fù)前述過程。4034在10MHz脈沖控制下,將數(shù)據(jù)總線上的并行數(shù)據(jù)轉(zhuǎn)換成1010MHz的串行數(shù)據(jù)發(fā)往曼徹斯特編碼器。 圖4中P1.7為計數(shù)器的初始復(fù)位信號線,由其在發(fā)送開始、全部發(fā)送完成以及發(fā)送未完中斷后發(fā)出復(fù)位脈沖。發(fā)送未完中斷是用來處理發(fā)送過程中在同軸電纜上的沖突,此時將終止當(dāng)前發(fā)送。D觸發(fā)器用來鎖存計數(shù)器4040的Q3輸出端狀態(tài),告知CPU此時外設(shè)已準(zhǔn)備就緒。 2.2 接收模塊設(shè)計 接收模塊由初始化模塊和接收中斷模塊兩部分組成。初始化模塊完成對NIC寄存器的初始化,并對網(wǎng)卡中斷INT3和DMA參數(shù)進行初始化,等待中斷。 當(dāng)網(wǎng)絡(luò)有數(shù)據(jù)需要接收時,引發(fā)網(wǎng)卡中斷INT3,接收處理模塊通過DMA與RAM進行數(shù)據(jù)傳送。這種不需要CPU干預(yù)的、成批量的數(shù)據(jù)傳送,可以極大地提高數(shù)據(jù)的接收速度。 接收處理模塊完成數(shù)據(jù)幀的處理(主要是以太幀),判斷是控制幀還是數(shù)據(jù)幀,并進行幀的校驗,利用串并轉(zhuǎn)換模塊轉(zhuǎn)換成并行數(shù)據(jù)[6]。主要功能如下: (1)遠程DMA讀過程設(shè)置在微機的中斷子程序中,本地DMA寫完成后,中斷微機主程序,執(zhí)行遠程DMA,完成微機接收數(shù)據(jù)過程。微機發(fā)送過程是由微機一方先執(zhí)行遠程DMA寫,然后執(zhí)行本地DMA讀。 (2)如果是發(fā)送數(shù)據(jù),則發(fā)送模塊完成與接收模塊相反的過程。不過,發(fā)送時還要判斷能束發(fā)送,即用改進沖突檢測方式進行沖突檢測。由于無線傳輸無法進行載波偵聽,只能利用接收方是否忙判斷線路狀態(tài),用軟件實現(xiàn)。接收處理模塊的執(zhí)行過程如圖5。 2.3 編碼轉(zhuǎn)換、計部件與時鐘 編碼轉(zhuǎn)換環(huán)節(jié)主要用于將接收來的信號通過曼徹斯特編碼器DP8391進行解碼,產(chǎn)生相應(yīng)的數(shù)據(jù)流,并進行同步的幀頭與校驗判斷,進行鎖存,產(chǎn)生10MHz串行位流,并將之轉(zhuǎn)換成并行數(shù)據(jù)字節(jié)流,交給接收模塊,送入緩沖區(qū)。在發(fā)送時,其過程與接收過程相反。編碼器與計數(shù)器配合使用,對發(fā)送和接收到的數(shù)據(jù)進行計數(shù)。 2.3.1 編碼轉(zhuǎn)換 編碼模塊連接DP8391,其主要包括4034串/并雙向移位寄存器、373三態(tài)鎖存器、兩片4040計數(shù)器、兩片244三態(tài)緩沖器及一片D觸發(fā)器,其硬件原理圖如圖6所示。 4034作為串/并轉(zhuǎn)換器件,其輸入信號取自DP8391RXD端,373用于轉(zhuǎn)換之后的并行數(shù)據(jù)的緩沖與鎖存,然后將它們送至數(shù)據(jù)總線上。4034時鐘信號來自DP8391的RXC端,另外用一片4040對輸入數(shù)據(jù)位進行計數(shù),取完8bit后,其Q3腳輸出一脈沖給D觸發(fā)器和字節(jié)計數(shù)器4040a,D觸發(fā)器收到信號后則發(fā)出READY2信號,告知其一字節(jié)轉(zhuǎn)換完成,可從373上取走數(shù)據(jù)。在取走數(shù)據(jù)后,通過D觸發(fā)器異步復(fù)位端復(fù)位觸發(fā)器狀態(tài)。 2.3.2 計數(shù)器部件 接收計數(shù)器是對接收到的數(shù)據(jù)字節(jié)進行計數(shù),它主要由4040a實現(xiàn),其輸入是4040的Q3,輸出則通過兩片244接入數(shù)據(jù)總線,不破壞總線上的其他數(shù)據(jù)。一個計數(shù)器實現(xiàn)數(shù)據(jù)幀的提取,形成一個完整的字節(jié)。另一個計數(shù)器用于對接收的字符個數(shù)進行計數(shù)。 2.3.3 恢復(fù)時鐘 恢復(fù)時鐘REC功能用一個片內(nèi)鎖相環(huán)完成。恢復(fù)時鐘用來監(jiān)測串行數(shù)據(jù)輸入信號的完整性。如果接收到的串行數(shù)據(jù)不符合頻率要求,電路將強行鎖定局部參考時鐘INT,使系統(tǒng)在數(shù)據(jù)或原鎖定丟失時仍能得到正確的恢復(fù)時鐘頻率。如果這個恢復(fù)時鐘頻率與局部參考時鐘頻率的偏離量大于50ppm,將通知鎖定輸出,同時電路將作出反應(yīng)并努力將輸入數(shù)據(jù)流拉回到鎖定數(shù)據(jù)中。 無線網(wǎng)絡(luò)在許多場合作為有線網(wǎng)絡(luò)的替代,如野外聯(lián)網(wǎng)作業(yè)及只需短期臨時的通信場合,都有很好的應(yīng)用前景。本課題設(shè)計的無線網(wǎng)卡,能有效地應(yīng)用于無線網(wǎng)絡(luò)。 本無線網(wǎng)卡,對于網(wǎng)絡(luò)終端的快速移動產(chǎn)生的網(wǎng)絡(luò)信號接入與識別的誤碼率還比較高,有待于進一步解決;對于靜止的終端,其通信速度較快、誤碼率很低。 |