资源描述:
《基于CANopen协议的矿用语音通信系统研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于CANopcn协议的矿用语音通信系统研究1引言现场总线的研究与应用早已成为工业数据总线领域的热点,CAN总线作为一种技术先进、可靠性髙、功能完善、成本合理的远程网络通讯控制方式,已被广泛应用到自动化控制系统中。由于CAN本身并非一个完整的协议,因而进行高效率的通讯还盂要进一步开发高层协议,而CANopen协议就是建立在CAN协议物理层和数据链路层基础上的标准化应用层协议,其采用血向対象的思想设计,具有很好的模块特性和很高的适应性,口梢练透明、易于开发。本文围绕由微控制器PIC18F458和语音处理芯片AMBE-1000构成的语音通信
2、系统研究了CANopen协议在基于CAN总线的语音通信系统屮的应用情况。2语音通信系统的驶件设计2.1系统原理系统由上位机,网关,节点,中继等组成,利用已有的CAN总线实现实时语音和监控数据的传输。通信过程为:语音数据通过麦克采集输入后经A/D转换变成数字信号,而语音处理模块AMBE-1000对数字信号压缩编码后传送给本地微处理器PIC18F458,然后微处理器通过CAN收发辭将收到的数据经CAN总线送给远方微处理器。相应的,远方微处理器对收到的数据经过上述步骤的反向处理最终还原为语咅信号并由喇叭播放。当没冇语音信号需要处理传输时,系统
3、白动开启MP3功能播放背景音乐。2.2信道接口设计微控制器采用Microchip公司的PICISFxxx系列芯片,其内含有A/D、内部EEPROM存储器、CAN控制器、SPI接口、FLASH程序存储器读/写等强大功能。语音处理模块采用DigitalVoiceSystems公司推岀的语音压缩/解压芯片AMBE-1000,其压缩率可在2.4kbps-9.6kbps范围内由软件调节,口具有FEC(前向纠错)、VAD(语音激活检测)功能和DTMF信号检测功能。AMBE-1000与微控制器PIC18F458进行通信的信道接口为串行SP1接口,有两
4、种工作模式:主动模式和被动模式。本系统定义AMBE-1000的引脚CH.SEL1〜CHSELO将AMBE-1000设置为串行被动模式,串口存在于帧格式下,通过模拟标准SPI通信时序实现数据包的传输。3CANopen协议的实现在系统中,选取网关为主节点,其它节点为从节点。主节点除了具冇启动/停止网络、检杳网络工作状态等功能外,还定义了网络设备的标识符和访问对象字典入口。3」标识符的分配主节点通过上位机发出的标识符字來改变从节点的状态。在CANopen协议应用层,设备Z间交换的是通讯对彖(COB),它们被映射到带有标识符(ID)的CAN帧中
5、,然后在数据链路层上传输。在CAN标识符缺省的默认值分配方案中,COB-ID有11位,由4位FunctionCode和7位Node-ID组成,FunctionCode己经确定,网络中不同的Node-lD就决定了COB-ID编码。在木设计中,井下节点以分组形式存在,每小组节点数不超过14个(0不可用,1为主节点的Node・ID)上位机与井下节点通话分为广播、组播、点播,分组数不超过3个。同时考虑到P1C18F458的缓冲器结构,节点的号定义为:0x01-0x03,节点的组内节点号0x02-0x0F,各节点Node・ID分配如表1所示。11
6、位COB-ID中,高四位为功能码,语音模式时标识id6位为0,MP3模式时标识符id6位为1,id4-id5位为小组号,id0・id3位为每一小组内的节点号。通过对11位中低4位验收屏蔽滤波器进行屏蔽,对高7位进行滤波实现广播、组播、点播等功能。语音模式卜•,广播时使用PIC18F458的验收滤波寄存器2,组播和点播时使用验收滤波寄存器3;Mp3模式下,广播时使用PIC18F458的验收滤波寄存器4,组播和点播时使用验收滤波寄存器5。3.2对象字典的建立和变量的传输CANopen协议网络中每个节点都有一个对象字典,它包含了描述这个设备和
7、网络行为的所有参数。下而以主节点对彖字典的建立为例说明对彖字典的建立方法。每个PDO都对应一个通信对象和一个映射对象;木系统中存放第一个发送PDO通信参数的对象为0X1800,存放该PDO影射参数的对象为0XIAOOo其屮对象0X2000子索引0x01处存放语音模式下广播变中的数据量,以下的变量类同;首先通过读取1800H中的通讯模式,然后,读取0X2000中的数据帧的具体内容,通讯时,将确定通讯模式的相关信息和具体数据帧的地址信息按CANOpen的映射规则写入1A00H屮,从而完成PDO的发送与接收。3.3CANopen软件实现在整个
8、CANopen网络中,SYNC报文的优先级最高,因此用它来传送同步信号,保持各节点间的同步,并R用來触发PDO报文的发送oTime-Stamp报文的优先级比SYNC稍低,它用來传送时钟信号,当主站需要各节点