0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CAN总线的同步机制以及SJW的作用所在

AGk5_ZLG_zhiyua 来源:lp 2019-03-14 16:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CAN总线一直以来以稳定、容错性高而著称。要想达到这样的效果,其独特的同步机制是非常重要的一点,本文将为大家讲解一下CAN总线的同步机制以及SJW的作用所在。

CAN总线的同步共有两种方式:硬同步和重同步

硬同步

在总线刚刚从空闲状态中走出来的时候,在帧头的位置都会进行一次同步。此时所有的节点位时间重新开始,就像所有的运动员都再一次回到了起跑线上。这种同步方式被称作硬同步。

重同步

硬同步时只是在有帧起始信号时起作用,无法确保后续一连串的位时序都是同步的,这个时候重同步就到了发挥作用的时候。具体来说,CAN总线的一个位时间中包含两个缓冲段BS1和BS2:

在两个缓冲段中间的位置,即是读取总线电平的采样点位置,当检测到总线上存在相位差的时候,通过延长BS1段或缩短BS2段来获得同步,这样的方式称为重新同步。

这两个相位缓冲段的延长时间或缩短时间上限由再同步跳转宽度(SJW)给定。采样点是接收节点判断信号逻辑的位置,CAN通讯属于异步通讯,需要通过不断的重新同步才能保证收发节点的采样准确,所以SJW(同步跳转宽度)决定了接收节点是否能有比较好的兼容性。如下图,即是某CAN总线中利用ZLG CANscope进行的采样点与位宽度容忍的快速测试结果:

因此,使用CAN总线的时候,发现位宽度有偏差,则需要对其程序中的位定时寄存器或者晶振进行修正。比如不要使用带小数点的晶振,如11.0592HZ。这样算出来的波特率肯定不准。不要使用陶瓷晶振,会有偏差超过1%的概率,即使重同步也会失败。

波特率计算时,提高适应范围,需要保证12-20(特征16)个的位时间因子,然后通过提高正常节点波特率寄存器中的同步跳转宽度SJW值(加大到2-3个单位时间)来实现。比如使用ZLG两款波特率计算工具,可以计算出良好的波特率寄存器值。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN总线
    +关注

    关注

    145

    文章

    2020

    浏览量

    134684
  • 寄存器
    +关注

    关注

    31

    文章

    5588

    浏览量

    129051
  • 异步通讯
    +关注

    关注

    0

    文章

    12

    浏览量

    7580

原文标题:CAN总线的同步有何奥秘?

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CAN总线的位定时与同步机制#汽车CAN总线 

    CAN总线
    北汇信息POLELINK
    发布于 :2023年07月17日 10:57:12

    CAN总线信号传输的位定时与位同步理论

    同步机制时间分辨率的基本单位并且因为同步段而被引入到位时间中。同步段是位时间中CAN信号电平的边沿将要产生的那一部分。在同步段之后产生的边沿
    发表于 08-15 15:59

    Linux内核同步机制

    在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实象多进程多线程编程一样也需要一些同步机制同步各执行单元对共享数据的访问。尤其是在多处理器系统上,更需要一些同步机制同步
    发表于 08-06 07:08

    设计时间同步机制关注的主要性能参数

    大小的影响。另外,还得考虑节点的能耗以及应用相关性等特点和约束条件。  1、时间同步机制设计中应当考虑的因素  无线传感器网络中的时闾同步机制设计会受到很多因素的影响。苜先,传感器节点需要彼此并行操作
    发表于 12-31 17:09

    Vulkan同步机制和图形转换的风险

    Vulkan同步机制和图形-计算-图形转换的风险(一)
    发表于 01-21 06:17

    关于CAN总线位定时和同步机制的简要分析

    关于CAN总线位定时和同步机制的简要分析
    发表于 05-28 06:05

    RTT中的消息同步机制是如何实现的?

    RTT中的消息同步机制是如何实现的
    发表于 11-02 07:00

    CAN总线通信原理分析

    基于CAN总线系统结构构成,通过工程实践的具体应用以及CAN控制器及收发器硬件结构的深入理解,并从通信的角度出发着重深入分析了CAN
    发表于 05-08 15:23 404次下载
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>通信原理分析

    你知道linux 同步机制的complete?

    在Linux内核中,completion是一种简单的同步机制,标志"things may proceed"。 要使用completion,必须在文件中包含,同时创建一个类型为struct completion的变量。
    发表于 04-24 11:45 1621次阅读

    可以了解并学习Linux 内核的同步机制

    Linux内核同步机制,挺复杂的一个东西,常用的有自旋锁,信号量,互斥体,原子操作,顺序锁,RCU,内存屏障等。
    发表于 05-14 14:10 903次阅读

    Linux内核的同步机制

    在现代操作系统里,同一时间可能有多个内核执行流在执行,因此内核其实像多进程多线程编程一样也需要一些同步机制同步各执行单元对共享数据的访问,尤其是在多处理器系统上,更需要一些同步机制同步
    的头像 发表于 09-22 09:46 2863次阅读
    Linux内核的<b class='flag-5'>同步机制</b>

    CAN总线同步机制/地址机制/仲裁机制分析

    CAN(ControllerAreaNetwork)总线,即控制器局域网总线,在工业控制、医疗电子、家用电器及传感器领域都得到了广泛的应用。
    发表于 12-24 10:45 8952次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b><b class='flag-5'>同步机制</b>/地址<b class='flag-5'>机制</b>/仲裁<b class='flag-5'>机制</b>分析

    CAN总线同步有何奥秘

    CAN总线一直以来以稳定、容错性高而著称。要想达到这样的效果,其独特的同步机制是非常重要的一点,本文将为大家讲解一下CAN总线
    的头像 发表于 12-26 02:52 2020次阅读

    基于有限状态机的FlexRay时钟同步机制

    工作的能力,其信息传输的确定性离不开其内部的时钟同步机制的支持。时钟同步机制可根据该节点启动的不同工作阶段,定义成不同的工作状态,如初始化、等待接收同步帧等。考虑到传统的FSM方法建立模型存在代码难以复用、维护困难等问题,本文基
    的头像 发表于 03-31 10:22 4511次阅读
    基于有限状态机的FlexRay时钟<b class='flag-5'>同步机制</b>

    浅谈Linux kernel中的同步机制

    同步就是进程与进程之间,进程与系统资源之间的交互。由于 Linux内核采用的是多任务,所以在多个进程之间,必须要有同步机制来保证彼此协调。
    的头像 发表于 05-04 17:06 1452次阅读