闪存出错:软件错误还是电源电压故障(下)?
当任意一个电源电压低于其阈值时,激活CPU复位可以最大限度地降低闪存出错的可能性。这可以防止在电源故障条件下,继续执行代码。复位发生器激活CPU复位信号及闪存的写保护信号。在某些情况下,复位发生器的输出并不是直接用于CPU复位。相反,它被连接到一个CPLD来执行一个复位分配算法。在这种情况下,应该激活闪存的写保护信号,因为CPU可能不能在电源电压发生故障时立即被复位。图1中的复位发生器IC监控所有的CPU电压—— 1.0V、3.3V、1.5V和0.75V——并当其中任何一个电压低于工作电压阈值时,激活复位信号和闪存的写保护信号。
本文引用地址://www.cazqn.com/article/142445.htm选择一个复位发生器IC
选择复位IC的标准包括监控输入电压的数量、毛刺过滤、迟滞、故障检测的精度(在整个工作温度和电压范围)以及故障检测速度。
监控输入电压的数量:复位发生器IC必须监控所有CPU相关的电压来检测电压故障(电压偏移值小于相应的工作电压阈值)。在图1的情况下,四个输入的阈值设定为低于工作电压标称值的5%。例如,莱迪思电源管理IC支持6~ 12个电压输入的监控,并且复位发生阈值电压可以编程为-0.5%~ -20%。
需要避免的错误:有些设计只使用一个电压复位发生器,例如,通常只用于监测 3.3V。这是不够的,因为3.3V电压和内核电压或者DDR电压的关断速率不同。只有当所有的电源都使用3.3V作为其输入电源,这种方法才有效。然而,在大多数电路板中,内核和DDR使用不同的输入电压源(由于功耗),因此只使用一个3.3V复位发生器不能避免闪存出错。同样的论述也适用于复位发生器仅监控内核电压。
毛刺过滤 – 当复位发生器使用单端的电压传感(而不是差分传感),那么复位IC和CPU存储器之间的接地电压差可能会产生虚假的复位信号。为了确保复位确实是由电源电压故障引起的,而不是由一时的接地电压差所引起,复位IC中需要使用毛刺滤波器。例如,当其输入毛刺滤波器被启用,莱迪思电源管理IC就会确保故障时间持续64微秒以上,才激活复位信号。
需要避免的错误:复位发生器使用ADC和微控制器来监测电压,实现了一个ADC采样平均的算法来消除毛刺的影响,从而导致错误的复位激活。均值算法得到的实际的ADC电压是四个ADC电压采样的平均值。
迟滞 – 大多数电压都通过开关模式的电源供电。这些电源的输出通常包含纹波。当电源电压接近复位阈值时,这个纹波可能引起复位信号毛刺。为了避免这种情况,复位发生器必须具有(监测的电压)0.5%到1%的迟滞电压范围。例如,莱迪思的电源管理IC就带有监测电压的1%的迟滞。这意味着,对3.3V要实现1%的迟滞,迟滞步长为30mV,而监测阈值为1V的迟滞的步长为10mV。
需要避免的错误:使用ADC和微控制器的复位发生器来监测电压需要在软件中实现迟滞,以防止复位输出中的毛刺。
评论