pmg1xb03fox6403892622.gif
- x+ f9 _4 r; e% O0 W1 ]0 v+ N' Q
点击上方蓝色字体,关注我们$ V# k; H2 b$ B1 ] I
我们选用的TJA1043T CAN收发器,通过控制其STB(状态)引脚和EN(使能)引脚,可以切换收发器的工作模式,进而控制INH(抑制)引脚。: Y3 O- x) K( Q/ f& s0 }' N# P
* B I, Z. y$ b* C4 z9 J' A
v3k3vxbfefn6403892722.png
/ y2 ?& J* e' H# p
/ _" W! X- J$ O2 y' c4 e& u/ g6 N% E& w$ T
b0gl5dofcv16403892823.png
! J0 j m+ t# m6 Z9 ]
5 M8 Y$ p! v9 K, H9 z) |我们的目标是通过控制INH引脚来管理8V电源,从而实现对整个硬件电源的控制。( M8 X; F( m3 f) R$ V4 V
' @9 {+ N$ {& N$ _/ z2 m
3lm1s41cf3j6403892923.png
! o; O' A' A$ V) q3 D! }% w N5 g
1 B6 m! Z: }! g; b% z7 k/ E. Q由于TJA1043T不支持网络过滤,当CAN收发器接收到任意CAN报文后,都会被唤醒并拉高INH引脚开启8V电源。MCU在上电后会判断接收到的报文是否为网络管理报文(ID在0X400至0X4FF之间)。如果不是,MCU会控制收发器的STB和EN引脚再次进入休眠状态。 G3 I5 u) }7 H. Q4 R4 _* w
- Z; S7 L. J' T& f6 X; b7 V然而,在测试过程中我们发现,当低频率发送非网络管理报文时,CAN收发器可以正常进入休眠状态。但当高频率发送非网络管理报时,CAN收发器很快就会出现失控现象。- a' E$ e6 A( m& {
3 P4 E$ |+ t' y: L7 Z, x4 f0 H具体表现为:尽管STB和EN引脚的电压已经被设置为休眠状态,但INH引脚却一直保持高电平,无法进入休眠状态。测量波形如下:
7 O7 k* K$ Z0 X" G* d
( K) T% @) N+ k7 Q O0 r9 s
jru4udfgiai6403893023.jpg
3 {, \9 O' p$ J, k5 K9 y6 Q6 Y
9 O/ `5 }3 i4 g' T4 A J( c7 Q经过深入分析,我们发现导致这个问题的主要原因是:收发器最后保持在Go-to-Sleep模式无法进入休眠模式。+ o* D/ _8 u& z6 ^) X
; O9 V" a" s/ E9 f( \% c
zkxzucnuqrk6403893123.png
) _7 D% W# |; m7 A
; {# _% ?) i. d' q' z% e: O为了缓解这个问题,我们尝试通过修改CAN收发器INH引脚的阻容电路来加速INH引脚的拉低过程,从而更快地进入休眠模式。
' h& f" Z; m7 }5 s3 U9 Z
( p5 t1 h) V' S# }' L# P* |/ I经过实验验证,这种改进措施可以在一定程度上优化INH失控的情况,特别是在100ms周期以上发送非网络管理报文时表现更为明显。
. Z' M+ N, b' g1 h m( o) x+ \. y% E& F9 A# h3 B6 n4 C. i
这种改进措施虽然能够改善INH失控的现象,但并未从根本上解决问题。收发器在Go-to-Sleep模式下仍然存在无法进入休眠模式的风险。
' r3 r$ @' E0 N8 k
4 n* J5 y( R( [2 Y2 K7 P- s
eig3uen5j0o6403893223.png
- N- Z/ s, ^( A# l+ ~4 X- z5 ?% C! S
为了解决这个问题,我们在软件层面引入了一些异常处理机制。
7 a P2 w" i# H/ v6 D
3 }( K& Z0 T6 N- W% M# Y当检测到收发器INH引脚失控(即电源一直处于开启状态)时,MCU会再次控制收发器的STB和EN引脚由休眠状态切换到正常工作状态,然后再重新设置进入休眠状态。9 \* f) V- _) V' o% F- ` K
% P: u( D4 w! N# ~/ F q+ h
通过这种方式,我们成功地解决了INH引脚失控的问题。测量波形如下:
3 w- C% Z( y) w, U, P5 f" N
. I! @/ }( \$ J9 Q" U8 E
pbkl1ab2q0y6403893323.jpg
4 a e6 H, y* |! @2 G8 ~
3 A7 k1 \! k7 b/ U$ Y: {7 V+ o8 @) {) y, w
z1xfqjgagu46403893423.jpg
( k( h0 E( q* s! A' l+ Y; |) j
+ D& A& X4 O# T, \6 j虽然TJA1043T CAN收发器在网络过滤方面存在一些限制,但通过合理的软件设计和异常处理机制,我们仍然可以实现客户的网络管理需求。 # s# j1 M; T9 q- H3 b3 D
& X, W, Z" o1 b# V; M- ]
r13j5l0pg5r6403893523.jpg
8 @0 D O0 g" m8 e6 K: Y
jqxr4wp2au06403893623.gif
' O, G1 `0 O. ~' }; r3 \' h1 p点击阅读原文,更精彩~ |