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
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
^ ~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
/ y8 ~. \( H! P. c3 S2 s
ktc4z10z5ey64039944321.gif
, ]: e- B- F7 ]- K4 t
点击阅读原文,更精彩~ |