CAN协议的错误处理及位定时

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CAN 协议的错误处理及位定时

1 错误的处理 1.1 错误的种类

错误共有5种:① 位错误,② 填充错误,③CRC 错误,④ 格式错误,⑤ 应答错误。2个或2个以上的错误有可能同时出现。错误的种类、错误的内容、检测错误的帧及检测单元如表l 所示。

表1 错误的种类

检测出错误条件的单元通过输出错误标志通知出现错误。

错误激活状态单元输出的错误标志为激活错误标志;错误认可状态单元输出的错误标志为错误认可标志。

表2 错误标志的输出时间

2 位定时

在没有重新同步的情况下, 发送单元可以发送信息; 每秒钟可以发送的位数称为位速率。l 位可以划分为下列4个片段:① 同步段(SS),② 传播段(PTS),③ 相位缓冲段l(PBS1),④ 相位缓冲段2(PBS2)。

可以将这些段看成是由最小的单位——时间量程(以下简称Tq)构成的。Tq 的含义为实现CAN 协议的基准时钟。

l 位的构成如图l 所示。各片段的作用与Tq 的数目如表3所示。下面对两个概念稍加说明。

采样点——读取总线上的电平、并将其作为位值的点。采样点位于PBS的结尾处。

位时间——将l位分成4个片段,再将各片段按最小单位Tq加以分割后,其构成称为位时间。可能会有“1位由多少个Tq构成? 各片段义分别是由多少个Tq构成的?”等问题,实际上,位定时可以任意设定,通过设定位时间,多个单元可以在同样的时间里抽样,而且可以任意设定采样点。

表3 各片段的作用

2.1 同步

CAN协议采用的是不归零(NRZ)通讯方式。在各位的起始处与结尾处不附加同步信号。发送单元与位时间同步开始发送数据。而接收单元按总线上的电平变化加以同步的同时,完成接收动作。但是,由于时钟的误差及传输线路(电缆、驱动器等)的相位延迟,发送单元与接收单元之间有时可能出现同步偏离,因此接收单元要进行硬同步或者是再同步,以对准时间进行接收。

2.1.1 硬同步

在总线处于空闲状态、接收单元检测到SOF时,所进行的同步。

在检测到跳变沿时,不管SJW的值,而是识别SS。

2.1.2 再同步

在接收过程中,检测到总线上的电平时,所进行的同步。

每当检测到跳变沿时,则根据SJW的值按误差加宽PBS1,或者压缩PBS2。但是,在误差大于SJW值时,则只能调整SJW最大值。

2.2 同步的规则

硬同步与再同步遵循以下规则进行。

a.1步之中只能同步1次。

b.仅在上次采样点的总线值与紧跟跳变沿后的总线值不同时,才将跳变沿用于同步。

c.在总线空闲、存在有从隐性到显性的跳变沿时,必须进行硬同步。

d.在总线空闲之外检测出的从隐性到显性的跳变沿满足a、b的要求时,可以用于再同步。但是,还有下列条件。

e.当观测到接收单元处本身输出的显性电平延迟时,不能进行再同步。

f.发送单元处的帧起始到仲裁域之间有多个单元发送的场合下,对延迟检测出的跳变沿不能进行再同步。

相关文档
最新文档