摘要针对煤矿井下安全,提供了一种数字语音通信解决方案。该方案采用MBE压缩技术实现语音数据的压缩,并使用了STM32F107作为主控芯片,用主控芯片自带的CAN总线控制器实现远距离实时语音传输。文中介绍了该系统的软硬件设计,经测试,该系统在实际环境中具有良好的稳定性和实时性。
中国作为产煤大国,煤矿安全一直都是重中之重。如何保证井下和井上之间可靠的实时语音通信,越来越受到关注和重视。目前煤矿通信系统主要分为两种:一种是调度电话,包括有线和无线电话;另一种是井下局部扩音电话系统。对于数字通信方式,目前许多公司仍采用模拟信号来实现煤矿语音系统,与数字语音通信系统相比,其存在不稳定、不灵活等缺点,而现阶段模拟通信系统已逐渐被代替。目前,现场总线已发展成为集计算机网络、现场控制、生产管理等内容为一体的现场总线控制系统。由于现场总线分布在自动化应用的各个角落,给设计者和使用者提供了方便,但这些应用均被限制于数据传输。本设计基于CAN总线构建井下对讲系统,与其他通信方式相比,其具有较好的实时性、可靠性和灵活性。
1 系统总体设计
系统结构框图如图1所示,一语音节点经过麦克风采集声音信号,以8 kHz采样进行A/D量化成16位数据,然后经语音压缩芯片进行数据压缩,并传输给STM32处理器,处理器经CAN收发器传输至井下语音CAN总线上。其他语音节点通过CAN收发器接收井下语音CAN总线上的压缩数据,经语音解码芯片进行解码后通过D/A转换,再由扩音器播出。
1.1 硬件设计
本系统应用于井下皮带保护系统,具有采集井下皮带工作状态信息和控制井下皮带运作,同时还具有语音通信系统。处理器作为系统核心,需对语音信息、皮带工作信息及其通信协议进行处理、整合、储存、调度,因此处理器的选择是关键。系统采用ST公司的互联性系列控制器STM32F107作为模块处理器,此芯片具有较强的工业性能,系统时钟最高可达72 MHz,标准外设有10个定时器、两个12位1-Msample/s AD、两个12位D/A、两个I2C接口、5个USART接口和3个SPI端口以及高质量数字音频接口IIS。另外STM32F107拥有全速USB(OTG)接口,两路CAN2.0B接口,以及以太网10/100 MAC模块,以此满足皮带保护系统。系统使用其中一路用来实现语音通信;另一路用来实现现场管理及现场控制。处理器部分电路如图2所示。主控芯片除了必须的复位、晶振、电源等电路外,还包括了与CAN总线收发增强器以及与AMBE-1000语音编码芯片的连接。主控芯片STM32F107与AMBE-1000之间采用SPI同步出口连接,而AlMBE-1000与CSP-1027S之间采用了专用的同步接口连接,该种接口无需增加额外的单片机驱动便可进行通信。最后将CSP-1027S与麦克风、扬声器之间进行连接。
CAN总线传输距离是以牺牲带宽为代价,因此需在保证良好语音质量的条件下,采用较低语音比特率传输,表1为CAN总线传输距离与波特率关系。
为保证高保真、低带宽语音通信,系统采用MBE技术进行语音压缩。数字语音压缩目前在多媒体信息技术和网络技术中应用广泛,而压缩技术也较为成熟。由于采用DSP进行数字语音压缩,算法复杂且价格昂贵,故本系统采用单片集成芯片AMBE-1000进行语音压缩。AMBE-1000是一款高性能多速率语音编解码芯片,采用MBE技术的语音压缩算法,具有语音音质好和编码速率低等优点,语音编解码速率可在2.4~9.6 kbit·s-1之间以50 kbit·s-1的间隔变化,即使在2.4 kbit·s-1时,仍可保持自然的语音质量和可懂度。所有编码和解码操作均在芯片内部完成,无需额外的存储器。这些特性使其适用于本系统设计。系统中CAN波特率设为18 kbit·s-1,传输距离≥2 km。
AMBE-1000集成编码器和解码器,两者相互独立。编码器接收8 kHz采样的语音数据流并以一定的速率输出信道数据。相反,解码器接收信道数据并合成语音数据流。编码器和解码器接口的时序是完全异步的,其工作信道结构如图3所示。语音信息经过发送方的AMBE-1000编码器被压缩为数字语言编码,经CAN总线传入接收方的AMBE-1000解码器,再经由解码器得到发送方的语音信息。同样,原接收方也可由相同的方式将自身的语言信息传递至原发送方。
AMBE-1000采用A/D-D/A芯片作为语音信号的接口。为满足要求与性能,系统选用A/D-D/A芯片CSP1027S与AMBE-1000作为接口连接。芯片集成16位串行A/D和D/A,由低功耗的CMOS技术和低电压数字系统设计而成,其模拟接口处内置了前置放大器,因此可以输入较小的语音信号。符合G.712语音频带响应和信噪比规范,最高采样率可达24 kHz,满足AMBE-1000编码要求。其与AMBE接口电路如图4所示。
为提高处理器CAN总线的驱动能力,需在处理器与现场总线间增加CAN收发器。系统选用周立功的CTM8251,该芯片内部集成了CAN所必需的隔离及收发器件。该芯片的主要功能是将CAN控制器的逻辑电平转换为CAN总线所必需的差分电平,并具有DC-DC隔离功能,其接口电路如图5所示。
1.2 软件设计
系统软件在Keil4开发环境完成设计,同时该开发环境与Jlink-v8配合可实现在线调试功能,为本系统的完成提供了方便。
软件基于模块化设计,不同模块完成相应功能。首先,开机进入设备初始化功能,其中包括系统时钟配置、管脚配置、CAN控制器配置、AMBE-1000初始化等。系统时钟配置为72 MHz,这是主控芯片STM32F107所能达到的最高工作频率,在该频率下拥有足够高的效率来处理各外设信息。对管脚的配置包括对按键和部分外设I/O口的配置,对CAN总线控制器的配置主要为传输速度配置。因井下一般两节点距离<3 km,且语音经过压缩后为8 kbit·s-1,所以将CAN总线传输速率配置为9 kbit·s-1,这便满足了3 km的传输要求。AMBE-1000的初始化主要为通信接口的初始化,其通信接口为SPI同步串口,可直接与主控芯片的SPI接口连接。
系统启动后进入正常工作模式,当有语音按钮按下时,处理器进入语音采集模式,并通过SPI使能AMBE-1000,AMBE-1000将话音数据每20 ms压缩为一个语音数据包,再经由STM32主控芯片将压缩包上传至CAN总线。CAN总线接收端配置成中断模式,当有语音数据接收时,触发中断并将该数据压缩包经过SPI同步串口传入AMBE-1000,并控制其进行解压缩并播放。在解码器部分,当其检测到丢失一帧语音数据时,能依据上一帧数据尽量真实地预测下一帧语音数据,同时给出适当的语音信号。系统流程如图6所示,中断程序流程如图7所示。
1.3 实验结果
系统在实验室的测试方法如图8所示。
测试系统由两个语音节点组成,两节点之间由20 m线长相连接,并在一号节点放置信号发生器,二号节点放置示波器与分贝计。因人声频率范围为300~3 400 Hz之间,所以信号发生器分别取在该范围内的5个点作为测试点,测试结果如表2所示。
对应这5个频率点由信号发生器发出响应频率的正弦波,再由分贝计从节点2的扬声器声响中测得分贝值,而失真度可通过示波器观察出正弦波的失真情况。测试结果说明,扬声器声响≥80 dB,失真度≤12%,基本满足人声的辨识度。
通过实际测试证明了将语音信号进行压缩并通过CAN总线进行传输工作良好,实现了低速率数字远程传播。同时本系统具有较好的灵活性,可实现广播、组播、点对点等多种通信方式,并具有较好的实时性和抗干扰性。
2 结束语
文中介绍了一种应用于煤矿的井下语音传输系统,该系统基于MBE语音压缩技术,且以CAN总线为传输方式。本系统应用于井下皮带保护系统中的语音扩音系统内,主要用以实现井上与井下,以及井下各部分进行的相互实时语音通信,为确保煤矿安全提供保障。文中设计成本较低,便于维护和修改,且实用性较强。