电子产业一站式赋能平台

PCB联盟网

搜索
查看: 264|回复: 0
收起左侧

如何调整CAN位宽容忍度?

[复制链接]

829

主题

829

帖子

6355

积分

高级会员

Rank: 5Rank: 5

积分
6355
发表于 2024-10-3 08:00:00 | 显示全部楼层 |阅读模式

nte4qq3nbnz64039943921.gif

nte4qq3nbnz64039943921.gif

0 N% x" f. X- s( {( d点击上方蓝色字体,关注我们
8 \' J- S* Z% Y3 P" }
  • 调整同步跳转宽度SJW:通过设置同步跳转宽度来容忍边沿与预期位置的偏移。如果网络中节点的时钟偏差较大,可以增加SJW的值,以允许更大的时钟跳跃。
  • 配置相位缓冲段:调整Phase_Seg1和Phase_Seg2的长度,确保时钟误差在可接受范围内。常见的做法是让Phase_Seg1的长度略大于Phase_Seg2,以提供更大的时钟调整能力。) `7 S; Q# ?/ a3 G

    1 x2 R  Z1 s. b% O4 j例如,使用的CAN控制器时钟为8 MHz,要配置CAN总线的速度为500 kbps,具体步骤如下:. d. g& z# Q( I
    1、每位的时间量子数(TQ):CAN速度为500 kbps,因此每位占用的时间为:
    - E- `' P: W; G9 Z

    olm2euklfj364039944021.png

    olm2euklfj364039944021.png
      T: d3 G5 ^' Q- p/ g# L
    这意味着一位的长度应为2微秒。
    - P4 b1 c: K; `/ I) \7 w; f! s0 B. i# [

    $ Y  T; N" ^; `9 k2、时钟周期:8 MHz时钟频率,1个时钟周期为125 ns。则一个位需要的时间量子数(TQ)为:- _, J4 L5 V8 I. L* D9 s

    0lms2ffmrva64039944121.png

    0lms2ffmrva64039944121.png

      ^  ~2 z& O' \  s' \4 ^. W. V: y' R6 s3 E6 Z9 X
    3、设置同步段和相位缓冲段:根据总线速度和网络条件,设置同步段1 TQ,传播段6 TQ,相位缓冲段1为4 TQ,相位缓冲段2为3 TQ,这样就提供了足够的时钟容忍度。$ g2 M! E, j) S+ L# P0 j+ [
    , E7 b! I" ]$ m: V2 C( n
    4、同步跳转宽度SJW:设置SJW为2 TQ,容许小范围的跳跃调整。* e5 f, _9 Q- [$ s& d% F
    / D9 D/ B% N3 b5 \$ S- t% w2 w
    假设网络中某些节点的时钟精度较差,为了容忍这些节点的时钟误差,可以采取以下措施:- W1 S6 x# `3 O, j! R2 Z
  • 增加SJW的宽度,例如从2 TQ调整为4 TQ。
  • 增加相位缓冲段1和相位缓冲段2的长度,以允许更多的时钟调整空间。
    $ H2 Z, J* R2 f) w$ e! g3 J8 u例如,将相位缓冲段1从4 TQ调整为6 TQ,将相位缓冲段2从3 TQ调整为5 TQ。
    " l# U) W! y7 @& I& x, I
    % t( ]& |+ R& i2 @
    这样可以进一步增强对时钟误差的容忍度,确保在有一定时钟偏差的节点中仍然保持稳定的通信。  R+ d, t. K+ n  A8 B, ^" G. A

    xoyocpljz3q64039944221.jpg

    xoyocpljz3q64039944221.jpg

    / y8 ~. \( H! P. c3 S2 s

    ktc4z10z5ey64039944321.gif

    ktc4z10z5ey64039944321.gif
    , ]: e- B- F7 ]- K4 t
    点击阅读原文,更精彩~
  • 回复

    使用道具 举报

    发表回复

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

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表