CAN总线在组合机床电控系统通信中的应用
● 波特率设置的编程
CAN总线的传输速率与两个节点之间最大距离有关,如表1所示。表中还同时给出了LF2407A的可编程位定时器的数值。这些值还与LF2407A的主时钟频率有关,表中的数值是在主时钟频率为16MHz下得到的,一般地可以按下面的公式计算位速率。
波特率=ICLK/[(BRP+1)+BitTime]
其中ICLK为DSP的系统频率,BRP由总线时序寄存器0(BTR0)决定。
BitTime=(TSEG1+1)+(TSEG2)+1
其中TSEG1和TSEG2由总线时序寄存器1(BTR1)决定。
● 帧结构设计
按照CAN2.0规范,CAN总线上传送的报文由3~11个字节组成,其中包含3个字节的控制字节和0~8个数据字节,见表2。
其中,方向位决定一半的优先级,而剩余的优先级由节点地址决定,低地址优先级为高。当方向位为“1”时,地址域是源节点地址(从节点到主节点),优先级由地址决定;当方向位为“0”时,地址域是目标节点地址(主节点到从节点),优先级由地址决定。类型的三个比特可以有多个取值,10×为单帧(广播),111为非结束多帧(广播),110为结束多帧(广播),00×为单帧(点对点),011为非结束多帧(点对点),010为结束多帧(点对点)。每帧字节数用五个比特表示。忙信号位表示主节点正在与某一从节点通信,如果有另外从节点提出与主节点通信的要求时,主节点就向此从节点发出忙反馈信号,通知此节点稍后再与主节点通信,否则,从节点会连续向主节点提出通信请求,如果一直未收到任何响应,此节点会发出报警信息,从而会造成通信系统的误操作。控制命令表示该帧所传送消息的具体意义,可对各个消息(如测量、调整、控制等)编码,实现模块间的信息交换以及对外界的安全保密。系统的软件
● 主控节点的确认
为了使连接在一起的组合机床电控单元模块能够协调工作,在所有入网的模块中动态地确立一个主模块。所有非主模块的数据基准取自主模块。为了适应模块热插拔的要求,并避免主模块故障导致系统的工作失常,主模块是动态确立的。每隔一定的时间间隔,各个模块都要广播一个“争主”请求,如果有已经确立的主模块,则主模块广播一个“反对”应答,禁止其他模块成为主模块;如果尚未确立主模块、或者已经确立的主模块因故障而不能发出“反对”应答,则发出“争主”请求的模块就可以成为新的主模块。利用多主竞争的原则,在某一主机失效的情况下,由其他从机竞争成为主模块,代替原有主机的地位,这样的机制可以保证整个系统不会因为一台通信主节点的瘫痪造成整个组合机床电控单元间通信系统的瘫痪。
● 监控主机的软件
用一台工控机作为监控机,通过适配卡与CAN连接。在监控机上用VB6.0编写监控的操作软件,并且把监控机作为局域网上的一台操作服务器,用户通过它可以对各个模块进行操作。
结束语
本文介绍了TI公司TMS320LF2407A芯片中内嵌CAN控制器的特点,并在其基础上把CAN总线技术应用在组合机床电控数据通信系统的设计与实现中,该系统主要采用了高性能的DSP芯片和适配卡,通过灵活的通信协议和接口的设计,使系统满足CAN总线短突发、高实时性、高数据率的要求。此系统还可以应用到其他工业控制领域,具有广泛的应用前景。
参考文献
1 靳自愚.RS-232接口方法与范例.海洋出版社.1992
2 童晓阳.基于CAN总线的分布式绝缘在线监测系统的设计与实现.电力系统自动化.2003.第27卷第1期
3 H.Kopetz, A Comparison of CAN and TIP, Annual Reviews in Control 24(2000)
4 楼少敏.基于零件工艺分析的可重组机床设计研究.浙江大学硕士学位论文.2000.6
5 Jose Luis Sevillano, Analysis of channel utilization for controller area networks,Computer Communications 21 (1998)
6 TMS320LF/LC240XA DSP Controllers Reference Guide System and Peripherals. Texas Instruments Inc.2002
评论