当前位置: 首页 > news >正文

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

目录

1、确定网络参数

2、计算时间量子(tq)

3、分配位时间段

4、 使用位定时计算工具

5、遵循行业标准


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

CAN总线的位时间由四个非重叠的时间段组成,每个段由时间量子(Time Quanta,tq)构成,时间量子是位定时配置的最小单位。

以下是各段的定义:

  • 同步段(Sync_Seg):用于同步网络中的各个节点,期望在此段内检测到总线电平边沿。
  • 传播段(Prop_Seg):用于补偿网络中的信号传播延迟,包括总线长度和收发器的延迟。
  • 相位段1(Phase_Seg1):用于补偿正相位误差(位转换晚于Sync_Seg),可在重新同步时延长。
  • 相位段2(Phase_Seg2):用于补偿负相位误差(位转换早于Sync_Seg),可在重新同步时缩短。

采样点位于Phase_Seg1和Phase_Seg2之间,其位置通常以位时间的百分比表示。例如,采样点为87.5%意味着在位时间的87.5%处读取总线状态。以下图示说明了位时间的分段和采样点位置:

当CAN网络中的节点配置了不同的采样点时,会引发以下严重问题:

  • 位错误,不同节点在不同时间采样可能导致对同一位的解释不一致。例如,在存在噪声或信号失真的情况下,一个采样点为50%的节点可能在信号稳定前采样,而采样点为87.5%的节点可能正确采样。这种差异会导致位错误,进而导致数据损坏。
  • 同步问题,CAN总线通过硬同步和重新同步机制确保节点时间对齐。硬同步在帧开始时重启位时间,重新同步通过调整Phase_Seg1或Phase_Seg2补偿相位误差。如果采样点不一致,同步机制可能无法有效补偿,导致节点失去时间对齐,通信失败。
  • 错误帧增加,当节点检测到位错误时,会发送错误帧通知其他节点。采样点不一致可能导致频繁的位错误,产生大量错误帧。这些错误帧会占用总线带宽,降低网络效率,甚至可能导致总线拥堵。
  • 节点进入总线关闭状态,CAN协议规定,节点在检测到过多错误后会进入错误被动状态或总线关闭状态。在总线关闭状态下,节点停止参与通信,可能导致网络部分或完全失效。采样点不一致是导致此类状态的常见原因之一。
  • 仲裁失败,在CAN总线的仲裁阶段,节点通过比较发送和接收的位值决定消息优先级。如果采样点不一致,节点可能对仲裁位做出错误判断,导致消息冲突或优先级反转,影响实时通信。
  • 确认(ACK)错误,每条消息的末尾包含一个确认位,用于验证消息是否被正确接收。采样点不一致可能导致节点无法正确采样确认位,触发重传,降低网络效率。

假设一个汽车CAN网络包含多个电子控制单元(ECU),目标位速率为500 kbps,总线长度为50米。其中一个ECU的采样点配置为50%,而其他ECU配置为87.5%。在高噪声环境下,采样点为50%的ECU可能在信号未稳定时采样,导致位错误。该ECU会发送错误帧,干扰其他节点的通信。如果错误持续发生,该ECU可能进入总线关闭状态,导致关键功能(如刹车控制)失效。

相反,如果所有ECU的采样点统一配置为87.5%,即使存在一定噪声,节点也能在信号稳定后采样,显著降低错误率。以下表格展示了两种配置的对比:

为避免采样点不一致的危害,工程师应遵循以下步骤配置位定时:

1、确定网络参数

收集网络的物理特性,包括总线长度、收发器延迟和系统时钟频率。例如,假设系统时钟为16 MHz,目标位速率为500 kbps,总线长度为50米。

2、计算时间量子(tq)

时间量子由波特率预分频器(BRP)和系统时钟频率决定。公式为:

例如,BRP=4,fsys = 16 MHz,则tq = 4/16 = 0.25 μs。

3、分配位时间段

位时间由多个时间量子组成,通常为8至25个tq。采样点位置由以下公式确定:

为实现87.5%的采样点,可设置Sync_Seg=1 tq,Prop_Seg=5 tq,Phase_Seg1=8 tq,Phase_Seg2=2 tq,总计16 tq。

4、 使用位定时计算工具

许多制造商提供位定时计算工具,如Kvaser位定时计算器,可帮助工程师快速确定合适的参数。

5、遵循行业标准

CiA推荐采样点为87.5%,并提供详细的位定时指南(如CiA 601-3文档)。工程师应参考这些标准,确保所有节点配置一致。

为确保网络可靠性,工程师必须为所有节点配置一致的位定时参数,遵循CiA等行业标准,并使用位定时计算工具。通过合理的配置和测试,CAN总线可以实现高效、稳定的通信,满足汽车和工业应用的严格要求。 

相关文章:

  • chrome因使用selenium无图模式导致不再加载图片问题解决
  • 【Java开发--对象converter转换规范实践】
  • 面试点补充
  • PH热榜 | 2025-05-18
  • 详细总结和讲解redis的基本命令
  • 深度学习 TensorFlow vs PyTorch
  • 408 笔记
  • 系统安全及应用学习笔记
  • 12代处理器关闭小核提高win10系统更多性能方法
  • el-upload图片设置了url不显示问题
  • Cryosparc里头restack的妙用
  • ArcGIS Pro 3.4 二次开发 - 内容
  • 8254计数器应用实验
  • 25.5.19 强化学习笔记1
  • 【Linux网络】多路转接epoll
  • 留给王小川的时间不多了
  • Java大数据机器学习模型在金融衍生品风险建模中的创新实践
  • 鸿蒙 系统-安全-程序访问控制-应用权限管控
  • 提高 iOS 调试效率的实战经验:日志查看、崩溃分析与性能监控工具推荐(含 KeyMob)
  • 27.第二阶段x64游戏实战-分析技能属性
  • 深一度|上座率连创纪录撬动文旅,中超可否复制大连模式
  • 武汉警方通报一起故意伤害案件:1人死亡,嫌疑人已被抓获
  • 被央视曝光“废旧厂区沦为垃圾山”,江西萍乡成立调查组查处
  • 聘期三年已至:37岁香港青年叶家麟卸任三亚市旅游发展局局长
  • “上海-日喀则”援藏入境旅游包机在沪首航
  • 菲律宾中期选举结果揭晓,马科斯与杜特尔特家族重回“权力的游戏”