新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CMX618的數字語音通信系統

        基于CMX618的數字語音通信系統

        作者: 時間:2009-05-25 來源:網絡 收藏

        2.2 的硬件設計與實現
        模塊主要由編解碼器和LPC2138組成,如圖2所示。

        本文引用地址:http://www.104case.com/article/152471.htm

        使用內置的CODEC模塊,其內部集成了A/D和D/A轉換、通道濾波、增益調節等功能,足以滿足對模擬語音的抽樣、量化等操作的指標要求。因此,無需再外接芯片,也節省了大量的物理空間,這在實際的開發設計中是十分重要的。
        微控制器LPC2138通過C-BUS串行總線與CMX618連接。C-BuS是一個四線中斷一驅動串行,可在主控制器和CMX618內部寄存器間進行數據傳輸、控制或狀態信息的發送。
        2.3 系統的軟件設計與實現
        系統的軟件設計主要是編寫CMX618的驅動程序,以及對主控制器LPC2138進行編程實現對CMX618的控制。在上電后,首先應初始化CMX618和LPC2138。對語音編解碼芯片,要配置其中的一些功能寄存器,這包括設置編解碼位速率、組幀結構、增益大小、輔助功能選用以及開啟中斷標志位等;對主控制芯片,則要配置接口方式、中斷條件和傳輸速率等。
        實際應用中,為使編解碼過程中的糾錯能力達到最佳,在使用前向糾錯(FEC)編碼器處理語音編碼時。可選擇聲碼器幀以3×20 ms或4×20 ms的形式進行數據包傳輸。這種把多幀數據進行封裝、打包傳輸的形式,更有效地抑制了誤碼的產生。
        這里,要注意CMX618語音編解碼芯片的狀態(state)寄存器(地址為MYM40)。編碼和解碼操作在狀態寄存器中都有對應的標志位,當采用中斷方式編解碼時,每次要先讀出狀態寄存器中對應標志位的值,只有當對應標志位的值為“1”時,才會產生中斷,執行相應的操作,如圖3所示。

        其中,在狀態(state)寄存器(地址為MYM40)中對應的狀態標志有VDA,VDW,RDY。其中,VDA為編碼標志位;VDW為解碼標志位;RDY為等待配置標志位。
        2.4 關鍵問題
        (1)采用RALCWI算法時,由于存在算法抖動,會使編碼每一幀時花費的時間不同,這使微處理器對輸出數據的時間不好掌握。為解決此問題,在編碼時,會給微處理器一條指令,只要編碼可行,就會進行數據傳輸;在解碼時,則會增加一個初始延遲時間,避免CODEC因無采樣數據而產生時間空隙。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 和静县| 资阳市| 兴城市| 敦煌市| 永兴县| 乐业县| 宾阳县| 绩溪县| 康平县| 鸡东县| 余庆县| 绥棱县| 嘉黎县| 武鸣县| 永靖县| 二连浩特市| 凤台县| 册亨县| 沁水县| 平阳县| 武冈市| 绵竹市| 南川市| 通海县| 阆中市| 横峰县| 阜阳市| 杭州市| 裕民县| 陇西县| 北流市| 靖安县| 辛集市| 双流县| 曲周县| 沙坪坝区| 宜丰县| 马尔康县| 乌兰察布市| 福贡县| 稷山县|