CAN协议的特点:1 多主控制,即在总线空闲时,所有的单元都可以发送消息,{zx0}访问总线的单元可获得发送权(CSMA/CA方式);多个单元同时发送时,发送高优先级ID消息的单元可获得发送权。 2 消息的发送:所有的消息以固定的格式发送,标识符决定优先级 3 与总线相连的单元没有类似“地址”的信息。 4 同一网络中,所有单元必须设定成统一的通信速度,不同网络间可以有不同的通信速度。 5 可以发送遥控帧,请求其它单元发送数据 6 所有单元都可以检测错误;检测出错误的单元会立即同时通知其它所有单元;正在发送消息的单元一旦检测出错误,会强制结束当前的发送,强制结束发送的单元会不断反复地重新发送此消息指导成功发送为止 7 故障封闭 CAN可以判断出错误的类型是总线上暂时的数据错误(噪声),还是持续的数据错误(单元内部故障,驱动器故障等),当总线上发生持续数据错误时,可将出故障的单元从总线上隔离出去。 8 可同时连接多个单元 错误: 单元始终处于三种状态之一 1 主动错误状态:可以正常参加总线通信 ;2 被动错误状态:3 总线关闭态:不能参加总线上的通信 硬件控制: 物理层:规定了通信使用的电缆,连接器,电气信号规格。 数据链路层:将物理层收到的信号(位序列)组成有意义的数据,提供传输错误控制等数据传输控制流程:访问方法,数据的形式,通信方式,连接控制方式,同步方式,检错方式,应答方式,通信方式,包的构成。 数据链路层分为MAC子层和LLC子层,MAC子层是CAN协议的核心,将物理层收到的信号组织成由意义的消息,并提供传输错误控制等传输控制的流程。具体的说,就是消息的帧化,仲裁,应答,错误的检测或报告。数据链路层的功能在CAN控制器的硬件中执行。 软件控制: 网络层:数据传送的路由选择 传输层:控制数据传输的顺序、传送错误的恢复,保证通信的品质,如错误修正,再传输控制。 ISO标准化的CAN协议 CAN协议经ISO标准化后有ISO11898标准和ISO11519-2标准两种。两个标准对数据链路层的定义相同,但物理层不同。ISO11898是通信速度为125kbps-1Mbps的CAN高速通信标准,目前为ISO11898-1新标准。 ISO11519时通信速度为125kbps以下的CAN低速通信标准。 帧的种类: 数据帧:发送单元向接收单元传送数据的帧 显性电平与阴性电平:显性电平的逻辑值为“0”,阴性电平为“1”,显性具有“优先”的意思,只要有一个单元输出显性电平,总线上即为显性电平,所有单元都输出隐性电平,总线上才为隐性电平。 CRC的计算范围包括帧起始,仲裁段,控制段,数据段。 帧结束:7个位的隐性位。 遥控帧:接收单元向具有相同ID的发送单元请求数据的帧。 接收单元向发送单元请求发送数据所用的帧。遥控帧由6个段组成。没有数据段。 错误帧:检测出错误时向其它单元通知错误的帧。 过载帧:接收单元通知其尚未做好接收准备的帧。 帧间隔:将数据帧及遥控帧与前面的帧分离开来的帧。
|