新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種數字語音通信系統的DSP實現

        一種數字語音通信系統的DSP實現

        作者: 時間:2004-12-06 來源:網絡 收藏
        摘要:介紹了一種甚低頻低碼率方案,該方案中的軟件采用混合編程的方法,硬件則用,文章給出了整個軟硬件調試方法,并通過調試結果表明該方案具有很好的可行性和實時性。

        關鍵詞:軟件無線電;;混合編程

        1 引言

        現代已不斷由模擬體制向化體制過渡,并越來越傾向于采用“軟件無線電”的設計方案。即通過構造通用的硬件平臺,以使各種相關的任務能夠用軟件完成,從而構成一個具有高度靈活性、開放性的通信系統。現代的DSP通用處理器為這一方案提供了極大的便利。

        軟件無線電的設計思想是:用一個通用、標準、模塊化的硬件平臺為依托,然后通過軟件編程來實現無線電臺的各種功能,從而取代基于硬件、面向用途的電臺設計方法。功能的軟件化實現勢必要求減少功能單一、靈活性差的硬件電路,尤其是減少模擬環節,并把化處理?A/D、D/A?盡量靠近天線。軟件無線電強調體系結構的開放性和全面可編程性。它通過軟件的更新來改變硬件的配置結構,從而實現新的功能。軟件無線電一般采用標準的、高性能的開放式總線結構,此結構利于硬件模塊地不斷升級和擴展。

        本文介紹一種利用TMS320C31浮點型DSP芯片為核心來設計并實現甚低頻低碼率數字化通信系統的方法。這種通信系統是以DSP硬件為平臺,并用硬件來實現系統的外圍功能,而用軟件來實現核心部分的數字化處理,從而完成整個系統的正常通信工作。

        2 DSP硬件平臺

        本通信系統的主要功能是實現的數字化傳輸,其系統功能圖如圖1所示。具體工作過程如下:

        整個通信系統分為兩大部分,其工作狀態轉換由外附的MCU控制。在發送時,通過克麥風之后進入語音壓縮板進行采樣量化及數字化壓縮,壓縮后的比特流從串口送入DSP內進行調制,調制信號依次通過信道DAC、平滑濾波和功放,然后發送出去;在接收時,前置放大部分送來的信號再經過一次放大之后送往信道AD轉換器,轉換的數據FIFO通過中斷方式送給DSP進行解調,在DSP內解調之后的數據仍然通過串口送往語音壓縮板解壓后經揚聲器輸出。

        根據系統要求,本設計選定的DSP是TI公司的TMS320C31。信道AD轉換器件選用ANALOG DE-VICE公司的AD7870,它是一個12bit的ADC,具有2μs的片上信號放大時間和8μs的轉換時間,最高轉換速率為100kHz,可以提供三種輸出接口方式?12bit并行方式、字節方式和串行方式?。信道DAC選用的是TI公司的TLV5619,這是一種12bit單通道電壓型DA轉換器。系統中的ADC和DAC轉換器都以并行12bit方式直接和FIFO相連。FIFO?First In First Out?采用的是雙端口RAM構架,其讀指針和寫指針是完全分開的,可實現讀寫操作的完全獨立,因此,這里選用CYPRESS公司的CY7C425。

        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語言和匯編語言很好的結合,可充分發揮各自的優勢,從而達到最佳的設計效果。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 马龙县| 元谋县| 栾川县| 湄潭县| 江达县| 汉寿县| 镇康县| 阆中市| 大城县| 息烽县| 宕昌县| 左云县| 响水县| 陆川县| 达孜县| 余庆县| 德格县| 岳阳市| 蕲春县| 太和县| 阜南县| 青铜峡市| 酉阳| 西充县| 宜春市| 敖汉旗| 宁南县| 兰溪市| 富蕴县| 新化县| 台东市| 通许县| 梁河县| 准格尔旗| 洛宁县| 汉阴县| 五峰| 武汉市| 随州市| 遵义市| 澄迈县|