您好,欢迎访问三七文档
2020/5/10主要内容•CAN是什么•MircroChip主要有哪些CAN器件•CAN通信在汽车上的应用•CAN总线拓扑图•CAN的特点•CAN错误状态•CAN协议的基本概念•帧和错误的种类•PIC单片机CAN模块的特点•位时序及段同步•CAN模块的工作模式•报文的发送和接受•CAN模块相关的寄存器2020/5/10是什么•控制器局域网(ControllerAreaNetwork,CAN)模块是一个串行接口。用来与其他CAN模块或数字信号控制器进行通信。此接口/协议设计为允许在噪声环境下进行通信。•CAN总线与其它通信网的不同之处有二:一是报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接收;二是特别强化了对数据安全性的关注,满足控制系统及其它较高数据要求的系统需求。2020/5/10位芯片•dsPIC30F4011\4012\4013\5011\5013\5015\5016\6015•dsPIC30F6010A\6011A\6012A\6013A\6014A•dsPIC33FJ64GP706\708\710\802\804•dsPIC33FJ128GP706\708\710\802\804•dsPIC33FJ256GP506\510\710•dsPIC33FJ64MC506\508\510\706\710\802\804•dsPIC33FJ128MC506\510\706\708\710\802\804•dsPIC33FJ256MC510\710•PIC24HJ64GP502\504\506\510•PIC24HJ128GP502\504\506\510•PIC24HJ256GP210\6102020/5/10位芯片•PIC18F2480\2580\2585•PIC18F2680\2682\2685•PIC18F4480•PIC18F4580\4585•PIC18F4680\4682\4685•PIC18F6585\6680•PIC18F8585\86802020/5/10的控制器和收发器芯片•MCP2510\2515带SPI接口的独立CAN控制器•MCP2551高速CAN收发器特征:适合12V和24V系统,可连接节点高达112个,支持1Mb/s的运行速率作用:1、把CAN控制器生成的数字信号转化成为适合总线传输(差分输出)的信号。2、为CAN控制器和CAN总线上的高压尖峰信号之间加入了缓冲器。3、增大通信距离,提高系统的瞬间抗干扰能力,保护总线,降低射频干扰(RFI),实现热防护等。工作方式:CAN总线有两个状态:显性状态和隐性状态。显性状态:CANH和CANL之间的差分电压高于定义值隐性状态:CANH和CANL之间的差分电压低于定义值发送功能:TXD输出引脚的低状态和高状态分别对应于CAN总线的显性和隐性状态接收功能:RXD输出引脚的低状态和高状态分别对应于CAN总线的显性和隐性状态2020/5/10的应用——车载网络构想三种通讯标准:FlexRay,CAN,LIN2020/5/10总线拓扑图CAN控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。2020/5/10的特点(1)多主控制•在总线空闲时,所有的单元都可开始发送消息(多主控制)。•最先访问总线的单元可获得发送权。•多个单元同时开始发送时,发送高优先级ID消息的单元可获得发送权。(2)消息的发送•在CAN协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier以下称为ID)决定优先级。ID并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息ID的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。(3)系统的柔软性•与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。(4)连接•CAN总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。2020/5/10的特点续(5)通信速度•根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。(6)通信速度•根据整个网络的规模,可设定适合的通信速度。在同一网络中,所有单元必须设定成统一的通信速度。即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。(7)错误检测功能·错误通知功能·错误恢复功能•所有的单元都可以检测错误(错误检测功能)。•检测出错误的单元会立即同时通知其他所有单元(错误通知功能)。•正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。(8)CAN的信号传输采用短帧结构•每一帧有效字节数为8个。因而传输时间短,受干扰的概率低。当节点发生严重错误时,具有自动关闭的功能,切断该节点与总线的联系,使总线上其它节点不受影响,具有很强的抗干扰能力。2020/5/10种状态之一(1)主动错误状态Error-active•主动错误状态是可以正常参加总线通信的状态。•处于主动错误状态的单元检测出错误时,总线节点能够无限制地发送报文和输出主动错误标志(由显性位组成)。(2)被动错误状态Error-passive•被动错误状态是易引起错误的状态。•处于被动错误状态的单元虽能参加总线通信,但为不妨碍其它单元通信,接收时不能积极地发送错误通知。•处于被动错误状态的单元即使检测出错误,而其它处于主动错误状态的单元如果没发现错误,整个总线也被认为是没有错误的。•处于被动错误状态的单元检测出错误时,输出被动错误标志。•另外,处于被动错误状态的单元在发送结束后不能马上再次开始发送。在开始下次发送前,在间隔帧期间内必须插入“延迟传送”(8个位的隐性位)。•(3)离线闭态bus-off•总线关闭态是不能参加总线上通信的状态。•信息的接收和发送均被禁止。2020/5/10单元的错误状态说明:1、RXERRCNT:接收错误计数器2、TXERRCNT:发送错误计数器3、离线恢复序列:由128次11位连续的隐性位组成2020/5/10协议的基本概念2020/5/10模型•数据链路层分为MAC子层和LLC子层,MAC子层是CAN协议的核心部分。数据链路层的功能是将物理层收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程。具体地说,就是消息的帧化、仲裁、应答、错误的检测或报告。数据链路层的功能通常在CAN控制器的硬件中执行。•在物理层定义了信号实际的发送方式、位时序、位的编码方式及同步的步骤。但具体地说,信号电平、通信速度、采样点、驱动器和总线的电气特性、连接器的形态等均未定义。这些必须由用户根据系统需求自行确定。•采用了其中的物理层、数据链路层与应用层。采用双绞线,通信速率最高可达到1Mbps/40m,直接传输距离最远可达10km/5kbps.同一段总线内最多可挂接110个设备。2020/5/10、帧的种类•数据帧:用于发送单元向接收单元传送数据的帧。•远程帧:用于接收单元向具有相同ID的发送单元请求数据的帧。•错误帧:用于当检测出错误时向其它单元通知错误的帧。•过载帧:用于接收单元通知其尚未做好接收准备的帧。•帧间间隔:将前一条帧(无论何种类型)与其后的数据帧或远程帧分离开来2020/5/10标准数据帧说明:帧以起始帧(SOF)位开始。SOF为显性状态,允许所有节点进行硬同步。RTR位用于区分报文是数据帧(RTR位为显性)还是远程帧(RTR位为隐性状态)。控制字段的第一位为识别扩展(IDE)位,该位为显性状态时,说明这是标准帧。数据长度码(DLC),说明了报文中包含的数据字节数。2020/5/10带扩展识别的远程帧说明:1、目标节点向源节点请求发送数据是可能的。要做到这一点,目标节点需要发送一个远程帧,其标识符与所需数据帧的标识符相匹配。随后,相应的数据源节点会发送一个数据帧,作为对远程请求的响应。当带有相同标识符的数据帧和远程帧同时发出时,数据帧将赢得仲裁,这是因为其紧随标识符的RTR位为显性。这样可使发送远程帧的节点立即收到所需数据。2、与数据帧存在两点不同,第一,远程帧的RTR位为隐性状态;第二,远程帧没有数据字段。2020/5/10扩展数据帧说明:1、与标准数据帧类似,但多了扩展标识符。2、仲裁字段之后是6位控制字段。控制字段前两位为保留位,必须定义为显性位3、为使标准帧和扩展帧都能在共享网络上发送,应将29位的扩展报文标识符拆分成最高11位和最低18位两部分。4、替换远程请求(SRR)位,定义为隐性状态。SRR位之后是lDE位,该位隐性时表示这是扩展的CAN帧。2020/5/10说明:1、错误帧是由检测到总线错误的任一节点产生的。错误帧包含两个字段,即错误标志字段和错误定界字段。2、当错误主动节点检测到一个总线错误时,这个节点将产生一个主动错误标志,中断当前的报文发送。主动错误标志由6个连续的显性位构成。所有其它节点在识别到所形成的位填充错误后,会自行产生错误帧,称为错误反射标志。错误标志字段因此包含6到12个连续显性位(由1个或多个节点产生)。错误定界字段为错误帧划上了句号。在错误帧发送完毕后,总线主动恢复正常状态,被中断的节点会尝试重新发送被中止的报文。3、当被动错误节点检测到一个总线错误时,该节点将发送一个被动错误标志。被动错误标志包含6个连续的隐性位,而被动错误节点发出的错误帧则包含14个隐性位。由此可知,除非总线错误被正在发送报文的节点检测到,否则被动错误节点错误帧的发送,将不会影响网络中任何其它节点。如果发送节点产生一个被动错误标志,那么,由于位填充规则被打破,将导致其它节点产生错误帧。错误帧发送完毕后,被动错误节点必须等待总线上出现6个连续隐性位后,才能尝试重新参予总线通信。错误定界符由8个隐性位组成,允许总线节点在错误发生后重新启动总线通信。错误帧2020/5/10过载帧说明:1、节点生成过载帧。第一种情形,节点检测到帧间间隔期间出现显性位,而这是非法状态。第二种情形,由于内部状态,节点还不能开始接收下一条报文。节点可生成最多2个连续的过载帧,以便延迟接收下一条报文。2、过载帧只能在帧间间隔产生,错误
本文标题:CAN模块
链接地址:https://www.777doc.com/doc-5260206 .html