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

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

3天内不再提示

CAN总线的同步有何奥秘

电子设计 来源:电子设计 作者:电子设计 2020-12-26 02:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

    浏览量

    134705
  • 线缆
    +关注

    关注

    5

    文章

    653

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CAN集线器什么作用

    CAN集线器作为工业通信网络中的关键设备,主要用于解决CAN总线在实际应用中遇到的 通信距离有限、多速率网络难兼容、以及数据冗余导致负载过高 等问题。在工业自动化、汽车制造、轨道交通等复杂场景中
    的头像 发表于 11-14 14:42 165次阅读
    <b class='flag-5'>CAN</b>集线器<b class='flag-5'>有</b>什么作用

    120Ω的秘密:CAN总线终端电阻的重要性

    末端的电阻。此电阻虽小,但在CAN总线通信中具有十分重要的作用。CAN总线终端电阻的作用主要有两个方面:1.提高抗干扰能力,确保总线快速进入
    的头像 发表于 08-08 11:35 798次阅读
    120Ω的秘密:<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>终端电阻的重要性

    广成科技CANFD转CAN总线GCAN-418的优势

    作为CAN总线的升级产品,CANFD相较于传统的CAN总线,拥有如下几个方面的优势。
    的头像 发表于 08-05 11:47 907次阅读
    广成科技CANFD转<b class='flag-5'>CAN</b><b class='flag-5'>总线</b>GCAN-418的优势

    CAN总线电容过大?三种解决方案来了

    时,经常会遇到由于下降沿过缓导致的未采样错误。下降沿过缓通常是由于总线电容过大引起的。由于CAN收发器采用单向驱动结构,上升沿驱动,而下降沿则是通过总线与终端
    的头像 发表于 07-22 11:36 480次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>电容过大?三种解决方案来了

    CAN总线采样点不一致的危害

    采样点不一致是CAN总线网络中常见的配置错误,可能导致位错误、同步问题、错误帧增加、节点总线关闭、仲裁失败和确认错误等严重后果。 CAN
    发表于 06-07 08:55

    CANape中记录总线报文及生成BLF文件的培训视频#CANape #汽车CAN总线 

    CAN总线
    北汇信息POLELINK
    发布于 :2025年03月06日 11:40:27

    CAN丢帧很常见,你知道哪些主要原因吗?(下)

    错误时,可能会导致节点在接收消息时无法正确同步和解析,从而造成丢帧问题。图1总线速率设置错误CAN总线速率是指在CAN
    的头像 发表于 02-25 11:33 1255次阅读
    <b class='flag-5'>CAN</b>丢帧很常见,你知道<b class='flag-5'>有</b>哪些主要原因吗?(下)

    请问k230can总线接口吗?

    k230can总线接口吗?没有看到硬件结构图里标注can
    发表于 02-08 07:12

    CAN总线十万个为什么 | CAN自定义波特率什么用?

    导读CAN总线通信中,波特率一致并不总能保证通信顺畅。本文将揭秘自定义波特率的原理和应用,探讨如何通过优化采样点和提高容忍度解决通信问题,助力工程师提升通信稳定性。通常情况下,CAN总线
    的头像 发表于 02-07 11:36 1106次阅读
    <b class='flag-5'>CAN</b><b class='flag-5'>总线</b>十万个为什么 | <b class='flag-5'>CAN</b>自定义波特率<b class='flag-5'>有</b>什么用?

    CAN总线模拟器的使用指南 CAN总线网络的安全性分析

    CAN总线模拟器的使用指南 CAN总线模拟器(如ICSim)是一种用于模拟CAN总线通信的工具,
    的头像 发表于 12-23 09:16 3676次阅读

    CAN总线在工业自动化中的作用

    CAN(Controller Area Network)总线在工业自动化中发挥着至关重要的作用。它是一种高效的现场总线系统,以其高速、可靠和灵活的特点,成为连接工业自动化系统中各种设备的优选方案
    的头像 发表于 12-23 09:12 1943次阅读

    如何使用Arduino实现CAN总线通信呢

    CAN(Controller Area Network)总线是一种常用于汽车和工业控制系统的串行通信协议,以其高可靠性和实时性而闻名。Arduino,作为一种流行的开源微控制器平台,可以通过附加
    的头像 发表于 12-23 09:06 2827次阅读

    CAN总线的扩展功能及其应用

    CAN总线以其高可靠性、实时性和灵活性在现代电子系统中扮演着重要角色。随着技术的发展,CAN总线也在不断扩展其功能,以适应更广泛的应用需求。 1.
    的头像 发表于 12-23 09:04 2263次阅读

    使用CAN总线进行数据采集的方法

    使用CAN总线进行数据采集的方法通常涉及一系列步骤,这些步骤确保了数据的准确采集、处理和存储。以下是一个详细的方法指南: 一、了解CAN总线系统 首先,需要对
    的头像 发表于 12-20 18:18 3473次阅读