电子产业一站式赋能平台

PCB联盟网

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

如何处理不支持网络过滤的CAN收发器失能问题

[复制链接]

1008

主题

1008

帖子

8940

积分

高级会员

Rank: 5Rank: 5

积分
8940
发表于 2024-8-28 12:00:00 | 显示全部楼层 |阅读模式

sywnolfh1du64018452.gif

sywnolfh1du64018452.gif
& z5 d$ d) k& U- d+ C0 |" @
点击上方蓝色字体,关注我们
) L( m# Q7 q1 i  X/ c% i我们选用的TJA1043T CAN收发器,通过控制其STB(状态)引脚和EN(使能)引脚,可以切换收发器的工作模式,进而控制INH(抑制)引脚。
& w* H7 c2 x9 Q- |- B8 F; e  o- c* T" D

fxuwjzrygnv64018552.png

fxuwjzrygnv64018552.png

4 y2 ^! p# V, F, x5 o. x7 r
" e2 Z& z1 |1 F- H" G4 N' r4 k
6 [3 Z( s3 ?" ^+ a/ p( [

ax3c4nvoljw64018652.png

ax3c4nvoljw64018652.png
% d3 K" n# I4 R: v0 x, \+ }! p

; r6 }: _+ ~6 y/ L我们的目标是通过控制INH引脚来管理8V电源,从而实现对整个硬件电源的控制。5 S! ]8 F! }6 r( P- p' k4 K! V4 e
( x7 V2 j( y  |* F  r* C- U

5m0e2u4bj4x64018752.png

5m0e2u4bj4x64018752.png

, ]4 m8 w% ]) S0 F/ Z7 }# Q" H% Q- s3 Y  G, M( \; Y+ g
由于TJA1043T不支持网络过滤,当CAN收发器接收到任意CAN报文后,都会被唤醒并拉高INH引脚开启8V电源。MCU在上电后会判断接收到的报文是否为网络管理报文(ID在0X400至0X4FF之间)。如果不是,MCU会控制收发器的STB和EN引脚再次进入休眠状态。
; J# H3 H) z: r1 N' M" g
1 x4 {4 A7 f6 {7 w6 _+ g然而,在测试过程中我们发现,当低频率发送非网络管理报文时,CAN收发器可以正常进入休眠状态。但当高频率发送非网络管理报时,CAN收发器很快就会出现失控现象。& C0 U, ~9 |) q- A3 B' `
, W- c. D- N2 e  R4 x5 g9 G
具体表现为:尽管STB和EN引脚的电压已经被设置为休眠状态,但INH引脚却一直保持高电平,无法进入休眠状态。测量波形如下:
6 e& t: M( M3 g7 ]. ?0 x4 z/ n2 {: ?  `4 ?* b' F. C7 P

ine2yl0xjhh64018852.jpg

ine2yl0xjhh64018852.jpg
9 Z! l, a% H% _7 Y; t% z  `. z
1 o; a* W* Q0 n& y
经过深入分析,我们发现导致这个问题的主要原因是:收发器最后保持在Go-to-Sleep模式无法进入休眠模式。
9 J/ W" v/ T) y8 O# X& g: Z
0 v, A! @0 _/ E" L1 a

50gvou0gjwb64018953.png

50gvou0gjwb64018953.png

) p1 n; b* h: m8 E! Q4 t
4 ~6 m( w0 o5 h为了缓解这个问题,我们尝试通过修改CAN收发器INH引脚的阻容电路来加速INH引脚的拉低过程,从而更快地进入休眠模式。( v# M) d% |& n& o/ `
9 z: O- _' a4 }5 a7 `
经过实验验证,这种改进措施可以在一定程度上优化INH失控的情况,特别是在100ms周期以上发送非网络管理报文时表现更为明显。
+ Y8 S; i% n' x/ C! a/ H: T1 [, c" m+ e
这种改进措施虽然能够改善INH失控的现象,但并未从根本上解决问题。收发器在Go-to-Sleep模式下仍然存在无法进入休眠模式的风险。4 ~) C. z1 K  F1 R5 V
4 e1 ?" F! d" A/ u/ I; ]

a2c3kskpddb64019053.png

a2c3kskpddb64019053.png
6 i# O3 j1 u; ~

% ^3 S- y% ]- q* j7 [# f" c为了解决这个问题,我们在软件层面引入了一些异常处理机制。
3 }4 N4 E6 v; b! h
2 o; }: A1 N- X% {当检测到收发器INH引脚失控(即电源一直处于开启状态)时,MCU会再次控制收发器的STB和EN引脚由休眠状态切换到正常工作状态,然后再重新设置进入休眠状态。
) D4 F: g6 Y6 T; y$ Y! r: N& _+ O( W8 N
通过这种方式,我们成功地解决了INH引脚失控的问题。测量波形如下:: A& r- t' n  w

0 O" e( Z8 l! O; U6 K3 b

pccbehb5aqu64019153.jpg

pccbehb5aqu64019153.jpg
0 g, Y" F/ ~. l
0 ~! ]4 ?4 ^) u& k% [
+ Y% o+ ?% n* a% K6 p6 g" H+ r

kwkj0al14bj64019253.jpg

kwkj0al14bj64019253.jpg

7 X4 f" [2 T6 }: Z/ ~7 \4 r2 W+ C) N2 V, M  R
虽然TJA1043T CAN收发器在网络过滤方面存在一些限制,但通过合理的软件设计和异常处理机制,我们仍然可以实现客户的网络管理需求。
+ b" a+ @% v4 f5 `/ u3 Y' {
( @& k$ r' K+ `" [

mq1r0ujfk4q64019353.jpg

mq1r0ujfk4q64019353.jpg
- q; @$ L( y* m3 D8 U' e5 w1 O

co21no2rei064019453.gif

co21no2rei064019453.gif

: u7 C3 k) b: ]2 b5 n点击阅读原文,更精彩~
回复

使用道具 举报

发表回复

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

本版积分规则


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