新聞中心

EEPW首頁 > 設計應用 > 基于CMX638的語音通信模塊設計與實現(xiàn)

基于CMX638的語音通信模塊設計與實現(xiàn)

作者: 時間:2016-10-10 來源:網絡 收藏

摘要:638是一款專用于通信系統(tǒng)中語音編解碼芯片,講解了638的基本結構、功能,并給出了基于638的語音系統(tǒng)的外圍電路設計以及與其通信控制器的軟件設計與實現(xiàn)。實際應用表明,該系統(tǒng)可適用許多需要語音處理的通信場合。
關鍵詞:CMX638;基帶;聲碼器;

系統(tǒng)是通信中非常重要的一個部分。如何在有限的頻段下,傳輸更多高質量的語音信息,是人們研究的一個重點課題?,F(xiàn)在,對于語音處理芯片有很多,包括CMX618/638和AMBE2000等。和AMBE2000相比,CMX638雖然壓縮的語音速率的選擇沒有AMBE2000多,但是它內部包含了語音CODEC模塊,它可以靈活選擇使用內部的CODEC或者外部的CODEC,從而在實際的運用中有較大的吸引力,本文以CMX638為基礎,設計和實現(xiàn)了一個語音處理模塊。

1 CMX638介紹
如圖1所示,CMX638是一款高性能的全雙工語音編解碼器,CMX638內部結構包含3個部分,一個是語音CODEC模塊,主要完成輸入語音和輸出語音的放大、16位的PCM A/D和D/A轉換;音碼器主要是將數(shù)字語音信號壓縮成低速率的數(shù)碼語音信號,或者將數(shù)碼語音信號解壓縮成數(shù)字語音信號。CMX638通過C-BUS總線完成和其它模塊數(shù)據(jù)通信和控制。FEC開關選擇前向糾錯編碼器和解碼器。

本文引用地址:http://2s4d.com/article/201610/306540.htm

a.JPG



2 語音系統(tǒng)介紹
圖2為CMX638語音系統(tǒng)的結構圖。在該系統(tǒng)中,采用了該芯片內部的CODEC完成16位的PCM A/D和D/A轉化,因此不需要外部的CODEC模塊。其輸入輸出通過C-BUS接口和其他模塊進行通信。

b.JPG



3 硬件設計
3.1 電源供電
由于CMX638包含了模擬電路和數(shù)字電路,其供電也要求有模擬供電AVDD、數(shù)字端口供電IOVDD及數(shù)字供電VDD,其中AVDD電壓為3.3 V,IOVDD的電壓為3.3 V,VDD的電壓為1.8 V。如圖3所示為其供電電路,采用芯片LM1117-3.3,輸入電壓為5 V,輸出.電壓為3.3 V工IOVDD使用。采用同樣的電路,只是將芯片換為LM1117-1.8,就可以實現(xiàn)1.8 V的數(shù)字電路供電。而3.3 V的模擬電路供電可采用L1、C20、C18進行濾波,減小數(shù)字電路供電和模擬電路供電之間的干擾。同時,數(shù)字地DGND和模擬地AGND可采用0歐電阻來連接。在實際的電路設計以及PCB板的制作中,為了防止電磁干擾,在盡量靠近CMX638芯片的每個電源引腳附近加一個0.1μF的電容進行濾波。

c.JPG


3.2 語音電路
語音輸入電路采用LM358進行放大,如圖4所示。

d.JPG


由于采用CMX638內部CODEC,其23腳CSCEL需要連接到IOVDD上,CODEC PORT接口中的15腳SDI、17腳SCLK、18腳STRB需要連接到DGND。在此狀態(tài)下,由于CMX638內部模擬電路自帶了輸入語音和輸出語音放大電路,因此可以直接將話筒語音采用差分方式接入CMX638的5腳(INPUTP)和6腳(INPUTN),而將其10腳(OUTP)和11腳(OUTN)的輸出語音直接送給揚聲器。在實際的應用中,不能將語音輸出兩腳短路。
3.3 時鐘電路
對于CMX638,其時鐘類型必須由31腳(XTALSEL1)、32腳(XTALSEL2)、33腳(XTALSEL3)來選擇,而且,31、32、33腳不能由單片機輸出的邏輯電平來控制,而應該直接連接到IOVDD或者DGND。若采用12 MHz時鐘中晶體,則需要將31和33腳接DGND,32腳接IOVDD,27腳(XTAL IN)和28腳(XTALOUT)分別接12 MHz的晶體。同時需要將34腳(ENABXTAL)接高電平,使時鐘電路工作。
3.4 CBUS接口
CBUS接口包括42腳(CLK)、43腳(CDATA)、44腳(RDATA)、45腳(CSN)。該接口提供CMX638的控制信息數(shù)據(jù)和傳輸?shù)臄?shù)碼數(shù)據(jù),其操作格式如圖5所示。

e.JPG


從控制器寫CMX638寄存器是通過CDATA(Command Data)線寫入,第1個字節(jié)為寄存器地址,后面沒有數(shù)據(jù),或者接一個數(shù)據(jù)字節(jié);讀CMX 638寄存器,首先在CDATA上傳對應的寄存器地址,然后從RDATA讀一個數(shù)據(jù)字節(jié)。而進行數(shù)碼語音數(shù)據(jù)交換時,其數(shù)據(jù)根式和讀寫寄存器一樣,只是地址位后面有多位數(shù)據(jù)字節(jié)而已。

4 軟件設計
4.1 信號處理流程
如圖6所示是CMX主要信號處理流程,在(a)中是系統(tǒng)剛啟動時的初始化過程,(b)是系統(tǒng)進行編碼過程,(c)是系統(tǒng)進行解碼過程。其中休眠狀態(tài)時,要求關閉解碼和編碼,并將芯片的34腳(ENABXTAL)設置為低電平,關閉時鐘電路。需要啟動芯片工作時,需要將芯片的34腳
(ENABXTAL)設置為高電平,并至少等27 ms后,在進行編碼或者解碼操作。

f.JPG


4.2 部分軟件代碼
CMX638的初始化如下,包含開中斷,設置工作模式,打開A/D、D/A轉換以及配置聲碼器等。
在控制器中對CMX638工作狀態(tài)處理函數(shù)如下,包含有休眠、激活、編碼、解碼等等。
g.JPG
h.JPG
i.JPG
j.JPG
k.JPG
l.JPG

5 結論
CMX638能夠運用到很多通信的環(huán)境,而且其內部包內涵了16位A/D、D/A轉換,因此不需要外加單獨的codec模塊,并且能夠實現(xiàn)多種傳輸速率,全雙工數(shù)據(jù)處理。經過實際的測試,該系統(tǒng)能夠適用于需要進行語音處理的許多通信系統(tǒng)中。



評論


相關推薦

技術專區(qū)

關閉