野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13003|回复: 6

CAN总线的位同步问题,有点迷惑!

[复制链接]
发表于 2016-1-16 09:36:16 | 显示全部楼层 |阅读模式
本帖最后由 qduwg 于 2016-1-16 09:42 编辑

今天学习CAN总线的时候,发现位同步的说法,有点不明白。

请看零死角里面的截图如下:

我的问题是:下面这个红线标注的文字,不是太明白。
“第一种,节点从总线的边沿跳变中,检测到它的时序比总线的时序相对滞后 2 Tq,这时控制器在下一个位时序中的 PBS1 段 增加 2 Tq 的 时 间 长 度,使得节点与总线时序重新同步。第二种,节点从总线的边沿跳变
中,检测到它的时序比总线的时序相对超前 2 Tq,这时控制器在前一个位时序中的 PBS2段减少 2 Tq 的时间长度,获得同步。”

比如第一种的时候,节点的时序比总线滞后2Tq, 可是对照下图的时候,我怎么觉得是节点时序超前呢?看第二图的绿箭头所指为SS位,红箭头是指的总线下降沿。明明是SS比总线的下降沿提前了啊。为什么说是滞后?我有点蒙了。不知道是谁相对谁的关系?第二种也是存在超前、滞后颠倒的 问题。请大神指点!

CAN总线的同步问题1.jpg
CAN总线的同步问题2.jpg

让我看来,第一种说法跟第二种说法正好是颠倒了。第一种是SS超前总线,第二种是SS滞后总线。

问题2:为什么下图里面的SS段都是2个Tq长度了?书上前面的图都是一个单位的啊。图前后矛盾。
CAN总线的同步问题3.jpg

回复

使用道具 举报

发表于 2016-1-16 09:46:03 | 显示全部楼层
有道理,相位超前了才需要增加tq,相位滞后了才需要减少tq
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-16 09:50:13 | 显示全部楼层
flyleaf 发表于 2016-1-16 09:46
有道理,相位超前了才需要增加tq,相位滞后了才需要减少tq

看来表面上CAN总线不需要所谓的同步时钟,但是内部还是需要有一个定时机制保证同步的。下面截图的加红线部分,不明白。CAN控制器本身内部是有这样的一个时钟控制机制吗?否则怎么实现时序的所谓提前和推后的?有点纳闷,雾里看花啊。

CAN总线的同步问题4.jpg

回复 支持 反对

使用道具 举报

发表于 2016-1-16 09:58:36 | 显示全部楼层
不需要同步时钟是指它不需要像spi iic那样的时钟线,但通讯肯定是有波特率的,tq这些就是配置它的波特率。
类比下异步串口通讯,它也是这样的,can也是异步通讯
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-16 09:59:42 | 显示全部楼层
还有一个问题,PBS1,PBS2长度可以改变,那么这个PTS的长度一般也是不固定的吧?那么虽然上一位修正了PBS1,PBS2,如果PTS改变了的,那不还是不同步?难道PTS基本都是固定了?不同的器件不同的PTS?

CAN总线的同步问题5.jpg
回复 支持 反对

使用道具 举报

发表于 2016-1-16 10:07:59 | 显示全部楼层
通讯的双方会像串口那样约定波特率,误差一般只要小调整,差别过大就没法同步了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-1-16 14:18:12 | 显示全部楼层
flyleaf 发表于 2016-1-16 09:58
不需要同步时钟是指它不需要像spi iic那样的时钟线,但通讯肯定是有波特率的,tq这些就是配置它的波特率。
...

明白了。看来Tq这个相当于一个时钟周期啊??对吧。CAN控制器内部的一个参考时钟吧?虽然没有时钟线来连接收发双方。各自配置各自的波特率,以期达到一个同步。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 12:23 , Processed in 0.033906 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表