專利名稱:增強(qiáng)單片機(jī)主控電器系統(tǒng)抗干擾能力的裝置及控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電器控制技術(shù)領(lǐng)域,具體涉及一種增強(qiáng)單片機(jī)主控電 器系統(tǒng)抗干擾能力的裝置。本發(fā)明還涉及一種增強(qiáng)單片機(jī)主控電器系 統(tǒng)抗干擾能力的控制方法。
背景技術(shù):
由于單片機(jī)的工作常常會(huì)受到來(lái)自外界電磁場(chǎng)的干擾,造成程序 的跑飛,而陷入死循環(huán),即死機(jī)。程序的正常運(yùn)刊"故打斷,由單片機(jī)控 制的系統(tǒng)無(wú)法繼續(xù)工作,會(huì)造成整個(gè)系統(tǒng)的陷入停滯狀態(tài),發(fā)生不可 預(yù)料的后果,所以出于對(duì)單片機(jī)運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè)的考慮,便在 實(shí)際應(yīng)用中采用 一種專門用于監(jiān)測(cè)單片機(jī)程序運(yùn)行狀態(tài)的芯片,俗稱 "看門狗"。在單片機(jī)受到強(qiáng)干擾死機(jī)后,單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電
路會(huì)發(fā)出 一個(gè)2OOmS的復(fù)位脈沖使單片機(jī)復(fù)位重新啟動(dòng)運(yùn)行,即程序 從程序存儲(chǔ)器的起始位置開始執(zhí)行,這樣便實(shí)現(xiàn)了單片機(jī)的自動(dòng)復(fù) 位,解決單片機(jī)死機(jī)問(wèn)題。因?yàn)榭紤]到在上電復(fù)位時(shí),單片機(jī)的電源 電壓需要一段時(shí)間才能穩(wěn)定,復(fù)位信號(hào)脈沖持續(xù)時(shí)間需要大于電源電 壓從上電到穩(wěn)定這段時(shí)間。所以一般制造單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電 路器件的廠家將復(fù)位脈寬設(shè)計(jì)為2 0 OmS 。這種方法有兩個(gè)缺點(diǎn)
(一) 在這個(gè)200mS的復(fù)位脈沖作用期間,單片機(jī)所有的I/0口都 是復(fù)位狀態(tài)。1/0口所控制的對(duì)象在這段時(shí)間內(nèi)是不受程序控制的。 對(duì)于通常的被控對(duì)象,如繼電器、接觸器、可控硅等響應(yīng)時(shí)間〈20mS 的器件來(lái)說(shuō),200mS的時(shí)間足以改變?cè)斜豢貭顟B(tài),影響到設(shè)備的正 常運(yùn)行。
(二) 單片機(jī)受到干擾導(dǎo)致死機(jī),不論程序在受干擾前運(yùn)行到哪 里,復(fù)位后都從程序存儲(chǔ)器的起始位置開始順序執(zhí)行,受控對(duì)象的狀
態(tài)會(huì)變?yōu)槌跏紶顟B(tài), 一切操作需重新開始。
發(fā)明內(nèi)容
(一) 要解決的技術(shù)問(wèn)題
本發(fā)明的目的是提供一種結(jié)構(gòu)簡(jiǎn)單,制作容易的增強(qiáng)單片機(jī)主控
電器系統(tǒng)抗干擾能力的裝置;本發(fā)明的目的還提供一種增強(qiáng)單片機(jī)主 控電器系統(tǒng)抗干擾能力的控制方法,從而使設(shè)備中單片機(jī)在受到強(qiáng)干 擾導(dǎo)致死機(jī)時(shí),能夠在受控對(duì)象還來(lái)不及反應(yīng)的情況下,恢復(fù)對(duì)它們 正確有效的接續(xù)控制。
(二) 技術(shù)方案
為了達(dá)到上述目的,本發(fā)明采取以下方案
本發(fā)明的增強(qiáng)單片機(jī)主控電器系統(tǒng)抗干擾能力的裝置,包括單片 機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路、單片機(jī),還包括反相器、微分電路,所述 單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路與反相器連接,反相器與微分電路連 接,微分電路與單片機(jī)連接。
在單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路后增加反相電路和微分電路,單 片枳4呈序運(yùn)行狀態(tài)監(jiān)測(cè)電路輸出的200mS復(fù)位正脈沖,被所加反相電 路反相后,成為負(fù)脈沖,此負(fù)脈沖的前沿是下跳沿,經(jīng)樣t分電路后為 一個(gè)脈寬為幾^S的負(fù)脈沖,對(duì)單片機(jī)復(fù)位不起作用;接下來(lái)反相器 輸出的200mS的脈寬也對(duì)單片機(jī)不起作用,但可作為上電時(shí)的單片機(jī) 電源電壓穩(wěn)定所需的時(shí)間。之后反相電路輸出的負(fù)脈沖的后沿是上跳 沿,經(jīng)微分電路后產(chǎn)生一個(gè)脈寬為幾pS的正脈沖,調(diào)整微分電路中 RC參數(shù)可得到所需脈寬。這個(gè)脈沖使單片機(jī)復(fù)位,(單片機(jī)在電源電 壓正常的情況下,只需2個(gè)機(jī)器周期的脈沖即可響應(yīng)復(fù)位。)由于此 脈寬只有幾個(gè)樣i秒,也就將單片才幾的復(fù)位過(guò)程由一般200mS縮短到幾 個(gè)HS,縮短了約5—10萬(wàn)倍。
本發(fā)明的單片機(jī)主控電器系統(tǒng)抗干擾能力的控制方法,有以下步
驟
1) 利用RAM單元在上電后為隨才幾碼而不掉電其單元內(nèi)容不變的 特點(diǎn),在單片機(jī)系統(tǒng)程序的初始化部分增加定義特征字RAM單元并寫 入自定義特征字,此特征字設(shè)定為2個(gè)字節(jié),用于判斷受干擾復(fù)位還 是上電復(fù)位;
2) 在單片機(jī)系統(tǒng)程序中設(shè)置各進(jìn)程標(biāo)志字;以便在受干擾復(fù)位 后,程序能根據(jù)標(biāo)志字直接進(jìn)入上次程序斷點(diǎn)所在進(jìn)程繼續(xù)運(yùn)行。
3) 設(shè)置每個(gè)受控對(duì)象在各進(jìn)程中的狀態(tài)字;以便在受干擾復(fù)位, 程序直接進(jìn)入上次程序斷點(diǎn)所在進(jìn)程后,能根據(jù)各受控對(duì)象在該進(jìn)程 中的狀態(tài)字直接設(shè)置控制狀態(tài),快速恢復(fù)控制現(xiàn)場(chǎng)。
4) 在復(fù)位后單片機(jī)系統(tǒng)程序首先根據(jù)特征字單元內(nèi)容判斷復(fù)位 類型若特征字單元內(nèi)容為自定義的特征字則判定為受干擾復(fù)位;若
5) 如果是上電復(fù)位,則程序按設(shè)備所需的控制過(guò)程順序執(zhí)行, 并在初始化階段將自定義特征字寫入特征字RAM單元,在各個(gè)進(jìn)程中 刷新進(jìn)程標(biāo)志;如果是受干擾復(fù)位,由單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路 通過(guò)反相器、微分電路啟動(dòng)復(fù)位,則程序根據(jù)進(jìn)程標(biāo)志來(lái)直接設(shè)置各 受控對(duì)象的控制狀態(tài),單片機(jī)系統(tǒng)程序直接進(jìn)入該控制進(jìn)程,接著受 干擾前的狀態(tài)繼續(xù)執(zhí)行。
其中,所述步驟l)中的特征字設(shè)定為2個(gè)字節(jié)的內(nèi)容定為55H, AAH。 '
其中,所述步驟2 )中的進(jìn)程標(biāo)志字,若進(jìn)程數(shù)小于256個(gè)進(jìn)程, 為單字節(jié)變量;若進(jìn)程凄t超過(guò)256個(gè)進(jìn)程,2字節(jié)或4字節(jié)變量。
其中,所述步驟3)中受控對(duì)象狀態(tài)字,是表示每個(gè)受控對(duì)象在 各進(jìn)程中的實(shí)際應(yīng)處的狀態(tài),作為一個(gè)數(shù)組固化在ROM中。
(三)有益效果
由于采用以上技術(shù)方案,本發(fā)明的方法能夠使單片機(jī)為主控器的 電器設(shè)備中在受到強(qiáng)干擾致使單片機(jī)死機(jī)的極端情況下,迅速找到受
干擾前所進(jìn)入的進(jìn)程,通過(guò)進(jìn)程狀態(tài)字?jǐn)?shù)組直接恢復(fù)受控對(duì)象的狀
態(tài);能夠在各受控對(duì)象的狀態(tài)還沒來(lái)得Aj^生變化時(shí),自動(dòng)在受干擾 斷點(diǎn)接續(xù)運(yùn)行,消除強(qiáng)干擾對(duì)電器設(shè)備的影響;同時(shí),本發(fā)明的裝置 具有結(jié)構(gòu)簡(jiǎn)單、制作容易的特點(diǎn)。
圖1是本發(fā)明裝置的結(jié)構(gòu)示意圖2是本發(fā)明單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路、微分電路的輸出波 形圖3是本發(fā)明控制方法的控制程序流程圖。
圖中,1、單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路,2、反相器,3、微分 電路,4、單片機(jī),a、單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路輸出端,b、微 分電路輸出端,Ua、單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路輸出電壓,Ub、微 分電路輸出電壓。
具體實(shí)施例方式
以下實(shí)施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。 參見圖1、圖2:
本發(fā)明是將硬件電路中單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路1后增加 反相器2和微分電路3,單片才/l4呈序運(yùn)行狀態(tài)監(jiān)測(cè)電路1輸出的200mS 復(fù)位正脈沖,被所加反相器2反相后,成為負(fù)脈沖,此負(fù)脈沖的前沿 是下跳沿,經(jīng)微分電路3后為一個(gè)脈寬為幾pS的負(fù)脈沖,對(duì)單片機(jī) 4復(fù)位不起作用;接下來(lái)反相器2輸出的200mS的脈寬也對(duì)單片機(jī)4 不起作用,但可作為上電時(shí)的單片機(jī)4電源電壓穩(wěn)定所需的時(shí)間。之 后反相器2輸出的負(fù)脈沖的后沿是上跳沿,經(jīng)^L分電路3后產(chǎn)生一個(gè) 脈寬為幾的正脈沖,調(diào)整微分電路3中RC參數(shù)可得到所需脈寬。 這個(gè)脈沖使單片機(jī)4復(fù)位,(單片機(jī)4在電源電壓正常的情況下,只 需2個(gè)機(jī)器周期的脈沖即可響應(yīng)復(fù)位。)由于此脈寬只有幾個(gè)微秒, 也就將單片機(jī)4的復(fù)位過(guò)程由一般200mS縮短到幾個(gè)縮短了約5
—IO萬(wàn)倍。
復(fù)位過(guò)程的縮短是本發(fā)明的關(guān)鍵因?yàn)樵谶@個(gè)復(fù)位脈沖作用期 間,單片機(jī)4所有的I/O 口都是復(fù)位狀態(tài)。1/0口所控制的對(duì)象在這 段時(shí)間內(nèi)是不受程序控制的。對(duì)于通常的被控對(duì)象,如繼電器、接觸 器、可控珪等響應(yīng)時(shí)間〈20mS的器件來(lái)說(shuō),200mS的時(shí)間足以改變?cè)?有被控狀態(tài),影響到設(shè)備的正常運(yùn)行。復(fù)位過(guò)程縮短到微秒級(jí)大大低 于上述的4皮控對(duì)象的響應(yīng)時(shí)間。
另外從軟件方面,在單片機(jī)系統(tǒng)程序的初始化部分增加定義特征 字RAM單元并寫入自定義特征字,用于判斷受擾復(fù)位還是上電復(fù)位。 兼顧可靠性和處理速度,此特征字設(shè)定為2個(gè)字節(jié)。
在單片機(jī)系統(tǒng)程序中還引入進(jìn)程標(biāo)志字,在系統(tǒng)程序運(yùn)行每i^V 一個(gè)新的進(jìn)程中,及時(shí)刷新進(jìn)程標(biāo)志字;以便在受干擾復(fù)位后,程序 能根據(jù)標(biāo)志字,直接進(jìn)入上次程序斷點(diǎn)所在進(jìn)程繼續(xù)運(yùn)行。
在單片機(jī)程序設(shè)計(jì)時(shí),將表示每個(gè)受控對(duì)象在各進(jìn)程中的實(shí)際應(yīng) 處的狀態(tài)的受控對(duì)象狀態(tài)字,作為一個(gè)數(shù)組固化在ROM中。以便在受 干擾復(fù)位,程序直接進(jìn)入上次程序斷點(diǎn)所在進(jìn)程后,能根據(jù)各受控對(duì) 象在該進(jìn)程中的狀態(tài)字直接設(shè)置控制狀態(tài),快速恢復(fù)控制現(xiàn)場(chǎng)。
參見圖3,在單片^L系統(tǒng)程序中,首先才艮據(jù)特征字單元內(nèi)容判斷 復(fù)位類型若特征字單元內(nèi)容為自定義的特征字則判定為受擾復(fù)位;
征字單元是RAM存儲(chǔ)單元,掉電后為隨機(jī)數(shù)。)
如果是上電復(fù)位,從復(fù)位時(shí)序方面來(lái)看,有效的復(fù)位脈沖仍然在 上電200ms后,因此可以保_〖正在復(fù)位前,電源電壓達(dá)到穩(wěn)定;/人程序 方面來(lái)看,程序按設(shè)備所需的控制過(guò)程順序執(zhí)行,并在初始化階段將 自定義特4正字55H、 AAH寫入特征字RAM單元,在各個(gè)進(jìn)程中刷新進(jìn) 程標(biāo)志。如,刷新進(jìn)程標(biāo)志為l,執(zhí)行進(jìn)程l所有操作;刷新進(jìn)程標(biāo) 志為2,執(zhí)行進(jìn)程2所有操作;一一一刷新進(jìn)程標(biāo)志為n,執(zhí)行進(jìn)程 n所有操作。
如果是受到強(qiáng)干擾致使單片才M呈序跑飛,進(jìn)入死循環(huán),由單片機(jī) 程序運(yùn)行狀態(tài)監(jiān)測(cè)電^各通過(guò)反相器、微分電路啟動(dòng)復(fù)位,則程序根據(jù)
進(jìn)程標(biāo)志字(如讀取進(jìn)程標(biāo)志字m),直接進(jìn)入該控制進(jìn)程(如控制 程序直接進(jìn)入進(jìn)程m),并根據(jù)每個(gè)受控對(duì)象的各進(jìn)程狀態(tài)字直接設(shè) 置各受控對(duì)象的控制狀態(tài)。
由于復(fù)位過(guò)程大大縮短,復(fù)位后根據(jù)特征字、進(jìn)程標(biāo)志字、受控 對(duì)象狀態(tài)字直接找到斷點(diǎn),恢復(fù)現(xiàn)場(chǎng),各受控對(duì)象的狀態(tài)還沒來(lái)得及 發(fā)生變化,又重新受控于單片機(jī),接著受擾前的狀態(tài)繼續(xù)執(zhí)行。
權(quán)利要求
1、一種增強(qiáng)單片機(jī)主控電器系統(tǒng)抗干擾能力的裝置,包括單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路、單片機(jī),其特征在于:包括反相器、微分電路,所述單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路與反相器連接,反相器與微分電路連接,微分電路與單片機(jī)連接。
2、 一種增強(qiáng)單片機(jī)主控電器系統(tǒng)抗干擾能力的控制方法,其特 征在于有以下步驟1) 在單片機(jī)系統(tǒng)程序的初始化部分增加定義特征字RAM單元并 寫入自定義特征字,此特征字設(shè)定為2個(gè)字節(jié);2) 在單片機(jī)系統(tǒng)程序中設(shè)置各進(jìn)程標(biāo)志字;3) 設(shè)置每個(gè)受控對(duì)象在各進(jìn)程中的狀態(tài)字;4) 在復(fù)位后單片機(jī)系統(tǒng)程序首先根據(jù)特征字單元內(nèi)容判斷復(fù)位 類型若特征字單元內(nèi)容為自定義的特征字則判定為受干擾復(fù)位;若5) 如果是上電復(fù)位,則程序按"i殳備所需的控制過(guò)程順序執(zhí)行, 并在初始化階段將自定義特征字寫入特征字RAM單元,在各個(gè)進(jìn)程中 刷新進(jìn)程標(biāo)志;如果是受干擾復(fù)位,由單片積4呈序運(yùn)行狀態(tài)監(jiān)測(cè)電路 通過(guò)反相器、微分電路啟動(dòng)復(fù)位,則程序根據(jù)進(jìn)程標(biāo)志來(lái)直接設(shè)置各 受控對(duì)象的控制狀態(tài),單片機(jī)系統(tǒng)程序直接ii7v該控制進(jìn)程,接著受 干擾前的狀態(tài)繼續(xù)執(zhí)行。
3、 如權(quán)利要求2所述的一種增強(qiáng)單片機(jī)主控電器系統(tǒng)抗干擾能 力的控制方法,其特征在于所述步驟l)中的特征字設(shè)定為2個(gè)字 節(jié)的內(nèi)容定為55H, AAH。
4、 如權(quán)利要求2所述的一種增強(qiáng)單片機(jī)主控電器系統(tǒng)抗千擾能 力的控制方法,其特征在于所述步驟2)中的進(jìn)程標(biāo)志字,若進(jìn)程 數(shù)小于256個(gè)進(jìn)程,為單字節(jié)變量;若進(jìn)程數(shù)超過(guò)256個(gè)進(jìn)程,則定 義為2字節(jié)或4字節(jié)變量。
5、如權(quán)利要求2所述的一種增強(qiáng)單片機(jī)主控電器系統(tǒng)抗干擾能力的控制方法,其特征在于所述步驟3)中受控對(duì)象狀態(tài)字,作為 一個(gè)凄t組固化在ROM中。
全文摘要
本發(fā)明涉及電器控制技術(shù)領(lǐng)域,本發(fā)明公開了一種增強(qiáng)單片機(jī)主控電器系統(tǒng)抗干擾能力的裝置及控制方法。裝置包括單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路、單片機(jī),還包括反相器、微分電路,單片機(jī)程序運(yùn)行狀態(tài)監(jiān)測(cè)電路通過(guò)反相器、微分電路與單片機(jī)連接。方法在系統(tǒng)程序的初始化部分增加定義特征字RAM單元并寫入自定義特征字;在系統(tǒng)程序中設(shè)置各進(jìn)程標(biāo)志字;設(shè)置每個(gè)受控對(duì)象在各進(jìn)程中的狀態(tài)字;復(fù)位后判斷若是上電復(fù)位則按設(shè)備所需的控制過(guò)程順序執(zhí)行;若是受擾復(fù)位則根據(jù)進(jìn)程標(biāo)志字,程序直接進(jìn)入該控制進(jìn)程并根據(jù)各受控對(duì)象在該進(jìn)程中的狀態(tài)字直接設(shè)置控制狀態(tài)。本發(fā)明能夠在各受控對(duì)象的狀態(tài)還沒來(lái)得及發(fā)生變化時(shí),自動(dòng)在受干擾斷點(diǎn)接續(xù)運(yùn)行。消除強(qiáng)干擾對(duì)電器設(shè)備影響。
文檔編號(hào)G05B19/04GK101382780SQ20071005313
公開日2009年3月11日 申請(qǐng)日期2007年9月5日 優(yōu)先權(quán)日2007年9月5日
發(fā)明者文 孫, 張峻紅, 彭國(guó)紅 申請(qǐng)人:武漢奇致激光技術(shù)有限公司