關(guān)鍵詞:通信電臺(tái);通信協(xié)議;DSP;FPGA
一、引言
任何通信系統(tǒng)均有一定的通信協(xié)議支持來(lái)完成通信的任務(wù),一般通信系統(tǒng)至少包括物理層通信協(xié)議和鏈路層通信協(xié)議。物理層通信協(xié)議用于在數(shù)據(jù)鏈路的實(shí)體之間為位傳輸所需要的物理連接的建立、保持和拆斷提供電氣的、機(jī)械的、功能性的特性。鏈路層協(xié)議是在通信系統(tǒng)的物理層正常工作的基礎(chǔ)上進(jìn)一步管理和控制,主要完成建立鏈路、拆除鏈路、流量控制、同步控制和差錯(cuò)控制的功能。本文提出的通信協(xié)議主要包括物理層協(xié)議和鏈路層協(xié)議,經(jīng)過(guò)通信電臺(tái)的試驗(yàn)證明它是一種可靠的高效的通信協(xié)議,具有較高的理論意義和工程應(yīng)用價(jià)值。
二、通信協(xié)議的原理
本文提出的一種通信協(xié)議用在一種無(wú)線通信電臺(tái)上,此協(xié)議能很好地滿足此通信電臺(tái)間歇式工作的要求,其原理如圖1所示。
當(dāng)無(wú)線通信電臺(tái)的天線接收到信息時(shí),上變頻模塊把射頻端的數(shù)據(jù)送給現(xiàn)場(chǎng)可編程門(mén)陣列器件(FPGA)進(jìn)行解碼,F(xiàn)PGA解碼后的數(shù)據(jù)放在FPGA的發(fā)送數(shù)據(jù)緩沖區(qū),此緩沖區(qū)大小設(shè)置為1024 byte大小,當(dāng)此緩沖區(qū)滿時(shí)產(chǎn)生一中斷信號(hào)觸發(fā)數(shù)字信號(hào)處理器(DSP),DSP內(nèi)開(kāi)辟一個(gè)大小為1 024 byte的緩沖區(qū)txqueue,txqueue通過(guò)數(shù)據(jù)總線方式接收FPGA發(fā)來(lái)的數(shù)據(jù),當(dāng)txqueue滿時(shí),再通過(guò)DSP的定時(shí)器中斷方式把txqueue內(nèi)的1 024 byte的數(shù)據(jù)發(fā)往接口器件(MAX3111E)內(nèi)的發(fā)送數(shù)據(jù)Buffer,此Buffer內(nèi)的數(shù)據(jù)最終發(fā)往個(gè)人計(jì)算機(jī)(PC),PC機(jī)對(duì)這些數(shù)據(jù)進(jìn)行分析和處理。
當(dāng)PC機(jī)有數(shù)據(jù)和命令要發(fā)送時(shí),首先把PC內(nèi)的數(shù)據(jù)或命令以9 600 bps的速度通過(guò)MAX3111E的接收數(shù)據(jù)FIFO發(fā)送到DSP中1 024 byte大小的數(shù)據(jù)緩沖區(qū)rxqueue,當(dāng)rxqueue的數(shù)據(jù)滿時(shí),查詢FPGA的接收數(shù)據(jù)緩沖有沒(méi)有空,如果FPGA的接收緩沖區(qū)空時(shí),則把rxqueue的數(shù)據(jù)發(fā)往FPGA的接收數(shù)據(jù)緩沖區(qū),F(xiàn)PGA對(duì)接收緩沖區(qū)的數(shù)據(jù)進(jìn)行編碼處理后送上變頻模塊。PC機(jī)發(fā)送的幀包括命令幀和數(shù)據(jù)幀,幀結(jié)構(gòu)如表1和表2所示。
命令幀用于向DSP發(fā)送開(kāi)機(jī)、關(guān)機(jī)、復(fù)位等命令用來(lái)監(jiān)控電臺(tái)的工作,數(shù)據(jù)幀用于定義PC和DSP進(jìn)行數(shù)據(jù)交換的格式。命令幀共5 byte,即5×8 bit,其 中 幀 頭為70 H、70 H表示一幀開(kāi)始傳輸,data1表示所要發(fā)送的命令(包括開(kāi)機(jī)、關(guān)機(jī)、復(fù)位等),校驗(yàn)字用于檢驗(yàn)所發(fā)命令是否正確,幀尾7EH表示幀傳輸結(jié)束。數(shù)據(jù)幀共128 byte,即128×8 bit,其中幀頭為7EH、7EH表示一幀開(kāi)始傳輸,Point1、Point0用于計(jì)算已傳輸出幀的個(gè)數(shù),Point1表示計(jì)數(shù)器的高位數(shù)值,Point0表示計(jì)數(shù)器的低位數(shù)值,data0~data121表示所要發(fā)送的數(shù)據(jù),校驗(yàn)字CRC1、CRC0用于檢驗(yàn)所發(fā)命令是否正確,此類幀采用循環(huán)校驗(yàn)碼CRC的16位校驗(yàn)方式,此幀不設(shè)結(jié)束標(biāo)志,校驗(yàn)結(jié)束即表示數(shù)據(jù)幀傳輸結(jié)束。
三、通信協(xié)議的實(shí)現(xiàn)
1.通信協(xié)議的硬件實(shí)現(xiàn)
通信協(xié)議的硬件實(shí)現(xiàn)是在通信電臺(tái)基帶信號(hào)處理的硬件平臺(tái)上實(shí)現(xiàn)的,通信協(xié)議的物理層硬件實(shí)現(xiàn)的關(guān)鍵包括DSP與PC交換數(shù)據(jù)電路和FPGA與DSP交換數(shù)據(jù)電路兩部分。DSP與PC交換數(shù)據(jù)如圖2所示,采用TMS320VC5416型DSP為通信電臺(tái)的基帶主控芯片,DSP通過(guò)MAX3111E型UART接口芯片與PC機(jī)交換數(shù)據(jù),MAX3111E芯片內(nèi)有發(fā)送數(shù)據(jù)緩沖區(qū)和接收數(shù)據(jù)緩沖區(qū),當(dāng)MAX3111E收到DSP發(fā)來(lái)的一個(gè)byte時(shí)或接收到PC發(fā)來(lái)的一個(gè)byte時(shí)均產(chǎn)生中斷觸發(fā)信號(hào)觸發(fā)DSP的外部中斷三(INT3),DSP完成數(shù)據(jù)的收發(fā),從而達(dá)到與PC交換數(shù)據(jù)的目的。FPGA與DSP交換數(shù)據(jù)如圖3所示,F(xiàn)PGA發(fā)送緩沖區(qū)滿或接收緩沖區(qū)空時(shí),產(chǎn)生一低電平觸發(fā)DSP的一個(gè)外部中斷(如INT2),首先在中斷服務(wù)程序中判斷是FPGA發(fā)送緩沖區(qū)滿事件產(chǎn)生的中斷還是FPGA接收緩沖區(qū)空事件產(chǎn)生的中斷,如果是FPGA發(fā)送緩沖區(qū)滿事件中斷時(shí),F(xiàn)PGA通過(guò)數(shù)據(jù)總線方式向DSP發(fā)送數(shù)據(jù);如果是FPGA接收緩沖區(qū)空事件中斷時(shí),DSP通過(guò)MCBSP1口發(fā)送數(shù)據(jù)至FPGA的接收緩沖區(qū)。FPGA數(shù)據(jù)緩沖空或滿狀態(tài)作為DSP的中斷觸發(fā)事件,避免了DSP的CPU采用查詢方式,節(jié)省了DSP的CPU資源和軟件開(kāi)銷。
2. 通信協(xié)議的軟件實(shí)現(xiàn)
通信協(xié)議的軟件實(shí)現(xiàn)程序流程包括電臺(tái)接收數(shù)據(jù)和電臺(tái)發(fā)送數(shù)據(jù)兩部分,電臺(tái)收發(fā)數(shù)據(jù)的程序流程與圖1中所示的通信原理基本相同。本文用C5416型DSP為數(shù)字信號(hào)的主處理器,接收下變頻模塊來(lái)的數(shù)字信號(hào)完成解擴(kuò)、同步等功能后進(jìn)行去除符號(hào)間干擾的算法,再送FPGA完成編碼信號(hào)的解碼,解碼后的信號(hào)送C5416通過(guò)MAX3111E接口電路上傳給PC機(jī)。PC機(jī)把需要發(fā)射的數(shù)據(jù)或命令通過(guò)MAX3111E、C5416送給FPGA進(jìn)行信號(hào)編碼以起到抗信道干擾的作用。本文在硬件平臺(tái)上采用TPC(64,57)x(32,26)的信道編碼方式,并且進(jìn)行速率匹配(碼率為0.75)和1.6 s交織后,在高斯信道下可以獲得大約2.5dB的增益,仿真結(jié)果如圖4所示,在瑞利信道下可以獲得大約4 dB的增益,仿真結(jié)果如圖5所示。
本通信協(xié)議的軟件實(shí)現(xiàn)的難點(diǎn)在與如何用MAX3111E接口芯片實(shí)現(xiàn)DSP與PC的數(shù)據(jù)交換,硬件接口如圖2所示,其中DSP通過(guò)多通道緩沖口(MCBSP)工作于串行同步接口(SPI)協(xié)議方式,軟件主要包括MCBSP的初始化程序、MAX3111E的驅(qū)動(dòng)程序、DSP外部中斷INT3的服務(wù)子程序等部分,其中中斷INT3的服務(wù)子程序流程圖如圖6所示。
四、結(jié)論
通過(guò)通信電臺(tái)的測(cè)試結(jié)果表明,此通信協(xié)議設(shè)計(jì)正確、可靠,能順利地保障通信電臺(tái)之間信息的收發(fā),具有較高的理論指導(dǎo)意義和實(shí)際工程應(yīng)用價(jià)值。
參考文獻(xiàn)
[1]陳麗,張利華,陳玉萍.一種新型通信控制器的實(shí)現(xiàn)[J].華東交通大學(xué)學(xué)報(bào),2002,(7).
[2]梁永明,羅漢文,黃建國(guó),等.一種基于軟件無(wú)線電的信號(hào)處理方法[J].通信學(xué)報(bào).
[3]TMS320VC5416 DSP Reference Set[Z].TI公司.
[4]MAX3111E Reference Manual[Z].Maxim 公司.
[5]戴明楨,周建江.TMS320C54x DSP結(jié)構(gòu)、原理及應(yīng)用[M].北京:北京航空航天出版社,2001.
[6]胡劍凌,徐盛.?dāng)?shù)字信號(hào)處理系統(tǒng)的應(yīng)用和設(shè)計(jì)[M].上海:上海交通大學(xué)出版社,2003.