閃存出錯:軟件錯誤還是電源電壓故障(下)?
當任意一個電源電壓低于其閾值時,激活CPU復位可以最大限度地降低閃存出錯的可能性。這可以防止在電源故障條件下,繼續執行代碼。復位發生器激活CPU復位信號及閃存的寫保護信號。在某些情況下,復位發生器的輸出并不是直接用于CPU復位。相反,它被連接到一個CPLD來執行一個復位分配算法。在這種情況下,應該激活閃存的寫保護信號,因為CPU可能不能在電源電壓發生故障時立即被復位。圖1中的復位發生器IC監控所有的CPU電壓—— 1.0V、3.3V、1.5V和0.75V——并當其中任何一個電壓低于工作電壓閾值時,激活復位信號和閃存的寫保護信號?! ?/p>本文引用地址:http://www.ex-cimer.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和微控制器的復位發生器來監測電壓需要在軟件中實現遲滯,以防止復位輸出中的毛刺。
評論