来源:中国知网更新时间:2019-08-28 13:55:27点击次数:8364次
引言
CAN 总线是一种现场总线,由 某 公司于1986 年正式推出。CAN 总线最早应用于汽车上,凭借着快速、可靠、高效的特点,CAN 总线的应用很快便拓展到过程控制、工业机械、纺织机械、轨道交通、船舶等领域 [1] ,并在相应领域诞生了各具特色的应用标准。相较于传统的 RS485 串口通信,CAN 有着如下显著特征:
● 多主通信,非破坏性仲裁;
● 速率高达 1M bps,实时性好;
● 错误处理和检错机制可靠;
● 短帧结构 (单个报文可携带 8 字节数据),可实施复杂的数据加密策略;
● 严重错误情况下,故障节点自动关闭,不影响其他节点通信。
CAN 是一种开放性的现场总线,其本身只定义了数据链路层和部分物理层内容,允许用户更大程度的去开发或定义自己的通信应用。笔者通过深入了解称重行业的实际需求及国内外的发展动向,开发了一款集成了 CANopen 协议和自定义CAN 协议 (以下简称 KLink 协议) 的称重仪表,其中 CANopen 协议用于连接仪表和 PC (或 PLC等),其协议栈完全符合 CiA DS301 规范;而KLink 协议则用于连接仪表和数字传感器,缺省状态下,该协议运行于 125kbps波特率,可连接多达16 个的传感器,通信距离达 200 米。
1 国内外称重行业 C AN 总线应用情况
CAN 是当前唯一入选 ISO 标准的现场总线 [2] ,在国内外众多领域中得到广泛应用。在称重行业,国外有很多厂家或组织对其展开了研究,并将其应用到相关称重产品中去,其中较为知名的是 CiA(CAN in Autom ation) 协会发布的 CiA DSP459、CiADSP461 设备描述文件。CiA 这两份有关称重系统的 CANopen 设备描述文件,对于建立统一的称重设备通信接口,实现不同厂家 CANopen 设备的互联互通有着重要意义。这两份协议中,CiA DSP459 定义了车载称重设备的 CANopen 应用,其中包含了一般要求、通信参数规范、应用参数规范等内容,主要用于卡车、非道路车辆,如叉车、垃圾收运车;而 CiA
DSP461 则定义了常规称重设备的 CANopen 应用,其中包含数据加密、仪表及传感器设备描述文件
等,主要用于衡器,如贸易用称重设备。
但在国内,由于技术引入较晚,且相对集中于车辆、工业机械等行业,CAN 总线并不为称重行业所熟悉,相应的 CAN 总线称重仪表也并不多见。
2 CAN 接口电路设计
仪表的 CAN 接口电路起着连接 CAN 总线网络和 CAN 控制器的作用,它是实现 CAN 数据收发的关键。
本设计中 CAN 收发器采用某公司的 SN65H VD251。该收发器符合 ISO11898-2 标准,能以高达1M bps的速率实现 CAN 数据的差分发送和接收。SN65H VD251 收发器有 8 个引脚,如图 1 所示,其中 D 连接到 CAN 控制器的 TX 引脚、R 连接到CAN 控制器的 RX 引脚、Rs用于设定收发器工作模式 (斜率、高速)。
为减少信号跳变沿的谐波成分,收发器的 RS引脚通过 10KΩ 电阻接地,从而实现收发器的斜率控制。
由于称重仪表使用环境的多样性,在设计CAN 接口电路时,要特别注意接口的浪涌保护。本设计中采用了由气体放电管、TVS、热敏电阻等组成的二级浪涌保护电路如图 2 所示。在后期的试验中,该电路通过了 8KV 的静电放电实验以及3KV 的雷击浪涌实验,这表明该电路能对 CAN 接口提供有效保护。此外,若传输距离较远,CAN 接口电路还应采用相关隔离保护手段。
CAN 接口电路中的浪涌保护和信号隔离电路,会对波形质量或传输延时有所影响,设计时应选择结电容小的浪涌保护器件、传输延时小的隔离器件。
3 CAN open 协议设计
在本设计中,CANopen 协议是仪表同 PC 或PLC 等上位机进行通信的协议。该协议的设计完全符合 CiA DS301 规范,支持基于 LSS 服务的节点号或波特率更改。
在实际的工控或车载使用中,CANopen 称重仪表往往作为从站运行,故本设计中将仪表设计为CANopen 从站。作为 CANopen 从站的仪表,其状态运转如图 3 所示完全受控于主站的 NM T 指令。
CANopen 协议有多种通信对象[3] ,如 NM T、SDO、PDO、EM CY 等,对应不同的 NM T 状态,从站可提供的通信对象是不同的 (见图 3 中各状态框)。在确定采用何种通信对象时,必须综合分析所要传输信息的性质及通信需求。在本仪表的设计中,称重仪表的重量信息 (皮重、毛重、净重等) 作为过程数据,以 PDO 的形式进行通信;而其他配置信息或功能设定信息,则采用需确认的 SDO 进行通信。其中,PDO 采用发送类型为255 的异步发送,以 TPDO1 为例,其通信参数如表 1 所示。
CANopen 协议栈的核心是对象字典,应用程序和 CANopen 协议栈以此为中心进行数据的交换。对象字典的设计严格遵循 CiA DS301 及 CiA DS306协议。根据称重仪表数据传输的实际需求,在可使用的范围内,本设计将对象字典索引区间进行了划分如表 2 所示。
4 KLink 应用协议设计
KLink 协议是仪表和传感器间的 CAN 通信协议。KLink 协议采用主从结构,其中仪表作为通信主站,负责发起通信并监控网络运行状态;而传感器则作为通信从站,不主动发起任何通信,仅响应主站的请求。
仪表和传感器之间传输的数据主要有重量信息和各种配置、标定、状态信息,它们有着如下
特点:
a) 重量信息需要持续传送,要求具备最高的传输优先级;
b) 配置、标定、状态信息只在特定条件下才会访问,且需要回应;
c) 配置、标定、状态信息与具体传感器息息相关;
d) 信息需要加密传输;
e) 信息传输要求高的实时性。
结合上述信息传输的特点,KLink 协议采用了两种通信模型:点对点通信 (如图 4 所示)、广播通信 (如图 5 所示)。设计通信协议的时候,根据通信对象的属性,如读写、存储、加密、校验等,为每种通信对象指定了具体的通信模型和通信服务。对于需频繁传输的重量数据,应支持主从广播通信;同时,为方便特定条件下的使用,也应支持主从点对点通信。
试验表明,在连接 16 个传感器,波特率设定为 125kbps的情况下,KLink 协议可实现对重量数据 57H z 的高速读取。该读取频率与网络节点数量、波特率相关,在传感器数量减少或波特率提高的情况下,读取速度还会有更大提升。
5 总结
结合 CAN 总线的一系列特点,笔者全新开发了一款 CAN 总线称重仪表,并在仔细分析称重仪表数据传输需求的基础上设计了其通信协议。相较于传统 RS485 接口的仪表,该仪表在速度、加密传输等方面都显示了其显著优势。
目前,前述研发成果已应用在多款带 CAN 接口的物联网及工控仪表中,如 D39-W -CAN 如图 6所示、KL3101-D2+C、KL3101-D2+C(CANopen)。凭借优异的防作弊性能和高可靠性,该系列仪表在市场上已得到众多终端用户的青睐。
CAN 总线在极度重视安全性、可靠性的汽车行业应用多年,并在工控等领域得以持续发展,其高速、可靠的特性完全胜任称重仪表的数字传输需要,在未来的称重行业必将有着广阔的应用空间。
摘于中国知网,如有侵权请联系删除
×