文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)12-0133-04
短波通信主要通過電離層反射實(shí)現(xiàn),而電離層的隨機(jī)起伏變化導(dǎo)致了短波通信的不穩(wěn)定,使得通信可靠性降低[1]。為了研制新型短波通信系統(tǒng)和提高短波通信可靠性,需要對(duì)電離層狀態(tài)、物理特征以及電離層中電波傳播規(guī)律進(jìn)行研究。我國的電離層返回斜向探測(cè)研究始于20世紀(jì)50年代末,并取得了一定成果[2]。1990年以后,國內(nèi)從事電離層信道特性研究的學(xué)者主要是武漢大學(xué)的教授[3-4]。隨著通信技術(shù)的快速發(fā)展,有必要研制新的電離層(短波信道)斜向探測(cè)系統(tǒng)(IOSS),探測(cè)短波信道的特性,為下一代短波通信裝備的研制提供理論基礎(chǔ)。
近年來,數(shù)字信號(hào)處理器(DSP)芯片運(yùn)算能力不斷提高,在通信、電子、圖形圖像處理、自動(dòng)控制等各個(gè)領(lǐng)域得到廣泛應(yīng)用[5-6]。DSP的軟件設(shè)計(jì)通常有三種方法[7]:C語言開發(fā)、匯編語言開發(fā)、C語言和匯編語言混合編程開發(fā)。軟件的算法表示方法[8]主要有:算法流程圖、盒圖、PAD圖和偽碼。本文采用算法流程圖表示算法。
1 IOSS系統(tǒng)硬件結(jié)構(gòu)和軟件結(jié)構(gòu)
IOSS系統(tǒng)硬件主要由DSP信號(hào)處理模塊、CPLD時(shí)序控制模塊、ADC/DAC模塊、電臺(tái)工作模式和頻率控制模塊、GPS模塊、GPS導(dǎo)航電文接收模塊、USB模塊、時(shí)鐘電路模塊、PLL模塊、PC終端和短波電臺(tái)組成,其整體框圖如圖1所示。DSP信號(hào)處理模塊主要負(fù)責(zé)探測(cè)數(shù)據(jù)、GPS導(dǎo)航電文數(shù)據(jù)、電臺(tái)控制命令的中轉(zhuǎn)傳輸,在GPS秒脈沖觸發(fā)下實(shí)現(xiàn)收發(fā)系統(tǒng)間的同步等。
IOSS系統(tǒng)軟件包括發(fā)送端系統(tǒng)軟件和接收端系統(tǒng)軟件。發(fā)送端和接收端系統(tǒng)軟件由PC端軟件、DSP端軟件、GPS導(dǎo)航電文的接收模塊軟件和電臺(tái)工作模式與頻率控制模塊軟件四部分組成。
2 DSP端軟件的設(shè)計(jì)
收發(fā)DSP端軟件主要完成GPS導(dǎo)航電文的傳輸、探測(cè)數(shù)據(jù),同步傳輸、電臺(tái)工作模式和頻率的傳輸?shù)裙δ?,其中,發(fā)端DSP軟件整體結(jié)構(gòu)如圖2所示。
2.1 主程序的設(shè)計(jì)
發(fā)端主程序主要包括“向PC請(qǐng)求數(shù)據(jù)”函數(shù)、“讀PC發(fā)來的命令頭”函數(shù)、“讀PC發(fā)來的數(shù)據(jù)包號(hào)”函數(shù)、“接收PC發(fā)來的數(shù)據(jù)”函數(shù)、“接收PC發(fā)來的控制電臺(tái)命令”函數(shù)、“接收控制電臺(tái)命令成功信息反饋給PC”函數(shù)、“發(fā)控制電臺(tái)命令給電臺(tái)狀態(tài)控制模塊”函數(shù)、“接收GPS電文”函數(shù)、“發(fā)GPS電文給PC”函數(shù)、“清空緩存”函數(shù)。“向PC請(qǐng)求數(shù)據(jù)”函數(shù)向PC發(fā)送數(shù)據(jù)請(qǐng)求命令頭0x3131和請(qǐng)求發(fā)送的數(shù)據(jù)包號(hào),告訴PC可以將所請(qǐng)求的包號(hào)數(shù)據(jù)發(fā)給DSP。“讀PC發(fā)來的命令頭”函數(shù)和“讀PC發(fā)來的數(shù)據(jù)包號(hào)”函數(shù)是同一個(gè)函數(shù),主要是讀取PC發(fā)來的命令頭和數(shù)據(jù)包號(hào),供后面的程序條件判斷使用。“接收PC發(fā)來的數(shù)據(jù)”函數(shù)將PC發(fā)來的短波信道探測(cè)數(shù)據(jù)按順序存入DSP片外RAM,等待發(fā)給DAC。“接收PC發(fā)來的控制電臺(tái)命令”函數(shù),接收PC發(fā)來的電臺(tái)工作模式和頻率控制命令,將其存入DSP片上緩存,由發(fā)控制電臺(tái)命令給電臺(tái)狀態(tài)控制模塊函數(shù)拆分成電臺(tái)能識(shí)別的格式后發(fā)給電臺(tái)工作模式和頻率控制模塊,同時(shí)由接收控制電臺(tái)命令成功信息反饋函數(shù)告訴PC控制電臺(tái)命令接收成功。“接收GPS電文”函數(shù)主要通過DSP的HPI口接收GPS導(dǎo)航電文接收模塊發(fā)來的、由GPS接收的格林威治時(shí)間和本地經(jīng)緯度信息數(shù)據(jù)。“發(fā)GPS電文給PC”函數(shù)將格林威治時(shí)間和本地經(jīng)緯度信息數(shù)據(jù)發(fā)給PC。“清空緩存”函數(shù)負(fù)責(zé)在每分鐘的第50 s和第56 s或與PC通信超時(shí)時(shí)將數(shù)據(jù)緩存區(qū)清空。發(fā)端主程序算法流程圖如圖3所示。
收端主程序主要包括“讀PC發(fā)來的命令頭”函數(shù)、“讀PC發(fā)來的數(shù)據(jù)包號(hào)”函數(shù)、“接收PC數(shù)據(jù)請(qǐng)求”函數(shù)、“發(fā)數(shù)據(jù)給PC”函數(shù)、“接收PC發(fā)來的控制電臺(tái)命令”函數(shù)、“接收控制電臺(tái)命令成功信息反饋給PC”函數(shù)、“發(fā)控制電臺(tái)命令給電臺(tái)狀態(tài)控制模塊”函數(shù)、“接收GPS電文”函數(shù)、“發(fā)GPS電文給PC”函數(shù)、“清空緩存”函數(shù)。“接收PC數(shù)據(jù)請(qǐng)求”函數(shù)主要是將數(shù)據(jù)塊號(hào)累加,保證與PC通信的實(shí)時(shí)性;讀取緩沖區(qū)數(shù)據(jù),保證與PC的數(shù)據(jù)傳輸在本環(huán)節(jié)能正常進(jìn)行。“發(fā)數(shù)據(jù)給PC”函數(shù)將ADC采集到的短波信道探測(cè)數(shù)據(jù)按包號(hào)發(fā)送給PC,其余函數(shù)與發(fā)端功能相同。
2.2 中斷的設(shè)計(jì)
IOSS系統(tǒng)的DSP中斷主要有外部中斷1、外部中斷3、定時(shí)器中斷和緩沖串口中斷。
外部中斷1由GPS導(dǎo)航電文接收模塊在每分鐘的00 秒發(fā)出的脈沖觸發(fā),在發(fā)端用于將準(zhǔn)備啟動(dòng)發(fā)數(shù)據(jù)給DAC控制變量置位;在收端用于將準(zhǔn)備啟動(dòng)接收ADC數(shù)據(jù)控制變量置位,并將發(fā)送的數(shù)據(jù)包號(hào)變量清零。外部中斷3直接由GPS模塊輸出的秒脈沖觸發(fā),在發(fā)端將準(zhǔn)備啟動(dòng)發(fā)數(shù)據(jù)給DAC控制變量復(fù)位,將向PC請(qǐng)求數(shù)據(jù)控制變量置位,將開始發(fā)數(shù)據(jù)給DAC控制變量置位;在收端將準(zhǔn)備啟動(dòng)接收ADC數(shù)據(jù)控制變量復(fù)位,將向PC發(fā)送數(shù)據(jù)控制變量置位,將開始接收ADC數(shù)據(jù)控制變量置位,將當(dāng)前向PC發(fā)送的數(shù)據(jù)包指示變量置位。其中,發(fā)端外部中斷3算法流程如圖4所示。在外部中斷1和外部中斷3的共同作用下,實(shí)現(xiàn)同步收發(fā),同步誤差在10-9 s數(shù)量級(jí)。
定時(shí)器中斷主要負(fù)責(zé)DSP與PC通信的計(jì)時(shí)。
緩沖串口中斷由ADC/DAC觸發(fā),在發(fā)端負(fù)責(zé)將短波信道探測(cè)數(shù)據(jù)發(fā)給DAC,在收端負(fù)責(zé)將ADC采集的短波信道探測(cè)數(shù)據(jù)存入DSP片外緩存區(qū)。其中,發(fā)端緩沖串口中斷算法流程如圖5所示。
3 DSP端軟件的實(shí)現(xiàn)和實(shí)測(cè)
在CCS5000編譯環(huán)境中,采用混合編程開發(fā)方法,通過匯編語言實(shí)現(xiàn)DSP的初始化,用C語言實(shí)現(xiàn)具體數(shù)據(jù)處理函數(shù)和中斷響應(yīng)函數(shù)的編寫。DSP與GPS導(dǎo)航電文接收模塊、PC終端、電臺(tái)工作模式和頻率控制模塊之間的數(shù)據(jù)通信分別采用不同的協(xié)議實(shí)現(xiàn)。協(xié)議采用應(yīng)答方式,以不同的命令頭實(shí)現(xiàn)與不同模塊的通信。
將設(shè)計(jì)的軟件通過編譯器編譯后,下載到DSP芯片進(jìn)行測(cè)試。測(cè)試階段主要解決以下問題:
(1)各模塊的兼容問題。由于程序是按功能模塊逐個(gè)編寫的,雖然模塊獨(dú)立工作良好,但在整合的過程中會(huì)出現(xiàn)某些模塊不能正常工作的問題。規(guī)范化各模塊變量的命名,并詳細(xì)分析模塊間參數(shù)的傳遞,畫出工作流程圖,找出原因,解決問題。
(2)起始段數(shù)據(jù)發(fā)不出去的問題。原因是中斷響應(yīng)函數(shù)中變量的置位、復(fù)位時(shí)間節(jié)點(diǎn)出了差錯(cuò),導(dǎo)致程序沒有協(xié)調(diào)好DSP與DAC之間、DSP與PC之間的數(shù)據(jù)傳輸。對(duì)中斷中變量的置位、復(fù)位時(shí)間節(jié)點(diǎn)重新進(jìn)行整理和分析,理清先后順序,并解決問題。
(3)收發(fā)同步的問題。有時(shí)由于天氣不好導(dǎo)致收發(fā)兩個(gè)GPS模塊輸出的秒脈沖之間誤差較大,進(jìn)而影響DSP的中斷響應(yīng),導(dǎo)致收發(fā)不能同步。
目前,所設(shè)計(jì)軟件已經(jīng)應(yīng)用在IOSS系統(tǒng)中,在長(zhǎng)達(dá)5天的遠(yuǎn)程實(shí)驗(yàn)過程中,該軟件工作一切正常。研制新的IOSS系統(tǒng)探測(cè)短波信道特性對(duì)下一代短波通信的研制具有重要意義。本文首先介紹了IOSS系統(tǒng)的硬件和軟件結(jié)構(gòu),設(shè)計(jì)了IOSS系統(tǒng)DSP端收發(fā)軟件功能結(jié)構(gòu),給出了軟件設(shè)計(jì)算法流程圖,詳細(xì)闡述了各子函數(shù)模塊的功能,采用C語言和匯編語言混合編程開發(fā)的方法在CCS5000平臺(tái)上實(shí)現(xiàn)了軟件程序的編寫,對(duì)軟件測(cè)試階段遇到的主要問題進(jìn)行了分析,說明了解決的辦法。測(cè)試和使用結(jié)果表明,軟件實(shí)現(xiàn)了所設(shè)計(jì)的功能,能可靠工作。
參考文獻(xiàn)
[1] 陳曦,趙正予,時(shí)雨,等.電離層斜向返回探測(cè)系統(tǒng)的主控制器研制[J]. 電波科學(xué)學(xué)報(bào),2005,20(5):598-603.
[2] 管榮生,謝樹果,趙正予.我國電離層返回斜向探測(cè)研究40年[J]. 電波科學(xué)學(xué)報(bào),1999,14(4):479-484.
[3] 陳雪濤,趙正予,劉進(jìn)華,等.電離層斜向返回探測(cè)系統(tǒng)軟件結(jié)構(gòu)[J]. 電波科學(xué)學(xué)報(bào),2003,18(6):673-678.
[4] 楊國斌, 趙正予, 李世鵬.新體制電離層探測(cè)系統(tǒng)中頻接收模塊設(shè)計(jì)[J]. 電波科學(xué)學(xué)報(bào),2009,31(4):816-821.
[5] 譚立志. 基于DSP-MCU的HPI口通信[J].現(xiàn)代電子技術(shù),2009(13):83-85.
[6] 鄒翼,曾文海,陳續(xù)喜.基于TMS320VC5402DSP的HPI方式自舉的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009(3):152-155.
[7] 鄭紅, 吳冠. TMS320C54x DSP應(yīng)用系統(tǒng)設(shè)計(jì)[M]. 北京:北京航空航天大學(xué)出版社,2002.
[8] 呂國英,任瑞征,錢宇華. 算法設(shè)計(jì)與分析(第二版)[M]. 北京:清華大學(xué)出版社,2009.