TPMS芯片之英飞凌SP40PLUS的唤醒控制器
5.2唤醒控制器
在典型的胎压监测系统应用中,SP40PLUS在其运行寿命的大部分时间处于断电状态。在断电状态下,通过调用固件函数Lib_Serv_Low_power(2)触发,设备仅由唤醒控制器控制。唤醒控制器是电源管理方面具有最高优先级的模块。它总是通电并等待来自不同来源的唤醒事件。为了降低功耗,唤醒控制器由2.2 kHz振荡器计时。如果发生唤醒事件且事件未被屏蔽,则唤醒控制器接通接管设备控制的系统控制器的电源。设备以与断电相同的模式(正常或调试模式)唤醒。在代码执行开始之前,CPU运行固件引导序列,所有寄存器都用它们的唤醒值初始化。在正常模式下,从唤醒事件发生到应用程序代码执行开始的时间在几毫秒范围内(见表20)。实施的唤醒源包括:
•间隔计时器
•低频接收机:载波检测器
•低频接收机:同步模式检测器
•低频接收机:数据模式匹配电路
•低频接收器:数据缓冲区已满
•左前接收器:消息结束
•通用I/O PP2
•设备处于热关机状态时的温度检测器
唤醒控制器的第二个主要功能是复位处理。复位信号本身在“电源和复位发生器”模块中生成。系统重置可通过以下方式触发:
•失电(内部调节电压降至某个阈值以下)
•通电
•欠压(蓄电池电压低于某一阈值,见表10)
•软件
•看门狗
•闪光错误(通过纠错码ECC检测)
除了闪存错误,所有其他系统重置事件都不可屏蔽。寄存器SYSST指示设备重启后的重置源,可以在应用程序代码中读取。重置释放后,执行固件引导序列,用寄存器的重置值启动寄存器,并调用I2C处理程序。处理程序等待一定时间(见“模式选择时间”,表20)以获得有效的I2C模式选择命令[2]。如果没有收到有效的I2C信号,设备将在模式选择时间过后开始执行应用程序代码。
虽然热关机状态与断电状态不同,但热关机释放事件的行为类似于唤醒,所有寄存器都会使用其唤醒值启动。
WUPAND标志允许区分是否发生唤醒或另一次重启,即重置或恢复。在热关机的情况下,释放WUPEND也表示唤醒。
为了进行识别,每个唤醒源在寄存器WUF中都有自己的标志(只有标志TDET位于SYSST中。)如果在读取WUF之前发生多个唤醒事件,则可以在WUF中设置多个标志。由于WUF在读取时被清除,建议不要读取单个位,而是在分析之前将WUF复制到RAM中。相应WUM寄存器中的标志用于屏蔽单个唤醒源。虽然间隔计时器有一个屏蔽标志,但该标志无效:由于故障安全原因,间隔计时器唤醒不可屏蔽。请注意,如果在WUM寄存器中屏蔽唤醒事件,则事件发生时不会触发相应的唤醒,但WUF寄存器中的相应标志始终处于设置状态,与WUM设置无关,且与设备状态(低功率、运行状态等)无关。通过这种方式,可以检查WUF是否存在未触发唤醒的事件,以便在稍后的时间点处理这些事件。
此外,唤醒控制器包括LF开-关定时器,该定时器允许以可配置的占空比操作LF接收器,以节省电力。详情见第5.11章。
与唤醒控制器相关的重要寄存器包括:
•DSR0(位WUPEND。该位表示挂起的唤醒事件)
•SYSST(表示系统重置源)
•RMASK(重置掩码寄存器)
•WUF(表示唤醒源)
•WUM(用于屏蔽某些唤醒源)
•CFG0(触发软件重置的位SRESET)
注:来源于网络整理