一種數字語音通信系統的DSP實現
關鍵詞:軟件無線電;DSP;混合編程
1 引言
現代通信系統已不斷由模擬體制向數字化體制過渡,并越來越傾向于采用“軟件無線電”的設計方案。即通過構造通用的硬件平臺,以使各種相關的通信任務能夠用軟件完成,從而構成一個具有高度靈活性、開放性的通信系統。現代的DSP通用處理器為實現這一方案提供了極大的便利。
軟件無線電的設計思想是:用一個通用、標準、模塊化的硬件平臺為依托,然后通過軟件編程來實現無線電臺的各種功能,從而取代基于硬件、面向用途的電臺設計方法。功能的軟件化實現勢必要求減少功能單一、靈活性差的硬件電路,尤其是減少模擬環節,并把數字化處理?A/D、D/A?盡量靠近天線。軟件無線電強調體系結構的開放性和全面可編程性。它通過軟件的更新來改變硬件的配置結構,從而實現新的功能。軟件無線電一般采用標準的、高性能的開放式總線結構,此結構利于硬件模塊地不斷升級和擴展。
本文介紹一種利用TMS320C31浮點型DSP芯片為核心來設計并實現甚低頻低碼率數字化語音通信系統的方法。這種通信系統是以DSP硬件為平臺,并用硬件來實現系統的外圍功能,而用軟件來實現核心部分的數字化處理,從而完成整個系統的正常通信工作。
2?。模樱杏布脚_
本通信系統的主要功能是實現語音的數字化傳輸,其系統功能圖如圖1所示。具體工作過程如下:
整個通信系統分為兩大部分,其工作狀態轉換由外附的MCU控制。在發送時,語音通過克麥風之后進入語音壓縮板進行采樣量化及數字化壓縮,壓縮后的比特流從串口送入DSP內進行調制,調制信號依次通過信道DAC、平滑濾波和功放,然后發送出去;在接收時,前置放大部分送來的信號再經過一次放大之后送往信道AD轉換器,轉換的數據FIFO通過中斷方式送給DSP進行解調,在DSP內解調之后的數據仍然通過串口送往語音壓縮板解壓后經揚聲器輸出。
3 軟件實現
本通信系統中的軟件采用C語言和混合編程,其中主程序和一部分子程序用C語言編寫,而一些運算量比較大的算法子程序則用匯編語言編寫,這樣,既容易進行調試,又可以提高軟件的執行效率,可達到最佳利用DSP芯片的軟硬件資源之目的。
整個軟件的主程序由發送部分程序段和接收部分段兩部分組成,主程序流程圖見圖2所示,每個程序段又分別是一個獨立的程序體,可以獨立的實現通信系統的發送和接收功能。
由于要求系統能夠實時完成通信任務,故相應的程序須和硬件相互配合,它們各操作之間的同步協調要求很高。而本系統可充分利用DSP芯片所提供的中斷和定時器資源來很好地實現系統功能。
串行口發送/接收中斷子程序用于完成DSP對串口的發送和接收任務,發送定時器中斷子程序流程圖如圖3所示,圖4所示是串口接收中斷子程序的流程圖。
在系統實現過程中,由于采用了混合編程,并對運算量比較大的算法用匯編程序來實現,因此,在對128點FFT算法采用匯編語言編程后,可經CCS仿真進行測試。匯編程序的執行時間為111113個時鐘周期?2.78ms?,可在一幀時間內?30ms?完成5次FFT和IFFT的幀同步算法,而用C語言實現時的程序執行時間為1812409個時鐘周期?45.3ms???梢?,用匯編程序的執行效率有明顯的提高。
4 結束語
DSP軟硬件開發設計是應用TMS320C31芯片進行的,這一方案在運用仿真器進行軟硬件聯合調試時取得了很好的效果,由此可見,在硬件設計合理的情況下,將C語言和匯編語言很好的結合,可充分發揮各自的優勢,從而達到最佳的設計效果。
評論