中文摘要:
CAN作为一种可靠性高、价格低廉、技术成熟、实现简单的现场总线技术在众多领域得到了广泛的应用。本文以智能I/O站点的设计为例介绍了CAN总线技术在数控系统中的应用。
英文摘要: CAN is a kind of excellent field bus with high reliability,
low cost, and have been applied in many fields. In this
paper, it will be introduced that CAN bus technology is used in
CNC system with a example of designing an intelligent I/O station.
前言
CAN[(1] Control Area Network)即控制器局域网,
最早由德国BOSCH 公司推出,用于汽车内部测量与
执行部件之间的数据通信。由于CAN 本身的特点,其
应用范围不再局限于汽车行业,而向过程工业、机械
工业、纺织机械、农用机械、机器人、数控机床、医疗器
械及传感器等领域发展。作者曾参与某公司新一代数
控系统的设计,并负责其中通讯系统的设计,选用的
就是CAN 总线。本文就是根据作者的研究成果谈谈基
于CAN 总线的
智能I/O 站点的设计。
2 CAN 总线终端及网络拓扑结构
CAN 总线系统智能I/O 站点电路设计
本智能节点中的
微处理器选用89S52,而在CAN
总线通信接口中,CAN 通信控制器选用
SJA1000,CAN
总线驱动器采用TJA1040。由图3,CAN 总线系统智能
I/O 站点硬件原理图可以看出,电路主要由六部分组
成:微控制器89S52、独立CAN 控制器、电气隔离器件
6N137、CAN 总线驱动器TJA1040、输出模块和输入模
块。
微处理器89S52 负责向输出模块打出要输出的数
据,对输入模块的输入点进行扫描输入,以及初始化
SJA1000,并通过控制
SJA1000 实现数据的接收和发
送等通信任务。
软件设计
CAN 总线
智能I/O 站点的软件设计主要包括六大
部分:89S52 初始化、CAN 控制器初始化、报文发送、报
文接收、对输出点的输出访问和输入点的扫描输入。
程序流程如图4 所示。
SJA1000 初始化只有在复位模
式下才能进行,初始化主要包括工作方式的设置、接
收滤波方式的设置、接收屏蔽寄存器( AMR)和接收代
码寄存器( ACR)的设置、波特率设置和中断允许寄存
器( IER)的设置等。
SJA1000 在完成初始化后就可以回
到工作状态进行正常的通信任务了。然后再开启
89S52 的中断允许,使得CAN 控制器可通过中断的方
式让89S52 对新信息进行实时的处理。由于选用的是
ATMEL 公司的89S52,其本身带有看门狗计时器。可
通过向看门狗寄存器依次写入0E1H 和01EH 来启动
看门狗计时器,并定时清空它,这可以有效的防止程
序跑飞。
5 结束语
CAN
总线技术在众多领域里得到了越来越广泛
的应用,被公认为是几种最有前途的
现场总线之一。
本文设计的基于CAN 总线的
智能I/O 站点就是为了
建立一种全分散、全数字化、智能、双向、多站点的通
讯系统,并已成功的应用于某公司新一代的数控系统
中,效果良好。相信,基于现场
总线技术的智能控制系
统在加工制造业中将有很好的发展前景。
CAN 总线与89S52单片机接口电路