以太网和CAN总线的协议转换
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
( 集团) 局的信息中心到矿井的任何一个设备的信息
整合。协议结构如图 3 所示。
0
7
7bit 优先级
1bit 局级标识
8bit 矿级标识
8bit 子系统标识
高 8bit 设备 ID
低 8bit 设备 ID
8bit 命令字
8bit 数据标识
高 8bit 数据
低 8bit 数据
校验码
图 3 煤矿应用层协议
下面将分别解释各个字段的意义: ( 1) 优先级: 表示该信息帧的优先级,占有 7bit, 一共可以有 128 个优先级,数字越大,优先级越高。 这是为了保证控制系统的实时性。 这里有一种特殊情况,当优先级为全置 1 时,表 示矿务局越级往矿井设备发送的信息。当有紧急情 况发生时,矿务局可以通过发送优先级为 0x7F 的信 息帧越级控制设备。 ( 2) 局级标识: 用来标识该信息帧是否往矿务 ( 集团) 局发送,占 1bit。0 表示 信 息 不 往 矿 务 局 发 送; 1 表示往矿务局发送。 ( 3) 矿级标识: 占 8bit,范 围 0 ~ 255,可 以 标 识 256 个矿井。 ( 4) 子系统标识: 系统在矿中的编号,占 8bit,范 围 0 ~ 256,可以标识 256 个子系统。 ( 5) 设备 ID: 设备的 ID,占 16bit,范围 0 ~ 65535, 可以标识 65536 个设备。 ( 6) 命令字: 标识命令类型,范围 0 ~ 255,可以标 识 256 个命令。这个命令针对不同的设备可以允许 用户进行扩充。 ( 7) 数据标识: 占 8bit,范 围 0 ~ 255,可 以 标 识 256 个不同的数据意义。这个数据标识是针对不同 的命令字而设的,不同的命令字可以有不同的几个数 据标识。 ( 8) 数据: 占 16bit。数据是针对数据标识的数 据,代表数据标识的值。 ( 9) 校验码: 采用 CRC 校验。校验数据从数据报 开始即优先级处到数据尾部结束。 2. 2 以太网数据与 CAN 数据协议转换
4 网关测试及结果
网关性能测试连接图如图 7 所示。
图 5 以太网应用层协议向 CAN 帧转换
3 网关的设计与实现
3. 1 网关总体设计
CAN 总线结构和以太网网络模型都是分层定义 的网络通信协议标准,但 CAN 总线与以太网的协议 有着根本的不同。该网关的主要功能是完成协议转 换。可以用一台有 CAN 总线适配卡和 Ethernet Card 的 PC 经济地实现该网关的功能。
图 6 互联参考模型
3. 2 网关的通信过程
CAN 设备向以太网设备发送数据时,首先 CAN 设备生成 CAN 报文定时向 CAN 总线发送数据。网 关中 CAN 通信模块接收到 CAN 报文后,放到缓冲区 中,以太网通信模块将报文取出转换成应用层数据协 议,生成 IP 包中的数据场,填充 IP 报头,交由底层协 议发送到 目 的 主 机,目 的 主 机 将 数 据 存 储 下 来。 反 之,将以太网数据传给 CAN 设备时,以太网数据经过 总线接口,首先判断是否是本网关数据,如果是本网 关数据,取出应用层数据放到数据缓冲区中,在 CAN 数据模块中将其转化为 CAN 帧,并发送数据。
摘要: CAN 总线和工业以太网越来越多地使用在矿山建设上。在矿山数据管理层,基于标准 TCP / IP 协议的工业以太网
得到了巨大的应用,因此研究 CAN 总线与以太网之间的互联具有重要的现实意义。
本文在研究以太网和 CAN 总线的基础上,分析工业以太网关的具体功能,提出工业以太网和 CAN 总线的协议互转
解决方案。针对煤矿监控系统的特点设计一种应用层的信息规范,统一了各种煤矿监控设备的数据格式,并研究出了详
细的 CAN 网络与以太网协议的转换,有利于管理层的数据处理。
关键词: CAN 总线; 以太网; 网关; 协议转换
中图分类号: TP393
文献标识码: A
doi: 10. 3969 / j. issn. 1006-2475. 2011. 12. 006
图 7 网关测试连接图
两个网关之间通过 CAN 相互连接,每个网关通 过局域网和 PC 相连。测试软件使用 SocketTool。使 用 SocketTool 在 PC1 和 PC2 上分别创建一个 Socket 客户端,PC1 通过 Socket 向网关 1 发送数据,网关 1 将数据转换成 CAN 数据帧通过 CAN 传输到网关 2 上,网关 2 再将 CAN 数据帧转换成以太网数据帧传 输到 PC2 上接收。反之从 PC2 发数据到 PC1。
Protocol Conversion Between Ethernet and CAN Bus
WEI Juan1 ,JIANG Dao-xia2
( 1. Information Center,Jiangsu Vocational and Technical College of Finance & Economics,Huai’an 223003,China; 2. Dept. of Computer Engineering and Art Design,Jiangsu Vocational and Technical College of Finance & Economics,Huai’an 223003,China)
Abstract: CAN bus and industrial Ethernet are more and more used in the mine building. But in the layer of data management about mining,industrial Ethernet based on standard TCP / IP protocols has been widely used. Therefore,the study about connectivity between CAN bus and Ethernet has an important practical significance.
1 研究背景
现有的煤矿安全监测系统虽可以对井下的情况 不断地监测,但由于它们大部分属于封闭式系统,对 网络支持能力不强,无法做到信息的共享。系统接入 网关技术,能够在监控系统网络与 IP 网络之间充当 转换器的角色,把来自煤矿井下监测监控系统的实时 信息传送到 IP 网络上去,及时实现信息的共享并作 出相应的处理,如图 1 所示。
其工作原理如下: 一方面企业网内拥有权限的终 端发给现场智能节点的控制指令在企业网内根据设 计的控制应用层协议被打包成 TCP / IP 包,该数据包 通过以太网传递给符合要求的网关,此时网关映射为 以太网上服务器的一个从站。网关接到数据包后,根 据 CAN 协议对拆包后的数据重新打包,然后把数据 传给现场的目的智能节点,此时网关映射为现场总线 上的一个主站。这样就可以实现企业网终端对现场 的控制。另 一 方 面,各 个 智 能 节 点 的 状 态 数 据 通 过 CAN 总线提交给网关,网关将 CAN 数据转化为以太 网数据。再通过以太网送达给目的主机,用于企业的 诊断和决策。如图 6 所示。
2011 年第 12 期
韦娟等: 以太网和 CAN 总线的协议转换
21
成数据包的识别、解释和转换,对于多网段的应用,它 还可以在不同网段之间存储转发数据包,起到网桥的 作用。此外,硬件设备还可以是一块智能接口网板, 如 FisherRosemount 公司的 Deltav 系统就通过一块机 柜中的 HI 接口卡,完成现场总线智能设备与以太网 中央监控计算机之间的数据通信[6]。
2011 年第 12 期 文章编号: 1006-2475( 2011) 12-0020-03
计算机与现代化 JISUANJI YU XIANDAIHUA
总第 196 期
以太网和 CAN 总线的协议转换
韦 娟1 ,蒋道霞2
( 1. 江苏财经职业技术学院信息中心,江苏 淮安 223003; 2. 江苏财经职业技术学院计算机工程与艺术设计系,江苏 淮安 223003)
测试结果表明,网关数据传输可靠、稳定,实时性 较好。
5 结束语
本文在研究工业以太网和 CAN 总线的基础上, 分析工业以太网接入网关的具体功能,设计一种针对 煤矿系统的以太网应用层的信息规范,这样以太网端 服务器在接收数据时就不再需要解析数据段的内容, 并重点分析和实现煤矿应用层与 CAN 协议的转换, 完成网络结构连接图。最后,对网关进行测试,连接 良好。
通常在 CAN 网和以太网之间加入转换接口。如 加入中继器、网桥、路由器等专门的硬件设备,硬件设 备可以是一台专门的计算机,依靠其中运行的软件完
图 1 网关接入环境结构图
收稿日期: 2011-09-22 基金项目: 江苏省教育厅工程技术研发中心项目( JH10-42) ; 淮安市科技支撑项目( HAG2010049) 作者简介: 韦娟( 1981-) ,女,江苏淮安人,江苏财经职业技术学院信息中心讲师,网络工程师,硕士,研究方向: 网络应用; 蒋 道霞( 1966-) ,女,江苏淮ห้องสมุดไป่ตู้人,江苏财经职业技术学院计算机工程与艺术设计系副教授,博士,研究方向: 网络性能。
图 4 CAN 帧向煤矿应用层协议转换
当数据从 CAN 总线向以太网转换时,CAN 协议 使用标准帧格式。网关取出 CAN 总线数据,将仲裁 字段中 11 位标识符由高到低转换为以太网应用层中
22
计算机与现代化
2011 年第 12 期
的高 8bit 设备 ID 和低 8bit 设备 ID。数据字段由高 到低分别写入命令字、数据标识和数据中。子系统标 识是根据设备 ID 查询其属性,填入其优先级、局级优 先级、矿级标识、子系统标识,加上校验码,完成 CAN 数据帧向以太网应用层协议的转换。如图 4 所示。
它们也并不能实现数据的共享,要实现系统之间的数
据共享还要统一的应用层的协议格式。
针对煤矿,煤矿信息化不仅要求单个矿井能够实
现信息化,即每个矿井不能是一个单独的信息中心,
而是必须能够和矿务( 集团) 局的信息中心连接,使
得在矿务( 集团) 局的信息中心就能监测到矿井的运
行情况。本协议充分考虑了这一点,能够实现从矿务
This thesis offers a solution about connectivity between CAN bus and Ethernet on the basis of studies about them. And also control and management are unified. At the same time,this thesis standardizes the information of application layer and unifies the data format of a variety of monitoring equipment according to the characteristics of coal mine monitoring system. It is useful for the management layer on data processing. Key words: CAN bus; Ethernet; gateway; protocol conversion
比较典型的架构是以太网控制芯片 + 微处理器 + CAN 控制芯片,如图 2 所示。
图 2 网关架构
在 CAN 设备和以太网之间加入转换接口,来解 决 CAN 和以太网的信息共享问题。
2 煤矿应用层通讯协议及协议转换
2. 1 煤矿应用层通讯协议设计
目前,工业以太网的应用层没有统一的工业适用
的协议,即使各个监控系统都是基于工业以太网的,
以太网应用层数据向 CAN 数据帧转换时,将设 备的高 8bit 设备 ID 和低 8bit 设备 ID,写入 CAN 数据 帧的前两 个 字 节,数 据 的 前 两 个 字 节 参 加 滤 波,在 CAN 总线中用来识别设备。后面的 8bit 命令字、8bit 数据标识和 16bit 的数据写入数据的后 4 个字节。如 图 5 所示。