復(fù)位電路在PIC單片機(jī)的原理與設(shè)計(jì)是什么?
在單片機(jī)應(yīng)用系統(tǒng)中,為保證系統(tǒng)中單片機(jī)能夠工作穩(wěn)定可靠,復(fù)位電路是必不可少的環(huán)節(jié)。單片機(jī)復(fù)位電路設(shè)計(jì)可靠性直接影響到整個(gè)系統(tǒng)工作的可靠性。目前單片機(jī)廣泛應(yīng)用在機(jī)電、醫(yī)療、儀器儀表、工業(yè)自動(dòng)化等多個(gè)方面。目前市場(chǎng)上比較流行的單片機(jī)是Intel公司的MCS51系列和MCS96系列單片機(jī)、Motorola公司的M6800系列單片機(jī)。無(wú)論使用何種單片機(jī),復(fù)位電路的都是非常重要的,單片機(jī)復(fù)位電路的可靠性直接決定了整個(gè)單片機(jī)系統(tǒng)的可靠性。
單片機(jī)復(fù)位電路的作用是:使單片機(jī)恢復(fù)到起始狀態(tài),讓單片機(jī)的程序從頭開(kāi)始執(zhí)行,運(yùn)行時(shí)鐘處于穩(wěn)定狀態(tài)、各種寄存器、端口處于初始化狀態(tài)等等。目的是讓單片機(jī)能夠穩(wěn)定、正確的從頭開(kāi)始執(zhí)行程序。
數(shù)字電路中寄存器和 RAM 在上電之后默認(rèn)的狀態(tài)和數(shù)據(jù)是不確定的,如果有復(fù)位,我們可以把寄存器復(fù)位到初始狀態(tài),RAM 的數(shù)據(jù)可以通過(guò)復(fù)位來(lái)觸發(fā) RAM 初始化。程序邏輯如果進(jìn)入了錯(cuò)誤的狀態(tài),通過(guò)復(fù)位可以把所有的邏輯狀態(tài)恢復(fù)到初始值,如果沒(méi)有復(fù)位,那么邏輯可能永遠(yuǎn)運(yùn)行在錯(cuò)誤的狀態(tài)。
在單片機(jī)初始加電時(shí),復(fù)位系統(tǒng)中首先投入工作、發(fā)揮作用的是VDD上升沿檢測(cè)電路。在加電過(guò)程中,由于電源回路中的濾波電容的存在,單片機(jī)的電源電壓VDD的值是逐漸上升的。當(dāng)VDD上升到-定值(一般為1.6~1.8V)時(shí),會(huì)產(chǎn)生一個(gè)很窄的復(fù)位脈沖(正脈沖)。該復(fù)位脈沖一方面將復(fù)位鎖存器的一端設(shè)置為低電平,另一方面利用本身的下降沿啟動(dòng)定時(shí)器PWRT開(kāi)始工作,進(jìn)行72ms的延時(shí)。該延時(shí)時(shí)間一到,便啟動(dòng)定時(shí)器OST開(kāi)始工作,再進(jìn)行1024TOSC的延時(shí)。與內(nèi)部上電延時(shí)復(fù)位功能相關(guān)的硬件等效電路。上電延時(shí)復(fù)位的延時(shí)時(shí)間的長(zhǎng)短與振蕩器的振蕩方式、定時(shí)器OST是否關(guān)閉等因素有關(guān)
利用掉電復(fù)位(bor,brown-out reset),可以為單片機(jī)提供電源跌落的預(yù)警信號(hào)。一旦發(fā)現(xiàn)vdd下降到某一個(gè)門(mén)檻值時(shí),就使單片機(jī)及時(shí)復(fù)位以免系統(tǒng)失控。這個(gè)復(fù)位狀態(tài)一直保持到vdd重新上升到門(mén)檻值以上之后?! ≡趐ic單片機(jī)中,把實(shí)現(xiàn)該功能的電路稱作掉電鎖定復(fù)位電路。與掉電鎖定復(fù)位有關(guān)的硬件電路如圖2所示,由圖可以看出,內(nèi)部bor功能是啟用還是禁止,可以通過(guò)系統(tǒng)配置字的boden位來(lái)設(shè)定?! D2 掉電鎖定復(fù)位硬件電路 當(dāng)vdd降低到一個(gè)特定電壓值bvdd以下時(shí),鎖定復(fù)位電路將單片機(jī)推入并且鎖定在復(fù)位狀態(tài)上;當(dāng)vdd回升到bvdd電壓值以上時(shí),定時(shí)器pwrt被啟動(dòng),開(kāi)始延時(shí)72ms,然后才脫離復(fù)位狀態(tài)而進(jìn)入程序運(yùn)行狀態(tài)?! 〉綦姀?fù)位期間,不會(huì)改變各寄存器的值(電源控制寄存器pcon中的掉電鎖定復(fù)位標(biāo)志位bor被清0除外),原因是這種復(fù)位的目的是使系統(tǒng)在電源恢復(fù)正常之后能夠繼續(xù)運(yùn)行,因此,應(yīng)該使各個(gè)寄存器的內(nèi)容維持原狀。
單片機(jī)復(fù)位電路的基本功能是在單片機(jī)上電工作時(shí)為單片機(jī)復(fù)位管腳提供一定延時(shí)周期的復(fù)位信號(hào),為保證系統(tǒng)工作穩(wěn)定,延時(shí)周期應(yīng)保證系統(tǒng)電源穩(wěn)定后再持續(xù)幾個(gè)狀態(tài)周期目前的復(fù)位電路分為兩種類性:低電平復(fù)位和高電平復(fù)位。低電平復(fù)位就是在單片機(jī)上電后,復(fù)位電路輸出低電平信號(hào),當(dāng)電源及系統(tǒng)穩(wěn)定后,復(fù)位電路輸出高電平信號(hào),復(fù)位結(jié)束;高電平復(fù)位和低電平復(fù)位原理相同,不同之處在于初始態(tài)為高電平。
查看單片機(jī)數(shù)據(jù)手冊(cè),得知復(fù)位時(shí)間最少是多少個(gè)周期,再計(jì)算當(dāng)前時(shí)鐘頻率一個(gè)周期是多少時(shí) 間,再乘以復(fù)位所需周期數(shù)(適當(dāng)增加周期的數(shù)量,可使復(fù)位可靠)就知道當(dāng)前時(shí)鐘頻率所需復(fù)位 時(shí)間,用RC充電公式計(jì)算所需電阻電容值即可。注意單片機(jī)數(shù)據(jù)手冊(cè)復(fù)位腳的高低電平電壓值,RC 充電時(shí)間要計(jì)算復(fù)位腳的高低電平區(qū)間電壓,上電復(fù)位芯片的好壞就是看它在電壓低于復(fù)位門(mén)限電 壓時(shí)能否輸出復(fù)位信號(hào),并且在電壓達(dá)到正常值以后維持復(fù)位信號(hào)一個(gè)短暫時(shí)間(一般是幾百毫 秒)。 振蕩源的穩(wěn)定性,主要由起振時(shí)間 頻率穩(wěn)定度和占空比穩(wěn)定度決定 起振時(shí)間可由電路參數(shù)整定穩(wěn)定度受振蕩器類型 溫度和電壓等參數(shù)影響復(fù)位電路的可靠性。復(fù)位電路的好壞,直接影響系統(tǒng)的穩(wěn)定性,根據(jù)芯片的性能選擇合適的復(fù)位電路非常重要,穩(wěn)定、 可靠的復(fù)位電路設(shè)計(jì)是設(shè)計(jì)一個(gè)優(yōu)秀單片機(jī)控制系統(tǒng)的重要基礎(chǔ)。