新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > CAN总线技术及其应用

CAN总线技术及其应用

作者:时间:2016-12-21来源:网络收藏

引言

本文引用地址:http://www.eepw.com.cn/article/201612/332320.htm

1986年德国最大的工业企业之一Rober Bosch公司首次提出了应用于汽车内各种传感器和执行器之间相互通信的CAN总线(Controller AreaNetwork)技术以来,以其可靠性、实时性和灵活性强的特点,得到了诸多汽车开发商的青睐。本文介绍了CAN总线的通信协议,分析了CAN总线控制器SJA1000和驱动器PCA82C250的内部结构和工作原理,主要阐述了术在智能小区门禁控制系统中的应用。

1 CAN总线的特点

1.1 CAN总线的位数值表示与通信距离

CAN总线协议是建立在国际标准组织的开放系统OSI 7层互连参考模型基础之上的。其模型结构只有3层,即只取OSI底层的物理层、数据链层和应用层,保证了节点间无差错的数据传输。

CAN总线上用“显性”(Dominant)和“隐性”(Recessive)两个互补的逻辑值表示“0”和“1”。如图1所示,VCNA-H和VCAN-L为CAN总线收发器与总线之间的两接口引脚,信号是以两线之间的“差分”电压形式出现。在隐性状态,VCNA—H和VCAN—L被固定在平均电压电平附近,Vdiff近似于0。显性位以大于最小阀值的差分电压表示。CAN总线的通信距离最远可达10Km(位速率为5 kbps),通信速率最快可达1Mbps(此时最长通信距离为40m)。

图1 CAN总线的位数值传输方式

1.2报文传输

CAN技术的报文传输为多主方式工作,网络上任意节点均可在任意时刻主动地向网络上其它节点发送信息,而不分主从。CAN节点只需通过对报文的标示符滤波即可实现点对点、一点对多点及全局广播等几种方式发送、接收数据。

CAN总线的数据传输(报文传输)采用帧格式。按帧格式的不同,分为含有11位标识符的标准帧和含有29位标识符的扩展帧。CAN总线的帧类型分为数据帧、远程帧、错误帧和过载帧。

1.3仲裁(Arbitration)

只要总线空闲,任何单元都可以开始发送报文。如果两个或两个以上节点同时开始传送报文,那么就会有总线访问冲突。通过使用标识符的逐位仲裁可以解决这个冲突。仲裁的机制确保了报文和时间均不损失。当具有相同标识符的数据帧和远程帧同时发送时,数据帧优先于远程帧。在仲裁期间,每一个发送器都对总线进行监测,如果发送和接收电平相同,则该节点可以继续发送报文。比如发送的是一“隐性”电平,而监视到的是一“显性”电平,那么这个节点就失去了仲裁,必须退出发送状态。

2 CAN总线控制器和驱动器

2.1 CAN总线控制器SJA1000的内部结构

CAN总线控制器主要保证数据链路层和物理层的通信质量。SJA1000是一种独立的CAN总线控制器。SJA1000的内部结构如图2所示。

图2 SJA1000内部结构图

各功能模块的作用如下:

接口管理逻辑(IML)负责解释来自CPU的命令,控制CAN寄存器的寻址,向主控制器(CPU)提供中断信息和状态信息。发送缓冲器(TXB)是CPU和位流处理器(BSP)之间的接口,负责存储发送到CAN总线上的一条完整的报文。发送缓冲器的长度为13个字节,由CPU写入、位流处理器读出。


上一页 1 2 3 下一页

关键词: CAN总线技

评论


技术专区

关闭