摘要:针对煤矿井下语音通信速率低,带宽小,音质差,噪声大等缺点,设计了一种煤矿井下防爆型低功耗无主机语音通信系统。该系统的语音编解码采用高压缩率算法RALCWI的CMX618,系统控制采用低功耗STM32F103RE控制器,语音的远距离通信采用CAN总线方式。试验结果表明,语音的压缩速率模式2 400 b/s时,音质较好,通信稳定可靠,满足煤矿井下语音通信带宽要求,语音质量,系统稳定与可靠性高的要求,易于在煤矿系统中推广。
关键词:井下防爆型;CMX618;RALCWI;无主机语音通信
目前在煤矿井下使用的电话系统多为传统的电话,灵活性差,通信带宽小,布线不便,维护复杂,可扩展性较差,不能实现点对多点的实时高质量语音通信。随着煤矿现代化建设的发展和需要,在保证良好通信质量的同时,如何增加语音通信的带宽,已经成为一个研究的热点和难点。数字通信系统中,语音编码技术是移动通信数字化的基础,语音编码决定了接收的语音质量和系统容量。低比特率语音编码提供了解决该问题的一种方法,在编码器能够传送高质量语音的前提下,语音编解码比特率越低,就可以在一定的带宽内容纳更多的语音通道。本文根据煤矿井下语音广播通信系统的实际需要,设计了一种基于高压缩率算法RALCWI(Robust Advanced Low Complexity Waveform Inter polation)的CMX618的低功耗实时点对点,点对多点,以及广播方式的无主机语音通信系统,该系统控制器采用低功耗STM32F-103RE为主控制器,通信的物理层采用CAN总线方式。
1 系统的构成
系统的组成结构如图1所示,系统由防爆电源,MIC,前置放大,扬声器,功率放大,语音压缩解压,显示、地址编码电路,键盘电路,微处理器和通信接口组成。防爆电源为整机提供电源保证;MIC、前置放大、扬声器、功率放大为系统的音频处理部分;语音压缩解压、微处理器、通信接口这三个部分构成了系统的核心;显示地址编码、键盘等电路为辅助部分,使操作更简洁方便。
2 语音压缩解压芯片简介
本设计所使用的语音压缩解压芯片为英国CML公司推出的语音编解码芯片CMX618,能够以较低的比特率进行编解码处理,并保证较高的语音质量。
2.1 RALCWI算法介绍
CMX618是接近长话级的半双工语音编解码芯片,通过一种新的数据速率算法技术——RALCWI技术,对语音进行编解码处理。它是一种鲁棒的先进的复杂性波形插入技术,与其他语音编解码技术不同,它使用独有的信号分解和参数编码方法,可确保在较高的压缩率下有很好的语音质量。在声码器中,采用RALCWI技术实现的语音质量与编码位速率在4 kb/s以上的标准声码器话音质量基本相符。它的MOS(平均意见得分)处于3.5~3.6之间,而且表现相当优秀。
RALCWI声码器以帧一帧为基础进行传输。在8 kHz的采样速率下,对语音信号进行分帧处理,每帧语音包含160个采样点,形成20 ms的元语音帧。语音编码器以较高的计时分辨率(8次/帧)进行语音分析,对每一个语音段都会生成一系列的评估参数。然后,使用不同的矢量量化
(VQ)方法,这些估算参数被量化生成41b,48b或55b的帧。这些向量量化值是以多语言语音为基础进行混合编排的,包含了东西方多种语言的语音采样值。
2.2 芯片特点
CMX618具有以下主要特性:长话级音质鲁棒先进的低复杂性波形插入编码算法;多种压缩速率模式则为2 050 b/s,2 400 b/s或者2 750b/s(带FEC功能);集成16位A/D和D/A转换器、模拟增益放大器和数字低通滤波器;数据包压缩时间长度分20 ms,40 ms,60 ms和80 ms;具有VAD、CNG、STD和DTMF功能;+1.8 V和+3.3 V双电源供电;采用48引脚LQFP(L4)和48引脚VQFN(Q3)封装;工作温度范围为-40℃~+85℃。
解码时,可选择前向纠错(FEC)解码器对输入编码后的语音位流(216 b/60 ms或288 b/80 ms的数据包)进行解交织和信道解码,生成纠错后的编码语音位速率为2 050 b/s,2 400 b/s或者2 750 b/s,速率依据所选的模块而定。当使用FEC解码器时,可利用“软决策”方法增强解码功能,减小误码的产生。内部含有一个集成的语音压缩/解压器(CO-DEC),实现模拟语音到低位速率编码的压缩/解压过程。芯片大部分功能,均可通过软件编程的方式,配置内部的寄存器来实现,简单方便。具有非连续发送检测(DTX)、舒适噪声生成器(CNG)、语音激活检测(VAD)和双音多频信号检测(DTMF)的检测和产生等辅助功能,使语音性能达到最佳。
2.3 CMX618工作原理
CMX618内部结构图如图2所示。
由图2可以看出,CMX618主要由音频压缩/解压器(CODEC)、RALCWI编解码器、前向纠错编解码器和其他特殊功能模块几部分组成。
编码时,输入的模拟语音首先要经过音频压缩/解压器(CODEC)模块,进行调节增益、A/D转换、滤波和压缩处理,然后进入编码器中开始编码。编码后,如果选择使用前向纠错(FEC)功能,则会对编码进行纠错处理,尽量消除误码。编码后的语音数据,按选择的位速率和帧的结构生成数据包,通过C-BUS与微处理器进行数据交换。
解码是编码的逆处理过程。C-BUS串行总线传输的数字语音,进入解码器(可选FEC功能)开始解码,经过解压、滤波、D/A转换、调节增益等处理后,就成为可以听到的模拟语音。在编码和解码期间,如果选择一些辅助功能,例如非连续发送检测(DTX)、语音激活检测(VAD)或双音多频信号检测(DTMF)时可以通过SPI口来实现。
CMX618的内部结构包括模拟和数字两部分,如图1所示。当端口CSEL输入低电平时,即选择使用外部语音解码器(CODEC),可通过串行接口SSP与外部器件交换数据,编码器和解码器选择片外CODEC的数据通道,端口EEC和REC输出分别使能和复位片外的CODEC;当CSEL输入高电平时,CMX618选用内部CODEC模块,该模块包括输入/输出通道的可编程增益放大器(PGA),16位PCM A/D和D/A转换器以及通带频率为4 kHz的低通滤波器,可有效实现模拟信号转换成数字信号及数字信号转换成模拟信号的过程。主机通过控制总线C-BUS接口配置内部寄存器,实现不同功能;端口SYNC使主机与CMX618同步;语音压缩编码器将源信号压缩成低比特率的数据帧,解码器把数据帧解压缩,恢复源信号;如果使用FEC功能,开关则选择前向纠错编码器和解码器,两者加入到数据的压缩和解压缩过程中:STD/DTMF管理模块提供语音信号的特殊处理功能,实现单音或双音检测,提高语音压缩和解压质量。
3 系统主要电路的实现
在整个系统中CMX618的电路占据重要的地位,是整个系统得以实现的关键。图3为CMX618的具体实现电路。
由图3可以看出电路比较简单,元件较少,需要注意的是MIC为差分信号,在PCB的布线时应注意等长走线,另外供电的电源芯片也应使用纹波较小的稳压芯片供电,例如LP2985,数字电源应该和模拟电源分开。输出可以直接驱动阻抗为32 Ω的扬声器。
压缩/解压电路通过C-BUS接口和微控制器相连接,C-BUS与微处理器的SPI口有相似之处,微处理器可以通过SPI口来和CMX618通信,C-BUS的时序图如图4所示。
由图4可知,C-BUS总线和SPI总线都是同步总线,不同之处是SPI总线在发送数据的同时会收到数据,而C-BUS总线则是先发命令再进行数据的接收,所以我们可以通过SPI口来与CMX618进行数据交换,在只发送命令时只需要把SPI口接收到的数据丢弃即可,在接收数据时微处理器只需要通过SPI口发送十六进制数OXFF收取读到的数据即可。
另外整个系统得以实现的另一个关键是通信接口的设计,因要实现无主机的通信,也就是对等的通信,所以选择CAN总线通信,CAN总线的最大的特点就是各个节点是对等的,任意节点都可以进行通信的发起,而且有较完善的防碰撞协议,通信速率较高,和光纤的转换比较容易,容易构建长距离的无主机通信系统。
4 软件实现
软件的设计主要包括,显示、键盘、通信、CMX618的读写,其中CMX618的读写较为关键。CMX618的主要操作有3个,初始化,编码,解码,软件流程图。
5 实验
实验如图8所示,试验中,采用的语音通信系统由多台语音分站构成,由于试验场地等各方面的影响,采用了5台语音分站来模拟井下的语音通信系统。实验分为计算机广播方式,语音分站主机呼叫计算机,语音分站呼叫另一个语音分站以及语音分站呼叫多台语音分站,并分别测试语音的音质,速率,故障点。
从表1可以看出,采用RALCWI的语音通信分站,基本满足了无主机通信设计的要求,以各种形式的通信测试基本成功,音质在可以接受的范围内,在语音分站呼叫多台语音分站的试验中,有故障点出现,这是由于语音分站与语音分站之间的总线竞争造成的,系统还有待于进一步的提高。
6 结论
本设计经过测试实现了无主机的电话系统,语音的压缩速率模式2 400 b/s时,音质较好语音清晰,占用带宽窄,系统稳定,可靠性高,抗干扰能力强,有效地解决了电话系统布线的困难。系统可扩展性较强,通过联网和计算机的控制可以较容易地实现原来电话系统较难实现的功能,易于在煤矿系统中推广。