復(fù)位電路在單片機(jī)小系統(tǒng)中很常見,今天一起來探討下單片機(jī)阻容復(fù)位電路的構(gòu)成、特點(diǎn)和改進(jìn)方法。
如果朋友們學(xué)習(xí)過《數(shù)字電子技術(shù)》這門課程的相關(guān)內(nèi)容就肯定知道觸發(fā)器和時(shí)序邏輯電路章節(jié)中必學(xué)的“初態(tài)”和“次態(tài)”問題,簡單來說就是需要明確電路之前的狀態(tài)才能推導(dǎo)出后面的狀態(tài),由此可見,在數(shù)字電路(特別是時(shí)序電路)中一個(gè)已知的初始狀態(tài)有多么重要。我們學(xué)習(xí)的單片機(jī)其實(shí)就是個(gè)數(shù)字/模擬的混合系統(tǒng),很多片內(nèi)資源和相關(guān)寄存器都需要一個(gè)默認(rèn)的起始狀態(tài)。
我們現(xiàn)在講的“復(fù)位”,其作用就是通過相關(guān)電路產(chǎn)生“復(fù)位信號(hào)”讓單片機(jī)能在上電后或者運(yùn)行中恢復(fù)到默認(rèn)的起始狀態(tài)。 “復(fù)位”動(dòng)作之后單片機(jī)會(huì)產(chǎn)生一系列的重置操作,例如I/O口默認(rèn)的模式和狀態(tài)、相關(guān)寄存器的默認(rèn)取值、所有標(biāo)志位的狀態(tài)重置、通信/定時(shí)相關(guān)的數(shù)據(jù)內(nèi)容設(shè)定等等。由此可見,復(fù)位的意義就是讓單片機(jī)相關(guān)單元進(jìn)行初始重置且程序從內(nèi)存起始地址重新執(zhí)行。
要讓單片機(jī)正確復(fù)位就需要在RST引腳(等同于RESET引腳)上產(chǎn)生符合復(fù)位要求的有效信號(hào),有的單片機(jī)需要高電平復(fù)位信號(hào),有的則需要低電平復(fù)位信號(hào)。
我們以經(jīng)典51單片機(jī)高電平復(fù)位為例,單片機(jī)正常運(yùn)行時(shí)RST引腳應(yīng)保持低電平,當(dāng)需要復(fù)位時(shí)應(yīng)拉高RST引腳的電平,并維持“系統(tǒng)時(shí)鐘源、內(nèi)部電路單元穩(wěn)定周期+2個(gè)機(jī)器周期”的時(shí)間長度(為保證有效復(fù)位,復(fù)位信號(hào)應(yīng)持續(xù)20至200ms為宜)。
我們知道,在12T型單片機(jī)中,1個(gè)機(jī)器周期等于12個(gè)時(shí)鐘周期,時(shí)鐘周期其實(shí)就是振蕩周期,比如晶振頻率是12M,振蕩周期就是1/12000000秒,由此可見,在設(shè)計(jì)具體復(fù)位電路時(shí)需要考慮單片機(jī)工作時(shí)鐘頻率后再去匹配復(fù)位電路的相關(guān)參數(shù)。
在早期的51單片機(jī)產(chǎn)品中,復(fù)位信號(hào)一般是由外部復(fù)位電路產(chǎn)生,所以很多經(jīng)典的單片機(jī)原理類書籍將復(fù)位電路稱作最小系統(tǒng)的必要組成,隨著單片機(jī)技術(shù)的不斷發(fā)展,很多單片機(jī)不再單獨(dú)拿出一個(gè)RST引腳僅做復(fù)位之用,而是在晶圓設(shè)計(jì)時(shí)集成了片內(nèi)上電復(fù)位POR(Power On Reset)電路,很多單片機(jī)就都具備片上POR電路,POR電路在芯片上電后會(huì)產(chǎn)生一個(gè)內(nèi)部復(fù)位脈沖并使器件保持靜態(tài),直至電源電壓達(dá)到穩(wěn)定閾值后再釋放復(fù)位信號(hào)。這樣一來,用戶就可以省略外部復(fù)位電路將RST引腳閑置或者當(dāng)做普通I/O使用。
如果讀者朋友們實(shí)際應(yīng)用的單片機(jī)不具備片上POR電路也沒事,我們可以搭建符合復(fù)位要求的外置電路產(chǎn)生復(fù)位信號(hào)。 一般來說,單片機(jī)復(fù)位電路主要有四種類型:微分型復(fù)位電路、積分型復(fù)位電路、比較器型復(fù)位電路和看門狗型復(fù)位電路。 接下來小宇老師就拿出相對(duì)簡單的微分和積分型電路進(jìn)行講解,讓讀者朋友們能有一個(gè)直觀的感受。
常見的阻容式微分復(fù)位電路如圖1(a)所示,電路中的“Reset”電氣網(wǎng)絡(luò)連接至單片機(jī)“RST”引腳。該電路上電后的波形如圖(b),其波形在上電后先是高電平,經(jīng)過100ms后跌落到了1V以下最終保持低電平狀態(tài),我們常將其稱為“高電平”復(fù)位電路。
圖1 微分型高電平復(fù)位電路原理圖
分析微分復(fù)位電路,該電路的組成十分簡單,其核心實(shí)現(xiàn)僅有1個(gè)電阻和1個(gè)電容組成,外加的S1按鍵主要實(shí)現(xiàn)手動(dòng)復(fù)位功能,當(dāng)S1按下時(shí)“Reset”電氣網(wǎng)絡(luò)被強(qiáng)制拉高實(shí)現(xiàn)復(fù)位。在設(shè)計(jì)該電路時(shí)一定要先根據(jù)單片機(jī)工作的時(shí)鐘頻率去考慮阻容的取值,若系統(tǒng)選用12MHz石英晶振,則1個(gè)機(jī)器周期就是1us,復(fù)位信號(hào)的脈沖寬度最小也要2us以上,但是真正設(shè)計(jì)時(shí)最好不要貼近理論值去構(gòu)造電路,復(fù)位信號(hào)脈沖寬度最好是20至200ms為宜。當(dāng)晶振頻率大于或等于12MHz時(shí),常見取值C1為10uF,R1為10k。
當(dāng)系統(tǒng)上電時(shí)C1相當(dāng)于通路,“Reset”電氣網(wǎng)絡(luò)上電瞬間為高電平,隨著R1不斷泄放C1的電荷,“Reset”電氣網(wǎng)絡(luò)的電壓逐漸降低,最終降到低電平區(qū)間。在放電的過程中“Reset”電氣網(wǎng)絡(luò)的高電平持續(xù)了100ms左右才跌落到1V以下,這遠(yuǎn)大于2個(gè)機(jī)器周期的復(fù)位時(shí)間要求,即復(fù)位有效。
若將圖2中的電阻R1和電容C1互換位置就可以變成阻容式積分復(fù)位電路,電路原理圖如圖2(a)所示。該電路上電后的波形如圖(b)所示,其波形在上電后先是低電平,然后經(jīng)過50ms左右就超過了1.6V并繼續(xù)上升,最終保持在高電平電壓區(qū)間,我們常將該電路稱為“低電平”復(fù)位電路。當(dāng)系統(tǒng)上電時(shí)C1相當(dāng)于通路,故而“Reset”電氣網(wǎng)絡(luò)上電瞬間為低電平,隨著電源通過R1不斷的向C1充電,“Reset”電氣網(wǎng)絡(luò)的電位逐漸抬升并最終保持高電平。外加的S1按鍵主要實(shí)現(xiàn)手動(dòng)復(fù)位功能,當(dāng)S1按下時(shí)“Reset”電氣網(wǎng)絡(luò)被強(qiáng)制拉低實(shí)現(xiàn)復(fù)位。
圖2 積分型低電平復(fù)位電路原理圖
阻容式復(fù)位電路非常簡單,成本也很低,但是可靠性如何呢?可能有的讀者朋友會(huì)說:市面上的開發(fā)板都用這個(gè)電路,我在實(shí)驗(yàn)室也用這個(gè)電路,從來沒遇到過問題,而且這種經(jīng)典電路每本書都這么講的,你敢說不可靠?這電路確實(shí)簡單,但可靠性確實(shí)不高。
首先來說,阻容器件本身存在器件誤差,誤差會(huì)直接導(dǎo)致RC時(shí)間常數(shù)和充放電時(shí)間的差異,批量制造時(shí)難以保證產(chǎn)品的一致性。其次,阻容器件存在老化現(xiàn)象和溫漂問題,在長期使用或者嚴(yán)苛溫度環(huán)境中容易造成較大誤差導(dǎo)致失效。最后,簡單的阻容復(fù)位電路會(huì)有電容的遲滯充放電問題,導(dǎo)致復(fù)位信號(hào)可能不滿足復(fù)位電平閾值要求,且面對(duì)來自電源的波動(dòng)或者快速開關(guān)機(jī)情況會(huì)出現(xiàn)無法復(fù)位的問題。
朋友們可能會(huì)說,器件參數(shù)誤差、老化和溫漂在一般產(chǎn)品中都可以接受,一致性問題也沒有那么高要求,本著“能用就行”的原則,這個(gè)電路也湊合用吧!也不是不行,但是可以稍微改進(jìn)下,且看小宇老師做個(gè)實(shí)驗(yàn)。
以圖1(a)所示的阻容式微分復(fù)位電路為例,若將電源周期性通斷,其復(fù)位波形就不再完美了,實(shí)際波形如圖3(a)所示,復(fù)位波形由于電容的緩慢放電原因出現(xiàn)了下降遲緩且無法到達(dá)低電平閾值的問題(也就是復(fù)位電壓“下不去”的情況),這種復(fù)位信號(hào)就不能保證單片機(jī)系統(tǒng)的有效復(fù)位,若工業(yè)控制有關(guān)的板卡遇到電源波動(dòng)出現(xiàn)無法復(fù)位的情況,無疑是危險(xiǎn)的。
若將微分復(fù)位電路按圖3(b)改進(jìn),在電阻R1的兩端并聯(lián)個(gè)D1,再次將電源周期性通斷,復(fù)位波形就會(huì)變成如圖3(c)所示的波形。從波形上看,電路改造后復(fù)位波形得到了明顯的改善,圖中波形下降迅速且可以下降到低電平閾值以下,不會(huì)出現(xiàn)頻繁上電時(shí)復(fù)位電壓“下不去”的情況。
圖3 微分型高電平不可靠復(fù)位及優(yōu)化實(shí)驗(yàn)
這個(gè)“不起眼”的D1為電容C1在掉電情況下提供了一條迅速泄放電荷的通道,這樣一來就可以保證在電源頻繁波動(dòng)或者周期性上電情況下的正常復(fù)位。有的朋友可能要說了,這個(gè)復(fù)位波形看起來還是很“怪異”啊!雖說是高電平復(fù)位波形,但是看起來和“毛刺”一樣,就不能通過什么電路把復(fù)位信號(hào)搞成類似于高低電平的波形樣式嗎?
當(dāng)然也是可以的,我們再把電路優(yōu)化一次。添加三極管和二極管進(jìn)去,最終搭建出一種閾值電壓比較型高電平復(fù)位電路如圖4(a)所示。電路的目的就是構(gòu)造一個(gè)“復(fù)位閾值電壓比較器”,電路中的穩(wěn)壓二極管D1(實(shí)際選用3.3V穩(wěn)壓管)和開關(guān)二極管D2(實(shí)際選用1N4148,導(dǎo)通壓降為0.6V左右)決定了復(fù)位信號(hào)的電平閾值,大致就是3.3V+0.6V=3.9V左右(朋友們也可以更替D1的穩(wěn)壓參數(shù)構(gòu)成更多復(fù)位閾值)。
電路中的三極管Q1及外圍電路構(gòu)成了一個(gè)簡單的比較器電路,當(dāng)電源波動(dòng)的時(shí)候也可以有效的根據(jù)閾值比較完成復(fù)位動(dòng)作。R2的大小可以改變輸出信號(hào)的驅(qū)動(dòng)能力,R1和C2一起決定了復(fù)位延時(shí)的長度,C1是為了抑制和旁路電源中的高頻噪聲。該電路上電后的復(fù)位波形如圖4(b)所示,這樣的波形總算是“漂亮”了。
圖4 一種閾值電壓比較型高電平復(fù)位電路原理圖
雖說圖4(b)所示波形的高電平末端有個(gè)向上的小“凸起”,但這并不影響復(fù)位信號(hào)的有效性,因?yàn)閺?fù)位電壓只要在1.6V以上就滿足高電平復(fù)位系列單片機(jī)的復(fù)位要求了,如果有朋友和小宇老師一樣是個(gè)“強(qiáng)迫癥”,那您也可以微調(diào)R1和C2的取值去優(yōu)化波形。
基于圖4(a)所示的高電平復(fù)位電路,我們也可以稍加變形做成如圖5(a)所示的“低電平復(fù)位電路”,該電路適用于低電平復(fù)位的單片機(jī)。該電路上電后的復(fù)位波形如圖5(b)所示,該波形相當(dāng)于圖4(b)的取反波形。
圖5 一種閾值電壓比較型低電平復(fù)位電路原理圖
由此可見,小電路也有很多講究。此處的改進(jìn)只是拋磚引玉,朋友們別被“拋出去的磚”砸暈了, 復(fù)位電路還存在很多改進(jìn)電路和一些實(shí)際問題,希望讀者朋友們可以自行延展, 單片機(jī)復(fù)位端口處還可并聯(lián)0.01至0.1uF的瓷片電容,以抑制電源高頻噪聲干擾或配置施密特觸發(fā)器電路,進(jìn)一步的提高單片機(jī)對(duì)串入噪聲的抑制。
可能有的朋友還是不滿意這種RC充放電電路產(chǎn)生的復(fù)位波形,能不能有什么電路或者器件使用簡單又能產(chǎn)生類似方波一樣的復(fù)位波形呢? 答案是肯定的,想要高可靠復(fù)位單元可以選擇專用的復(fù)位監(jiān)控芯片。 如飛利浦半導(dǎo)體、美信半導(dǎo)體公司均有此類產(chǎn)品,這些芯片的體積小、功耗低、門檻電壓可選。集成度的提高使抗干擾能力和溫度適應(yīng)性都得到了大幅提高,可以保證系統(tǒng)在不同的異常條件下進(jìn)行可靠的復(fù)位。其原理其實(shí)是通過確定的電壓閾值啟動(dòng)復(fù)位操作,同時(shí)排除瞬間干擾的影響,又有防止單片機(jī)在電源啟動(dòng)和關(guān)閉期間的誤操作效果,以保證程序的正常執(zhí)行。
我們以美信公司生產(chǎn)的MAX810這款高電平復(fù)位電路專用芯片為例,搭建如圖6(a)所示電路,上電后測量“Reset”電氣網(wǎng)絡(luò)可以得到如圖6(b)所示波形,這個(gè)波形就堪稱“完美”了。
圖6 專用復(fù)位芯片MAX810電路及復(fù)位波形
常見的低電平復(fù)位電路有MAX705、MAX706、MAX809、MAX811等器件。高電平復(fù)位電路有MAX810、MAX812等器件。而MAX707、MAX708、MAX813L等器件同時(shí)有高、低電平復(fù)位輸出信號(hào)和看門狗輸出,在實(shí)際產(chǎn)品中經(jīng)常會(huì)看到它們, 需要注意的是,不同芯片的復(fù)位脈沖時(shí)間不一樣,但是一般都可以達(dá)到100至200ms左右,完全滿足常見處理器對(duì)復(fù)位時(shí)間的需求, 有的芯片還支持復(fù)位閾值設(shè)定、備份電池切換、看門狗定時(shí)器、門限值檢測器、復(fù)位脈沖極性選擇等更為高級(jí)的功能,此處就留給各位工程師友人自行去研究了。
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635395 -
寄存器
+關(guān)注
關(guān)注
31文章
5343瀏覽量
120383 -
復(fù)位電路
+關(guān)注
關(guān)注
13文章
322瀏覽量
44594 -
i/o
+關(guān)注
關(guān)注
0文章
33瀏覽量
4593
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論