《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 短波信道探測(cè)系統(tǒng)DSP端軟件設(shè)計(jì)和實(shí)現(xiàn)
短波信道探測(cè)系統(tǒng)DSP端軟件設(shè)計(jì)和實(shí)現(xiàn)
來源:電子技術(shù)應(yīng)用2011年第12期
劉月亮, 蔣宇中, 張 偉
(海軍工程大學(xué) 電子工程學(xué)院,湖北 武漢430033)
摘要: 在IOSS系統(tǒng)硬件和軟件結(jié)構(gòu)的基礎(chǔ)上設(shè)計(jì)了IOSS系統(tǒng)DSP端收發(fā)軟件結(jié)構(gòu)。給出了軟件算法流程圖,詳細(xì)闡述了各子函數(shù)的功能。采用C語言和匯編語言混合編程開發(fā)的方法在CCS5000平臺(tái)上實(shí)現(xiàn)了軟件程序的編寫,并分析了軟件測(cè)試階段遇到的主要問題和解決辦法。測(cè)試結(jié)果表明,軟件實(shí)現(xiàn)了所設(shè)計(jì)的功能,工作可靠。
中圖分類號(hào): TP311.52
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)12-0133-04
DSP software design and implementation of IOSS
Liu Yueliang, Jiang Yuzhong, Zhang Wei
College of Electronic Engineering, Naval University of Engineering, Wuhan 430033, China
Abstract: The DSP software including transmitting software and receiving software of ionosphere oblique sounding system (IOSS) is designed based on its hardware and software structures. The software algorithm flow charts are provided and the function of every inner function is explained clearly. The DSP software program is implemented by means of the mix programming of the C language and the assemble language based on CCS5000. The analysiss of the main problems encountered in the period of software test and the corresponding solving methods are given. The experiment result shows that the software realizes all the functions designed and works reliably.
Key words : shortwave; channel sounding; software design


    短波通信主要通過電離層反射實(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。