论文部分内容阅读
摘要:简要介绍了CAN总线,分析了CAN控制器在at90can128中的基本原理特点,并给出了CAN总线的初始化关键代码,分析并指出C语言的发送消息功能代码描述。最后给出了CPU外围收发器TJA1050的硬件连接原理图
中图分类号:TP276
文章标识码:B
关键词:CAN总线,AVR,at90can128,CAN总线收发器
前言
现场总线是当前工业总线领域中最活跃的一个领域, CAN总线是工业数据总线领域重要的现场总线之一.CAN是Controller Area Network 的缩写,是国际标准化的串行通信协议。在当今的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为减少线束的数量、通过多个LAN进行大量数据的高速通信,1986年德国电气商博世公司开发出面向汽车的CAN 通信协议。而今CAN在欧洲已是汽车网络的标准协议。CAN的初衷是为了解决汽车里多种复杂数据的通信,而后来证实在很多工业领域也能应用自如。
CAN总线特性及当今状况
CAN总线与其他通讯网络的不同之处在于:报文传送中不包括目标地址,以全网广播为基础,各接收站根据报文中反映数据的性质的标识符过滤报文;强化了对数据安全性的关注,满足控制系统较高的数据需求。它具有如下显著特征:极高的总线利用率、低成本、高速的数据传输速率、远距离传输、可靠的错误处理和检错机制、可根据报文的ID决定接收或屏蔽该报文、节点在错误严重的情况下具有自动退出总线的功能等等。
CAN总线所需的完善的通信协议可由CAN控制器芯片和接口芯片实现,大大降低了系统的开发难度、组成成本、缩短了开发周期, 其高性能高可靠性以及灵活的设计受到人们的重视应用越来越广泛.目前比较流行的控制器芯片是飞利浦公司的SJA1000和收发器芯片TJA1050.
由于近几年来CAN总线技术逐步在我国推广开来, CAN总线技术的独特特点—-传输数据的可靠性和实时性,已获得国际自动化控制领域的认可,其应用前景十分光明,国内推动CAN总线技术进步的应用事例不断扩展,积极促进了我国自动化技术的进步。由于CAN总线本身的特点,其应用范围己经扩展到过程工业、机械工业、数控机床、医疗机械、家用电器及传感器等领域,而在电梯控制系统中,主板需要接收不同楼层呼梯、轿厢里呼梯、调整电梯运行参数等多路的信号,CAN总线的优势明显。
集成CAN控制器ARM微处理器
CAN总线基于一组严格的协议,一般来说在主CPU外接一个专用CAN控制器以实现。由于近年来微处理器的迅速发展,出现了很多功能强大的集成CAN控制器的CPU,使得在CAN总线应用上又简便了一些。而在价格上,集成CAN总线的微处理器和一般处理器加上专用CAN控制器芯片的價格相当,所以,集成CAN总线的微处理器必然要成为以后CAN总线应用的趋势。NXP公司生产的ARM结构LPC2294就是其中一款流行的带CAN总线控制器的CPU,它是基于一个支持实时仿真和跟踪的32 位ARM7TDMI-S CPU 的微控制器,并带有256k 字节嵌入的高速Flash 存储器。极低的功耗、多个32 位定时器、8路10位ADC、4路CAN以及多达9 个外部中断使它们特别适用于工业控制,因此,LPC2294作为电梯控制系统的主控制器。
其中IDT是标识符字段,IDE是标识符扩展使能选择,RTRTAG是远程传输请求,DLC是数据长度代码,RBnTAG是保留字段(n=0,1),MSG是指向相应MOB的CAN数据。当MOB的发送指令执行后,MOB就会准备发送一个数据或者是一个远程帧。接着,CAN通道就会扫描各个MOB,寻找到优先级最高的MOB,将其发送出去。当传送成功后,MOB状态寄存器CANSTMOB中的TXOK位就会置位。而最重要的是,对于每一次新的数据传输都必须重新对相关寄存器初始化,否则无法正常工作。
接收消息之前所要做的初始化步骤基本相同,只是多了IDMSK,IDEMSK标识符掩码的设置。以下就给出基于AVR at90can128CAN总线接口初始化以及发送、接收功能模块的关键代码及注解。
接收模块代码是类似的,设计思路都是在判断发送允许标志之后,如果允许,就将数据装入到指定的MOB中,而每个MOB一次发送周期一共可以发送8byte的数据。而CAN总线的另一端是NXP公司的LPC2294的CAN总线外围,其结构和原理都差不多,当然,在寄存器设置中会有一点差别,但只要两个CPU约定好数据帧的标识符编号是什么,传输速率相同,就可以进行数据交换了。由于边幅有限,LPC2294的CAN接口的设置在此就不作介绍了。
图中CAN收发器为NXP公司的TJA1050,TXD和RXD分别连接到CPU的CAN接口,CANL和CANH则为与另一个CPU连接的总线,CANL和CANH之间电阻值约为120欧姆,开关S可以作为CAN总线的硬件启用开关。另外,如果在抗干扰要求高的场合,可以对TXD和RXD使用光电隔离。
结语
基于at90can128的CAN总线模块设计的电梯系统调试器,经过长时间的检验,使用良好,通信正常无误。在众多的现场总线当中,CAN总线凭借其优秀的特性已经为越来越多的工程人员的认同和偏爱,而随着越来越多的高端CPU对CAN控制器的集成和综合成本的下降,CAN总线的使用必定会越来越的普遍,其中集成CAN控制器的8位AVR也会受到越来越多人的青睐。
参考文献
[1] 邬宽明.CAN总线原理与应用系统设计[M],北京航空航天大学,2002
[2] 杜尚丰,曹晓钟,徐津.CAN总线测控技术及其应用[M].电子工业出版社,2007
[3] 瑞萨科技,CAN入门书[J/OL].2006
中图分类号:TP276
文章标识码:B
关键词:CAN总线,AVR,at90can128,CAN总线收发器
前言
现场总线是当前工业总线领域中最活跃的一个领域, CAN总线是工业数据总线领域重要的现场总线之一.CAN是Controller Area Network 的缩写,是国际标准化的串行通信协议。在当今的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为减少线束的数量、通过多个LAN进行大量数据的高速通信,1986年德国电气商博世公司开发出面向汽车的CAN 通信协议。而今CAN在欧洲已是汽车网络的标准协议。CAN的初衷是为了解决汽车里多种复杂数据的通信,而后来证实在很多工业领域也能应用自如。
CAN总线特性及当今状况
CAN总线与其他通讯网络的不同之处在于:报文传送中不包括目标地址,以全网广播为基础,各接收站根据报文中反映数据的性质的标识符过滤报文;强化了对数据安全性的关注,满足控制系统较高的数据需求。它具有如下显著特征:极高的总线利用率、低成本、高速的数据传输速率、远距离传输、可靠的错误处理和检错机制、可根据报文的ID决定接收或屏蔽该报文、节点在错误严重的情况下具有自动退出总线的功能等等。
CAN总线所需的完善的通信协议可由CAN控制器芯片和接口芯片实现,大大降低了系统的开发难度、组成成本、缩短了开发周期, 其高性能高可靠性以及灵活的设计受到人们的重视应用越来越广泛.目前比较流行的控制器芯片是飞利浦公司的SJA1000和收发器芯片TJA1050.
由于近几年来CAN总线技术逐步在我国推广开来, CAN总线技术的独特特点—-传输数据的可靠性和实时性,已获得国际自动化控制领域的认可,其应用前景十分光明,国内推动CAN总线技术进步的应用事例不断扩展,积极促进了我国自动化技术的进步。由于CAN总线本身的特点,其应用范围己经扩展到过程工业、机械工业、数控机床、医疗机械、家用电器及传感器等领域,而在电梯控制系统中,主板需要接收不同楼层呼梯、轿厢里呼梯、调整电梯运行参数等多路的信号,CAN总线的优势明显。
集成CAN控制器ARM微处理器
CAN总线基于一组严格的协议,一般来说在主CPU外接一个专用CAN控制器以实现。由于近年来微处理器的迅速发展,出现了很多功能强大的集成CAN控制器的CPU,使得在CAN总线应用上又简便了一些。而在价格上,集成CAN总线的微处理器和一般处理器加上专用CAN控制器芯片的價格相当,所以,集成CAN总线的微处理器必然要成为以后CAN总线应用的趋势。NXP公司生产的ARM结构LPC2294就是其中一款流行的带CAN总线控制器的CPU,它是基于一个支持实时仿真和跟踪的32 位ARM7TDMI-S CPU 的微控制器,并带有256k 字节嵌入的高速Flash 存储器。极低的功耗、多个32 位定时器、8路10位ADC、4路CAN以及多达9 个外部中断使它们特别适用于工业控制,因此,LPC2294作为电梯控制系统的主控制器。
其中IDT是标识符字段,IDE是标识符扩展使能选择,RTRTAG是远程传输请求,DLC是数据长度代码,RBnTAG是保留字段(n=0,1),MSG是指向相应MOB的CAN数据。当MOB的发送指令执行后,MOB就会准备发送一个数据或者是一个远程帧。接着,CAN通道就会扫描各个MOB,寻找到优先级最高的MOB,将其发送出去。当传送成功后,MOB状态寄存器CANSTMOB中的TXOK位就会置位。而最重要的是,对于每一次新的数据传输都必须重新对相关寄存器初始化,否则无法正常工作。
接收消息之前所要做的初始化步骤基本相同,只是多了IDMSK,IDEMSK标识符掩码的设置。以下就给出基于AVR at90can128CAN总线接口初始化以及发送、接收功能模块的关键代码及注解。
接收模块代码是类似的,设计思路都是在判断发送允许标志之后,如果允许,就将数据装入到指定的MOB中,而每个MOB一次发送周期一共可以发送8byte的数据。而CAN总线的另一端是NXP公司的LPC2294的CAN总线外围,其结构和原理都差不多,当然,在寄存器设置中会有一点差别,但只要两个CPU约定好数据帧的标识符编号是什么,传输速率相同,就可以进行数据交换了。由于边幅有限,LPC2294的CAN接口的设置在此就不作介绍了。
图中CAN收发器为NXP公司的TJA1050,TXD和RXD分别连接到CPU的CAN接口,CANL和CANH则为与另一个CPU连接的总线,CANL和CANH之间电阻值约为120欧姆,开关S可以作为CAN总线的硬件启用开关。另外,如果在抗干扰要求高的场合,可以对TXD和RXD使用光电隔离。
结语
基于at90can128的CAN总线模块设计的电梯系统调试器,经过长时间的检验,使用良好,通信正常无误。在众多的现场总线当中,CAN总线凭借其优秀的特性已经为越来越多的工程人员的认同和偏爱,而随着越来越多的高端CPU对CAN控制器的集成和综合成本的下降,CAN总线的使用必定会越来越的普遍,其中集成CAN控制器的8位AVR也会受到越来越多人的青睐。
参考文献
[1] 邬宽明.CAN总线原理与应用系统设计[M],北京航空航天大学,2002
[2] 杜尚丰,曹晓钟,徐津.CAN总线测控技术及其应用[M].电子工业出版社,2007
[3] 瑞萨科技,CAN入门书[J/OL].2006