理论教育 CAN模块掉电模式优化方案

CAN模块掉电模式优化方案

时间:2023-06-15 理论教育 版权反馈
【摘要】:当停止CAN模块的内部时钟时,CAN模块就处于局部掉电模式。在发送完成后,置位PDA状态位,这样可以确保CAN模块已经进入掉电模式。当PDR位清零或探测到CAN总线上有任何总线活动,模块将脱离局部掉电模式。寄存器PCLKCR的位14可以使能或禁止CAN模块的时钟。用该位可以关闭CAN模块的时钟,从而降低功耗。

CAN模块掉电模式优化方案

当停止CAN模块的内部时钟时,CAN模块就处于局部掉电模式。

1.进入和退出局部掉电模式

在局部掉电模式下,关闭了CAN模块的时钟,仅仅保证唤醒逻辑电路仍然继续工作。其他外设模块继续正常工作。

向PDR(CANMC.11)位写入1可以请求进入局部掉电模式,而这允许正在进行的任何信息对象成功完成发送。在发送完成后,置位PDA状态位(CANES.3),这样可以确保CAN模块已经进入掉电模式。

从CANES寄存器读出的值为0x08(置位了PDA位)。对所有其他寄存器读取将返回值0x00。

当PDR位清零或探测到CAN总线上有任何总线活动(如果总线活动唤醒功能已使能),模块将脱离局部掉电模式。

总线活动自动唤醒功能可以通过CANMC寄存器的WUBA配置位来使能或禁止。如果CAN总线上有任何活动,模块将开始它的上电顺序。模块一直等待,直到它在CANRX引脚上探测到11个连续的隐性位,然后它进入总线正常工作状态。

注:不能收到发起CAN总线活动的第一帧信息。这意味着在掉电和自动唤醒模式下第一帧信息将会丢失。

在脱离休眠模式后,PDR和PDA位清零,CAN错误计数器保持不变。

如果模块在PDR位被置位时正在发送信息,发送将一直继续直到成功发送或丢失仲裁或CAN总线上发生错误条件。然后,激活PDA位,模块在总线上不引起错误条件。(www.daowen.com)

为了执行局部掉电模式,需要在CAN模块中使用两路单独的时钟。一路时钟一直保持激活状态从而保证掉电时的运行,例如,唤醒逻辑和PDA位(CANES.3)的读/写操作。另一路时钟由PDA位控制。

2.进入和退出低功耗工作模式的注意事项

28x DSP有两种低功耗工作模式:STANDBY(备用)和HALT(停止),在这两种模式中,外设模块时钟都被关闭。由于CAN模块通过一个网络与多个节点相连,所以在进入和退出低功耗工作模式时必须十分小心,保证一个CAN信息对象必须被所有节点完整地接收。因此,如果在发送过程中失败,失败的信息对象将违反CAN协议,结果将使所有的节点产生错误帧。节点在退出低功耗工作模式时不能太急促。例如,如果节点要在CAN总线正在通信的时候退出低功耗工作模式,它可能“看见”一个被删减了的信息对象,并且用错误帧干扰总线。

器件进入低功耗工作模式前必须先考虑以下几点:

1)CAN模块已经完成了所要求的最后一个信息对象的发送。

2)CAM模块已经通知CPU它准备进入低功耗工作模式。

换句话说,只有当CAN模块进入局部掉电模式后才允许DSP进入低功耗工作模式。

3.CAN模块时钟的使能或禁止

只有CAN模块的时钟使能以后才能使用CAN模块。寄存器PCLKCR的位14可以使能或禁止CAN模块的时钟。当应用中完全不使用CAN模块时,该位很有用。用该位可以关闭CAN模块的时钟,从而降低功耗。与其他外设模块一样,复位时将关闭CAN模块的时钟。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈