新闻中心

EEPW首页>嵌入式系统>设计应用> CAN总线的通信应用系统设计

CAN总线的通信应用系统设计

作者: 时间:2012-12-10 来源:网络 收藏

2 系统软件设计
  在使用CAN控制器之前首先必须对它的内部寄存器进行,包括相关I/O口,位定时器的设置以及邮箱的相关配置。着重介绍在所有相关的寄存器都配置好之后,如何能使CAN正常工作。其中具体介绍正常通讯的条件。
  2.1 I/O口配置;由于CAN通讯所用到的两个引脚CANTX和CANRX均为复用I/O口,因此进行CAN通讯软件编程的第一步即为正确配置这两个I/O口。
  2.2初始化位定时器: 位定时器主要是由BCR1和BCR2两个寄存器组成,包括了CAN
控制器的通讯波特率,同步跳转宽度,采样次数和重同步方式。图3列出了位定时器的配置流程图。
  2.3 初始化邮箱:邮箱初始化主要是设置邮箱的标识符,控制域(即发送的是远程帧还是数据帧)以及对相应的邮箱赋初值。图4列出了邮箱初始化的配置流程图。


  2.4 数据的发送与接收:当完成以上三步之后,接着就实现对数据的发送与接收请求。数据接收时,所接收到的信息的标识符必须与相应的接收邮箱的标识符相同才能被接收,否则该信息将被滤除掉。这里数据的发送与接收请求均采用标志位查询方式。图5和图6分别列出了数据的发送与接收请求的配置流程图。


  2.5正常通讯的条件:当完成以上所有的设置和请求以后,其实还是不能使工作,若要使CAN总线正常通讯,必须要使所有的接点同时激活总线。因为根据CAN 协议,CAN总线信号使用差分电压传送,两条信号线被称为“CAN_H”和“CAN_L”,静态时均是2.5V左右,此时状态表示为逻辑“1”,也可以叫做“隐性”。用CAN_H比CAN_L高表示逻辑“0”,称为“显形”,此时,通常电压值为:CAN_H = 3.5V 和CAN_L = 1.5V。而在CAN总线中传送的数据帧由7个不同的位场组成,其中有一个位场叫做应答场。应答场长度为2 个位,包含应答间隙和应答界定符,在应答场里,发送站发送两个“隐性”位。当接收器正确地接收到有效的报文,接收器就会在应答间隙期间向发送器发送一“显性”的位以示应答。因此连在CAN总线上的所有接点都必须对总线进行发送请求(不论该接点只管接收还是只管发送),即同时激活总线,使各自节点都能对相对应的发送器进行应答,以确认对方以存在总线上,并随时准备发送或接收数据。只要把这点设置好,CAN总线就可以正常地工作。
  以上是CAN总线的基本接收和发送功能,此外LF2407内嵌的CAN模块还能实现远程帧请求和自动远程帧回应功能,它对于远程控制数据传送很有用。而远程帧的发送和数据帧相类似,只是要设置邮箱2和3为发送邮箱并且远程帧中没有数据。另外CAN模块还配置有自测试模式来测试程序能否正确运行,这对初学者熟悉相关的CAN寄存器设置也很有帮助。

四 结束语
  由CAN 总线构成网络中,理论上可以挂接无数个节点。但在实际应用中,节点数目受网络硬件的电气特性所限制。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。而LF2407内嵌的CAN模块也使到硬件电路设计更为简单。以上系统已经实际调试通过,并可跟据不同的需求作扩展。

参考文献
1 TMS320LF240X DSP结构原理及应用 刘和平 北京航空航天大学出版社
2 现场总线CAN原理和应用技术 邬宽明 北京航空航天大学出版社
3 广州周立功单片机发展有限公司网站资料. 
4 现场总线技术及其应用 杨宪惠 清华大学出版社

作者简介:
暨绵浩 男 1979年生
1998-2002 广东工业大学自动化专业获学士学位
2003-2006 广东工业大学自动化硕士研究生 研究方向:电力电子计术与数字信号处理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭