當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]51單片機(jī)在微機(jī)自動(dòng)交換系統(tǒng)中穩(wěn)定運(yùn)行的設(shè)計(jì)方法

    在電力線載波通信中,微機(jī)自動(dòng)盤的功能多,邏輯性強(qiáng),MCS—51單片機(jī)在該系統(tǒng)中處理任務(wù)時(shí)的實(shí)時(shí)性尤為突出。由于該系統(tǒng)整機(jī)配置的主要服務(wù)對(duì)象是電力調(diào)度,且它的使用環(huán)境將來多為無人值守站,所以系統(tǒng)工作是否穩(wěn)定直接影響到電力線載波機(jī)的整機(jī)性能。針對(duì)電力通信特點(diǎn),在考慮穩(wěn)定運(yùn)行方面我們采取了以下幾項(xiàng)措施。

  1 設(shè)置上電延時(shí)復(fù)位電路

  1.1 為什么要進(jìn)行上電復(fù)位46

  計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都要進(jìn)行復(fù)位。作為在控制領(lǐng)域中應(yīng)用最廣泛的單片機(jī),復(fù)位處理更是設(shè)計(jì)中的關(guān)鍵。單片機(jī)內(nèi)部的各個(gè)功能部件均受特殊功能寄存器控制,程序運(yùn)行直接受程序計(jì)數(shù)器指揮,寄存器的復(fù)位狀態(tài)決定了單片機(jī)內(nèi)有關(guān)功能部件工作用的初始狀態(tài),而程序的正常運(yùn)行就是從這個(gè)狀態(tài)開始的。如果上電時(shí)沒有做到正確復(fù)位,就可能使CPU從不定地址開始執(zhí)行指令,系統(tǒng)就得不到正確的初始化,也就不能正常工作。

  1.2 復(fù)位條件

  單片機(jī)是靠外部電路復(fù)位的。上電復(fù)位步驟:

 ?。?)必須首先建立電源Vcc;

 ?。?)Vcc穩(wěn)定后(達(dá)到允許值)時(shí)鐘振蕩器起振;

 ?。?)復(fù)位腳必須在振蕩器起振后至少保持兩個(gè)機(jī)器周期復(fù)位電平。也就是說,復(fù)位腳(RST)復(fù)位電平維持時(shí)間應(yīng)包括Vcc的建立時(shí)間、振蕩器起振時(shí)間和至少兩個(gè)機(jī)器周期時(shí)間。

  1.3 一般上電復(fù)位電路

  在上電時(shí),電源Vcc的建立時(shí)間應(yīng)小于幾十ms,振蕩器的起振時(shí)間取決于振蕩器頻率,對(duì)于10MHz晶體,起振時(shí)間為1ms,對(duì)于1MHz晶體,起振時(shí)間一般為10ms。此時(shí)可采用一般上電復(fù)位電路(圖1)。

  

  如果對(duì)電源Vcc建立運(yùn)行速度相當(dāng)緩慢的系統(tǒng),RC上電復(fù)位電路將不能保證系統(tǒng)可靠復(fù)位。假如,建立時(shí)間為1s,則RC充電曲線如圖2所示,此時(shí)很難使RC電路輸出正常的復(fù)位電平(隨著RC的充電,RST腳的電位ΔVc越來越低,在電源穩(wěn)定后,ΔVc的幅度不滿足兩個(gè)機(jī)器內(nèi)復(fù)位電平的要求,RST腳就可能退出復(fù)位狀態(tài))。而且,RST腳因易受電源干擾而產(chǎn)生誤復(fù)位。

  1.4 上電延時(shí)復(fù)位電路

  雖然電力線載波機(jī)電源現(xiàn)都采用開關(guān)工作方式,建立速度比以往的串聯(lián)式或并聯(lián)式調(diào)整電源快,但由于機(jī)器本身使用的電壓等級(jí)多,功率要求大,開機(jī)后各種電源的建立至少還需要500ms時(shí)間才能穩(wěn)定(+5V電源也不例外),所以在自動(dòng)交換系統(tǒng)中采用一般上電復(fù)位在時(shí)間上幾乎不可能滿足復(fù)位要求,這是因?yàn)?MCS—51采用一般上電復(fù)位電路就要求電源至少在20ms內(nèi)建立才能保證復(fù)位。這屬于硬件特性,對(duì)于克服這一時(shí)延性困難來說,我們不可能做到使所有電力電源都迅速建立(該產(chǎn)品要利用與之配套的設(shè)備電源),只有針對(duì)MCS—51自身特性在系統(tǒng)設(shè)計(jì)上采取相應(yīng)措施。

   

  MCS—51硬件復(fù)位要保證在Vcc穩(wěn)定、振蕩器起振后至少有兩個(gè)機(jī)器周期(24個(gè)振蕩器周期)的高電平出現(xiàn)在RST端,即執(zhí)行內(nèi)部復(fù)位。為此我們?cè)O(shè)計(jì)了一個(gè)上電延時(shí)電路,該電路能針對(duì)不同電源建立時(shí)間的長(zhǎng)短,改變R、C參數(shù),可調(diào)整延時(shí)時(shí)間。由于采用了該電路,在無人值守站,系統(tǒng)不會(huì)因停電、再上電而出現(xiàn)“死機(jī)”造成通信中斷現(xiàn)象,如圖3所示。R1、R2提供比較電位(2/3Vcc),RC充電時(shí)間由R、C參數(shù)決定,R4為復(fù)原信號(hào)邊緣校正,V1二級(jí)管為頻繁上電時(shí)電容C的泄放電路,V2與Watchdog電路在邏輯上成或關(guān)系。開機(jī)時(shí)同相端電位大于反相端電位,輸出為上升的電位(在電源建立期間),RC充電時(shí)間足夠延遲到電源穩(wěn)定,當(dāng)RC充電電壓大于2/3Vcc時(shí),該電路輸出“0”,至此上電復(fù)位正常完成。

  2 應(yīng)用看門狗電路實(shí)現(xiàn)系統(tǒng)保護(hù)

  2.1 復(fù)位寬度設(shè)計(jì)要求

  因?yàn)镸CS—51內(nèi)部無Watchdog功能(8096系列單片機(jī)有),所以需在外部擴(kuò)展此電路,如圖4所示。單穩(wěn)電路為可再觸發(fā)電路,只要觸發(fā)脈沖(CP)正常地作周期性輸出,單穩(wěn)一直處于瞬態(tài)階段,輸出低電平。通過V1嵌位,振蕩電路停振,振蕩器輸出“0”不影響RST腳,CPU處于正常工作狀態(tài),如果因某種原因CP無輸出,單穩(wěn)處于穩(wěn)態(tài),輸出“1”振蕩器起振,輸出方波,送至RST腳。為了保證復(fù)位,方波寬度遠(yuǎn)大于兩機(jī)器周期,且至少應(yīng)大于CP兩個(gè)周期,以保證程序有時(shí)間作Watchdog

  處理(輸出正常的觸發(fā)脈沖,使振蕩器停振,輸出“0”不影響RST腳)。

  2.2 周期性觸發(fā)脈沖軟件設(shè)計(jì)考慮

  由軟件產(chǎn)生周期性觸發(fā)信號(hào)來控制該電路工作,以確保系統(tǒng)正常運(yùn)行。在產(chǎn)生該周期性信號(hào)時(shí)應(yīng)注意以下幾點(diǎn):

  (1)信號(hào)不采取定時(shí)器中斷方式獲得。這基于以下考慮:在初始化后,定時(shí)中斷即開始工作,假如由于某種信號(hào)干擾使主程序轉(zhuǎn)飛,但并未破壞定時(shí)器有關(guān)中斷控制設(shè)置,定時(shí)中斷有可能正常工作,則周期性脈沖可能輸出正常,此時(shí)Watchdog則不能使主程序恢復(fù)正常。

  (2)Watchdog輸出模塊放在主程序中,主程序有幾個(gè)循環(huán)體就應(yīng)放入幾個(gè)Watchdog輸出模塊,以確保主程序不被破壞。

 ?。?)工作程序部分包括主程序和中斷程序,Watchdog不僅要保護(hù)主程序轉(zhuǎn)飛,而且也要保護(hù)中斷程序轉(zhuǎn)飛。保護(hù)流程如圖5所示。設(shè)高級(jí)中斷運(yùn)行標(biāo)志為1,次級(jí)中斷運(yùn)行正常標(biāo)志為2。

  如果高級(jí)中斷不能正常運(yùn)行,那么無標(biāo)志1,雖然次級(jí)中斷工作正常,但因無標(biāo)志1,則無標(biāo)志2,最終主程序因無標(biāo)志2,故Watchdog無輸出,結(jié)果導(dǎo)致系統(tǒng)復(fù)位。同理,如次級(jí)中斷不能正常工作,那么標(biāo)志2產(chǎn)生,最終導(dǎo)致系統(tǒng)復(fù)位;若主程序自身失效,則也無定時(shí)輸出,最終也導(dǎo)致系統(tǒng)復(fù)位,重新使系統(tǒng)恢復(fù)正常運(yùn)行。

  3 被破壞數(shù)據(jù)的修復(fù)

  Watchdog電路只能保證系統(tǒng)失效后能得到復(fù)位處理,重新恢復(fù)正常工作,但這說明以前有的工作狀態(tài)已被破壞,只是不“死機(jī)”而已。程序的失效、轉(zhuǎn)飛往往是因?yàn)橛嘘P(guān)轉(zhuǎn)移標(biāo)志、數(shù)據(jù)或SFR控制字被破壞所致,不管如何好的系統(tǒng),要想完全避免這些破壞是不可能的,因?yàn)槎喾N多樣的干擾源根本無法消除,要想保護(hù)這些過程數(shù)據(jù)不被破壞,只有設(shè)法在保護(hù)方面盡可能做得更加完善些。

  3.1 特殊功能寄存器(SFR)內(nèi)容的實(shí)時(shí)刷新

  一般情況下,在初始化程序中SFR已被預(yù)置好初值,它代表一定的工作方式。在正常運(yùn)行后,SFR的內(nèi)容一般是不變的。因?yàn)镾FR內(nèi)容代表特定的工作方式,該內(nèi)容被破壞也就改變了原來設(shè)定的工作方式,從而使系統(tǒng)失常。比如,系統(tǒng)設(shè)置為以中斷方式工作后,就存在中斷返回問題,在初始化程序中已設(shè)置堆棧(SP)內(nèi)容,如果由于某種干擾,SP內(nèi)容被改變,那么中斷返回將不能轉(zhuǎn)向預(yù)定地址,系統(tǒng)工作必然失常。為了盡量減少破壞的機(jī)會(huì),我們將有關(guān)SFR放在主程序Watchdog循環(huán)輸出模塊中,以使其不斷得到刷新,程序示意圖如下:

  

 

  LOOP:  ·

  ·

  ·

  MOV  SP, ?。?0H

  MOV TMOD, #12H

  MOV SCON, #00H

  ANL PSW, #0E7H

  SETB TR0

  SETB TR1

  SETB IT0

  MOV IE, #8AH

  MOV IP, #02H

  ·

  ·

  ·

  LJMP LOOP

  3.2 數(shù)據(jù)區(qū)以及位區(qū)嵌套式保護(hù)

  數(shù)據(jù)RAM區(qū)的單元內(nèi)容多數(shù)是運(yùn)行中經(jīng)運(yùn)算或經(jīng)各種處理而得到的關(guān)鍵數(shù)據(jù),這些數(shù)據(jù)被破壞的可能性更大些,除了干擾源破壞,另外運(yùn)算錯(cuò)誤或處理失誤,也會(huì)造成錯(cuò)誤數(shù)據(jù)。比如,要想確切地取得一個(gè)收信標(biāo)志位01H的值,首先需查尋收信端是否有效,收信處理將作出判斷是否被干擾,如被干擾,則刷新標(biāo)志(SETB 01H),若有效,則標(biāo)志為CLR 01H,然后進(jìn)入收信處理。下面的這些處理都是以位01H作前提的,如果該位被破壞(SETB01H),那么收信處理將無法進(jìn)行,所以一旦確定進(jìn)入收信狀態(tài)后,在處理階段,要經(jīng)常重復(fù)確認(rèn)使標(biāo)志保持有效,即CLR01H,直到該任務(wù)完成為止。這也就是說,在完成某一具體任務(wù)時(shí),對(duì)相關(guān)的標(biāo)志或數(shù)據(jù)要進(jìn)行可靠性診斷,作為實(shí)時(shí)修復(fù),盡量減少被破壞的可能。

  4 結(jié)束語

  保證系統(tǒng)穩(wěn)定運(yùn)行和設(shè)計(jì)一種系統(tǒng)的抗干擾方式,手段多種多樣,不能局限于常規(guī)方法,要根據(jù)應(yīng)用系統(tǒng)的具體狀況及干擾源的種類,采取相應(yīng)措施。我們所采取的上述方法,經(jīng)幾年來的使用表明比較適合WCZ—X型交換系統(tǒng),在實(shí)際應(yīng)用中該產(chǎn)品的可靠性得到了很好的驗(yàn)征。

  參 考 文 獻(xiàn)

  1 何立民.MCS—51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)、系統(tǒng)配置與接口技術(shù).北京:航空航天大學(xué)出版社,1990

  2 涂時(shí)亮,張友德,陳章龍.單片微機(jī)MCS—51用戶手冊(cè).上海:復(fù)旦大學(xué)出版社,1990

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉