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