陈新星, 娄 柯, 高子朗
(1.安徽工程大学检测技术与节能装置安徽省重点实验室, 安徽 芜湖 241000;2.芜湖荟萃中学, 安徽 芜湖 241000)
煤矿作为中国经济迅速发展的最重要的产业之一,随着近年来,煤矿事故的频繁发生,煤矿安全成为了煤矿开采需首要解决的问题。如何解决地面主站与井下各语音节点实时性通信与安全检测、监控是煤矿安全生产的重要保障。很多煤矿通信系统依旧使用传统调度通信系统,主要分为有线调度电话、无线调度电话,以及井下局部扩音电话系统[1]。这些传统系统具有很大的局限性,紧急情况下,无法与调度室实时通信,不能确保井下开采人员及时安全撤离。同时无法做到对井下环境信息实时而准确监测,以便提前预防事故的发生[2]。
对于传统的矿下系统,目前有很多学者提出采用RS232、RS485等传输方式。由于串口通信存在自身通信距离短、容纳节点少、传输速率慢等缺点[3],也有学者提出使用ZigBee无线传输方式[4]。虽然ZigBee具有低功耗、低成本、可扩展性高等优点,但是矿下环境恶劣,容易导致传输不稳定,传输速率低,抗干扰很弱,会出现通信的中断,不利于全面推广和发展。
CAN(Controller Area Network,控制器局域网络)是由德国BOSCH公司是针对汽车应用而开发的多主机局部网络,主要是应用于汽车的监测和控制,解决汽车上众多电子设备之间的通信问题。它的出现为分布式控制系统实现提供了有力的技术支持,也保证了网络各节点之间的数据通信实时性强、各节点之间实现自由通信的功能。CAN总线常用通信介质有双绞线或光纤等,利用差分信号线以差分电压方式在网络间进行通信。在通信过程中完成优先级判别、数据检验、位流编码、位填充、错误处理等工作[5]。
CAN总线作为一种串行数据传输系统网络与一般的通信总线相比,具有可靠性强、实时性强和抗电磁干扰能力强的特点,可靠的错误检测和故障界定机制[6-7]。但是在应用过程中CAN总线不可避免地经受各种自然因素或人为因素的影响,CAN总线可能会出现各种故障,比如,通信介质的破损以及断线或出现短路现象,CAN总线收发器或控制器出现故障等。一旦CAN总线通信过程中任何环节出现故障,矿下重要的信息就不能及时传达到地面主站,井上工作人员就无法掌握到井下的一切动态,形成井下盲区,严重时可能会造成重大事故。因此有必要对CAN总线可靠性进行强化设计。本文提出了冗余技术对系统通信网络的优化,比传统单CAN总线具有更好的可靠性和抗干扰能力。
系统总体框架示意图如图1所示,该智能语音系统主要是由井上地面控制主站、监测中心站和井下分站的各个语音智能节点,CAN继电器,通信电缆等部分组成。地面主站可以调度上位机对井下的各个智能语音终端进行操作,实现语音以点播、组播以及全呼方式对井下终端的通信,同时各分站也可以实现语音的组呼或者调度呼叫。在地面监测站还可以实现对井下各个分站的操作环境进行实时监控,准确掌握恶劣井下环境的各个参数指标,并且可以及时地对井下的突发情况做到有效应对措施[8-9]。
图1 系统总体框架示意图
在系统通信功能上,主站和分站硬件结构的设计基本相同,都是实现语音信号的采集、编码、传输、解码和播放。主站点增加人机交互模块,分站点硬件设计框图如图2所示。硬件结构图主要是由MIC输入的语音信号,经过AGC电路及模数转换器,然后通过AMBE-2000芯片对语音信号压缩编码后送入MCU中,同时智能传感器将采样数据也送入MCU中,通过隔离CAN收发器将数据发送到CAN总线上。在井下通信时,CAN总线上的语音数据会通过CAN收发器送入MCU中,然后送到AMBE-2000解压解码,再通过数模转换器,最后进行功率放大送到扬声器中[10-11]。采用双总线结构来提高各个站点之间通讯的抗干扰能力。
图2 分站点设计框图
本系统所使用处理器皆采用ST公司生产的STM32F103CBT6[12-13]嵌入式硬件平台来设计,其采用高性能ARM Cortex-M3 RISC内核,工作时钟为72 MHz,且芯片内部集成了一路CAN总线控制器,高达128 KB的Flash以及64 KB的SRAM。内部集成了SPI、USB、USART、I2C以及网络等外设多种接口,具有强大的数据处理能力和网络通信能力。
由于矿下环境极为复杂,MCU内部增强型bx-CAN控制器支持标准的CAN2.0A和CAN2.0B协议以及远距离传输,在正常通信时,总线传输速率可以高达到1 Mbps,CAN通信接口模块设计是保持正常通信、可靠收发数据的关键。由于在煤矿下面电气设备数量众多,存在多种干扰源,在硬件设计时要考虑EMI/ESD性能,使系统抗干扰能力增强。故选择高速CAN隔离芯片TJA1052,隔离电压能达到2500 V,CAN总线的通信电缆需要选择双绞线来降低信号干扰。CAN总线接口模块如图3所示。
图3 CAN总线接口模块
CAN总线在传输信号频率上是属于窄带宽的数据总线,随着通信距离的增加而波特率会降低,如果直接采集语音信号送入到CAN总线上,必定会造成网络拥堵,对语音的实时性就会大幅度降低。为了使语音信号在CAN总线传输的带宽缩减,采用了AMBE音频压缩算法对语音信号进行压缩编码,该算法在环境噪声以及误码率方面具有很强的鲁棒特性,具有良好的语音合成效果。
AMBE-2000语音编解码芯片是一款低功耗、高性能且非常灵活的芯片,以多速率语音16位的线性装置作为最大的声音质量装置,也提供了A律和u律接口,在低数码速率环境下能提供很好的声音质量。 AMBE-2000是由两个相互独立的编码器和解码器组成,压缩后数据传输速率在2.0 Kbps~9.6 Kbps范围内可调节。理想情况下,编码器约会每20 ms被读一次,20 ms后,会读取下一个数据包。当编码器接收一个8 kHz的语音数据流样本,并会输出一串相应速率的通道数据。编码器和解码器的接口使用定时器时序是完全异步的,再根据接收到语音误码率的高低,可以用软件灵活的配置语音编码速率和向前纠错速率(FEC),达到最佳匹配率,在播放时获得最佳的语音效果。语音信号处理块如图4所示。
图4 语音信号处理模块
系统中AD/DA转换器采用Burr-Brown公司开发的低电压、低功耗16位串行A/D转换器与D/A转换器芯片,芯片时钟频率为4.096 MHz,采样频率从7.2 Kbps~26 Kbps,系统的语音采用频率为8 kHz, PCM3500带有回环自检功能,使芯片在工作时自身功能更加稳定。由于电路中采用主动模式,主动/被动模式引脚M/S置为高电平。当LOOP置为高电平,则是A/D转换器与D/A转换器输出与输入互连,即Vout接到Vin,方便了芯片自身检测。HPFD输入高电平,可滤除输入的直流分量。AMBE-2000和PCM3500采用SPI接口通信,端口BCK时钟频率为128 kHz,BCK输出时钟信号, FS为主动输出同步信号, 两者需严格同步。麦克风和喇叭采用单端输入/输出方式。A/D及D/A转换模块接口如图5所示。
图5 A/D及D/A转换模块
使用自组合的多种无线传感器[14-15]对井下瓦斯浓度、CO2浓度、O2浓度和温度进行检测,形成一个无线检测网络,利用ZigBee与多个无线传感器节点进行通信。采集矿下数据,传送到地面工作站。ZigBee传感器模块接口如图6所示。
图6 传感器模块
软件设计使用结构化设计,具有很好的模块性和可移植性,根据不同的应用场景,可以将功能代码进行重组,获得所需要的功能。软件功能主要是语音采集播放、样本数据采集、数据处理、CAN通信。一个CAN数据帧是由帧起始、仲裁段、控制段、数据段、CRC段、ACK段、帧结束七个段位组成的。数据帧是以一个显性位(逻辑0)开始,以7个连续的隐形位(逻辑1)结束。仲裁段的内容主要是数据的ID信息,能够控制数据帧发送时的优先级,也决定其他设备是否会接收这个数据帧,对于比较重要信息,会打包优先级更高的ID,使它能够及时地发送出去。正是因为CAN总线的优先级分配原则,在突发情况下,能够显示出CAN总线设计的系统优越性。在接收报文的时候,根据报文的ID的类别,CAN过滤器会丢弃不需要的报文,接收所选择的需要的报文。
在通信过程中,各级节点会同时向双CAN总线上发送报文,不分主从CAN总线。在接收CAN总线数据时,若判断是语音报文,只需接收最先到达节点的语音报文,解压处理,对后到达总线的语音报文数据接收后,不作处理。若接收到是传感器数据,节点接收到CAN总线数据后,与另一条CAN总线上的数据做比对,两者若是相同,则主站处理数据并显示,反之,则重新请求节点发送数据。
系统的软件主要由系统参数初始化程序、发送程序、接收程序、数据采集程序等组成。系统上电,各模块初始化后,由定时器产生1 ms的时钟,并设定传感器数据采集时钟周期10 ms,系统检测语音按键是否按下,若按下,系统继续检测是否是紧急语音,若是,则启动紧急语音程序,将CAN数据帧的ID设置为最高优先级,启动语音采集子程序,打包报文并通过CAN网络发送出去。判断采集传感器数据定时时间是否到达,若到达,通过ADC采集传感器的数据,根据ADC采集参数的类别不同,设置不同数据标志位,按照一定的帧顺序进行打包成报文,通过CAN总线发送出去。
当CAN接口模块检测到CAN总线接收FIFO数据时,产生中断,判断是否是语音中断,若是,接收语音,解码并播放语音。反之,判断是否是采集传感器数据中断,若是,解码传感器采集数据报文,并且在地面的检测屏幕上显示,能够实时观察到矿下的情况。系统发送主程序如图7所示,中断接收程序如图8所示。
图7 系统发送主程序
图8 中断接收程序
为了测试系统设计功能的有效性,分别对系统语音和传感器的性能进行了验证。针对语音测试,图9、图10分别是原始信号和播放信号的时域和频域的分析结果,通过语音信号的包络,可以看出系统具有语音还原能力。
图9 原始信号时、频域图
图10 播放信号时、频域图
从矿下不同的地点采集的数据,如采掘工作面进风流中、采掘工作面回风巷风流中和矿井总回风巷中等。采集数据及标准数据见表1。实验结果表明,传感器所采集的数据的相对误差在±10%之内,系统传感器的采集具有较高的测量精度。
表1 矿下测试数据对比
利用双CAN总线冗余结构的优越性,本文详细地给出了以STM32为控制核心的矿下语音智能通信系统的设计方案。系统能够实现正常的矿下语音通信,矿下紧急事件通过双CAN总线同时发送至地面总站,供井上工作人员迅速做出救援反应。同时节点系统能够通过CAN总线实时对井下的瓦斯浓度、CO2浓度、O2浓度和温度的实时监测,具有更高的安全性、可靠性、实时性,具有良好的实用价值和推广价值。
参考文献:
[1] 于宁宁,丁恩杰,赵宗平.基于CAN总线的煤矿语音通信系统的设计[J].电声技术,2010,34(5):59-61.
[2] 聂建永.基于物联网的瓦斯监测预警智能手持终端研究[J].能源与节能,2016(8):84-85.
[3] 陈伟.基于CAN总线的煤矿煤矿安全监测系统的研究[J].煤矿现代化,2012(1):51-52,56.
[4] 朱小三.基于CAN总线的煤矿安全监控系统的研究与实现[D].西安:西安电子科技大学,2007.
[5] 牛跃听,周立功,方丹.CAN总线嵌入式开发[M].北京:北京航空航天大学出版社,2012.
[6] 霍跃华.基于CAN总线多级网络扩展的井下分站研究[J].科技与创新,2016(22):73-74.
[7] 何瑛.基于CAN总线和ARM的矿井安全监测系统的应用和研究[J].煤矿机械,2017,38(4):161-164.
[8] 金兆楠.双冗余CAN总线及可靠性研究[J].智慧工厂,2014(12): 76-78.
[9] 李华.基于CAN总线的煤矿语音广播系统设计[J].科技创新与应用,2017(5):43-44.
[10] 王桂梅,赵彦斌,李长刚.基于CAN总线的井下输送带语音通信系统[J].矿山机械,2012,40(4):69-71.
[11] 陈媛.一种基于AMBE-2000的语音系统的设计与实现[J].现代电子技术,2010,33(16):205-207.
[12] 刘火良,杨森.STM32库开发实战指南[M].北京:机械工业出版社,2016.
[13] 彭刚,秦志强.基于ARM Cortex-M3的STM32系列嵌入式微控制器应用实践[M].北京:电子工业出版社,2011.
[14] 刘春晖,黄文超,王阳.基于STM32无线压力传感器监测系统[J].煤矿机械,2015,36(8):214-217.
[15] 张荣华,邹超华.基于STM32的大气粉尘浓度实时检测系统的设计[J].四川理工学院学报:自然科学版,2016,29(2):15-18.