多路rs485总线自适应转can总线通信方法

文档序号:7752568阅读:684来源:国知局
专利名称:多路rs485总线自适应转can总线通信方法
技术领域
本发明专利提出的一种多路RS485总线自适应转CAN总线通信方法,适用于工业 控制领域以各种总线技术(CAN,RS485/RS422)进行数据多对一的通信场合,尤其适合铁路 电务部门的信号微机监测系统的数据采集卡到监控主机的数据通信部分。
背景技术
当前,各种总线通信技术在工业领域有着广泛的应用,为了实现数据互联互通,各 种总线协议间的透传装置也在工业控制领域广泛使用。但是各种透传装置目前实现的都是 点对点的数据转换传输。导致利用这种透传装置开发的上层应用需要复杂的通信处理逻 辑,同时数据通讯效率很低。

发明内容
为解决上述现有技术的问题,本发明提出一种一对多的自适应数据透传方法,极 大的提高了数据通讯效率。本发明的具体技术方案是一种多路RS485总线自适应转CAN总线通信方法,通过 自动识别RS485总线上连接的数据集采集板卡的种类,将各个数据采集板卡所采集的数据 按照采集卡ID号的顺序进行组包,然后以CAN总线通信协议输出。该方法RS485总线上最 多可连接254个RS485节点。进一步的,自动识别多种数据采集卡,主动查询采集卡的数据,其中单路采集卡数 据采用多次握手的方式确保数据的正确传输。进一步的,将多路采集卡采集的数据按节点顺序拼成单一的CAN数据包,按CAN总 线通讯方式输出。进一步的,CAN总线兼容CAN2. OA和CAN2. OB总线协议。该方法有效的提高了 CAN总线的利用效率,简化了数据通讯模式。


图1是硬件平台原理框图;图2是多路RS485总线自适应转CAN总线通信方法示意图。
具体实施例方式本发明提出的一种多路RS485总线自适应转CAN总线通信方法(以下简称“方 法”)由基于ARM7TDMI-S内核的ARM微处理器作为硬件平台外扩RS485电平转换电路以及 CAN收发器电路等硬件资源来实现(以下将实现方法的硬件电路简称“硬件平台”),如图1 所示。方法要求RS485总线上数据采集卡的通信协议遵循GB/T 19582-2008《基于 Modbus协议的工业自动化网络规范》。
方法要求RS485总线上的数据采集卡作为Modbus Slave设备,硬件平台作为 RS485总线上的Modbus Master设备。所有的通信都是由Modbus Master设备遵循Modbus 协议发出相关命令,由Modbus Slave设备遵循Modbus协议响应相关的命令。方法要求RS485总线上的数据采集卡的参数存储在Modbus协议定义的保持寄存 器表内,数据采集卡采集的数据根据采集对象的不同分别存储在Modbus协议定义的离散 量输入表、线圈表、输入寄存器表中。在保持寄存器表的中储存的数据采集卡的参数必须根 据特定的格式排列。例如,在保持寄存器表的第一个地址内存储该数据采集卡的类型代码寸。硬件平台作为RS485总线上Modbus Master设备,在通信建立阶段轮询所有 Modbus协议允许的ID号,并且读取他们的保持寄存器表中关于数据采集卡的类型参数。 如果数据采集卡在规定时间内响应并且回送了类型代码,那么硬件平台会自动根据类型代 码的种类分配相应的内存空间用来存储数据采集卡采集到的数据;如果数据采集卡响应超 时,那么硬件平台认为这个ID地址的数据采集卡不存在,不会分配内存空间。在通信建立 后,硬件平台会根据之前查询到的存在的数据采集卡利用他们的ID号以及类型代码等信 息发送相关的读取数据采集卡内所采集到的数据的命令,数据采集卡收到命令后将采集到 的数据发送给硬件平台并且由硬件平台存储到之前分配的内存中。之后,硬件平台根据ID 号的顺序将读取的数据采集卡的数据进行拼接,使之成为连续的CAN协议帧从CAN总线上 传递到目的设备。本方法通过硬件平台的查询数据采集卡的类型,能够自适应的分配内存空间。本 方法利用数据采集卡的顺序能够自动将各个数据采集卡的所采集到的数据进行拼接。由于 方法在RS485总线上采用轮询的方式,没有总线冲突的存在,可以有效的提高了数据的传 输效率。而切方法在CAN总线上使用多主机的通信方式,可以将重要的信息优先发送给目 的设备。如图2所示,如果采取常用查询方式我们需要从CAN总线上发出查询命令然后通 过485总线转发到相应的数据采集卡,数据采集卡从485总线上响应查询命令之后转发 到CAN总线上。这样的方式总的通信效率取决于两种总线中通信效率低的一侧。并且,每 采集一个数据采集卡都需要发送一条查询命令并等待响应。而使用方法后485总线实时 采取轮询的方式把数据采集卡的数据收集并暂存在装置的缓存内,这样当CAN总线需要查 询相应的一个或多个数据采集卡的数据时只需要发送一条查询命令就能够从装置中读取 一个或者多个数据采集卡的数据。假设我们在单位时间内读取100个数据采集模块的数 据,每个数据采集模块数据为50byte查询命令为lObyte。那么用常用的方法我们需要传 送(10byte+50byte) XlOO = 6000byte ;而使用方法只需要传送 10byte+50byteX 100 = 5050byte。由此可以看出查询的数据采集模块的个数越多传输效率越高。在铁路信号微机监测系统中,对采集数据的实时性要求很高,所以要求数据采集 卡的数据能够实时的传输。但是对于超限报警的数据又需要优先传送给PC机进行报警提 示。因此,非常适合采用本发明的方法。
权利要求
一种多路RS485总线自适应转CAN总线通信方法,其特征在于,通过自动识别RS485总线上连接的数据集采集板卡的种类,将RS485总线上各个数据采集板卡所采集的数据按照采集卡ID号的顺序进行组包,然后以CAN总线通信协议输出。
2.根据权利要求1所述的一种多路RS485总线自适应转CAN总线通信方法,其特征在 于,自动识别多种数据采集卡,主动查询采集卡的数据,其中单路采集卡数据采用多次握手 的方式确保数据的正确传输。
3.根据权利要求1所述的一种多路RS485总线自适应转CAN总线通信方法,其特征在 于,将多路采集卡采集的数据按节点顺序拼成单一的CAN数据包,按CAN总线通讯方式输 出ο
4.根据权利要求3所述的一种多路RS485总线自适应转CAN总线通信方法,其特征在 于,CAN总线兼容CAN2. OA和CAN2. OB总线协议。
全文摘要
本发明提出的一种多路RS485总线自适应转CAN总线通信方法,适用于工业控制领域以各种总线技术(CAN,RS485/RS422)进行数据多对一的通信场合,尤其适合铁路电务部门的信号微机监测系统的数据采集卡到监控主机的数据通信部分。本发明通过自动识别RS485总线上连接的数据集采集板卡的种类,将RS485总线上各个数据采集板卡所采集的数据按照采集卡ID号的顺序进行组包,然后以CAN总线通信协议输出。本发明有效的提高了CAN总线的利用效率,简化了数据通讯模式。
文档编号H04L29/06GK101883036SQ20101021073
公开日2010年11月10日 申请日期2010年6月25日 优先权日2010年6月25日
发明者储岳飞, 杨智琦 申请人:上海铁大电信设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1