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