復(fù)位電路設(shè)計(jì)類型有哪幾種
掃描二維碼
隨時(shí)隨地手機(jī)看文章
上電復(fù)位是利用電容充電來實(shí)現(xiàn)的,即上電瞬間RST端的電位與VCC相同,隨著充電電流的減少,RST的電位逐漸下降。圖2(a)中的R是施密特觸發(fā)器輸入端的一個(gè)10K?下拉電阻,時(shí)間常數(shù)為10×10-6×10×103=100ms。只要VCC的上升時(shí)間不超過1ms,振蕩器建立時(shí)間不超過10ms,這個(gè)時(shí)間常數(shù)足以保證完成復(fù)位操作。上電復(fù)位所需的最短時(shí)間是振蕩周期建立時(shí)間加上2個(gè)機(jī)器周期時(shí)間,在這個(gè)時(shí)間內(nèi)RST的電平應(yīng)維持高于施密特觸發(fā)器的下閾值。
上電按鍵復(fù)位2(b)所示。當(dāng)按下復(fù)位按鍵時(shí),RST端產(chǎn)生高電平,使單片機(jī)復(fù)位。復(fù)位后,其片內(nèi)各寄存器狀態(tài)見表,片內(nèi)RAM內(nèi)容不變。
c51單片機(jī)復(fù)位電路
如S22復(fù)位鍵按下時(shí):RST經(jīng)1k電阻接VCC,獲得10k電阻上所分得電壓,形成高電平,進(jìn)入“復(fù)位狀態(tài)”
當(dāng)S22復(fù)位鍵斷開時(shí):RST經(jīng)10k電阻接地,電流降為0,電阻上的電壓也將為0,RST降為低電平,開始正常工作。
單片機(jī)上電復(fù)位電路
AT89C51的上電復(fù)位電路如圖2所示,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。對(duì)于CMOS型單片機(jī),由于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1μF。上電復(fù)位的工作過程是在加電時(shí),復(fù)位電路通過電 容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長的時(shí)間。
上電時(shí),Vcc的上升時(shí)間約為10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如晶振頻率為10MHz,起振時(shí)間為1ms;晶振頻率為1MHz,起振時(shí)間則為10ms。在圖2的復(fù)位電路中,當(dāng)Vcc掉電時(shí),必然會(huì)使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對(duì)器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定義的位置開始執(zhí)行程序。
積分型上電復(fù)位:
常用的上電或開關(guān)復(fù)位電路如圖3所示。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開關(guān)復(fù)位的操作。
根據(jù)實(shí)際操作的經(jīng)驗(yàn),下面給出這種復(fù)位電路的電容、電阻參考值。
圖3中:C:=1uF,Rl=lk,R2=10k
積分型上電復(fù)位電路圖
專用芯片復(fù)位電路
上電復(fù)位電路 在控制系統(tǒng)中的作用是啟動(dòng)單片機(jī)開始工作。但在電源上電以及在正常工作時(shí)電壓異常或干擾時(shí),電源會(huì)有一些不穩(wěn)定的因素,為單片機(jī)工作的穩(wěn)定性可能帶來嚴(yán)重的影響。因此,在電源上電時(shí)延時(shí)輸出給芯片輸出一復(fù)位信號(hào)。上復(fù)位電路另一個(gè)作用是,監(jiān)視正常工作時(shí)電源電壓。若電源有異常則會(huì)進(jìn)行強(qiáng)制復(fù)位。復(fù)位輸出腳輸出低電平需要持續(xù)三個(gè)(12/fc s)或者更多的指令周期,復(fù)位程序開始初始化芯片內(nèi)部的初始狀態(tài)。等待接受輸入信號(hào)(若如遙控器的信號(hào)等)。
高低電平復(fù)位電路
51單片機(jī)要求的是:高電平復(fù)位。上圖是51單片機(jī)的復(fù)位電路。在上電的瞬間,電容器充電,充電電流在電阻上形成的電壓為高電平(可按照歐姆定律來分析);幾個(gè)毫秒之后,電容器充滿,電流為0,電阻上的電壓也就為低電平了,這時(shí),51單片機(jī)將進(jìn)入正常工作狀態(tài)。圖1是用來產(chǎn)生低電平復(fù)位信號(hào)的。
單片機(jī)復(fù)位電路的原理
復(fù)位電路的目的就是在上電的瞬間提供一個(gè)與正常工作狀態(tài)下相反的電平。一般利用電容電壓不能突變的原理,將電容與電阻串聯(lián),上電時(shí)刻,電容沒有充電,兩端電壓為零,此時(shí),提供復(fù)位脈沖,電源不斷的給電容充電,直至電容兩端電壓為電源電壓,電路進(jìn)入正常工作狀態(tài)。
關(guān)于單片機(jī)復(fù)位電路,以前做的一點(diǎn)小筆記和文摘,在這里做一個(gè)綜述,一方面,由于我自己做的面包板上的復(fù)位電路按鍵無效,于是又回過頭來重新整理了一下,供自己復(fù)習(xí),另一方面大家一起交流學(xué)習(xí)。在我看來,讀書,重在交流,不管你學(xué)什么,交流,可以讓你深刻的理解你所思考的問題,可以深化你的記憶,更會(huì)讓你識(shí)得人生的朋友。
最近在學(xué)ARM,ARM處理器的復(fù)位電路比單片機(jī)的復(fù)位電路有講究,比起單片機(jī)可靠性要求更高了。先讓我自己來回憶一下單片機(jī)復(fù)位電路吧。
先說原理。上電復(fù)位POR(Pmver On Reset)實(shí)質(zhì)上就是上電延時(shí)復(fù)位,也就是在上電延時(shí)期間把單片機(jī)鎖定在復(fù)位狀態(tài)上。 為什么在每次單片機(jī)接通電源時(shí),都需要加入一定的延遲時(shí)間呢?分析如下。
上電復(fù)位時(shí)序
在單片機(jī)及其應(yīng)用電路每次上電的過程中,由于電源同路中通常存在一些容量大小不等的濾波電容,使得單片機(jī)芯片在其電源引腳VCC和VSS之間所感受到的電源電壓值VDD,是從低到高逐漸上升的。該過程所持續(xù)的時(shí)間一般為1~100ms。上電延時(shí)的定義是電源電壓從lO%VDD上升到90%VDD所需的時(shí)間。在單片機(jī)電壓源電壓上升到適合內(nèi)部振蕩電路運(yùn)行的范圍并且穩(wěn)定下來之后,時(shí)鐘振蕩器開始了啟動(dòng)過程(具體包括偏置、起振、鎖定和穩(wěn)定幾個(gè)過程)。該過程所持續(xù)的時(shí)間一般為1~50 ms。起振延時(shí)的定義是時(shí)鐘振蕩器輸出信號(hào)的高電平達(dá)到10%VDD所需的時(shí)間。例如,對(duì)于常見的單片機(jī)型號(hào)AT和AT89S,廠家給出的這個(gè)值為0.7VDD~VDD+0.5V。
復(fù)位電路是一種用來使電路恢復(fù)到起始狀態(tài)的電路設(shè)備,它的操作原理與計(jì)算器有著異曲同工之妙,只是啟動(dòng)原理和手段有所不同。復(fù)位電路,就是利用它把電路恢復(fù)到起始狀態(tài)。就像計(jì)算器的清零按鈕的作用一樣,以便回到原始狀態(tài),重新進(jìn)行計(jì)算。
在上電或復(fù)位過程中,控制CPU的復(fù)位狀態(tài):這段時(shí)間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯(cuò)誤的指令、執(zhí)行錯(cuò)誤操作,也可以提高電磁兼容性能。無論用戶使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。
復(fù)位電路的作用就是使微控制器在獲得供電的瞬間,由初始狀態(tài)開始工作。若微控制器內(nèi)的隨機(jī)存儲(chǔ)器、計(jì)數(shù)器等電路獲得供電后不經(jīng)復(fù)位便開始工作,可能某種干擾會(huì)導(dǎo)致微控制器因程序錯(cuò)亂而不能正常工作,為此,微控制器電路需要設(shè)置復(fù)位電路。復(fù)位電路由專門的集成電路或分立元件組成,有些微控制器采用高電平復(fù)位(即通電瞬間給微控制器的復(fù)位端加入一高電平信號(hào),正常工作時(shí)再轉(zhuǎn)為低電平),也有些微控制器采用低電平復(fù)位(即通電瞬間給微控制器的復(fù)位端加入一低電平信號(hào),正常工作時(shí)再轉(zhuǎn)為高電平),這是由微控制器的結(jié)構(gòu)決定的。
復(fù)位電路的目的就是在上電的瞬間提供一個(gè)與正常工作狀態(tài)下相反的電平。一般利用電容電壓不能突變的原理,將電容與電阻串聯(lián),上電時(shí)刻,電容沒有充電,兩端電壓為零,此時(shí),提供復(fù)位脈沖,電源不斷的給電容充電,直至電容兩端電壓為電源電壓,電路進(jìn)入正常工作狀態(tài)。和計(jì)算器清零按鈕有所不同的是,復(fù)位電路啟動(dòng)的手段有所不同。一是在給電路通電時(shí)馬上進(jìn)行復(fù)位操作;二是在必要時(shí)可以由手動(dòng)操作;三是根據(jù)程序或者電路運(yùn)行的需要自動(dòng)地進(jìn)行。復(fù)位電路都是比較簡單的大都是只有電阻和電容組合就可以辦到了,再復(fù)雜點(diǎn)就有三極管等配合程序來進(jìn)行了。
復(fù)位電路的三種方式1、手動(dòng)按鈕復(fù)位手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到RST端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。2、上電復(fù)位AT89C51的上電復(fù)位電路所示,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。對(duì)于CMOS型單片機(jī),由于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1uF。上電復(fù)位的工作過程是在加電時(shí),復(fù)位電路通過電容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長的時(shí)間。上電時(shí),Vcc的上升時(shí)間約為10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如晶振頻率為10MHz,起振時(shí)間為1ms;晶振頻率為1MHz,起振時(shí)間則為10ms。在復(fù)位電路中,當(dāng)Vcc掉電時(shí),必然會(huì)使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對(duì)器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定義的位置開始執(zhí)行程序。3、積分型上電復(fù)位常用的上電或開關(guān)復(fù)位電路。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開關(guān)復(fù)位的操作。