Other Parts Discussed in Thread: TCAN4550, TCAN4550-Q1
主题中讨论的其他器件:TCAN4550、
您好!
我目前正在为我的应用研究 TCAN4550、我需要对器件模式的工作原理进行一些说明(即正常、待机、睡眠)。 我现在不会进入失效防护模式、因为我需要先了解前三种模式。 在我的设置中、mA 微控制器通过芯片的数字 GPIO 引脚来驱动 TCAN4550芯片、尤其是 nINT 和 nWKRQ 引脚来管理所有中断。 在这种情况下、nWKRQ 被配置为唤醒请求中断。
我想了解从待机到正常以及从睡眠到正常的运行差异。 以下是我的理解:
- 待机至正常:在发生本地唤醒(LWU)或 CAN 唤醒(WUP)事件时,nWKRQ 引脚将被拉至低电平(nINT,因为它是所有中断的逻辑 OR)。 在这种情况下、主机微控制器只需通过 SPI 总线将0b10写入0x0800寄存器的 MODE_SEL 位字段、然后传入的帧将由 TCAN4550进行确认。
- 睡眠到正常:LWU 或 WUP 事件将导致芯片自动从睡眠模式转换到待机模式。 此时、nWKRQ 引脚将被拉低(再次由 nINT 镜像)。 在这种情况下、主机微控制器必须完全重新配置 TCAN4550以确认传入帧。
下面是我的问题。 如果我刚才解释的是准确的:
主机微控制器在发生 LWU/WUP 事件时、如何在由 nWKRQ 引脚触发的中断期间知道 TCAN4550是处于待机模式还是处于睡眠模式。 我需要知道如何尽可能干净地处理唤醒、现在还不清楚我何时需要通过 SPI 写入简单地转换为正常、或者我是否需要完全重新配置组件。
必然的问题:
当器件处于待机状态且由于我正在发送 CAN 帧而发生 WUP 时、它不会立即确认传入帧。 它通常采用2-10 CAN 帧的自动重发送(取决于传输速率以及 nWKRQ 中断的处理方式)。 这是因为微控制器和 TCAN4550之间的 SPI 事务需要读取然后写入0x0800寄存器。 如果通过 nINT 中断处理它、则需要更长时间、因为有必要读取中断寄存器以确定它是否确实是一个需要处理的唤醒事件。
除了提高 SPI 通信的速度和效率之外,是否有办法使此确认时隙更快地发生?
感谢你的帮助。
此致、
路易
