閃存出錯(cuò):軟件錯(cuò)誤還是電源電壓故障(下)?
當(dāng)任意一個(gè)電源電壓低于其閾值時(shí),激活CPU復(fù)位可以最大限度地降低閃存出錯(cuò)的可能性。這可以防止在電源故障條件下,繼續(xù)執(zhí)行代碼。復(fù)位發(fā)生器激活CPU復(fù)位信號(hào)及閃存的寫保護(hù)信號(hào)。在某些情況下,復(fù)位發(fā)生器的輸出并不是直接用于CPU復(fù)位。相反,它被連接到一個(gè)CPLD來執(zhí)行一個(gè)復(fù)位分配算法。在這種情況下,應(yīng)該激活閃存的寫保護(hù)信號(hào),因?yàn)镃PU可能不能在電源電壓發(fā)生故障時(shí)立即被復(fù)位。圖1中的復(fù)位發(fā)生器IC監(jiān)控所有的CPU電壓—— 1.0V、3.3V、1.5V和0.75V——并當(dāng)其中任何一個(gè)電壓低于工作電壓閾值時(shí),激活復(fù)位信號(hào)和閃存的寫保護(hù)信號(hào)。
本文引用地址:http://2s4d.com/article/142445.htm選擇一個(gè)復(fù)位發(fā)生器IC
選擇復(fù)位IC的標(biāo)準(zhǔn)包括監(jiān)控輸入電壓的數(shù)量、毛刺過濾、遲滯、故障檢測(cè)的精度(在整個(gè)工作溫度和電壓范圍)以及故障檢測(cè)速度。
監(jiān)控輸入電壓的數(shù)量:復(fù)位發(fā)生器IC必須監(jiān)控所有CPU相關(guān)的電壓來檢測(cè)電壓故障(電壓偏移值小于相應(yīng)的工作電壓閾值)。在圖1的情況下,四個(gè)輸入的閾值設(shè)定為低于工作電壓標(biāo)稱值的5%。例如,萊迪思電源管理IC支持6~ 12個(gè)電壓輸入的監(jiān)控,并且復(fù)位發(fā)生閾值電壓可以編程為-0.5%~ -20%。
需要避免的錯(cuò)誤:有些設(shè)計(jì)只使用一個(gè)電壓復(fù)位發(fā)生器,例如,通常只用于監(jiān)測(cè) 3.3V。這是不夠的,因?yàn)?.3V電壓和內(nèi)核電壓或者DDR電壓的關(guān)斷速率不同。只有當(dāng)所有的電源都使用3.3V作為其輸入電源,這種方法才有效。然而,在大多數(shù)電路板中,內(nèi)核和DDR使用不同的輸入電壓源(由于功耗),因此只使用一個(gè)3.3V復(fù)位發(fā)生器不能避免閃存出錯(cuò)。同樣的論述也適用于復(fù)位發(fā)生器僅監(jiān)控內(nèi)核電壓。
毛刺過濾 – 當(dāng)復(fù)位發(fā)生器使用單端的電壓傳感(而不是差分傳感),那么復(fù)位IC和CPU存儲(chǔ)器之間的接地電壓差可能會(huì)產(chǎn)生虛假的復(fù)位信號(hào)。為了確保復(fù)位確實(shí)是由電源電壓故障引起的,而不是由一時(shí)的接地電壓差所引起,復(fù)位IC中需要使用毛刺濾波器。例如,當(dāng)其輸入毛刺濾波器被啟用,萊迪思電源管理IC就會(huì)確保故障時(shí)間持續(xù)64微秒以上,才激活復(fù)位信號(hào)。
需要避免的錯(cuò)誤:復(fù)位發(fā)生器使用ADC和微控制器來監(jiān)測(cè)電壓,實(shí)現(xiàn)了一個(gè)ADC采樣平均的算法來消除毛刺的影響,從而導(dǎo)致錯(cuò)誤的復(fù)位激活。均值算法得到的實(shí)際的ADC電壓是四個(gè)ADC電壓采樣的平均值。
遲滯 – 大多數(shù)電壓都通過開關(guān)模式的電源供電。這些電源的輸出通常包含紋波。當(dāng)電源電壓接近復(fù)位閾值時(shí),這個(gè)紋波可能引起復(fù)位信號(hào)毛刺。為了避免這種情況,復(fù)位發(fā)生器必須具有(監(jiān)測(cè)的電壓)0.5%到1%的遲滯電壓范圍。例如,萊迪思的電源管理IC就帶有監(jiān)測(cè)電壓的1%的遲滯。這意味著,對(duì)3.3V要實(shí)現(xiàn)1%的遲滯,遲滯步長為30mV,而監(jiān)測(cè)閾值為1V的遲滯的步長為10mV。
需要避免的錯(cuò)誤:使用ADC和微控制器的復(fù)位發(fā)生器來監(jiān)測(cè)電壓需要在軟件中實(shí)現(xiàn)遲滯,以防止復(fù)位輸出中的毛刺。
評(píng)論