咨询电话

ENGLISH0755-88840386
您的位置:首页 > 学习专题 > 专业技术专题 > 工业自动化称重仪表>详情页

称重仪表的CAN总线设计

发布时间:2022-01-06 17:17:01 |来源:网络转载

随着国内煤炭、 冶金、 电力、 化工等行业的迅速发展, 对皮带秤、 配料秤、 料斗秤等多种工业计量装置及其联网系统的需求量日益增加。国内称重行业目前普遍采用 RS- 485 来实现信号的传输。随着对通信要求的提升, RS- 485 通信方式无完整的协议规约、 系统实时性差、 通讯可靠性低、 后期维护成本高、 传输距离不理想、 应用不灵活等缺点对监控网络的延伸、 功能强化、 应用环境都有很大的影响。而 CAN 总线作为到目前为止唯一具有国际标准的现场总线技术, 其数据通信具有突出的优点, 可靠性高、 实时性强和灵活性好, 应用前景非常乐观 [1 ] 。本文是基于智能称重仪表 XK3108 的 CAN 总线整体设计, 以满足大型工矿企业对配料称等多种仪表提出的具有现场总线接口功能的需要, 实现仪表与上位机设备的优化通信, 将企业中的皮带秤、 配料秤等多种计量衡器称重相关数据送入企业网, 实现远程数据采集和数据共享。
1  CAN 总线与 RS- 485 特点的比较
CAN 总线最早由德国 Bosch 公司推出, 由于其具有高性能、 高可靠性的优点及独特的设计, 因此其应用范围已向过程工业、 机械工业、 机器人、传感器等领域拓展。 CAN 已经形成国际标准 [2 ] , 并被公认为是几种最有前途的现场总线之一。 CAN 总线的优点为通信方式采用非破坏性仲裁技术,按优先级不同进行信号传输, 传输速率高, 距离远, 易于管理。 RS-485 虽比RS-232 在传输距离和抗干扰能力上有了长足的进步, 但它只能构成主从式结构系统, 通信方式也只能以主站轮询的方式进行, 没有自己的通信协议, 无故障定位和错误处理功能, 运行效率低, 高峰期易堵塞, 同时传输距离也同样受到限制。
2  CAN 总线协议
根据 ISO/OSI 参考模型, CAN 总线协议分层如下:
( 1 ) 数据链路层 ( Data Link Layer ) 。又分为逻辑链路控制子层 ( LLC,Logical Link Control ) 和介质访问控制子层 ( MAC,MediumAccess Control ) 。
逻辑链路控制子层 ( LLC ) 的作用是为远程数据请求以及数据传输提供服务, 主要完成报文滤波、 过载通知以及恢复管理等工作。介质访问控制子层 ( MAC ) 的作用主要是传送规则, 控制帧的结构、 执行仲裁、 错误检验、 错误标定、 故障界定。
( 2 ) 物理层 ( Physical Layer ) 。 物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输, 涉及到位时间、 位编码、 同步的解释。
CAN 总线提供 4 种帧结构进行报文传输 [3 ] , 它们分别为带有应用数据的数据帧、 向网络请求数据的远程帧、 能够报告每个节点错误的出错帧以及如果节点的接收器电路尚未准备好就会延迟传输的过载帧。在这4 种帧中, 又可以将一帧分为几个部分, 每一部分负责不同的功能。
3 系统硬件设计
系统主要由国家重点新产品 XK3108 配料秤智能称重仪表 ( 带 CAN控制器) 、 皮带秤智能称重仪表 ( 带 CAN 控制器) 、 CAN 总线、 上位机 ( 配有 CAN 适配器) 以及远程管理计算机组成。各称重仪表通过 CAN 总线将瞬时流量、 累计流量、 皮带速度等相关数据送入上位机, 实现对现场仪表进行集中管理, 同时可由以太网进行远程数据共享, 将相关数据送入管理层计算机。
微控制器选用美国模拟器件公司 ( ADI ) 的 ADuC845 , 该芯片集成ADI 公司精密数据转换器、 可编程微控制器 ( MCU ) 和闪速存储器, 它是一个快速可编程的 8 位单片机 [4 ] , 具有灵活的在线编程功能。 ADuC845具有看门狗电路、 电源监视等功能, 因此该系统可以在强电磁干扰、 波动以及恶劣的环境下正常工作。微处理器 ADuC845 对 SJA1000 进行初始化后实现数据采集和数据传输。 CAN 控制器选用具有访问优先权的独立控制芯片 SJA1000 , 它是 Philips 公司生产的高度集成的通信控制器, 具有较强的抗干扰能力和检错、 纠错的能力, 在 SJA1000 硬件结构中, 包括为实现高性能串行网络通信所必需的所有硬件。 CAN 收发器选用 Philips公司的 TJA1050 , 此芯片完全符合 ISO11898 标准, 能提供向总线差动发送能力和对 CAN 控制器的差动接收能力, 电磁抗干扰能力极强, 电磁辐射极低。为了增强 CAN 总线节点的抗干扰能力, SJA1000 的 TX0 和 RX0并不是直接与 TJA1050 的 TXD 和 RXD 相连 , 而是通过高速光耦 6N137后与 TJA1050 相连, 这样就很好地实现了总线上各 CAN 节点间的电气隔离, 光耦部分由两个电源分别供电来实现电气的完全隔离。 CANH 和CANL 与地之间并联了两个 C103 的小电容 , 可以起到滤除总线上的高频干扰和一定的防电磁辐射的作用。
4  CAN 总线软件程序设计
CAN 总线软件程序设计主要包括主程序 ( 系统初始化、 任务调度、 喂狗等) 、 SJAI000 初始化程序、 CAN 总线发送数据程序和 CAN 总线接收数据程序。 SJAI000 在复位模式下完成初始化, 主要设置工作方式、 接收滤波方式、 接收屏蔽寄存器 AMR 和接收代码寄存器 ACR 、 波特率参数和中断允许寄存器等。
SJA1000 初始化程序设置如下:
CANMOD=0x1; // 接收中断和复位请求
CANCDR=0x8; // 选择 CAN 模式
CANAMR=0xff; // 接收屏蔽寄存器
CANACR=0x01; // 接收代码寄存器
CANBTR0=0x09; // 设置波特率
CANBTR1=0x1c; // 定时寄存器 1
CANOCR=0xaa; // 输出控制寄存器
CANMOD=0x02 ; // 设置单滤波接收方式
CANCMR=0x0e;
5 结语
通过实验得出 CAN 总线比 RS- 485 总线通信有明显的优越性, 上位机处理事件更及时, 单个模块出错不能影响到整个系统, 抗干扰性能也提高了许多。因此, CAN 总线有很好的推广价值, 采用 CAN 总线技术的数据采集系统, 以其通信可靠、 抗干扰性好、 传输距离远的特点, 越来越受到人们的重视。

 

本文源于网络转载,如有侵权,请联系删除

分享到