骁龙820A汽车 ADAS 分享方案介绍—CAN总线(三)
上节我们聊了聊Can的数据帧,错误帧处理等通信特性。
本节我们来聊聊位定时与同步。
位定时
波特率
波特率可通过编程设置合适的时间量子长度和数
量确定
波特率=1/位时间
位定时
时间量子(Time Quantum)
时间量子来源于对系统时钟可编程的分频
位定时
位时间的组成
一个位时间包含4个时间段,8-25个时间量子
(Time Quantum)
为方便编程,许多CAN模块将传播段和相位缓冲段1合并为一个时间段,即只有3个时间段
同步段—Synchronization Segment
一个位的输出从同步段开始,同步段用于同步总线上的各个节点,跳变沿产生,在此段内,固定长度, 1个时间量子
传播段—Propagation Segment
用于补偿信号通过网络和节点传播的物理延迟,传播段长度应能保证2倍的信号在总线的延迟,长度可编程(1…8个时间量子或更长)
相位缓冲段1—Phase Buffer Segment1
用于补偿节点间的晶振误差
允许通过重同步对该段加长
在这个时间段的末端进行总线状态的采样
长度可编程(1…8个时间量子或更长)
相位缓冲段2—Phase Buffer Segment2
于补偿节点间的晶振误差
允许通过重同步对该段缩短
长度可编程, 1…8个时间量子或更长
同步:
CAN的同步包括硬同步和重同步两种同步方
式
同步规则:
一个位时间内只允许一种同步方式
任何一个“隐性”到“显性”的跳变都可用于同步
硬同步发生在SOFÎ所有接收节点调整各自当前位的同步段,使其位于发送的SOF位内
重同步发生在一个帧的其他位场内,当跳变沿落
在了同步段之外
在SOF到仲裁场有多个节点同时发送的情况下,
发送节点对跳变沿不进行重同步
硬同步发生在SOF位Î所有接收节点调整各自当前位的同步段,调整宽度不限。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)pos机相关文章:pos机原理