|
sywnolfh1du64018452.gif
$ f# [" W- F& G! n) q' u
点击上方蓝色字体,关注我们( C: G/ W! C9 q
我们选用的TJA1043T CAN收发器,通过控制其STB(状态)引脚和EN(使能)引脚,可以切换收发器的工作模式,进而控制INH(抑制)引脚。- E) \0 @6 v- m+ N7 v
# M* x( A' t- K3 b
fxuwjzrygnv64018552.png
6 s# x3 K% T# Q8 F" l& P. E
4 O& Q; Y1 k- d2 B& H9 c
1 W% D5 B/ i$ O9 b& V
ax3c4nvoljw64018652.png
1 Y+ u+ Y) R$ o! D& A3 c8 f$ H
3 [2 o' g% x7 c3 r! o+ o0 z9 m
我们的目标是通过控制INH引脚来管理8V电源,从而实现对整个硬件电源的控制。
( {# r- \, y a% y* s: n! R5 H8 I
' D0 R- ?5 O% P
5m0e2u4bj4x64018752.png
* g# X0 ]0 _# I7 p+ t$ y
4 k: p5 A6 _) Z% |由于TJA1043T不支持网络过滤,当CAN收发器接收到任意CAN报文后,都会被唤醒并拉高INH引脚开启8V电源。MCU在上电后会判断接收到的报文是否为网络管理报文(ID在0X400至0X4FF之间)。如果不是,MCU会控制收发器的STB和EN引脚再次进入休眠状态。
- h9 l/ C9 ]6 u( j# \8 k! x3 @2 ]7 c/ j) |
然而,在测试过程中我们发现,当低频率发送非网络管理报文时,CAN收发器可以正常进入休眠状态。但当高频率发送非网络管理报时,CAN收发器很快就会出现失控现象。
" G9 A- b+ N& S2 y9 J# @+ ^& C/ d, Z. X* A, x* E- g
具体表现为:尽管STB和EN引脚的电压已经被设置为休眠状态,但INH引脚却一直保持高电平,无法进入休眠状态。测量波形如下:2 j$ X" b4 l) D1 s' l! T$ B
$ }) w }3 A! x/ }; P( l
ine2yl0xjhh64018852.jpg
6 D! R' Q0 L8 y: o
. i8 V/ T1 f/ g经过深入分析,我们发现导致这个问题的主要原因是:收发器最后保持在Go-to-Sleep模式无法进入休眠模式。
& y" K8 C w& X1 V- C% h' N" q2 J' J9 C& X, t! K% e- ]4 x
50gvou0gjwb64018953.png
. ~) `2 d9 ]: C& E/ j3 p( Q% [* f
为了缓解这个问题,我们尝试通过修改CAN收发器INH引脚的阻容电路来加速INH引脚的拉低过程,从而更快地进入休眠模式。
7 D/ X8 z- H3 `2 ^5 ^- w6 p# }7 B/ t8 G; y% N3 U3 [
经过实验验证,这种改进措施可以在一定程度上优化INH失控的情况,特别是在100ms周期以上发送非网络管理报文时表现更为明显。8 r2 @3 @/ V" J1 k9 z% `$ ~1 Z9 G
7 e& }0 P U9 ~. \& P
这种改进措施虽然能够改善INH失控的现象,但并未从根本上解决问题。收发器在Go-to-Sleep模式下仍然存在无法进入休眠模式的风险。, G1 _; B6 {6 {9 W! U( R$ ` v9 ~
5 {- a: i$ s3 k6 o. Y- ]" X6 }
a2c3kskpddb64019053.png
6 n4 [4 E- s2 v( A& }: t, S" w
. ?+ F# }1 H( S* d+ @! G7 o, C为了解决这个问题,我们在软件层面引入了一些异常处理机制。( d7 P6 j% r$ [9 N8 e* P l
- ]( q0 L# m) a! X4 u当检测到收发器INH引脚失控(即电源一直处于开启状态)时,MCU会再次控制收发器的STB和EN引脚由休眠状态切换到正常工作状态,然后再重新设置进入休眠状态。4 ]+ c2 `$ x* n# h+ _
. R1 i% w( T9 G8 m4 F/ [通过这种方式,我们成功地解决了INH引脚失控的问题。测量波形如下:
3 q: C8 E" N# t. o- }& G, d1 B* S5 E
pccbehb5aqu64019153.jpg
5 c1 F1 |" A( y: I# X+ m0 D) ^
( |- c5 K4 c h+ i8 U" _, s
; X% U) |! ?( p; x+ h
kwkj0al14bj64019253.jpg
, G6 m+ n- j7 `# h( F+ J2 y
1 p; S& C2 `0 o8 X0 w2 U0 s
虽然TJA1043T CAN收发器在网络过滤方面存在一些限制,但通过合理的软件设计和异常处理机制,我们仍然可以实现客户的网络管理需求。
' L: x6 c! j; g4 I0 c" E! }# m F* }6 s* X6 e$ M5 T8 d7 ~( r
mq1r0ujfk4q64019353.jpg
& b& i/ s7 y, f, a
co21no2rei064019453.gif
$ |# N5 \/ q6 m# x' `点击阅读原文,更精彩~ |
|