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