討論DS1232如何用于對(duì)基于8051的系統(tǒng)進(jìn)行微監(jiān)控。該監(jiān)控電路提供上電復(fù)位(POR)、手動(dòng)復(fù)位(按鈕)輸入、看門(mén)狗定時(shí)器(選通定時(shí)器)和早期電源故障比較器。復(fù)位閾值容差可以設(shè)置為監(jiān)視 5% 和 10% 電源容差系統(tǒng)。此外,還提供引腳可選的復(fù)位超時(shí)延遲。為了簡(jiǎn)化器件的使用,該器件包含一個(gè)軟件執(zhí)行程序,以顯示8051處理器如何與DS1232配合使用。
介紹
Maxim的DS1232微控制器芯片是一種高度集成的解決方案,通過(guò)增加單個(gè)芯片,為您的微處理器系統(tǒng)增加上電復(fù)位延遲、按鈕復(fù)位控制器、可靠的電源故障監(jiān)控和看門(mén)狗定時(shí)器功能。該芯片還提供有源和低復(fù)位信號(hào),以及看門(mén)狗超時(shí)周期和電壓監(jiān)控電平的選擇性。高集成度降低了實(shí)施成本和所需的電路板空間。這些芯片采用多種封裝,包括 8 引腳 mSOP、SOIC 和 DIP。
使用達(dá)拉斯半導(dǎo)體DS1232微型監(jiān)視器的優(yōu)勢(shì)
上電復(fù)位延遲允許電路板資源在執(zhí)行開(kāi)始前穩(wěn)定下來(lái)
在電路運(yùn)行期間,精確控制微控制器的復(fù)位引腳始終很重要。因此,在正常工作和電路上電期間都必須控制復(fù)位引腳。許多微處理器電路的一個(gè)常見(jiàn)問(wèn)題是,微控制器在可用的存儲(chǔ)器和I/O資源具有穩(wěn)定的電源之前就開(kāi)始執(zhí)行。一些芯片需要數(shù)百毫秒才能自行重置并準(zhǔn)備好運(yùn)行。如果微處理器在重置后的幾微秒內(nèi)開(kāi)始執(zhí)行,則它可能基于來(lái)自系統(tǒng)資源的無(wú)效輸入執(zhí)行。這可以通過(guò)增加一個(gè)上電復(fù)位(POR)電路來(lái)解決,該電路在復(fù)位發(fā)生后100毫秒內(nèi)保持上電序列期間微處理器處于復(fù)位狀態(tài)。DS1232將保持微控制器復(fù)位引腳的激活時(shí)間最短為250ms (典型值為610 ms)。此外,它可以提供高電平有效或低電平有效復(fù)位,使其與任何微處理器兼容。
按鈕復(fù)位電路對(duì)瞬時(shí)開(kāi)關(guān)進(jìn)行去抖動(dòng),并提供穩(wěn)定的復(fù)位脈沖
微處理器電路中的另一個(gè)常見(jiàn)問(wèn)題是,不太完美的復(fù)位信號(hào)會(huì)導(dǎo)致微處理器多次復(fù)位,可能在復(fù)位最終穩(wěn)定之前多次執(zhí)行初始化例程的某些片段。在某些電路中,這是微不足道的。但是,在其他電路中,這可能會(huì)導(dǎo)致重大系統(tǒng)問(wèn)題。DS1232具有內(nèi)部電路,可對(duì)按鈕進(jìn)行去抖動(dòng),為系統(tǒng)提供干凈的復(fù)位信號(hào)。這樣就無(wú)需將單獨(dú)的上電復(fù)位電路和按鈕電路分別連接到復(fù)位引腳。此外,DS1232將復(fù)位引腳保持在低電平至少250 ms,以保證微處理器每次都能正確接收手動(dòng)復(fù)位。
DS1232提供電源故障監(jiān)測(cè)
掉電和電源故障是大多數(shù)微處理器系統(tǒng)的現(xiàn)實(shí)。由于無(wú)法避免偶爾的電源循環(huán),因此穩(wěn)健的微處理器解決方案必須考慮各種電源故障模式。DS1232監(jiān)視微處理器的電源,如果出現(xiàn)掉電或電源完全失效,則強(qiáng)制微處理器進(jìn)入復(fù)位狀態(tài)。這保證了系統(tǒng)不會(huì)嘗試在不規(guī)則的電源電壓條件下工作,并且可以防止微處理器在真正應(yīng)該等待電源電壓恢復(fù)到有效狀態(tài)時(shí)執(zhí)行代碼。
內(nèi)部看門(mén)狗定時(shí)器可以復(fù)位微處理器,但外部看門(mén)狗會(huì)復(fù)位
看門(mén)狗定時(shí)器用于確保如果微處理器上運(yùn)行的代碼進(jìn)入意外狀態(tài),則處理器將在經(jīng)過(guò)一些最短的時(shí)間后復(fù)位。許多微處理器都有一個(gè)內(nèi)部看門(mén)狗定時(shí)器,無(wú)需外部組件即可處理此功能。但是,內(nèi)部看門(mén)狗定時(shí)器可以通過(guò)在微處理器上執(zhí)行的偽隨機(jī)代碼來(lái)禁用。DS1232上的外部看門(mén)狗定時(shí)器不能被禁用。這讓您高枕無(wú)憂,因?yàn)槟廊绻⑿惋@示器沒(méi)有頻閃,那么微控制器將被重置。DS1232的另一個(gè)優(yōu)點(diǎn)是,選通周期可以改變?yōu)槿N不同值之一。因此,該器件可與更快和更慢的微處理器配合使用,因?yàn)槟梢詫⒖撮T(mén)狗定時(shí)器編程為適合任何微控制器的速率。外部看門(mén)狗定時(shí)器的另一個(gè)優(yōu)點(diǎn)是,選通信號(hào)位于I/O引腳上,因此對(duì)外部世界可見(jiàn)。這樣可以更輕松地調(diào)試與看門(mén)狗相關(guān)的問(wèn)題。
將DS1232與微控制器配合使用所需的硬件
DS1232的最大優(yōu)點(diǎn)是上述所有功能都在單個(gè)封裝中實(shí)現(xiàn)。此功能不需要復(fù)雜的芯片組。下圖示出了DS1232如何與達(dá)拉斯半導(dǎo)體DS87C520微控制器配合使用。由于大多數(shù)系統(tǒng)都集成了按鈕復(fù)位功能,因此只需增加DS1232、用于低電平有效輸出的上拉電阻和去耦電容,以降低電源噪聲導(dǎo)致復(fù)位的可能性。此處添加上拉電阻,因?yàn)樗糜谏梢韵马?yè)面所示的示波器圖。DS1232C87不需要DS520的/RST輸出。圖中的 LED 用于在 ISR(中斷服務(wù)請(qǐng)求)提供服務(wù)時(shí)發(fā)出信號(hào)。
圖1.使用DS8051作為復(fù)位控制器的1232兼容電路。
DS1232與微控制器配合使用
硬件配置完成后,DS1232開(kāi)始控制上電、按鈕復(fù)位、電源故障復(fù)位和看門(mén)狗定時(shí)器復(fù)位的復(fù)位信號(hào)。高電平有效(RST)和低電平有效(/RST)上電復(fù)位(POR)分別如圖2和圖3所示。高電平有效復(fù)位信號(hào)隨V上升抄送并在 250 毫秒到 1 秒之間保持高電平。低電平有效復(fù)位保持0V,直到延遲過(guò)去,然后由上拉電阻上拉至高電平。上拉電阻是必需的,因?yàn)?RST是集電極開(kāi)路輸出。在下面的示例中,RST 和/RST 都需要大約 450 ms 才能變?yōu)榉腔顒?dòng)狀態(tài)。
圖2.上電序列期間的典型RST信號(hào):1) V抄送2) RST。
圖3.上電序列期間的典型/RST信號(hào):1) V抄送2) /RST。
復(fù)位信號(hào)變?yōu)榉腔顒?dòng)狀態(tài)后,微控制器必須在看門(mén)狗定時(shí)器過(guò)后將ST信號(hào)選通為低電平。DS1232的看門(mén)狗定時(shí)器不能被禁用,因此必須在復(fù)位信號(hào)變?yōu)榉腔顒?dòng)狀態(tài)后n毫秒內(nèi)禁用,否則微處理器將被復(fù)位。DS1232的看門(mén)狗超時(shí)值是可編程的,額定范圍較寬。但是,ST引腳的頻閃速度最好比最小看門(mén)狗超時(shí)規(guī)格快,因?yàn)樗丝焖倏撮T(mén)狗導(dǎo)致系統(tǒng)錯(cuò)誤復(fù)位的可能性。看門(mén)狗超時(shí)可通過(guò)根據(jù)表1調(diào)整TD引腳的值設(shè)置為三個(gè)值之一。
道明引腳狀態(tài) | 最小超時(shí) | 典型超時(shí) | 最大超時(shí) |
地 | 62.5 毫秒 | 150 毫秒 | 250 毫秒 |
浮動(dòng) | 250 毫秒 | 600 毫秒 | 1000 毫秒 |
V抄送 | 500 毫秒 | 1200 毫秒 | 2000 毫秒 |
圖1顯示TD引腳接地,因此ST必須每62.5ms看到一個(gè)負(fù)邊沿,以保證微處理器不會(huì)復(fù)位。如果以 150 毫秒的典型速率進(jìn)行選通,則有可能與一個(gè) MicroMonitor 一起使用,但不能與另一個(gè) MicroMonitor 一起使用。包含最小值、典型值和最大值會(huì)通知最終用戶看門(mén)狗的行為。對(duì)TD進(jìn)行編程,使微處理器可以在ST引腳達(dá)到最小超時(shí)之前對(duì)其進(jìn)行選通,并計(jì)劃在最大超時(shí)內(nèi)復(fù)位微控制器。典型值不適用于任何特定的微型監(jiān)視器;它只是表明關(guān)鍵時(shí)間介于最小和最大超時(shí)值之間。因此,任何給定的微監(jiān)視器的典型值范圍可能介于最小和最大超時(shí)值之間。
圖4(下圖)顯示了用于相同硬件設(shè)置的選通信號(hào)。跟蹤 # 1 顯示 V抄送#2 顯示 ST。由于圖2和圖3所示的復(fù)位信號(hào)使用相同的硬件,因此復(fù)位在~460ms時(shí)被取消置位。選通信號(hào)的第一個(gè)負(fù)邊沿出現(xiàn)在496 ms或復(fù)位變?yōu)榉腔顒?dòng)狀態(tài)后36 ms。這已經(jīng)足夠早了,可以保證除非微控制器進(jìn)入意外狀態(tài),否則看門(mén)狗不會(huì)重置系統(tǒng)。
圖4.執(zhí)行開(kāi)始時(shí)的看門(mén)狗選閃信號(hào)(ST):1)V抄送2) ST.
從圖5(下圖)可以看出,ST信號(hào)大約每20 ms接收一次負(fù)邊沿。有了更快的微處理器,沒(méi)有理由不比要求更頻繁地頻閃。此外,在此圖表中,很容易看出頻閃在施加電壓后496 ms開(kāi)始出現(xiàn)。
圖5.顯示 ST 信號(hào)頻率的變焦:1)VCC 2) ST。
DS1232還可以對(duì)瞬時(shí)開(kāi)關(guān)進(jìn)行去抖動(dòng),無(wú)需額外的硬件,便于添加按鈕復(fù)位以覆蓋系統(tǒng)。按鈕如圖1所示,其引起的RST和/RST信號(hào)如圖6和圖7所示。注意,按鈕連接到DS1232時(shí)不會(huì)反彈,上電時(shí)復(fù)位保持的時(shí)間與復(fù)位時(shí)間大致相同(典型值為610 ms)。另請(qǐng)注意,按鈕不需要上拉電阻,因?yàn)镈S1232內(nèi)置上拉電阻。
圖6.按鈕導(dǎo)致復(fù)位而不反彈:1) /PBRST 2) RST。
圖7.按鈕導(dǎo)致復(fù)位而不反彈:1) /PBRST 2) /RST。
DS1232還包含一個(gè)電源故障監(jiān)測(cè)器。DS1232始終監(jiān)測(cè)VCC,如果電壓降至VCCTP(VCC跳變點(diǎn))以下,微控制器復(fù)位。VCCTP 可以編程為低于 VCC 的 5% 或 10%,在 VCC 恢復(fù)并返回 VCCTP 以上后,MicroMonitor 將保持復(fù)位信號(hào)處于活動(dòng)狀態(tài) 250 ms 至 1 秒。VCCTP 通過(guò) TOL 引腳進(jìn)行編程。如果TOL引腳接地,則選擇5%容差;如果它與VCC綁定,則選擇10%的容差。這允許設(shè)計(jì)人員選擇最適合其系統(tǒng)的公差,從而實(shí)現(xiàn)最大的設(shè)計(jì)靈活性。5% 容差強(qiáng)制復(fù)位在 4.50V 至 4.74V 之間,10% 容差強(qiáng)制復(fù)位引腳在 4.25V 至 4.49V 之間有效。
對(duì)于圖1所示的參考設(shè)計(jì),選擇了5%的容差。查看圖 8 中的示波器圖,VCCTP對(duì)于這個(gè)特定的微型監(jiān)視器可以確定。圖中的X2與RST的邊緣對(duì)齊,交叉點(diǎn)Y2為4.6V。
圖8.當(dāng) VCC 低于 VCCTP 時(shí),RST 引腳行為:1) VCC 2) RST。
下降時(shí)VCC的偏斜率為~500mv/10ms或~50V/s。DS1232數(shù)據(jù)資料要求4.75V至4.25V之間的下降時(shí)間大于或等于300 ms,最大壓擺率為1.667kV/s。如您所見(jiàn),該電源系統(tǒng)很容易滿足這一點(diǎn)。
CC 2) RST.“ class=”img-response“ />
圖9.電壓從 4.3V “掉電”恢復(fù):1) V抄送2) RST。
8051微控制器軟件,用于DS1232微控制器芯片
附錄 A 中提供了設(shè)計(jì)用于與圖 1 中的硬件配合使用的軟件。該軟件可與DS1232微控制器和達(dá)拉斯半導(dǎo)體DS87C520 8051兼容微控制器配合使用。它提供了一個(gè)強(qiáng)大的電源和代碼監(jiān)控系統(tǒng),具有冗余電源和代碼監(jiān)控功能。該軟件可以區(qū)分MicroMonitor何時(shí)復(fù)位控制器,以及微控制器的內(nèi)部POR或看門(mén)狗定時(shí)器何時(shí)導(dǎo)致復(fù)位。
這段代碼是100%事件驅(qū)動(dòng)的,因此主程序只是一個(gè)無(wú)限循環(huán)。該軟件利用Maxim的中斷優(yōu)先級(jí)方案,允許中斷硬件首先處理內(nèi)部電源故障中斷(不可屏蔽),然后是內(nèi)部看門(mén)狗中斷,最后是定時(shí)器0中斷,用于對(duì)DS1232上的外部看門(mén)狗進(jìn)行選通。使用內(nèi)部和外部電源和代碼監(jiān)控提供的冗余可確保這些關(guān)鍵功能無(wú)錯(cuò)誤地執(zhí)行。
中斷例程交互,如下圖 10 所示。
圖 10.中斷交互/程序流程圖。
計(jì)時(shí)器 0 是優(yōu)先級(jí)最低的中斷。因此,它可以通過(guò)看門(mén)狗中斷(高優(yōu)先級(jí))或電源故障中斷(最高優(yōu)先級(jí))中斷。如果定時(shí)器0沒(méi)有中斷,它將每1232ms切換一次DS10的選通引腳(ST),每50次通過(guò)ISR(500ms)切換一次心跳LED。在執(zhí)行結(jié)束時(shí),它將控制權(quán)返回給主程序。
如果定時(shí)器ISR(中斷服務(wù)例程)被看門(mén)狗和/或電源故障中斷中斷,則控制權(quán)將立即轉(zhuǎn)移到優(yōu)先級(jí)最高的掛起中斷。如果看門(mén)狗定時(shí)器過(guò)期,則看門(mén)狗功能(在圖中列出)將執(zhí)行完成,然后控制將轉(zhuǎn)移到電源故障中斷或返回定時(shí)器0中斷,具體取決于在執(zhí)行看門(mén)狗功能期間是否收到電源故障中斷。如果未收到電源故障中斷,則計(jì)時(shí)器 0 中斷將嘗試完成。如果定時(shí)器0 ISR沒(méi)有受到電源故障中斷的進(jìn)一步干擾,它將完成并返回到主程序。如果定時(shí)器0被電源故障中斷中斷,它將允許電源故障中斷首先發(fā)生。
如果確實(shí)發(fā)生電源故障中斷,則控制權(quán)將轉(zhuǎn)移到該中斷,ISR將執(zhí)行,直到電壓電平為V。抄送返回高于DS87C520的早期電壓故障警告電平。由于此 ISR 具有最高優(yōu)先級(jí),因此不能被看門(mén)狗中斷或計(jì)時(shí)器 0 中斷中斷。這意味著電源故障ISR必須同時(shí)對(duì)內(nèi)部和外部看門(mén)狗進(jìn)行選通,否則看門(mén)狗將在電壓驟降時(shí)復(fù)位器件。實(shí)際上,這種情況很可能不會(huì)發(fā)生,因?yàn)镈S1232的容差比微控制器上的內(nèi)部電壓監(jiān)測(cè)器更嚴(yán)格,因此DS1232會(huì)在微控制器的早期電壓故障警告水平達(dá)到之前復(fù)位微控制器。換一種說(shuō)法,DS87C520的內(nèi)部電壓監(jiān)測(cè)可能永遠(yuǎn)不會(huì)被使用,而且是該系統(tǒng)的冗余功能。只有在DS1232發(fā)生故障時(shí)才會(huì)發(fā)生中斷。由于DS1232是可靠的器件,如果嘗試測(cè)試此條件,可能需要等待一段時(shí)間。
當(dāng)電源故障中斷完成時(shí),將處理下一個(gè)掛起的 ISR。因此,如果看門(mén)狗中斷發(fā)生在電源故障中斷的服務(wù)期間,則將首先對(duì)其進(jìn)行服務(wù)。完成后,計(jì)時(shí)器 0 ISR 將嘗試完成。
每個(gè)中斷都閃通一個(gè)單獨(dú)的 LED,指示當(dāng)前正在例行維護(hù)哪個(gè) ISR。
如果特定應(yīng)用程序不需要冗余,則可以刪除電源故障和看門(mén)狗 ISR。刪除它們還需要您在程序開(kāi)始時(shí)更改矢量跳轉(zhuǎn)表。建議將 start 放在所有未使用的向量地址的位置。還需要?jiǎng)h除 MainInit 例程中初始化和啟用電源故障和監(jiān)視程序中斷的代碼。這將只剩下定時(shí)器0 ISR,重置檢測(cè)例程,空主程序以及串行端口的支持功能。任何 8051 應(yīng)用的良好開(kāi)端!
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7953瀏覽量
155114 -
芯片
+關(guān)注
關(guān)注
460文章
52520瀏覽量
441042 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3298瀏覽量
118966
發(fā)布評(píng)論請(qǐng)先 登錄
DS1318與8051微控制器的接口
ds1232 pdf datasheet (MicroMon
DS3231與8051微控制器的接口

DS1305 RTC與8051微控制器的接口

簡(jiǎn)單的演示如何使用一個(gè)DS1232和MicroMonitor

DS1232+ PMIC - 監(jiān)控器

DS1232 PMIC - 監(jiān)控器

DS1307與兼容8051的微控制器接口

Tiva? TM4C1232E6PM微控制器數(shù)據(jù)手冊(cè)數(shù)據(jù)表

Tiva? TM4C1232C3PM微控制器數(shù)據(jù)手冊(cè)

TM4C1232H6PM微控制器數(shù)據(jù)手冊(cè)

TM4C1232D5PM微控制器數(shù)據(jù)手冊(cè)

評(píng)論