一、CAN总线的技术规范
1、CAN节点的分层结构
(1)数据链路层
uLLC子层的主要功能是:为数据传送和远程数据请求提供服务,确认由MAC子层接收的报文实际已被接收和为恢复管理和通知超载提供信息。LLC子层的主要功能是报文过滤、超载通知和恢复管理。
uMAC子层的功能主要是:传送协议,亦即控制成帧、执行仲裁、错误检测、错误标注和故障界定。MAC子层是CAN协议的核心。它把接收到的报文呈现给LLC,并接收来自LLC的报文以便发送。MAC子层由称为故障界定的一个管理实体监控。它具有识别永久性故障或短暂扰动的自检机制。
(2)物理层
u物理层的范围是有关全部电气特性的不同节点间的位的实际传送。在一个网络内,物理层所有节点必须是相同的。然而,在选择物理层时存在很大的灵活性。
u物理层定义信号怎样进行发送,因而涉及位定时、位编码和同步的描述。在这部分技术规范中未定义物理层的驱动器/接收器特性,以便允许根据它们的应用,对发送媒体和信号电平进行优化。
2、报文传送及其帧类型
u接收器/发送器Ø发出一个报文的单元称为该报文的发送器。Ø若一个单元不是某个报文的发送器,并且总线不处于空闲状态,则称该单元为该报文的接收器。
u报文的有效性Ø对于发送器而言,如果直到“帧结束”终结一直未出错,则报文有效。Ø对于接收器而言,如果直到最后(除“帧结束”的那一位)一直未出错,则报文有效。
u帧类型Ø数据帧携带数据由发送器至接收器;Ø远程帧通过总线单元发送,以请求发送具有相同标识符的数据帧;Ø错误帧由检测到总线错误的任何单元发送;Ø超载帧用于提供当前的和后续的数据帧或远程帧之间的附加延迟。
u数据帧由7个不同的位场(Bit Frame)组成:Ø帧起始(Startof Frame) Ø仲裁场(ArbitrationField) Ø控制场(ControlField) Ø数据场(DataField)ØCRC场(CRCField) Ø应答场(ACKField)Ø帧结束(Endof Field)
数据帧(DataFrame)
Ø帧起始 (SOF—Start Of Frame)
标志数据帧和远程帧的起始,它仅由一个“显性”位构成。
Ø仲裁场
由标识符和远程发送请求(RTR)位组成。
Ø控制场
由6位组成,包括两个用于将来扩展的保留位和4位数据长度码。
Ø数据场
由数据帧中被发送的数据组成,它可包括0至8个字节,每个字节包括8位,其中首先发送最高有效位。
ØCRC场
包括CRC序列、CRC界定符。
Ø应答场
为两位长度,包括应答间隙和应答界定符。
Ø帧结束
每个数据帧和远程帧均是由7个“隐性”位组成的标志序列界定的。
u远程帧(Remote Frame)
远程帧由6个不同的位场组成:帧起始、仲裁场、控制场、CRC场、应答场和帧结束。
u错误帧(Error Frame)
错误帧由两个不同场组成:来自各站的错误标志(Error Flage);错误界定符(Error Delimiter)。
u超载帧(Overload Frame)
Ø超载帧包括两个位场:超载标志和超载界定符。存在两种导致发送超载标志的超载条件:一个是接收器的内部条件,接收器要求下一个数据帧或远程帧的延迟;另一个是在间歇场(帧间空间)检测到“显性”位。
二、CAN总线的节点组成和工作原理
CAN总线系统结构
CAN总线的工作原理