新聞中心

EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 基于CMX638的語音通信模塊設(shè)計(jì)與實(shí)現(xiàn)

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

作者: 時間:2016-10-10 來源:網(wǎng)絡(luò) 收藏

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

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

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

本文引用地址:http://www.butianyuan.cn/article/201610/306540.htm

a.JPG



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

b.JPG



3 硬件設(shè)計(jì)
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,就可以實(shí)現(xiàn)1.8 V的數(shù)字電路供電。而3.3 V的模擬電路供電可采用L1、C20、C18進(jìn)行濾波,減小數(shù)字電路供電和模擬電路供電之間的干擾。同時,數(shù)字地DGND和模擬地AGND可采用0歐電阻來連接。在實(shí)際的電路設(shè)計(jì)以及PCB板的制作中,為了防止電磁干擾,在盡量靠近CMX638芯片的每個電源引腳附近加一個0.1μF的電容進(jìn)行濾波。

c.JPG


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

d.JPG


由于采用CMX638內(nèi)部CODEC,其23腳CSCEL需要連接到IOVDD上,CODEC PORT接口中的15腳SDI、17腳SCLK、18腳STRB需要連接到DGND。在此狀態(tài)下,由于CMX638內(nèi)部模擬電路自帶了輸入語音和輸出語音放大電路,因此可以直接將話筒語音采用差分方式接入CMX638的5腳(INPUTP)和6腳(INPUTN),而將其10腳(OUTP)和11腳(OUTN)的輸出語音直接送給揚(yáng)聲器。在實(shí)際的應(yīng)用中,不能將語音輸出兩腳短路。
3.3 時鐘電路
對于CMX638,其時鐘類型必須由31腳(XTALSEL1)、32腳(XTALSEL2)、33腳(XTALSEL3)來選擇,而且,31、32、33腳不能由單片機(jī)輸出的邏輯電平來控制,而應(yīng)該直接連接到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上傳對應(yīng)的寄存器地址,然后從RDATA讀一個數(shù)據(jù)字節(jié)。而進(jìn)行數(shù)碼語音數(shù)據(jù)交換時,其數(shù)據(jù)根式和讀寫寄存器一樣,只是地址位后面有多位數(shù)據(jù)字節(jié)而已。

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

f.JPG


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

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



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉