《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 51單片機在微機自動交換系統(tǒng)中穩(wěn)定運行的設計方法
51單片機在微機自動交換系統(tǒng)中穩(wěn)定運行的設計方法
摘要: 在電力線載波通信中,微機自動盤的功能多,,邏輯性強,,MCS—51單片機在該系統(tǒng)中處理任務時的實時性尤為突出。針對電網運行的特點,,從可靠性方面闡述了MCS—51系列單片機在微機交換系統(tǒng)中的穩(wěn)定性方面所采取的幾種方法,。這些方法較適合于WCZ—X型交換系統(tǒng)用。
Abstract:
Key words :

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

 

  1 設置上電延時復位電路

 

  1.1 為什么要進行上電復位

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

  1.2 復位條件

  單片機是靠外部電路復位的,。上電復位步驟:

  (1)必須首先建立電源Vcc,;

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

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

  1.3 一般上電復位電路

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

 

  

 

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

  1.4 上電延時復位電路

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

 

  

 

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

 

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

 

  1 設置上電延時復位電路

 

  1.1 為什么要進行上電復位

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

  1.2 復位條件

  單片機是靠外部電路復位的,。上電復位步驟:

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

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

  (3)復位腳必須在振蕩器起振后至少保持兩個機器周期復位電平,。也就是說,,復位腳(RST)復位電平維持時間應包括Vcc的建立時間、振蕩器起振時間和至少兩個機器周期時間,。

  1.3 一般上電復位電路

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

 

  

 

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

  1.4 上電延時復位電路

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

 

  

 

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

 

  2 應用看門狗電路實現(xiàn)系統(tǒng)保護

 

  2.1 復位寬度設計要求

  因為MCS—51內部無Watchdog功能(8096系列單片機有),,所以需在外部擴展此電路,,如圖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腳,。為了保證復位,,方波寬度遠大于兩機器周期,且至少應大于CP兩個周期,,以保證程序有時間作Watchdog

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

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

  由軟件產生周期性觸發(fā)信號來控制該電路工作,,以確保系統(tǒng)正常運行。在產生該周期性信號時應注意以下幾點:

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

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

 ?。?)工作程序部分包括主程序和中斷程序,,Watchdog不僅要保護主程序轉飛,而且也要保護中斷程序轉飛,。保護流程如圖5所示,。設高級中斷運行標志為1,次級中斷運行正常標志為2,。

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

 

  3 被破壞數據的修復

 

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

  3.1 特殊功能寄存器(SFR)內容的實時刷新

  一般情況下,,在初始化程序中SFR已被預置好初值,,它代表一定的工作方式。在正常運行后,,SFR的內容一般是不變的,。因為SFR內容代表特定的工作方式,該內容被破壞也就改變了原來設定的工作方式,從而使系統(tǒng)失常,。比如,,系統(tǒng)設置為以中斷方式工作后,就存在中斷返回問題,,在初始化程序中已設置堆棧(SP)內容,,如果由于某種干擾,SP內容被改變,,那么中斷返回將不能轉向預定地址,,系統(tǒng)工作必然失常。為了盡量減少破壞的機會,,我們將有關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 數據區(qū)以及位區(qū)嵌套式保護

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

 

  4 結束語

 

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

 

  參 考 文 獻

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

  2 涂時亮,,張友德,陳章龍.單片微機MCS—51用戶手冊.上海:復旦大學出版社,,1990

此內容為AET網站原創(chuàng),,未經授權禁止轉載。