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