馮菊香,盧上二,趙 利
(1.玉林師范學(xué)院 傳媒實(shí)驗(yàn)室,廣西 玉林 537000;2.桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
數(shù)字信號(hào)在傳輸過程中由于衰變、干擾等各種原因不可避免地會(huì)產(chǎn)生差錯(cuò)。隨著數(shù)據(jù)量的增大、傳輸速率的提高、通信距離的增加,系統(tǒng)在傳輸過程中出現(xiàn)的誤幀率也會(huì)增大[1]。對(duì)無線通信來說,誤幀率是測(cè)試系統(tǒng)性能的一項(xiàng)重要指標(biāo)。目前市場(chǎng)上有專門的誤幀測(cè)試儀,它既可以用于有線通信系統(tǒng)的測(cè)量,也可以用于無線通信系統(tǒng)的測(cè)量,但存在價(jià)格昂貴、針對(duì)性不強(qiáng)等缺點(diǎn)。針對(duì)山區(qū)無線數(shù)據(jù)傳輸信道的特點(diǎn),筆者結(jié)合異步串行通信規(guī)程設(shè)計(jì)了一款基于AT89S52單片機(jī)[2]的誤幀測(cè)試系統(tǒng)——無線數(shù)據(jù)通信誤幀率測(cè)試儀,它是測(cè)試無線數(shù)據(jù)傳輸性能的一種智能化儀器。
誤幀率測(cè)試系統(tǒng)方案如圖1所示。用到的設(shè)備包括誤幀儀、數(shù)傳電臺(tái)和天線等,誤幀儀由單片機(jī)、電平轉(zhuǎn)換器、數(shù)碼管顯示模塊、按鍵、指示燈等部件組成,誤幀率的測(cè)試是將誤幀儀發(fā)射的數(shù)據(jù)不斷地發(fā)送到接收端,接收端接收該數(shù)據(jù)流后檢查收到的數(shù)據(jù)流中是否有傳錯(cuò)或丟失的數(shù)據(jù)幀,傳輸過程中丟失與出錯(cuò)的幀數(shù)和除以發(fā)送總幀數(shù)即可計(jì)算出通信信道的誤幀率。設(shè)計(jì)的該誤幀儀既可以發(fā)射數(shù)據(jù)也可以接收數(shù)據(jù),因而箭頭是雙向的。
圖1 誤幀儀技術(shù)方案圖
2.2.1 組幀設(shè)計(jì)
本設(shè)計(jì)所發(fā)送的幀數(shù)據(jù)包是由一系列BCD碼組成的,并對(duì)每個(gè)BCD碼進(jìn)行編號(hào)以便于誤幀測(cè)試,如a0,a1,a2,…,幀格式如圖2所示。數(shù)據(jù)包由102幀組成,起始為同步字,同步字設(shè)定為7EH,終了為結(jié)束字,結(jié)束字設(shè)定為 8FH,中間有 100 個(gè)數(shù)據(jù)幀。a0,a1,a2,…,a99分別用 00,01,02,…,99填入,傳輸時(shí)每個(gè)數(shù)據(jù)幀為10 byte異步幀格式。
圖2 串行通信幀格式
2.2.2 檢錯(cuò)規(guī)則
幀檢錯(cuò)流程如圖3所示。
發(fā)送端發(fā)出102個(gè)幀長的數(shù)據(jù)包,并對(duì)每一個(gè)幀數(shù)據(jù)包設(shè)置編號(hào),即a0,a1,a2,…,a99,接收端用 1 個(gè)“誤幀計(jì)數(shù)器”來統(tǒng)計(jì)發(fā)錯(cuò)或丟失的數(shù)據(jù)幀數(shù)目。發(fā)送端在發(fā)送數(shù)據(jù)之前,接收端處于接收狀態(tài)。當(dāng)接收端接收到同步字7EH時(shí)開始接收數(shù)據(jù),如果收到的數(shù)據(jù)幀與預(yù)設(shè)的不同(即檢測(cè)接收的ai與預(yù)設(shè)的不同,i=0,1,2,…,99),或該數(shù)據(jù)幀丟失,則“誤幀計(jì)數(shù)器”加1,寄存在“誤幀計(jì)數(shù)器”中;當(dāng)收到結(jié)束字8FH時(shí),表明此數(shù)據(jù)包發(fā)送結(jié)束。最后用誤幀計(jì)數(shù)器的值除以發(fā)送的數(shù)據(jù)幀的總數(shù),即得到誤幀率并用數(shù)碼管顯示出來。將測(cè)得的誤幀率與目標(biāo)誤幀率進(jìn)行比較,檢測(cè)是否達(dá)到數(shù)據(jù)通信的要求。
圖3 幀檢錯(cuò)規(guī)則流程圖
本誤幀儀硬件電路結(jié)構(gòu)框圖如圖4所示。
圖4 誤幀儀硬件電路結(jié)構(gòu)框圖
圖4中,作為核心部件的單片機(jī)采用低功耗的AT89S52。其他相應(yīng)的外圍電路由7個(gè)主要部分組成:
1)按鍵,用于輸入操作,由2個(gè)電平按鍵組成,分別用來進(jìn)行發(fā)送數(shù)據(jù)操作和接收數(shù)據(jù)操作。
2)指示燈,用于輸出,指示發(fā)送和接收的信息,發(fā)送數(shù)據(jù)時(shí)紅燈亮,接收數(shù)據(jù)時(shí)綠燈亮。
3)晶振電路,由1個(gè)11.0592 MHz的晶振和2個(gè)30 pF的小電容組成,決定了單片機(jī)的工作時(shí)間精度為1 μs。
4)復(fù)位電路,采用的是按鍵復(fù)位,由200 Ω,1 kΩ的電阻以及22 μF的電容和1個(gè)4腳復(fù)位開關(guān)組成。
5)電源變換電路,為整個(gè)電路提供+5 V的工作電壓。此電路有濾波功能,濾掉了高頻和低頻,從而使電源更加純正,系統(tǒng)采用性能穩(wěn)定的三端穩(wěn)壓芯片7805。
6)LED數(shù)碼顯示器,用于顯示測(cè)試結(jié)果。
7)RS-232電平轉(zhuǎn)換電路,用于提供RS-232的標(biāo)準(zhǔn)接口方式,與數(shù)傳電臺(tái)ND889A的標(biāo)準(zhǔn)接口相對(duì)應(yīng)。
發(fā)送程序流程圖如圖5所示。
圖5 發(fā)送程序流程圖
接收程序流程圖如圖6所示。
圖6 接收程序流程圖
本系統(tǒng)的軟件主要由以下5個(gè)部分組成:
1)總控主程序,控制整個(gè)系統(tǒng)的軟件運(yùn)行。首先對(duì)整個(gè)系統(tǒng)進(jìn)行初始化,然后對(duì)串口、數(shù)碼管、按鍵等進(jìn)行管理和控制。
2)按鍵管理程序,用來進(jìn)行鍵功能管理。首先判斷是否有鍵被按下,并完成對(duì)鍵的消抖動(dòng)功能、然后識(shí)別按下的鍵是發(fā)送鍵還是接收鍵,若是發(fā)送鍵,程序轉(zhuǎn)向發(fā)送鍵處理,若是接收鍵,程序轉(zhuǎn)向接收鍵處理。
3)顯示子程序,通過數(shù)碼管顯示誤幀測(cè)試結(jié)果,包括數(shù)碼管初始化、接收顯示指令、接收顯示數(shù)據(jù)等部分。4)串口中斷程序,用來實(shí)現(xiàn)系統(tǒng)的中斷數(shù)據(jù)接收。5)發(fā)送/接收子程序,用來對(duì)數(shù)據(jù)進(jìn)行串行發(fā)送和接收。
軟件主要分為數(shù)碼管顯示模塊、發(fā)送數(shù)據(jù)模塊和接收數(shù)據(jù)模塊。
1)系統(tǒng)初始化程序
系統(tǒng)初始化程序如下:
2)數(shù)碼管顯示模塊
數(shù)碼管顯示模塊的驅(qū)動(dòng)程序如下:
3)發(fā)送數(shù)據(jù)模塊
系統(tǒng)初始化,準(zhǔn)備好數(shù)據(jù)包,將數(shù)據(jù)包存入發(fā)送緩沖器SBUF,設(shè)置好單片機(jī)定時(shí)器及波特率,將誤幀儀與PC機(jī)用串口線連接,用串口調(diào)試工具終端檢測(cè)PC是否接收到發(fā)送的數(shù)據(jù)包,如果串口調(diào)試工具終端能接收到誤幀儀發(fā)送的數(shù)據(jù),則發(fā)送模塊調(diào)試成功,其代碼為:
4)接收數(shù)據(jù)模塊
系統(tǒng)初始化,設(shè)置好單片機(jī)定時(shí)器及波特率,并使誤幀儀處于接收狀態(tài),將誤幀儀與PC機(jī)用串口線連接,用串口調(diào)試工具終端向誤幀儀發(fā)送數(shù)據(jù),如果誤幀儀數(shù)碼管顯示模塊能顯示出串口調(diào)試工具終端發(fā)送的數(shù)據(jù),則接收模塊調(diào)試成功,其代碼為:
5.1.1 硬件調(diào)試
硬件的好壞直接影響到測(cè)試的結(jié)果,也影響程序調(diào)試的進(jìn)度。硬件調(diào)試是整個(gè)系統(tǒng)設(shè)計(jì)的重要環(huán)節(jié)。系統(tǒng)硬件由兩塊電路板組成,電路較為復(fù)雜,模塊較多,每個(gè)模塊都要經(jīng)歷硬件調(diào)試的各個(gè)步驟,具體調(diào)試可分為靜態(tài)檢查和加電檢查。靜態(tài)檢查主要檢查整個(gè)電路板是否有虛焊、脫焊、短路、斷路情況,觀察元件安裝是否正確,特別是芯片座及一些有極性元件是否裝反。加電檢查包括不安裝重要芯片情況下的通電檢查、裝上芯片后的檢查和后期檢查。不安裝重要芯片情況下的通電檢查,主要是防止電路設(shè)計(jì)中疏忽的細(xì)節(jié)問題造成重要芯片的損壞。安裝上芯片后,主要檢查芯片安裝是否正確,確認(rèn)無誤后,通電檢查芯片和外圍元件等是否正常。
5.1.2 軟件調(diào)試
后期檢查指的是在程序調(diào)試過程中遇到問題所進(jìn)行的檢查。軟件調(diào)試的大部分都是建立在硬件調(diào)試的基礎(chǔ)上,而且在中后期也是和硬件調(diào)試混合在一起。在軟件的編寫上,采用了模塊化的設(shè)計(jì),將各個(gè)模塊的程序單獨(dú)調(diào)試成功之后,再連接在一起調(diào)試[4]。
5.2.1 測(cè)試方案一
在沒有電臺(tái)的條件下,誤幀儀的測(cè)試方案如圖7所示。
圖7 誤幀測(cè)試方案圖
將兩臺(tái)誤幀儀按圖7進(jìn)行連接,由于誤幀儀本身可以發(fā)送和接收數(shù)據(jù),以上測(cè)試方案是可行的。將兩個(gè)誤幀儀用一根交叉串口線連接進(jìn)行測(cè)試。測(cè)試分為兩步:發(fā)送的數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)相同,檢測(cè)此時(shí)的誤幀率;發(fā)送的數(shù)據(jù)與預(yù)設(shè)的數(shù)據(jù)不同,人為地設(shè)定錯(cuò)誤,如將數(shù)據(jù)幀06改為07,檢測(cè)此時(shí)的誤幀率。
5.2.2 測(cè)試方案二
在接電臺(tái)的條件下,誤幀儀的測(cè)試方案如圖8所示。
圖8 誤幀率測(cè)試方案圖
方案中采用日本日精公司ND889A專業(yè)數(shù)傳電臺(tái)兩臺(tái)、由單片機(jī)構(gòu)成的誤幀測(cè)試儀2臺(tái)、佛山市健博通電訊實(shí)業(yè)有限公司TQJ-230c全向天線、定向天線及饋線等。其中ND889A數(shù)傳電臺(tái)工作在UHF頻段上,收發(fā)機(jī)均采用最先進(jìn)的FET低噪聲放大電路,發(fā)射功率大,接收靈敏度高,數(shù)傳誤碼率低,帶有RSSI電平指示輸出。
發(fā)端發(fā)出的數(shù)據(jù)經(jīng)過誤幀測(cè)試儀檢測(cè)后通過RS-232接口從數(shù)傳電臺(tái)的TXD腳輸入,通過電臺(tái)內(nèi)置的Modem進(jìn)行調(diào)制后發(fā)送到空中。在收端,數(shù)傳電臺(tái)接收到信號(hào)后,內(nèi)置的Modem把解調(diào)出來的數(shù)據(jù)信號(hào)從RXD腳輸出,通過RS-232接口傳至誤幀測(cè)試儀進(jìn)行檢測(cè)。
5.2.3 測(cè)試結(jié)果分析
兩次測(cè)試的結(jié)果如表1所示。
表1 測(cè)試結(jié)果比較
實(shí)測(cè)時(shí),波特率設(shè)為2400 baud,循環(huán)周期為100次,即發(fā)送10200幀數(shù)據(jù),發(fā)送碼元總數(shù)為102000個(gè)碼元,測(cè)試用時(shí)42.5 s,可測(cè)量的誤碼率環(huán)境為10-5。測(cè)試結(jié)果表明系統(tǒng)正常工作時(shí)間內(nèi)無誤碼出現(xiàn),設(shè)備可用,較好地體現(xiàn)了異步串行方式傳輸數(shù)據(jù)的優(yōu)點(diǎn)。測(cè)試結(jié)果證明,誤幀測(cè)試儀系統(tǒng)性能良好,可以用于實(shí)際工程中。
異步串行通信是無線數(shù)據(jù)通信采用的主要傳輸方式,針對(duì)無線數(shù)據(jù)通信系統(tǒng)勘察設(shè)計(jì)的實(shí)際要求,開發(fā)設(shè)計(jì)出的無線數(shù)據(jù)通信誤幀率測(cè)試儀具有體積小、成本低、穩(wěn)定可靠、高性價(jià)比等優(yōu)點(diǎn),可極大拓寬嵌入式視頻監(jiān)控的應(yīng)用范圍。隨著無線通信技術(shù)的發(fā)展以及人們對(duì)無線信道低誤幀率等指標(biāo)的要求也越來越高,誤幀測(cè)試儀將有廣泛的市場(chǎng)。
[1]郭梯云,鄔國揚(yáng),李建東.移動(dòng)通信[M].西安:西安電子科技大學(xué)出版社,2006.
[2]Atmel.8-bit microcontroller with 8K bytes in-system programmable flash-AT89S52[EB/OL].[2010-01-01].http://www.datasheetcatalog.org/datasheet/atmel/doc1919.pdf.
[3]袁蘭英,蔣湘,黃繼武.異步數(shù)據(jù)通道誤碼測(cè)試儀的研制[J].武漢大學(xué)學(xué)報(bào):自然科學(xué)版,1997(10):677-680.
[4]蔣海明,張劍英,趙二濤,等.PPLive網(wǎng)絡(luò)電視通信機(jī)制研究[J].電視技術(shù),2009,33(12):61-63.
[5]李劍雄.CDMA移動(dòng)臺(tái)誤幀率的測(cè)試[J].中國無線電管理,2000(10):24.