新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CMX618的數(shù)字語音通信系統(tǒng)

基于CMX618的數(shù)字語音通信系統(tǒng)

作者: 時(shí)間:2009-05-25 來源:網(wǎng)絡(luò) 收藏

2.2 的硬件設(shè)計(jì)與實(shí)現(xiàn)
模塊主要由編解碼器和LPC2138組成,如圖2所示。

本文引用地址:http://butianyuan.cn/article/152471.htm

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

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



評論


相關(guān)推薦

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

關(guān)閉