资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,CAN,总线的基本工作原理,跟其他总线一样,,CAN,总线的通信也是通过一种类似于,“,会议,”,的机制实现的,只不过会议的过程并不是由一方(,节点,)主导,而是,每一个会议参加人员都可以自由的提出会议议题(,多主通信模式,),二者对应关系如上:,会议,局域网,参会人员,节点,参会人员身份,ID,会议议题,报文,会议人员发言顺序,仲裁,Can,总线工作原理,Can,总线工作原理,用图,1,可以形象的说明,CAN,总线系统的工作过程。,CAN,总线可比作一辆公共汽车。运送大量的数据到各个控制单元中去。,Can,总线的数据交换原理,CAN,总线协议是一种非破坏性的通过竞争来进行总线仲裁的协议。如果多个节点(汽车电控单元)同时要求占用总线进行数据传输时,为防止一个在传输数据破坏另外节点的数据列传输过程,,CAN,控制器在数据传输过程中,根据标识码的大小对数据列进行总线仲裁,标识码较小的信息具有高的总线占用优先级。高的优先级先传输。在总线上要传送的数据格式不相同时,但却具有相同基本标识码,则标准格式帧的优先,Can,总线的数据交换原理,级始终高于扩展格式帧的优先级。,CAN,总线协议规定,传输的数据列需要一个网络内唯一的标识码来指定信息内容和信息的优先级。,如图,3,所示,控制单元,2,要将信息发送其它控制单元,其数据传递过程是:控制单元,2CPU,向,CAN,控制器提供用于传输的数据。,CAN,控制器将接收数据进行处理后发往,CAN,收发器,由,CAN,Can,总线的数据交换原理,收发器构建并发送信息。一旦网络中某一控制单元的,CAN,总线控制器获得总线控制权,网络中所有其他节点都成为接收节点,所有正确接收到该信息的节点都要进行信息检验,以确定所收信息是否与本控制单元的功能有关,如果所接受的数据对本控制单元有用,它将被认可及处理,反之则将其忽略。,Can,总线的数据交换原理,Can,总线的帧结构,报文传输由以下,4,个不同的帧类型所表示和控制:,-,数据帧:数据帧携带数据从发送器至接收器。,-,远程帧:总线单元发出远程帧,请求发送具有 同一识别符的数据帧。,-,错误帧:任何单元检测到一总线错误就发出错 误帧。,-,过载帧:过载帧用以在先行的和后续的数据帧 (或远程帧)之间提供一附加的延时。,Can,总线报文数据帧结构,帧起始,(SOF),:帧起始,(SOF),标志着数据帧和远程帧的起始,仅由一个,“,显性,”,位组成。在,CAN,的同步规则中,当总线空闲时,(,处于隐性状态,),,才允许站点开始发送,(,信号,),。所有的站点必须同步于首先开始发送报文的站点的帧起始前沿,(,该方式称为,“,硬同步,”,),。,仲裁域:仲裁域由标识符和,RTR,位组成,标准帧格式与扩展帧格式的仲裁域格式不同。标准格式里,仲裁域由,1l,位标识符和,RTR,位组成。标识符位有,ID28,IDl8,。扩展帧格式里,仲裁域包括,29,位标识符、,SRR,位、,IDE(Identifier Extension,,标志符扩展,),位、,RTR,位。其标识符有,ID28,IDO,。为了区别标准帧格式和扩展帧格式,,CANl.0,1.2,版本协议的保留位,r1,现表示为,IDE,位。,IDE,位为显性,表示数据帧为标准格式;,IDE,位为隐性,表示数据帧为扩展帧格式。在扩展帧中,替代远程请求,(Substitute Remote Request,,,SRR),位为隐性。仲裁域传输顺序为从最高位到最低位,其中最高,7,位不能全为零。,RTR,的全称,为,“,远程发送请求,(Remote Transmission Request),”,。,RTR,位在数据帧里必须为,“,显性,”,,而在远程帧里必须为,“,隐性,”,。它是区别数据帧和远程帧的标志,。,控制域:控制域由,6,位组成,包括,2,个保留位,(r0,、,r1,用于,CAN,总线协议扩展,),及,4,位数据长度码,允许的数据长度值为,0,8,字节。,数据域:发送缓冲区中的数据按照长度代码指示长度发送。对于接收的数据,同样如此。它可为,0,8,字节,每个字节包含,8,位,首先发送的是,MSB(,最高位,),。,CRC,校验码域:它由,CRC,域,(15,位,),及,CRC,边界符,(,一个隐性位,),组成,。,应答域:应答域由发送方发出的两个,(,应答间隙和应答界定,),隐性位组成,所有接收到正确的,CRC,序列的节点将在发送节点的应答间隙上将发送的这一隐性位改写为显性位。因此,发送节点将一直监视总线信号已确认网络中至少一个节点正确地接收到所发信息。应答界定符是应答域中第二个隐性位,由此可见,应答间隙两边有两个隐性位:,CRC,边界符和应答界定位。,帧结束域:每一个数据帧或远程帧均由一串七个隐性位的帧结束域结尾。这样,接收节点可以正确检测到一个帧的传输结束。,
展开阅读全文