TJA1145ATK 配置完成唤醒ID后,发现任意CAN FD报文能够将其唤醒

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

TJA1145ATK 配置完成唤醒ID后,发现任意CAN FD报文能够将其唤醒

Jump to solution
3,026 Views
wangchuang
Contributor II

TJA1145ATK/FD,配置好唤醒ID后,发现除了配置的唤醒ID可以将设备唤醒,任意的CAN FD报文也能够将其唤醒

 

寄存器配置如下:

0x26寄存器配置为0x05,波特率为500kbit/s

0x2F寄存器配置为0x00,过滤标准帧,并且不理会数据字段长度和内容

0x29、0x2A寄存器分别配置为0x84、0x08,配置标准ID为0x221

0x2D、0x2E寄存器使用默认值即0x00,即不配置多个过滤ID

0x23寄存器配置为0x01,使能 can wake up detection

0x01寄存器配置为0x07,配置为normal mode

0x20寄存器配置为0x32,配置为CFDC = 0, PNCOK = 1, CPNC = 1, CMC = 10

 

查看手册,自己的理解如下,设置的唤醒CAN 报文ID 0x221,验证发现可以正常唤醒

然而,根据手册所描述的,发送CAN FD报文的话,会触发某个错误计数寄存器的增加,而最大值为31,超过31的话,造成的溢出会导致设备的强制唤醒,也就是说,发送CAN FD报文的话,至少发送多条报文才会导致唤醒才对,但是测试发现,每次发送第一帧CAN FD报文便会将设备唤醒,因此,请问这个是属于正常情况吗,是哪里的问题造成的呢

 

0 Kudos
1 Solution
2,998 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Hello Wang

1.TJA1145ATK/FD是不是只能通过CAN报文唤醒,不能通过CAN FD报文唤醒

JozefKozon_0-1663056521253.png

2.为何设置CFDC为0时会导致任意的CAN FD报文会将设备从休眠状态唤醒

JozefKozon_1-1663056581032.png

With Best Regards,

Jozef

View solution in original post

0 Kudos
7 Replies
3,019 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Dear Wang Chuang,

please refer to the Table 12. and to the section 7.3.2 in the TJA1145 datasheet.

JozefKozon_0-1662724664801.png

JozefKozon_1-1662724688286.png

With Best Regards,

Jozef

0 Kudos
3,009 Views
wangchuang
Contributor II

您好,问题已经解决,在进入休眠的配置中需要将CFDC配置为1,则不会导致CAN FD报文将设备唤醒了,只能通过CAN 报文将其唤醒。

那么,想请问下以下问题:

1.TJA1145ATK/FD是不是只能通过CAN报文唤醒,不能通过CAN FD报文唤醒

2.为何设置CFDC为0时会导致任意的CAN FD报文会将设备从休眠状态唤醒

2,790 Views
majf
Contributor I

您好,我也遇见这个问题了,我初始化的时候就已经将CFDC配置为1了,然后按照你说的在休眠函数里面也重新将CFDC设置为1了一次,但是仍旧是任意的FDCAN报文都可以唤醒,您这边是不是除了设置CFDC之外还有什么其他操作呢

0 Kudos
2,734 Views
wangchuang
Contributor II
其他寄存器的值按照帖子上面的描述去配置了吗,还有在休眠里面不用配置这个CFDC
0 Kudos
2,999 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Hello Wang

1.TJA1145ATK/FD是不是只能通过CAN报文唤醒,不能通过CAN FD报文唤醒

JozefKozon_0-1663056521253.png

2.为何设置CFDC为0时会导致任意的CAN FD报文会将设备从休眠状态唤醒

JozefKozon_1-1663056581032.png

With Best Regards,

Jozef

0 Kudos
2,710 Views
wangchuang
Contributor II

您好,第一个问题中,想请问下TJA1145设计为只支持特定的CAN报文唤醒,而不能支持CAN FD唤醒的原因是什么呢,我看手册的描述是防止仅在CAN通信时,产生总线错误。可以解答下还有其他的原因吗?

0 Kudos
3,015 Views
wangchuang
Contributor II

我清楚手册的意思,按照手册中的那句话来说,意思是任何的CAN FD报文均不会对设备进行唤醒,但是当我使设备进入休眠模式后,然而,发送CAN FD报文却能够将其唤醒。所以,我的问题是,为何任意CAN FD报文会将设备唤醒呢

0 Kudos