常見問題

單片機複位電(diàn)路的原理(lǐ)

    複位電(diàn)路由電(diàn)容串聯電(diàn)阻構成,由圖并結合"電(diàn)容電(diàn)壓不能突變"的性質,可(kě)以知道(dào),當系統一上(shàng)電(diàn),RST腳将會(huì)出現高(gāo)電(diàn)平,并且,這個(gè)高(gāo)電(diàn)平持續的時(shí)間(jiān)由電(diàn)路的RC值來(lái)決定.典型的51單片機當RST腳的高(gāo)電(diàn)平持續兩個(gè)機器(qì)周期以上(shàng)就将複位,所以,适當組合RC的取值就可(kě)以保證可(kě)靠的複位.一般教科書(shū)推薦C 取10u,R取8.2K.當然也有(yǒu)其他取法的,原則就是要讓RC組合可(kě)以在RST腳上(shàng)産生(shēng)不少(shǎo)于2個(gè)機周期的高(gāo)電(diàn)平.至于如何具體(tǐ)定量計(jì)算(suàn),可(kě)以參考電(diàn)路分析相關書(shū)籍. 晶振電(diàn)路:典型的晶振取11.0592MHz(因為(wèi)可(kě)以準确地得(de)到9600波特率和(hé)19200波特率,用于有(yǒu)串口通(tōng)訊的場(chǎng)合)/12MHz(産生(shēng)精确的uS級時(shí)歇,方便定時(shí)操作(zuò))
    80C51單片機複位電(diàn)路
    單片機的複位有(yǒu)上(shàng)電(diàn)複位和(hé)按鈕手動複位兩種。如圖(a)所示為(wèi)上(shàng)電(diàn)複位電(diàn)路,圖(b)所示為(wèi)上(shàng)電(diàn)按鍵複位電(diàn)路。
    上(shàng)電(diàn)複位是利用電(diàn)容充電(diàn)來(lái)實現的,即上(shàng)電(diàn)瞬間(jiān)RST端的電(diàn)位與VCC相同,随着充電(diàn)電(diàn)流的減少(shǎo),RST的電(diàn)位逐漸下降。圖2(a)中的R是施密特觸發器(qì)輸入端的一個(gè)10KΩ下拉電(diàn)阻,時(shí)間(jiān)常數(shù)為(wèi)10×10-6×10×103=100ms。隻要VCC的上(shàng)升時(shí)間(jiān)不超過1ms,振蕩器(qì)建立時(shí)間(jiān)不超過10ms,這個(gè)時(shí)間(jiān)常數(shù)足以保證完成複位操作(zuò)。上(shàng)電(diàn)複位所需的最短(duǎn)時(shí)間(jiān)是振蕩周期建立時(shí)間(jiān)加上(shàng)2個(gè)機器(qì)周期時(shí)間(jiān),在這個(gè)時(shí)間(jiān)內(nèi)RST的電(diàn)平應維持高(gāo)于施密特觸發器(qì)的下阈值。
    上(shàng)電(diàn)按鍵複位2(b)所示。當按下複位按鍵時(shí),RST端産生(shēng)高(gāo)電(diàn)平,使單片機複位。複位後,其片內(nèi)各寄存器(qì)狀态見表,片內(nèi)RAM內(nèi)容不變。
    c51單片機複位電(diàn)路
    如S22複位鍵按下時(shí):RST經1k電(diàn)阻接VCC,獲得(de)10k電(diàn)阻上(shàng)所分得(de)電(diàn)壓,形成高(gāo)電(diàn)平,進入“複位狀态”
    當S22複位鍵斷開(kāi)時(shí):RST經10k電(diàn)阻接地,電(diàn)流降為(wèi)0,電(diàn)阻上(shàng)的電(diàn)壓也将為(wèi)0,RST降為(wèi)低(dī)電(diàn)平,開(kāi)始正常工作(zuò)。
    單片機上(shàng)電(diàn)複位電(diàn)路
    AT89C51的上(shàng)電(diàn)複位電(diàn)路如圖2所示,隻要在RST複位輸入引腳上(shàng)接一電(diàn)容至Vcc端,下接一個(gè)電(diàn)阻到地即可(kě)。對于CMOS型單片機,由于在RST端內(nèi)部有(yǒu)一個(gè)下拉電(diàn)阻,故可(kě)将外部電(diàn)阻去掉,而将外接電(diàn)容減至1µF。上(shàng)電(diàn)複位的工作(zuò)過程是在加電(diàn)時(shí),複位電(diàn)路通(tōng)過電(diàn) 容加給RST端一個(gè)短(duǎn)暫的高(gāo)電(diàn)平信号,此高(gāo)電(diàn)平信号随着Vcc對電(diàn)容的充電(diàn)過程而逐漸回落,即RST端的高(gāo)電(diàn)平持續時(shí)間(jiān)取決于電(diàn)容的充電(diàn)時(shí)間(jiān)。為(wèi)了保證系統能夠可(kě)靠地複位,RST端的高(gāo)電(diàn)平信号必須維持足夠長的時(shí)間(jiān)。上(shàng)電(diàn)時(shí),Vcc的上(shàng)升時(shí)間(jiān)約為(wèi)10ms,而振蕩器(qì)的起振時(shí)間(jiān)取決于振蕩頻率,如晶振頻率為(wèi)10MHz,起振時(shí)間(jiān)為(wèi)1ms;晶振頻率為(wèi)1MHz,起振時(shí)間(jiān)則為(wèi)10ms。在圖2的複位電(diàn)路中,當Vcc掉電(diàn)時(shí),必然會(huì)使RST端電(diàn)壓迅速下降到0V以下,但(dàn)是,由于內(nèi)部電(diàn)路的限制(zhì)作(zuò)用,這個(gè)負電(diàn)壓将不會(huì)對器(qì)件産生(shēng)損害。另外,在複位期間(jiān),端口引腳處于随機狀态,複位後,系統将端口置為(wèi)全“l”态。如果系統在上(shàng)電(diàn)時(shí)得(de)不到有(yǒu)效的複位,則程序計(jì)數(shù)器(qì)PC将得(de)不到一個(gè)合适的初值,因此,CPU可(kě)能會(huì)從一個(gè)未被定義的位置開(kāi)始執行(xíng)程序。
 
    積分型上(shàng)電(diàn)複位:
    常用的上(shàng)電(diàn)或開(kāi)關複位電(diàn)路如圖3所示。上(shàng)電(diàn)後,由于電(diàn)容C3的充電(diàn)和(hé)反相門(mén)的作(zuò)用,使RST持續一段時(shí)間(jiān)的高(gāo)電(diàn)平。當單片機已在運行(xíng)當中時(shí),按下複位鍵K後松開(kāi),也能使RST為(wèi)一段時(shí)間(jiān)的高(gāo)電(diàn)平,從而實現上(shàng)電(diàn)或開(kāi)關複位的操作(zuò)。
    根據實際操作(zuò)的經驗,下面給出這種複位電(diàn)路的電(diàn)容、電(diàn)阻參考值。
    圖中:C:=1uF,Rl=lk,R2=10k
    積分型上(shàng)電(diàn)複位電(diàn)路圖
    專用芯片複位電(diàn)路
    上(shàng)電(diàn)複位電(diàn)路 在控制(zhì)系統中的作(zuò)用是啓動單片機開(kāi)始工作(zuò)。但(dàn)在電(diàn)源上(shàng)電(diàn)以及在正常工作(zuò)時(shí)電(diàn)壓異常或幹擾時(shí),電(diàn)源會(huì)有(yǒu)一些(xiē)不穩定的因素,為(wèi)單片機工作(zuò)的穩定性可(kě)能帶來(lái)嚴重的影(yǐng)響。因此,在電(diàn)源上(shàng)電(diàn)時(shí)延時(shí)輸出給芯片輸出一複位信号。上(shàng)複位電(diàn)路另一個(gè)作(zuò)用是,監視(shì)正常工作(zuò)時(shí)電(diàn)源電(diàn)壓。若電(diàn)源有(yǒu)異常則會(huì)進行(xíng)強制(zhì)複位。複位輸出腳輸出低(dī)電(diàn)平需要持續三個(gè)(12/fc s)或者更多(duō)的指令周期,複位程序開(kāi)始初始化芯片內(nèi)部的初始狀态。等待接受輸入信号(若如遙控器(qì)的信号等)。
    高(gāo)低(dī)電(diàn)平複位電(diàn)路
 
    51單片機要求的是:高(gāo)電(diàn)平複位。上(shàng)圖是51單片機的複位電(diàn)路。在上(shàng)電(diàn)的瞬間(jiān),電(diàn)容器(qì)充電(diàn),充電(diàn)電(diàn)流在電(diàn)阻上(shàng)形成的電(diàn)壓為(wèi)高(gāo)電(diàn)平(可(kě)按照歐姆定律來(lái)分析);幾個(gè)毫秒(miǎo)之後,電(diàn)容器(qì)充滿,電(diàn)流為(wèi)0,電(diàn)阻上(shàng)的電(diàn)壓也就為(wèi)低(dī)電(diàn)平了,這時(shí),51單片機将進入正常工作(zuò)狀态。圖1是用來(lái)産生(shēng)低(dī)電(diàn)平複位信号的。
    複位電(diàn)路的目的就是在上(shàng)電(diàn)的瞬間(jiān)提供一個(gè)與正常工作(zuò)狀态下相反的電(diàn)平。一般利用電(diàn)容電(diàn)壓不能突變的原理(lǐ),将電(diàn)容與電(diàn)阻串聯,上(shàng)電(diàn)時(shí)刻,電(diàn)容沒有(yǒu)充電(diàn),兩端電(diàn)壓為(wèi)零,此時(shí),提供複位脈沖,電(diàn)源不斷的給電(diàn)容充電(diàn),直至電(diàn)容兩端電(diàn)壓為(wèi)電(diàn)源電(diàn)壓,電(diàn)路進入正常工作(zuò)狀态。
    ARM處理(lǐ)器(qì)的複位電(diàn)路比單片機的複位電(diàn)路有(yǒu)講究,比起單片機可(kě)靠性要求更高(gāo)了。先回憶一下單片機複位電(diàn)路吧(ba)。
    先說原理(lǐ)。上(shàng)電(diàn)複位POR(Pmver On Reset)實質上(shàng)就是上(shàng)電(diàn)延時(shí)複位,也就是在上(shàng)電(diàn)延時(shí)期間(jiān)把單片機鎖定在複位狀态上(shàng)。 為(wèi)什麽在每次單片機接通(tōng)電(diàn)源時(shí),都需要加入一定的延遲時(shí)間(jiān)呢?分析如下。
    上(shàng)電(diàn)複位時(shí)序
    在單片機及其應用電(diàn)路每次上(shàng)電(diàn)的過程中,由于電(diàn)源同路中通(tōng)常存在一些(xiē)容量大(dà)小(xiǎo)不等的濾波電(diàn)容,使得(de)單片機芯片在其電(diàn)源引腳VCC和(hé)VSS之間(jiān)所感受到的電(diàn)源電(diàn)壓值VDD,是從低(dī)到高(gāo)逐漸上(shàng)升的。該過程所持續的時(shí)間(jiān)一般為(wèi)1~100ms。上(shàng)電(diàn)延時(shí)的定義是電(diàn)源電(diàn)壓從lO%VDD上(shàng)升到90%VDD所需的時(shí)間(jiān)。在單片機電(diàn)壓源電(diàn)壓上(shàng)升到适合內(nèi)部振蕩電(diàn)路運行(xíng)的範圍并且穩定下來(lái)之後,時(shí)鍾振蕩器(qì)開(kāi)始了啓動過程(具體(tǐ)包括偏置、起振、鎖定和(hé)穩定幾個(gè)過程)。該過程所持續的時(shí)間(jiān)一般為(wèi)1~50 ms。起振延時(shí)的定義是時(shí)鍾振蕩器(qì)輸出信号的高(gāo)電(diàn)平達到10%VDD所需的時(shí)間(jiān)。例如,對于常見的單片機型号AT和(hé)AT89S,廠家(jiā)給出的這個(gè)值為(wèi)0.7VDD~VDD+0.5V。從理(lǐ)論上(shàng)講,單片機每次上(shàng)電(diàn)複位所需的最短(duǎn)延時(shí)應該不小(xiǎo)于treset。從實際上(shàng)講,延遲一個(gè)treset往往還(hái)不夠,不能夠保障單片機有(yǒu)一個(gè)良好的工作(zuò)開(kāi)端。在單片機每次初始加電(diàn)的時(shí)候,首先投入工作(zuò)的部件是複位電(diàn)路。複位電(diàn)路把單片機鎖定在複位狀态上(shàng)并且維持一個(gè)延時(shí),以便給予電(diàn)源電(diàn)壓從上(shàng)升到穩定的一個(gè)等待時(shí)間(jiān);在電(diàn)源電(diàn)壓穩定之後,再插入一個(gè)延時(shí),給予始終振蕩器(qì)從起振到穩定的一個(gè)等待時(shí)間(jiān);在單片機開(kāi)始進入運行(xíng)狀态之前,還(hái)要至少(shǎo)推遲2個(gè)及其周期的延時(shí)。
    單片機複位電(diàn)路就好比電(diàn)腦(nǎo)的重啓部分,當電(diàn)腦(nǎo)在使用中出現死機,按下重啓按鈕電(diàn)腦(nǎo)內(nèi)部的程序從頭開(kāi)始執行(xíng)。單片機也一樣,當單片機系統在運行(xíng)中,受到環境幹擾出現程序跑飛的時(shí)候,按下複位按鈕內(nèi)部的程序自動從頭開(kāi)始執行(xíng)。
 



首頁

電(diàn)話(huà)

地址

到底了~