新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 新型聲碼器CMX638及應用設計

        新型聲碼器CMX638及應用設計

        作者: 時間:2009-07-03 來源:網絡 收藏

        CMX638與AMBE2000的異同點

          3 工作原理

          3.1 編解碼過程

          3.1.1 不帶FEC的簡單幀格式編解碼

          提供簡單的編解碼數據幀格式,其壓縮速率包括2 050 b/s,2 400 b/s,2 750 b/s,此過程不帶FEC,STD和DTMF功能。每隔20 ms采集160個16位數據(A/D的采樣率為8 kHz),當第一個20 ms結束后,開始編碼運算,由于信號的異同會產生不同抖動延時,主機在40 ms的時刻讀取第一幀數據。以后每隔20 ms操作一次,形成流水線作業。在解碼過程中,在0 ms時刻主機向CMX638輸入一幀數據后,CMX638開始解碼運算,與編碼相似也會出現算法抖動延時,第一個樣本的輸出時刻由內部寄存器IDD決定,其延時應確保輸出連續有效的數據。圖2為CMX638簡單幀格式編解碼過程。

        CMX638簡單幀格式編解碼過程
          3.1.2 帶FEC的復雜幀格式編解碼

          CMX638可提供帶前向糾錯的編解碼數據幀格式,其數據包長度為60 ms,包括3幀數據,其壓縮速率為3 600 b/s。CMX638在0時刻開始采樣,每隔20 ms進行編碼運算,會出現抖動延時,每隔60 ms插入一次FEC編碼(圖3黑色部分),在80 ms時刻一個數據包穩定有效,主機讀出數據,以后每隔60 ms操作一次。在解碼過程中,主機向CMX638輸入數據包后,開始對每一幀數據解碼運算,并會出現抖動延時,設置適當的內部寄存器IDD,可在延時后輸出連續有效的數據。圖3是帶FEC的復發幀格式編解碼過程,其數據包壓縮時間為60 ms。

        帶FEC的復發幀格式編解碼過程
          3.2 數據幀格式

          CMX638編碼后輸出的數據幀格式較簡單,無幀頭和其他控制標志信息,直接輸出有效數據。當壓縮速率為2 050b/s時,每隔20 ms產生一幀數據,有效數據位為41 bit,占用6字節,主機必須以字節為單位與CMX638交換數據,所以應該輸入/輸出6字節,其中最高字節先進先出,7個無效比特位不影響編解碼。當壓縮速率為2 400 b/s時,其工作原理與2 050 b/s壓縮速率相同,有效數據為48 bit,恰好占用6字節,無無效比特位。當壓縮速率為2 750 b/s,有效數據為55bit,占用7字節,1個無效比特位,必須輸入/輸出7字節。當壓縮速率為3 600 b/s,帶FEC功能,每隔60 ms產生包括3幀的數據包,有效數據為216 bit,采用硬比特格式,占用27字節。而采用軟比特格式時,則占用108字節。

          3.3 主機與片外CODEC接口

          主機通過C-BUS串行接口與CMX638交換數據。寫操作時,CSN為低,先寫入要訪問的寄存器地址,再寫入有效數據,以字節為單位,結束時CSN拉高;讀操作時,先寫入地址,接著讀取數據。在CLK上升沿采樣,最大時鐘頻率為5 MHz;每兩次CSN操作應至少相隔1μs。

          當CMX638選用外部CODEC時,利用SSP接口與外部CODEC交換數據。當STRB同步脈沖到達,如果是寫操作,SDI輸入16 bit數據;如果是讀操作,SDO輸出16 bit數據。SCLK的最大時鐘頻率為6.6 MHz,時鐘沿采樣輸入數據方式取決于內部寄存器EXCODECCONT($0B)。

          4 電路

          4.1 CMX638采集電路

          圖4是基于CMX638的語音采樣、壓縮、解壓縮的電路,采集麥克風的語音信號,直接壓縮;再解壓縮恢復源語音信號輸出到喇叭。CMX638使用片內的語音CODEC,可直接采集模擬信號。輸入/輸出通道分別有兩個可編程增益放大器,通過配置寄存器AIG($05)和AOG($06)確定其增益。當輸入/輸出增益較大時,可能出現噪聲,但這些噪聲被片內數字低通濾波器濾除。信號的輸入/輸出端無需接放大電路和濾波電路,提高信噪比。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 赞皇县| 台州市| 武穴市| 雷州市| 江西省| 新闻| 读书| 晋宁县| 壶关县| 年辖:市辖区| 新津县| 乌恰县| 宁武县| 莱芜市| 巴林右旗| 中卫市| 蓝山县| 武城县| 察隅县| 工布江达县| 临湘市| 泰州市| 象州县| 耒阳市| 车险| 许昌市| 白河县| 公安县| 乌鲁木齐市| 邹城市| 昌吉市| 永济市| 乌兰察布市| 肃南| 和顺县| 深水埗区| 紫阳县| 三原县| 祁东县| 泰州市| 乌鲁木齐市|