27.11 时间段编程
时间段编程存在一些要求:
• Prop_Seg + Phase_Seg 1 ≥ Phase_Seg 2
• Phase_Seg 2 ≥ 同步跳转宽度
例如,假设需要 125 kHz 的 CAN 波特率,使用 20 MHz
作为 FOSC。 TOSC 为 50 ns,波特率预分频值为 04h,
得到的 TQ 为 500 ns。为了得到 125 kHz 的标称比特
率,标称位时间必须为 8 μs 或 16 个 TQ。
对于 Sync_Seg 使用 1 个 TQ,对于 Prop_Seg 使用 2 个
TQ,对于相位缓冲段 1 使用 7 个 TQ 时,采样点将位于
电平变换之后的 10 个 TQ 处。这为相位缓冲段 2 留下
6 个 TQ。
根据上面的规则,同步跳转宽度的 大值为 4 个 TQ。不
过,通常只有在不同节点生成的时钟不精确或不稳定时
(例如采用陶瓷谐振器),才需要使用很大的 SJW。通
常, SJW 值为 1 就足够了。
27.12 振荡器容差
作为一个经验法则,在发送速率 高为 125 Kbps 的应
用中,位时序要求允许应用使用陶瓷谐振器。要达到
CAN 协议的完全总线速度范围,则需要使用石英振荡
器。关于振荡器的容差要求,请参见 ISO11898-1。
同步
传播 相位
缓冲段 1
相位
缓冲段 2 ≤ SJW
TQ 采样点
标称位长度
实际位长度
时间段 2011 Microchip Technology Inc. 初稿 DS39977C_CN 第 455 页
1