欢迎访问ic37.com |
会员登录 免费注册
发布采购

CMX618工作原理及在数字语音通信系统中的应用 (2)

日期:2010-6-29标签: (来源:互联网)

2系统设计实现2.1 微控制器ARM微控制器具有内核耗电少,功能强,成本低等优点,现在多应用于无线通信、GPS、智能手机开发等诸多领域。这里选用PHILIPS公司的LPC2138作为数字语音通信模块的主控制器。LPC2138是一个基于支持实时仿真和嵌入式跟踪的32位ARM7TDMI-SCPU的微控制器芯片,较小的封装和很低的功耗使LPC2138特别适用于小型系统中。此外,由于LPC2138片内集成了ROM,R_AM,A/D和多个外设模块,如通用I/O口、定时器、串行口等,因此非常适合于通信网关、协议转换器、软件modem、语音识别、低端成像等场合,为这些应用提供大规模的缓冲区和强大的处理功能。2.2系统的硬件设计与实现基于CMX618的语音通信模块主要由语音编解码器CMX618和LPC2138组成,如图2所示。

该语音通信系统使用CMX618内置的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因无采样数据而产生时间空隙。(2)为了提高微控制器LPC2138与CMX618间的传输速率,使用C-BUS串行总线读/写寄存器时,可采用“数据流”的方法传输数据,即只需要一个地址/指令,就可以传输多个数据字节。具体实例如图4和图5所示。

利用C-BUS串行总线,写入CMX618内部寄存器的过程中,从主控制器传过来的数据,首个字节为CMX618寄存器的地址,然后,数据就会源源不断地传人此寄存器中;同样,从CMX618内部寄存器读出数据时,首先也要写入寄存器的地址,确定位置,然后就可以从此寄存器中读出数据了,直到传输完为止。3应用该语音通信模块已经成功应用于900 MHz数字无中心对讲机中,图6为900 MHz数字无中心对讲机各功能模块的结构简图,图中的语音模块与微控制器部分即为涉及的内容。如今,民用对讲机逐步数字化已是大势所趋,国内外众多机构已经投入了大量的人力、物力进行研究和开发,故此系统有着广阔的发展空间。

4结语研究了CMX618在语音通信系统中的应用,虽然CMX618刚刚研发出来,很多人还不了解,但它的诸多优越性能已足以受到广大设计者的青睐。基于该芯片设计的数字语音通信系统,有很好的清晰度和稳定性,在通信产业迅猛发展的今天,必将有着广阔的应用前景。