555定時(shí)器是一種模擬和數(shù)字功能相結(jié)合的中規(guī)模集成器件。一般用雙極型(TTL)工藝制作的稱為 555,用 互補(bǔ)金屬氧化物(CMOS )工藝制作的稱為 7555,除單定時(shí)器外,還有對(duì)應(yīng)的雙定時(shí)器 556/7556。555 定時(shí)器的電源電壓范圍寬,可在 4.5V~16V 工作,7555 可在 3~18V 工作,輸出驅(qū)動(dòng)電流約為 200mA,因而其輸出可與 TTL、CMOS 或者模擬電路電平兼容。
555定時(shí)器的電路結(jié)構(gòu)與功能
555定時(shí)器是一種把模擬電路和開(kāi)關(guān)電路結(jié)合起來(lái)的器件。常用的555定時(shí)器型號(hào)有SG555(TTL電路)和CC7555(COMS電路)等。
CC7555定時(shí)器的電路結(jié)構(gòu)框圖
圖1 CC7555定時(shí)器的內(nèi)部結(jié)構(gòu)框圖
1、模擬功能部件:
?、?電阻分壓器
由3個(gè)阻值均為r的電阻串連構(gòu)成分壓器,為電壓比較器C1和C2提供參考電壓。不加控制電壓時(shí),該引出端不可懸空,一般要通過(guò)一個(gè)小電容接地,以旁路高頻干擾,因?yàn)?個(gè)分壓電阻阻值相同,所以使得兩個(gè)分壓點(diǎn)V-1=2/3Ec,V+2=1/3Ec。
?。?)電壓比較器C1和C2
比較器C1:TH( 閥值輸入端)》基準(zhǔn)電壓U-1,輸出UC1=1,否則為0。
比較器C2:TR(觸發(fā)器輸入端)《基準(zhǔn)電壓U+2時(shí),輸出UC2=1,否則為0。
?。?)輸出MOS管T
N溝道增強(qiáng)型場(chǎng)效應(yīng)管T受門G5輸出的控制,G5的輸出即是R—S觸發(fā)器輸出Q經(jīng)G4,G5傳來(lái)的信號(hào)。當(dāng)Q=1時(shí)T導(dǎo)通,Q=0時(shí)T截止。
2、邏輯功能部件
?。?) G1和G2組成基本的RS觸發(fā)器,輸入低電平有效觸發(fā)。
UC1=0,UC2=1,置0,Q=O,Q=1,
UC2=0,UC1=1,置1,Q=1,Q=0
UC1=1,UC2=1,保持
?。?)輸出緩沖極G6
Q=0,Q=1時(shí),輸出OUT=1
Q=1,Q=0時(shí),輸出OUT=0
(3)RD為直接置0端
RD=0,輸出OUT便為低電平,
正常工作時(shí),RD端必須為高電平。
邏輯功能
1,RD為低電平有效時(shí),直接置0端
2,TH(閥值輸入端)》基準(zhǔn)電壓U—1時(shí),稱高觸發(fā)置0
3,TR(觸發(fā)輸入端)《基準(zhǔn)電壓U-2時(shí),稱低觸發(fā)置1
555定時(shí)器芯片實(shí)現(xiàn)單片機(jī)看門狗電路
1、程序跑飛現(xiàn)象
隨著單片機(jī)在能源領(lǐng)域中的廣泛應(yīng)用,單片機(jī)的抗干擾問(wèn)題越來(lái)越突出,煤礦井下環(huán)境一般比較惡劣,這便會(huì)為單片機(jī)控制系統(tǒng)帶來(lái)各種干擾,以致系統(tǒng)不能正常工作。單片機(jī)應(yīng)用系統(tǒng)的抗干擾性能主要取決于硬件的抗干擾設(shè)計(jì),但軟件
抗干擾設(shè)計(jì)作為硬件抗干擾的完善和補(bǔ)充,作用也非常重要,因?yàn)榇罅康母蓴_通常并不能影響系統(tǒng)內(nèi)硬件的運(yùn)作,卻常會(huì)使系統(tǒng)的軟件無(wú)法正常運(yùn)行,單片機(jī)應(yīng)用的一個(gè)突出問(wèn)題,便是單片機(jī)運(yùn)行過(guò)程中經(jīng)常出現(xiàn)的程序跑飛現(xiàn)象。
在單片機(jī)系統(tǒng)中,因?yàn)楦蓴_的原因,在非預(yù)期的情況下,使得程序計(jì)數(shù)器PC 的值發(fā)生隨機(jī)的變化,從而使得程序的流向指向不確定區(qū)域,這便是程序的跑飛。程序跑飛后或者會(huì)使指令的地址碼和操作碼發(fā)生改變,PC 把操作數(shù)當(dāng)作指令來(lái)執(zhí)行;或者PC值指向一條不合邏輯關(guān)系的指令甚或是非程序區(qū),運(yùn)行結(jié)果常常會(huì)使單片機(jī)進(jìn)入死循環(huán)———便是大家常說(shuō)的“死機(jī)”。為確保在無(wú)人當(dāng)值的情況下,單片機(jī)“死機(jī)”后能自動(dòng)恢復(fù)過(guò)來(lái),通常采用軟件陷阱,外部WDT 電路,以及軟件控制的WATCHDOG 等方法,使系統(tǒng)恢復(fù)正常(后兩種俗稱“看門狗”),限于篇幅不做專門說(shuō)明,這里主要向大家介紹用555 定時(shí)器軟硬結(jié)合做看門狗的一種方法。
2、555定時(shí)器
一般情況下,看門狗主要是通過(guò)不斷監(jiān)視程序運(yùn)行一個(gè)事件的時(shí)間是否超過(guò)預(yù)定的時(shí)間來(lái)判斷程序是否進(jìn)入了死循環(huán),因此利用555 定時(shí)器可復(fù)位的觸發(fā)功能外加延時(shí)電路可實(shí)現(xiàn)看門狗的功能。555定時(shí)器是一種多用途的單片集成電路,內(nèi)部電路如圖1 所示。
CO端是控制電壓輸入端,加控制電壓可改變A1“-”端及A2“ +”端的參考電壓,若不用,可通過(guò)一個(gè)小電容接地,以防旁路高頻交流干擾;R 為定時(shí)器直接復(fù)位端,加低電平可將定時(shí)器直接置“0”,此時(shí),OUT輸出“0”,Q 為1”,V 導(dǎo)通,D 端對(duì)地通路;TH 為復(fù)位閥值輸入端,當(dāng)TH 電壓超過(guò)2/3UDD(即A1 負(fù)端分壓)時(shí),A1 輸出為“1”,OUT 輸出“0”,同樣,D 端對(duì)地通路;TR 為置位輸入端,當(dāng)TR電壓低于1/3 UDD(即A2 正端分壓)時(shí),A2 輸出“1”,定時(shí)器被置位,此時(shí),OUT 輸出“1”,Q 為“0”,V截止,D端對(duì)地?cái)嗦贰?/p>
3、看門狗電路及運(yùn)行指令以INTEL公司的16 位單片機(jī)8096 為例,555定時(shí)器作為看門狗與單片機(jī)的接口電路可設(shè)計(jì)如圖2 所示。
首先在單片機(jī)初始化時(shí)用指令“ORBPORT1,#01H”置P1.0 為“1”,則三極管T 導(dǎo)通,555 芯片的R 為“1”,TH、TR 端經(jīng)R、C 充電,電位逐漸上升,當(dāng)電位還低于1/3 UDD 時(shí),OUT 輸出“1”,D端對(duì)地?cái)嗦罚?a href="http://www.brongaenegriffin.com/tags/電容/" target="_blank">電容C 正常充電,(http://www.diangon.com/版權(quán)所有)一旦程序跑飛或進(jìn)入死循環(huán),在電位上升到高于2/3 UDD時(shí)仍沒(méi)有“喂狗”,則OUT輸出變?yōu)椤?”,經(jīng)三極管T拉低單片機(jī)的RESET 腳,并使復(fù)位電容放電,這時(shí)
D 端對(duì)地短路,電容C 也通過(guò)Rf 放電,當(dāng)TH、TR端電位放電到低于1/3 UDD(注意)時(shí),OUT輸出重新變?yōu)椤?”,單片機(jī)進(jìn)入復(fù)位狀態(tài)。
“喂狗”是指復(fù)位看門狗,在本電路中只須運(yùn)行以下指令即可。
ANDB PORT1,#0FEH ;使P1.0 為“0”
SKIP ;空操作,用于延時(shí)
SKIP ;以使TR電壓降到1/3 UDD為宜
ORB PORT1,#01H ;使P1.0 為“1”
當(dāng)P1.0 被置為“0”時(shí),555 定時(shí)器的R 端為“0”,三極管T 截止。R 端為“0”則555 芯片被復(fù)位,OUT 輸出為“0”,同時(shí)D 端對(duì)地短路,電容C放電為重新延時(shí)做準(zhǔn)備,但因?yàn)槿龢O管的截止,此時(shí)OUT 輸出雖然也為“0”卻并不影響單片機(jī)的RESET腳,單片機(jī)正常工作,從而區(qū)分開(kāi)了“喂狗”與系統(tǒng)故障時(shí)看門狗發(fā)生作用的不同之處。
4、需要注意的問(wèn)題
這里仍然有一個(gè)問(wèn)題需要注意,那就是555定時(shí)器的正常工作與否完全依賴于單片機(jī)P1.0的狀態(tài),但在某些干擾比較嚴(yán)重的情況下,單片機(jī)的誤操作是有可能改變P1.0 的預(yù)置狀態(tài)的,若單片機(jī)在進(jìn)入死循環(huán)之前,P1.0 被誤置為了“0”,看
門狗始終處于“被喂”的狀態(tài),那這個(gè)電路便就無(wú)法再發(fā)揮作用了,對(duì)這種情況我們可用軟件冗余的方法來(lái)應(yīng)對(duì),就是在程序的關(guān)鍵地方多次插寫看門狗的激活指令:
NOP
ORB PORT1,#01H
值得提醒一下的是這里“NOP”指令的作用不容忽視,可使跑飛的程序納入正軌,不致沖散后面的關(guān)鍵指令。不過(guò)盡管如此軟件冗余的應(yīng)用也還是有一個(gè)前提的,那就是跑飛的程序必須落在程序區(qū),冗余的指令得到執(zhí)行方可生效,若跑飛的程序落在了非程序區(qū),僅憑指令冗余技術(shù)便不可靠了,這時(shí)我們便還須借助其他抗干擾技術(shù)的支持,如軟件陷阱、標(biāo)志技術(shù),本質(zhì)可靠性程序的設(shè)計(jì)等,在此不再贅述,但這些都必須包含在一個(gè)可靠的程序內(nèi)———畢竟,單片機(jī)系統(tǒng)來(lái)自干擾的影響是立體的,那么,我們的應(yīng)對(duì)策略便也須是全方位的。
評(píng)論