CAN总线学习系列之五——CAN协议简单介绍
时间:12-14
来源:互联网
点击:
硬件设计好了,在进行软件编程之前我们最好对CAN总线的协议有个了解。
一报文传送由以下四种帧类型
1数据帧:数据帧携带数据从发送器至接收器。
2远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。
3错误帧:任何单元检测到一总线错误时就发送错误帧。
4超载帧: 用来在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。
二帧格式介绍
1数据帧
数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。
2远程帧
远程帧由6个不同的位场组成,即帧起始、仲裁场、控制场、CRC场、应答场、帧结束。
3错误帧
错误帧由两个不同的场组成。第一个场是错误标志,用做为不同站提供错误标志的叠加;第二个场是错误界定符。
4超载帧
超载帧包括两个位场:超载标志和超载界定符。
三帧格式中重点部分介绍
1帧起始
帧起始标志数据帧和远程帧的起始,由一个单独的“显性”位组成。由控制芯片完成。
2仲裁场
仲裁场包括标识符和远程发送请求位(RTR)。
对于CAN2.0A标准,标识符的长度为11位。RTR位在数据帧中必须是显性位,而在远程帧必须为隐性位。
对于CAN2.0,标准格式和扩展格式的仲裁场不同。在标准格式中,仲裁场由11位标识符和远程发送请求位组成。在扩展格式中,仲裁场由29位标识符和替代远程请求位(SRR)、标志位(IDE)和远程发送请求位组成。
仲裁场的作用之一是说明数据帧或远程帧发送目的地;之二是指出数据帧或远程帧。仲裁场的数据由软件编程配置SJA1000完成。
3 控制场
控制场由6个位组成,说明数据帧中有效数据的长度。控制场的数据由软件编程配置SJA1000完成。
4数据场
数据场由数据帧中的发送数据组成。它可以为0~8个字节。数据场的数据由软件编程配置SJA1000完成。
5CRC场
CRC场包括CRC序列,这部分由SJA1000控制芯片完成。
6应答场
应答场长度为两个位,包括应答间隙和应答界定符。由SJA1000控制芯片自动完成。
7 帧结束
每一个数据帧和远程帧均由一标志序列界定,这个标志序列由7个“隐性”位组成。这部分由SJA1000控制芯片自动完成。
总之,仲裁场、控制场、数据场由软件编程配置SJA1000完成;帧起始、CRC场、应答场、帧结束由CAN总线控制芯片SJA1000自动完成。
其中要重点理解的就是数据帧和远程帧以及组成帧的重要部分。所以初学者首先把这两种帧格式掌握了,学习CAN总线应该就可以入门了。
一报文传送由以下四种帧类型
1数据帧:数据帧携带数据从发送器至接收器。
2远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。
3错误帧:任何单元检测到一总线错误时就发送错误帧。
4超载帧: 用来在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。
二帧格式介绍
1数据帧
数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。
2远程帧
远程帧由6个不同的位场组成,即帧起始、仲裁场、控制场、CRC场、应答场、帧结束。
3错误帧
错误帧由两个不同的场组成。第一个场是错误标志,用做为不同站提供错误标志的叠加;第二个场是错误界定符。
4超载帧
超载帧包括两个位场:超载标志和超载界定符。
三帧格式中重点部分介绍
1帧起始
帧起始标志数据帧和远程帧的起始,由一个单独的“显性”位组成。由控制芯片完成。
2仲裁场
仲裁场包括标识符和远程发送请求位(RTR)。
对于CAN2.0A标准,标识符的长度为11位。RTR位在数据帧中必须是显性位,而在远程帧必须为隐性位。
对于CAN2.0,标准格式和扩展格式的仲裁场不同。在标准格式中,仲裁场由11位标识符和远程发送请求位组成。在扩展格式中,仲裁场由29位标识符和替代远程请求位(SRR)、标志位(IDE)和远程发送请求位组成。
仲裁场的作用之一是说明数据帧或远程帧发送目的地;之二是指出数据帧或远程帧。仲裁场的数据由软件编程配置SJA1000完成。
3 控制场
控制场由6个位组成,说明数据帧中有效数据的长度。控制场的数据由软件编程配置SJA1000完成。
4数据场
数据场由数据帧中的发送数据组成。它可以为0~8个字节。数据场的数据由软件编程配置SJA1000完成。
5CRC场
CRC场包括CRC序列,这部分由SJA1000控制芯片完成。
6应答场
应答场长度为两个位,包括应答间隙和应答界定符。由SJA1000控制芯片自动完成。
7 帧结束
每一个数据帧和远程帧均由一标志序列界定,这个标志序列由7个“隐性”位组成。这部分由SJA1000控制芯片自动完成。
总之,仲裁场、控制场、数据场由软件编程配置SJA1000完成;帧起始、CRC场、应答场、帧结束由CAN总线控制芯片SJA1000自动完成。
其中要重点理解的就是数据帧和远程帧以及组成帧的重要部分。所以初学者首先把这两种帧格式掌握了,学习CAN总线应该就可以入门了。
CAN总线CAN协 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)