隨著無線通信技術(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è)計(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 收發(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)緩沖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ù)。 2.3.1 編碼轉(zhuǎn)換 編碼模塊連接DP8391,其主要包括4034串/并雙向移位寄存器、373三態(tài)鎖存器、兩片4040計(jì)數(shù)器、兩片244三態(tài)緩沖器及一片D觸發(fā)器,其硬件原理圖如圖6所示。 4034作為串/并轉(zhuǎn)換器件,其輸入信號(hào)取自DP8391RXD端,373用于轉(zhuǎn)換之后的并行數(shù)據(jù)的緩沖與鎖存,然后將它們送至數(shù)據(jù)總線上。4034時(shí)鐘信號(hào)來自DP8391的RXC端,另外用一片4040對(duì)輸入數(shù)據(jù)位進(jìn)行計(jì)數(shù),取完8bit后,其Q3腳輸出一脈沖給D觸發(fā)器和字節(jié)計(jì)數(shù)器4040a,D觸發(fā)器收到信號(hào)后則發(fā)出READY2信號(hào),告知其一字節(jié)轉(zhuǎn)換完成,可從373上取走數(shù)據(jù)。在取走數(shù)據(jù)后,通過D觸發(fā)器異步復(fù)位端復(fù)位觸發(fā)器狀態(tài)。 2.3.2 計(jì)數(shù)器部件 接收計(jì)數(shù)器是對(duì)接收到的數(shù)據(jù)字節(jié)進(jìn)行計(jì)數(shù),它主要由4040a實(shí)現(xiàn),其輸入是4040的Q3,輸出則通過兩片244接入數(shù)據(jù)總線,不破壞總線上的其他數(shù)據(jù)。一個(gè)計(jì)數(shù)器實(shí)現(xiàn)數(shù)據(jù)幀的提取,形成一個(gè)完整的字節(jié)。另一個(gè)計(jì)數(shù)器用于對(duì)接收的字符個(gè)數(shù)進(jìn)行計(jì)數(shù)。 2.3.3 恢復(fù)時(shí)鐘 恢復(fù)時(shí)鐘REC功能用一個(gè)片內(nèi)鎖相環(huán)完成。恢復(fù)時(shí)鐘用來監(jiān)測(cè)串行數(shù)據(jù)輸入信號(hào)的完整性。如果接收到的串行數(shù)據(jù)不符合頻率要求,電路將強(qiáng)行鎖定局部參考時(shí)鐘INT,使系統(tǒng)在數(shù)據(jù)或原鎖定丟失時(shí)仍能得到正確的恢復(fù)時(shí)鐘頻率。如果這個(gè)恢復(fù)時(shí)鐘頻率與局部參考時(shí)鐘頻率的偏離量大于50ppm,將通知鎖定輸出,同時(shí)電路將作出反應(yīng)并努力將輸入數(shù)據(jù)流拉回到鎖定數(shù)據(jù)中。 無線網(wǎng)絡(luò)在許多場合作為有線網(wǎng)絡(luò)的替代,如野外聯(lián)網(wǎng)作業(yè)及只需短期臨時(shí)的通信場合,都有很好的應(yīng)用前景。本課題設(shè)計(jì)的無線網(wǎng)卡,能有效地應(yīng)用于無線網(wǎng)絡(luò)。 本無線網(wǎng)卡,對(duì)于網(wǎng)絡(luò)終端的快速移動(dòng)產(chǎn)生的網(wǎng)絡(luò)信號(hào)接入與識(shí)別的誤碼率還比較高,有待于進(jìn)一步解決;對(duì)于靜止的終端,其通信速度較快、誤碼率很低。 |