基于CANopen协议的矿用语音通信系统研究

1 引言

现场总线的研究与应用早已成为工业数据总线领域的热点,CAN 总线作为一种技术先进、可靠性高、功能完善、成本合理的远程网络通讯控制方式,已被广泛应用到自动化控制系统中。由于CAN 本身并非一个完整的协议,因而进行高效率的通讯还需要进一步开发高层协议,而CANopen 协议就是建立在CAN 协议物理层和数据链路层基础上的标准化应用层协议,其采用面向对象的思想设计,具有很好的模块特性和很高的适应性,且精练透明、易于开发。本文围绕由微控制器PIC18F458和语音处理芯片AMBE-1000 构成的语音通信系统研究了CANopen 协议在基于CAN 总线的语音通信系统中的应用情况。

2 语音通信系统的硬件设计

2.1 系统原理

系统由上位机,网关,节点,中继等组成,利用已有的CAN 总线实现实时语音和监控数据的传输。通信过程为:语音数据通过麦克采集输入后经A /D 转换变成数字信号,而语音处理模块AMBE-1000 对数字信号压缩编码后传送给本地微处理器PIC18F458, 然后微处理器通过CAN 收发器将收到的数据经CAN 总线送给远方微处理器。相应的,远方微处理器对收到的数据经过上述步骤的反向处理最终还原为语音信号并由喇叭播放。当没有语音信号需要处理传输时,系统自动开启MP3 功能播放背景音乐。

2.2 信道接口设计

微控制器采用Microchip 公司的PIC18Fxxx 系列芯片,其内含有A/D、内部EEPROM 存储器、CAN 控制器、SPI 接口、FLASH 程序存储器读/写等强大功能。 AMBE-1000 与微控制器PIC18F458 进行通信的信道接口为串行SPI 接口,有两种工作模式:主动模式和被动模式。本系统定义AMBE-1000 的引脚CH_SEL1 CHSEL0 将AMBE-1000 设置为串行被动模式,串口存在于帧格式下,通过模拟标准SPI 通信时序实现数据包的传输。

3 CANopen 协议的实现

在系统中,选取网关为主节点,其它节点为从节点。主节点除了具有启动/停止网络、检查网络工作状态等功能外,还定义了网络设备的标识符和访问对象字典入口。

3.1 标识符的分配

主节点通过上位机发出的标识符字来改变从节点的状态。在CANopen 协议应用层,设备之间交换的是通讯对象(COB),它们被映射到带有标识符(ID)的CAN 帧中,然后在数据链路层上传输。

在CAN 标识符缺省的默认值分配方案中,COB-ID 有11 位,由4 位Function Code 和7位Node-ID 组成,Function Code 已经确定,网络中不同的Node-ID 就决定了COB-ID 编码。 11 位COB-ID 中,高四位为功能码,语音模式时标识id6 位为0 ,MP3 模式时标识符id6位为1,id4-id5 位为小组号,id0-id3 位为每一小组内的节点号。通过对11 位中低4 位验收屏蔽滤波器进行屏蔽,对高7 位进行滤波实现广播、组播、点播等功能。语音模式下,广播时使用PIC18F458 的验收滤波寄存器2,组播和点播时使用验收滤波寄存器3;Mp3 模式下,广播时使用PIC18F458 的验收滤波寄存器4,组播和点播时使用验收滤波寄存器5。

3.2 对象字典的建立和变量的传输

CANopen 协议网络中每个节点都有一个对象字典,它包含了描述这个设备和网络行为的所有参数。下面以主节点对象字典的建立为例说明对象字典的建立方法。

3.3 CANopen 软件实现

在整个CANopen 网络中,SYNC 报文的优先级最高,因此用它来传送同步信号,保持各节点间的同步,并且用来触发PDO 报文的发送。Time-Stamp 报文的优先级比SYNC 稍低,它用来传送时钟信号,当主站需要各节点校时时,主站通过串口发出校时报文给主节点,然后主节点在全CAN网范围内转发包含时钟信息的Time-Stamp 报文,子节点收到后完成校时。

广播、组播等数据用PDO 来传送。本系统为了保证PDO 传送数据的快速、实时性,采用事件触发的方式。参数配置数据由于数据量比较大,而且对于实时性的要求不高,所以用优先级比较低而且拥有可以传送大量数据能力的SDO。由于其优先级较低,保证了此类大量数据的传送不抢占实时性要求较高的语音数据的传送。由于节点保护数据只是用来监测CAN节点是否在线正常工作,因此它的实时性要求更低,所以用发送优先级更低的Heart_beat报文来传送。子节点定时的发送Heart_beat 报文,主节点收到后就修改节点保护定时器,如果隔了一定的时间还没有收到某个子节点的Heart_beat 报文则主节点就认为此子节点的工作状态产生了问题。

本系统CAN 控制器初始化工作流程为:系统上电后,从ROM 中读取配置参数将CAN控制器、各个从节点的ID 地址以及CANopen 通讯对象进行配置,省略了CANopen 中常用的较复杂的使用主节点配置子节点的方式,而使用的是CANopen 协议的预定义连接集;启动后,子节点定时发送心跳报文,告知主节点本子节点已进入工作状态;同时监测主节点发送的同步报文,以确保主节点在工作状态,这样主节点和子节点即可通讯连接。

1)主节点程序:初始化后,如果中断标志位置位,则转入中断程序,接收上位机发来的PDO 数据。然后,判断上位机命令区分组播、广播等命令类型,再修改存储器中的标识符判定与哪些节点通信,随后读取语音数据并经CAN 总线发送给从节点。

2)从节点程序:在从节点处如果有通话需求,通过按通通话按钮切换至语音模式,即可经CAN 总线传输语音数据,如无通话需求,则保持MP3 模式继续播放音乐。

4 测试结果

经以上语音测试, 本系统可以正确切换组播、广播、点播等模式,语音通信及时,且语音的主观听觉效果良好,具有较高的可懂度,符合设计要求。同样,在录音播报模式、音乐模式、混合模式下测试成功。

5 结语

经实践证明,采用CANopen 协议的语音通信系统可以在CAN 总线上以极低的语音通信速率(2.4 kbit / s) 进行语音数据传输,能够实现语音的广播、组播、点播、MP3 播放功能,同时CANopen 协议使得节点具有较好的开放性和通用性,可与其他设备组建分布式控制网络,在煤矿信息化系统中有着广泛的应用前景。

展开阅读全文

页面更新:2024-04-18

标签:论文   工学论文   自动化论文   协议   报文   标识符   优先级   节点   总线   用语   语音   对象   模式   数据

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top