復(fù)位電路的原理和作用
一、復(fù)位電路概述
復(fù)位信號(hào)在數(shù)字電路里面的重要性僅次于時(shí)鐘信號(hào)。對(duì)電路的復(fù)位往往是指對(duì)觸發(fā)器的復(fù)位,也就是說(shuō)電路的復(fù)位中的這個(gè)“電路”,往往是指觸發(fā)器,這是需要注意的。
有的電路需要復(fù)位信號(hào),就像是有的電路需要時(shí)鐘信號(hào)那樣,而有的電路是不需要復(fù)位信號(hào)的。復(fù)位又分為同步復(fù)位和異步復(fù)位,這兩種各有優(yōu)缺點(diǎn)。
下面我們主要來(lái)說(shuō)說(shuō)復(fù)位信號(hào)的用途和不需要復(fù)位信號(hào)的情況。
1、復(fù)位的目的
復(fù)位最基本的目的就是使電路(主要是觸發(fā)器)進(jìn)入一個(gè)能穩(wěn)定操作的確定狀態(tài)(主要是觸發(fā)器在在某個(gè)確定的狀態(tài)),主要表現(xiàn)為下面兩點(diǎn):
1)使電路在復(fù)位后從確定的初始狀態(tài)運(yùn)行:
上電的時(shí)候,為了避免上電后進(jìn)入隨機(jī)狀態(tài)而使電路紊亂,這個(gè)時(shí)候你就需要上電復(fù)位有時(shí)候,電路在某個(gè)狀態(tài)下,你想或者別人要求你從電路的初始狀態(tài)開(kāi)始進(jìn)行延時(shí)你的電路功能,這個(gè)時(shí)候你就要對(duì)你的電路進(jìn)行復(fù)位,讓它從最初的狀態(tài)開(kāi)始運(yùn)行。2)使電路從錯(cuò)誤狀態(tài)回到可以控制的確定狀態(tài):
有的時(shí)候,你的電路發(fā)生了異常,比如說(shuō)狀態(tài)機(jī)跑飛了、系統(tǒng)供電炸了之類(lèi)的,總之就是電路運(yùn)行得不正常了,這個(gè)時(shí)候你就要對(duì)電路進(jìn)行復(fù)位,讓它從錯(cuò)誤的狀態(tài)回到一個(gè)正常的狀態(tài)。上面說(shuō)的都是和實(shí)際電路有關(guān)的,下面我們就從電路仿真的角度看一下復(fù)位信號(hào)的重要性。
2、復(fù)位電路仿真的要求
復(fù)位信號(hào)在仿真里面主要是使電路仿真時(shí)具有可知的初始值:
在仿真的時(shí)候,信號(hào)在初始狀態(tài)是未知狀態(tài)(也就是所謂的x,不過(guò)對(duì)信號(hào)初始化之后的這種情況除外,因?yàn)榉抡娴臅r(shí)候?qū)π盘?hào)初始化就是信號(hào)有了初始值,這就不是x了)。
對(duì)于數(shù)據(jù)通路(數(shù)字系統(tǒng)一般分為數(shù)據(jù)通路和控制通路,數(shù)據(jù)通路一般是對(duì)輸入的數(shù)據(jù)進(jìn)行處理,控制通路則是對(duì)運(yùn)行的情況進(jìn)行操作),在實(shí)際電路中,只要輸入是有效數(shù)據(jù)(開(kāi)始的時(shí)候可能不是有效的),輸出后的狀態(tài)也是確定的;在仿真的時(shí)候,也是輸入數(shù)據(jù)有效了,輸出也就確定了。也就是說(shuō),初始不定態(tài)對(duì)數(shù)據(jù)通路的影響不明顯。
對(duì)于控制通路,在實(shí)際電路中,只要控制通路完備(比如說(shuō)控制通路的狀態(tài)機(jī)是完備的),即使初始狀態(tài)即使是不定態(tài),在經(jīng)過(guò)一定的循環(huán)后,還是能回到正確的狀態(tài)上;然而在仿真的時(shí)候就不行了,仿真的時(shí)候由于初始狀態(tài)為未知態(tài),控制電路一開(kāi)始就陷入了未知態(tài);仿真跟實(shí)際電路不同,仿真是“串行”的,仿真時(shí)控制信號(hào)的初始不定態(tài)會(huì)導(dǎo)致后續(xù)的控制信號(hào)結(jié)果都是不定態(tài),也就是說(shuō),初始的不定態(tài)對(duì)控制通道是致命的。
3、不需要復(fù)位信號(hào)的一些情況
復(fù)位信號(hào)很重要,但是并不是每一部分的電路都需要復(fù)位電路,一方面是復(fù)位電路也消耗邏輯資源、占用芯片面積,另一方面是復(fù)位信號(hào)會(huì)增加電路設(shè)計(jì)的復(fù)雜性(比如要考慮復(fù)位的策略、復(fù)位的布局布線等等)。
當(dāng)某個(gè)電路的輸出在任何時(shí)刻都可以不受到復(fù)位信號(hào)的控制就有正確的值時(shí),比如說(shuō)數(shù)據(jù)通路中的對(duì)數(shù)據(jù)進(jìn)行處理的部分。在某些情況下,當(dāng)流水線的寄存器(移位寄存觸發(fā)器)在高速應(yīng)用中時(shí),應(yīng)該去掉某些寄存器的復(fù)位信號(hào)以使設(shè)計(jì)達(dá)到更高的性能,因?yàn)閹?fù)位的觸發(fā)器比不帶復(fù)位的觸發(fā)器更復(fù)雜,反應(yīng)也更慢。
復(fù)位電路是一種用來(lái)使電路恢復(fù)到起始狀態(tài)的電路設(shè)備,它的操作原理與計(jì)算器有著異曲同工之妙,只是啟動(dòng)原理和手段有所不同。
復(fù)位電路都是比較簡(jiǎn)單的大都是只有電阻和電容組合就可以辦到了,再?gòu)?fù)雜點(diǎn)就有三極管等配合程序來(lái)進(jìn)行了。為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V±5%,即4.75~5.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)VCC超過(guò)4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才會(huì)撤除,微機(jī)電路開(kāi)始正常工作。
在上電或復(fù)位過(guò)程中,控制CPU的復(fù)位狀態(tài):這段時(shí)間內(nèi)讓CPU保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止CPU發(fā)出錯(cuò)誤的指令、執(zhí)行錯(cuò)誤操作,也可以提高電磁兼容性能。
無(wú)論用戶使用哪種類(lèi)型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場(chǎng)卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。
單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開(kāi)始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位 典型復(fù)位電路圖
手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(圖1)。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到RST端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。
復(fù)位電路由電容串聯(lián)電阻構(gòu)成,由圖并結(jié)合"電容電壓不能突變"的性質(zhì),可以知道,當(dāng)系統(tǒng)一上電,RST腳將會(huì)出現(xiàn)高電平,并且,這個(gè)高電平持續(xù)的時(shí)間由電路的RC值來(lái)決定.典型的51單片機(jī)當(dāng)RST腳的高電平持續(xù)兩個(gè)機(jī)器周期以上就將復(fù)位,所以,適當(dāng)組合RC的取值就可以保證可靠的復(fù)位.
一般教科書(shū)推薦C 取10u,R取8.2K.當(dāng)然也有其他取法的,原則就是要讓RC組合可以在RST腳上產(chǎn)生不少于2個(gè)機(jī)周期的高電平.至于如何具體定量計(jì)算,可以參考電路分析相關(guān)書(shū)籍. 晶振電路:典型的晶振取11.0592MHz(因?yàn)榭梢詼?zhǔn)確地得到9600波特率和19200波特率,用于有串口通訊的場(chǎng)合)/12MHz(產(chǎn)生精確的uS級(jí)時(shí)歇,方便定時(shí)操作)
常見(jiàn)的復(fù)位電路
80C51單片機(jī)復(fù)位電路
單片機(jī)的復(fù)位有上電復(fù)位和按鈕手動(dòng)復(fù)位兩種。如圖2(a)所示為上電復(fù)位電路,圖(b)所示為上電按鍵復(fù)位電路。