設(shè)計(jì)具有ARQ功能的全雙工數(shù)據(jù)電臺(tái)
摘要:對(duì)一般的HF電臺(tái)和VHF/UHF電臺(tái)而言,它們采用半雙工的工作方式,要實(shí)現(xiàn)ARQ功能,電臺(tái)必須進(jìn)行收發(fā)轉(zhuǎn)換,犧牲了系統(tǒng)資源。本文設(shè)計(jì)的數(shù)據(jù)電臺(tái)采用TDD(Time-Division Duplex)協(xié)議,利用MCU、擴(kuò)頻芯片W9310及射頻模塊W9306構(gòu)成全雙工數(shù)據(jù)電臺(tái),為系統(tǒng)提供全雙工信道,用戶在DTE終端設(shè)備通過軟件編程,實(shí)現(xiàn)ARQ功能。 關(guān)鍵詞:半以工/全雙工 ARQ 數(shù)據(jù)電臺(tái) TDD協(xié)議 1 系統(tǒng)組成 系統(tǒng)由全雙工數(shù)據(jù)電臺(tái)和用戶的DTE終端設(shè)備組成,框圖如圖1所示。 全雙工數(shù)據(jù)電臺(tái)提供數(shù)傳通道,全雙工最大傳輸速率為64kb/s,ARQ功能由DTE終端通過軟件編程實(shí)現(xiàn)。 全雙工數(shù)據(jù)電臺(tái)由MCU 89C51、擴(kuò)頻芯片W9310、射頻模塊W9360、MAX238(RS232接口芯片)、擴(kuò)展并口8255及電臺(tái)的參數(shù)設(shè)置、波道顯示等電路組成,如圖2所示。 W9310為直接序列擴(kuò)頻加解擴(kuò)和數(shù)據(jù)處理芯片,它內(nèi)部包括6個(gè)功能模塊: *串行總線接口SBI―與MCU實(shí)現(xiàn)雙向通信; *接收機(jī)―完成擴(kuò)頻接收機(jī)的所有數(shù)字信號(hào)處理功能; *發(fā)射機(jī)―產(chǎn)生擴(kuò)頻的PN碼,并將加擴(kuò)結(jié)果輸出到射頻模塊W9360; *TDD控制器―實(shí)現(xiàn)TDD協(xié)議和各種握手信號(hào)、接口信號(hào); *發(fā)送和接收的FIFO―作為發(fā)送和接收數(shù)據(jù)的緩沖器; *主時(shí)鐘產(chǎn)生器―產(chǎn)生驅(qū)動(dòng)W9310各模塊的時(shí)鐘信號(hào)。 *MAX238為4入/4出的RS232接口芯片,實(shí)現(xiàn)TTL電平與RS232電平轉(zhuǎn)換。 *W9310的串口信號(hào)線(RTS、CTS、DCD、DTR、DSR、TXD、RXD)通過MAX238與DTE終端相接。另外,W9310為用戶提供接收時(shí)鐘(FCLK_RT)和發(fā)送時(shí)鐘(MHZ2_ST),在MHZ2_ST的上升沿采樣Tx引腳上的信號(hào),在FCLK_RT的下降沿采樣Rx引腳上的信號(hào)。 *W9310與射頻模塊W9360的接口信號(hào)線有:DI、MODOUT、PLLSW、TXEN和RFPWR。其中,DI是W9360接收機(jī)送來的解調(diào)信號(hào);MODOUT是W9310擴(kuò)頻后的基帶信號(hào),它輸出給W9360射頻模塊;TXEN控制射頻模塊的收/發(fā)轉(zhuǎn)換;PLLSW用來切換電臺(tái)的PLL;REPWR控制發(fā)射機(jī)功放電源的開關(guān)。 *W9360模塊提供基帶到RF和RF到基帶的信號(hào)轉(zhuǎn)換,模塊內(nèi)Philips公司生產(chǎn)的UMA1015M雙頻率全臺(tái)器及兩個(gè)VCO,組成發(fā)送、接收波道選擇的兩個(gè)鎖相環(huán)。MCU根據(jù)設(shè)置的波道通過串口編程UMA1015M的控制寄存器。 DTE與數(shù)據(jù)電臺(tái)的數(shù)口信號(hào)完全符合RS232C標(biāo)準(zhǔn)。在開始數(shù)據(jù)通信前,用戶必須使RTS、DTR信號(hào)有效,主叫方和被叫方完成捕獲突發(fā)幀和空閑突發(fā)幀交換后,W9310使CTS有效,表示W(wǎng)9310已準(zhǔn)備好傳送Tx引腳上的數(shù)據(jù);DCD信號(hào)有效時(shí),表示W(wǎng)9310將接收的數(shù)據(jù)送到Rx引腳上。全雙工接口時(shí)序如圖4所示(假設(shè)RTS、DTR有效)。 W9310通過TDD協(xié)議實(shí)現(xiàn)全雙工。TDD協(xié)議將W9310輪流設(shè)置為發(fā)射機(jī)和接收機(jī),當(dāng)兩部電臺(tái)通信時(shí),一部為主叫方,另一部為被叫方。TDD協(xié)議保證主叫方發(fā)送時(shí),被叫方接收,反之亦然。對(duì)用戶而言,他們只關(guān)心在保證要求的傳輸速率下,電臺(tái)是否全雙工工作,所以,W9310的實(shí)際傳輸速率要高于用戶的數(shù)據(jù)速率。理想情況下,假設(shè)W9310的傳輸效率100%,而且不附加任何同步數(shù)據(jù),那么,它的收發(fā)速率是用戶數(shù)據(jù)速率的2倍,一半時(shí)間發(fā)送數(shù)據(jù),一半時(shí)間接收數(shù)據(jù)。但實(shí)際情況是,W9310為保持同步,它要在用戶的數(shù)據(jù)前添加同步開銷數(shù)據(jù),所以,它的實(shí)際傳輸速率是用戶速率的2.6倍。 TDD協(xié)議中用到捕獲突發(fā)幀、空閑突發(fā)幀和數(shù)據(jù)幀三種幀結(jié)構(gòu),圖5為它們的結(jié)構(gòu)圖。 幀中各部分的位數(shù)如表1所列。
TDD協(xié)議的工作過程如下: 開始時(shí),TDD協(xié)議使用一種特殊的握手過程,通信雙方建立同步。主叫方首先發(fā)送捕獲突發(fā)幀,被叫方正確接收后,向主叫方發(fā)送捕獲突發(fā)幀作為響應(yīng);主叫方收到被叫方的捕獲突發(fā)幀后,發(fā)送空閑發(fā)幀,被叫方收到空閑突發(fā)幀后,作為對(duì)主叫方的響應(yīng),被叫方也向主叫方發(fā)送空閑突發(fā)幀;主叫方收到被叫方的空閑突發(fā)幀后,認(rèn)為通信雙方已完成同步,通信鏈路已建立,在隨后的通信中,雙方開始傳送數(shù)據(jù)。TDD協(xié)議的工作過程如圖6所示。 在TDD協(xié)議工作過程中,接收機(jī)要經(jīng)過幾個(gè)階段。當(dāng)正確接收捕獲突發(fā)幀中的4個(gè)特字UW后,接收機(jī)的LOCK輸出信號(hào)有效;當(dāng)正確接收突閑突發(fā)幀后,接收同的RLOCK輸出信號(hào)有效。隨后,接收機(jī)的工作過程W9310內(nèi)部寄存器中的工作狀態(tài)位的設(shè)置有關(guān),分兩種工作情況。當(dāng)工作狀態(tài)位關(guān)閉時(shí),一旦檢測(cè)不到特字UW,傳輸就停止,接收機(jī)等待新的捕獲突發(fā)幀,發(fā)射機(jī)開始不停地發(fā)送捕獲突發(fā)帖,直到接收到接收機(jī)發(fā)送的捕獲突發(fā)幀;當(dāng)工作狀態(tài)位打開時(shí),接收機(jī)在檢測(cè)不到特字UW時(shí),并不是馬上使輸出信號(hào)LOCK無效,而是在連續(xù)兩次檢測(cè)不到特字UW時(shí)才使輸出信號(hào)LOCK無效。接收機(jī)狀態(tài)轉(zhuǎn)移圖如圖7所示。 圖7中,UW4DET表示正確接收到捕獲突發(fā)幀中的4個(gè)特字UW;當(dāng)正確接收到空閑突發(fā)幀和數(shù)據(jù)幀中的特字UW時(shí),UWDET有效;MSB表示W(wǎng)9310設(shè)置成主叫方(=1)還是被叫方(=0);接收機(jī)內(nèi)部鎖相環(huán)鎖相時(shí),NMODE有效。 4 數(shù)據(jù)電臺(tái)的軟件設(shè)計(jì) 圖8為數(shù)據(jù)電臺(tái)的軟件流程圖。電臺(tái)面板上有一個(gè)建鏈/拆鏈按鈕,每按一次,建鏈/拆鏈交換一次,且按鈕的一方為主叫方。W9310建立鏈路有兩個(gè)條件:一個(gè)是DTR信號(hào)有效,DTE加電后,提供給電臺(tái);另一個(gè)是要設(shè)置W9310片內(nèi)的主叫方/被叫方的標(biāo)志位MASTER=1。一旦滿足上述兩個(gè)條件,W9310立即與被叫方開始建立鏈路。定時(shí)器中斷子程序根據(jù)按鈕是否有動(dòng)作,而決定是否設(shè)置鏈路建立標(biāo)志位,供主程序查詢;主程序根據(jù)鏈路建立標(biāo)志位,結(jié)合鏈路狀態(tài)標(biāo)志位決定是建鏈還是拆鏈。 ARQ的作用原則是對(duì)出錯(cuò)的數(shù)據(jù)幀自動(dòng)重發(fā),它有三種形式:停等協(xié)議ARQ、連續(xù)ARQ和選擇重傳ARQ。 (1)停等協(xié)議ARQ *發(fā)方發(fā)送一個(gè)數(shù)據(jù)幀后,必須等待收方的確認(rèn)幀才可以發(fā)送下一個(gè)數(shù)據(jù)幀; *在收方接收錯(cuò)誤時(shí),收方發(fā)一否認(rèn)幀,要求發(fā)方重發(fā)該幀; *為防止發(fā)送的數(shù)據(jù)丟失,發(fā)方內(nèi)部設(shè)置一個(gè)定時(shí)器,當(dāng)超過定時(shí)時(shí)間發(fā)方仍未收到確認(rèn)幀時(shí),發(fā)方重發(fā)該幀; *為防止確認(rèn)幀丟失而造成發(fā)方重發(fā)同一數(shù)據(jù)幀,發(fā)方給每一個(gè)數(shù)據(jù)幀帶上一個(gè)序列號(hào)。 (2)連續(xù)ARQ 連續(xù)ARQ是連續(xù)發(fā)送若干數(shù)據(jù)帖,如果接收到收端的確認(rèn)幀,則繼續(xù)發(fā)送;發(fā)方在每發(fā)完一個(gè)數(shù)據(jù)幀后,就啟動(dòng)內(nèi)部超過定時(shí)器,在設(shè)置的超時(shí)時(shí)間內(nèi)未收到確認(rèn)幀,則重發(fā)相應(yīng)的數(shù)據(jù)幀。 這種方式只重傳出現(xiàn)差錯(cuò)的數(shù)據(jù)幀或定時(shí)器超時(shí)的數(shù)據(jù)幀。 三種方法各有利弊,停等協(xié)議ARQ最簡單,便信道利用率最低;選擇重傳ARQ信道利用率最高,但它要求接收端的緩沖容量相當(dāng)大;連續(xù)ARQ介于兩者之間。在應(yīng)用中應(yīng)根據(jù)實(shí)際情況選擇。 6 應(yīng)用與結(jié)論 本文設(shè)計(jì)實(shí)現(xiàn)的具有ARQ功能的全雙工數(shù)據(jù)電臺(tái)可廣泛應(yīng)用于點(diǎn)對(duì)點(diǎn)的無線數(shù)據(jù)傳輸系統(tǒng)中,由于它具有極低的誤碼率,且傳輸速率可達(dá)64kb/s,因而在要求可靠傳輸?shù)沫h(huán)境中,具有很好的應(yīng)用前景。 | ||||||||||
評(píng)論