CAN总线使用总结
CAN 是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制 系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的 数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲已是汽车网络的标准协议。
CAN总线使用总结
一,can总线是由德国BOSCH公司提出,目的是为了解决汽车内部硬件信号线的复杂走线
二,CAN:controller area area:控制器局域网络
三,can总线的特点:
与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。
1,CAN为多主方式工作,网络上任一节均可在任意时刻主动向网络上其他节点发送信息,不分主从
2,CAN节节点只需通过对报文的标志符进行滤波就可以方便的实现点对点,点对多点及全局广播等
几种传送接收方式;
3,CAN总线采用非破坏总线仲裁技术。当发生冲突时,优先级低的节点自动退出发送,而优先级高
的节点可不受影响地继续传输数据,从而大大节省了总线冲突仲裁时间。尤其是在负载很重的情况下,也不
会出现瘫痪情况(以太网则可能)。
4,在报文标识符上,CAN上的节点分成不同的优先级,可满足不同的实时要求,优先级高的数据
最多可在134us内得到传输;
5,CAN的直接通信距离最远可达10KM(速率在5kbps以下),通信速率最高可达1Mbps,
(此时通信距离最长为40m);
6,CAN上的节点数主要取决于总线驱动电路,目前可达110个;
7,报文采用短帧结构,传输时间短,受干扰概率低,保证了数据出错率极低;
8,CAN的每帧信息都在CRC校验及其他检错措施,具有极好的检错效果;
9,CAN的通信介质为双绞线、同轴电缆或光纤,选择灵活;
10,CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响;
11,CAN总线具有较高的性价比。
四,can总线的系统构成及数据传输原理
(一),系统构成
1,CAN控制器:接收来自微控制器的数据,并处理发送给收发器,同时,也接收来自收发器的数据,处理传给微控制器。
2,CAN收发器:总线驱动
四,can总线的的通信协议
(一),网络层次结构
可分为三个层:目标层,传送层,物理层,如下图所示
物理层:规定了信号的传输过程中的电气特性(如传输方式及传输介质)及信号特性;
传送层:帧组织,总线仲裁,错误检测等;
目标层:信息识别,为应用层提供接口;
其上述分层按iso/osi也可以分为两层:物理层,数据链路层(即目标层和传送层)。
(二),位表达
CAN协议中有两种逻辑位表达方式
1.当总线线上发送的都是弱位时,总线的状态就是弱位(逻辑1);
2.当总线上有强位出现时,弱位信号让位于强位信号,即总线上显示强位信号(逻辑0);
(三),帧类型
1.数据帧:传送数据,携带数据从一个节点到另一个节点或多个节点,结构如下图(标准格式)所示。
数据帧由7种不同的位域组成:起始域,仲裁域,控制域,数据据域,CRC域,应答域,帧结束域。
起始域:表示数据帧或远程帧的开始,它由一个强位组成,主要用于接收状态下的CAN控制器的硬同
步。
仲裁域:由信息标志符及RTR位组成,当多个CAN控制器同时发送数据时,在仲裁域要进行面向位的
冲突仲裁。对于标准格式里,标志符由11位组成,用于提供信息地址和优先级,其发送的顺序为ID28~ID18
(注:高7位不允许均为弱的现象);对于扩展格式,仲裁域由11位的基本ID(ID28~ID18)和18位
的扩展ID(ID17~ID0)组成,格式与标准格式略有不同,详见书P25。RTR为:远地请求发
送位,数据帧里为显性,远程帧里为隐性。当can总线上接收节点想请求某节点发送数据时,就向网络上发
送一远程帧,用标志符指出节点地址,同时置RTR位为高。如果寻址节点立即发送数据,则使用相同的标
志符,总线不会产生冲突,因为此时数据帧的RTR位为低(数据强位)。在扩展帧里SRR位取代了RTR
位。
控制域:由6个位组成,包括2个保留位(IDE,ro)用于CAN协议扩展,4位数据长度码,允许数据的
长度值为0~8。
数据域:发送缓冲区按照长度码指示的数据长度进行发送,接收的数据同样如此,第一个字节的最高有
效
CAN总线使用总 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)