新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > can总线基本概念

can总线基本概念

作者: 时间:2016-12-16 来源:网络 收藏

  2. 远程帧:请求数据
  远程帧由6个域组成:起始域、仲裁域、控制域、CRC域、应答域、帧结束域。
  远程帧与数据帧不同之处在于:RTR位为高,无数据域。
  3. 错误指示帧:用于指示传送过程中的错误信息
  错误指示帧由两个不同的域组成:第一个域反映来自控制器的错误标志,第二个域为错误分界符。
  错误标志:有两种,一个由6个强位组成的主动错误标志;另一个由6个弱位组成的被动错误标志,
  它是被其他CAN控制器强位改写。 处于主动错误状态的CAN节点检测到错误发出主动错误标志,该错误标
  志不满足位填充规则,或者是破坏应答域或结束域固定格式,所有其他节点都检测到错误状态,并发出该错
  误标志。因此,这些从总线上监测到的强位串是不同节点发出错误标志的结果,这一标志最短为6个,最长
  为12个。被动错误标志(不太理解。。。后续)
  错误分界:它由8个弱位组成,与过载分界有相同的格式,当错误标志发生后,每一个CAN节点监测
  总线,直到检测到一个强位出现,这表明所有CAN节点已经完成错误标志的发送,并开始发送8个弱位的分
  界符,之后网络上的主动错误节点便可同时开始其他的发送。如果数据帧或远程帧在发送过程中发现错误
  后,当前的信息作废,并启动重新发送。如果CAN节点发现错误指示帧错误,则重发,当连续多次出现此错
  误时,则相应的节点变为被动错误节点。为正确结束错误标志,被动态节点需要至少3个位周期。
  4. 过载帧:用于后续帧的延时
  过载帧由两个域组成:过载标志和过载分界。
  以下情况可以导致过载帧发送:
  (1). 接收未准备好即接收方需要过多的时间处理当前的数据;
  (2).在帧间空隙的第一位或第二位发现显性位信号;
  过载帧发送条件:
  (1).在帧间空隙域的第一个位周期;
  (2).在帧间空隙域中检测到强位信号一个位周期后,方可启动过载帧发送。
  过载标志:由6个显性位组成,与错误标志格式相同,当超载标志发生后,每个节点监测总线状态,当发
  现线上有弱位后,此时所有节点已完成超载标志的发送,并开始发8个弱位串;
  过载分界符:由8个隐性位组成,与错误分界符格式相同;
  -----------------------------------------------------------------------------------------------------------------------------------
  英飞凌(infineon)单片机XC800之CAN总线
  CAN内部硬件结构,如下图所示

本文引用地址:https://www.eepw.com.cn/article/201612/331038.htm


  一,CAN处理机制
  发送:根据报文缓存中的报文对象,由位流处理器产生的通过can总线发送的数据帧和过程帧,即从报
  文缓存中取出的报文对象,位流处理器给它加上起始域,结束域和CRC校验数据,组成一个完整的数据帧
  和远程帧,此时位流控制器还在对总线进行监测,当发现总线空闲时,就启动数据的传送,传送过程中监测
  总线的信息,当发现与传送的信息不相符时,就会产生一个“最近错误”中断请求。
  接收:数据帧或远程帧通过总结接口,到CAN节点,位流控制器对其进行CRC域进行检测,验证数据的
  一致性,当检测到错误时,产生一个“最近错误”中断请求,并产生一个错误帧,发送到总线上。对一个无
  错误的帧,位流处理器将它分解成数据部分和标识符部分,列表控制器将其以链表的形式存储于报文缓存
  中,执行远程帧或数据帧处理。
  在上述数据传送和处理过程中,会出现一些状态字,指示操作完成或出现错误,这些状态字或引发中
  断,进行中断处理。
  二,从上述结构框图可以看出,主要包括:CAN节点,报文控制器,中断处理单元
  (一),CAN节点
  (1),位流控制器(Bitstream Prosessor)
  主要任务:处理数据帧,远程帧,错误帧和过载帧,同时还进行串行数据流与输入/输出寄存器之间
  转换工作(Perdiv data frame ,remote frame ,error frame and overload,conversion thd seiral data
  stream and the input/output register)。
  详述:位流控制器:对于发送:根据报文缓存中的报文对象,由位流处理器产生通过CAN总线的数据
  帧和远程帧。该的控制器控制CRC产生器,且给新的远程帧和数据帧加上校验和信息。在加入‘帧起始
  位’和‘帧
  结束域’之后,位流处理器开始CAN总线仲裁过程,且当发现总线空闲时连续进行帧发送。进行数据发送
  的同时,位流控制器连续地监测I/O线的的电平和发送移位寄存器当前送出位的逻辑状态之间检测到失配,
  产生一个‘最近错误’中断请求,错误码由位域NSRX.LEC给出。
  对于接收:通过验证CRC相关域,确定接收到的帧是否有问题,或有问题,产生一个‘最近错
  误’中断请求,同时产生一个错误帧,并发送到总线上。若接收的帧无错误,将接收到的帧分解成标志符和
  数据部分,并将接收到的信息传给报文缓存,执行远程帧或数据帧处理,中断产生和状态处理。
  (2),位时序单元(Bit timing unit)
  考虑到传播延迟和相移,根据用户设置确定采样点和位时间长度,同时也处理再同步操作(define a
  length of a bit time and the location of the sample point according to the user settings,takeing into
  accout propration delays and phase shift errors and re-sychronization).
  (3),错误处理单元(error handling unit)
  对发送和接收过程中错误进行计数,当计数值达到一定时,进入不同的错误指示状态:错误激活,错
  误认可,关闭总线。
  (4),节点控制单元(Node control unit)
  A, 使能/禁止节点的传送
  B, 使能/禁止可引发中断的特定节点事件
  C 帧计数管理
  (5),中断控制单元(interrupt control unit)
  控制CAN产生的不同类型的事件的中断
  (二),报文控制器
  (三),列表控制器
  (四),中断处理单元


上一页 1 2 下一页

关键词: can总线基本概

评论


技术专区

关闭