阮若琳
(蘭州交通大學 光電技術與智能控制教育部重點實驗室,蘭州730070)
近年來,微小型化的單片機技術發展日新月異,廣泛應用于很多領域。在鐵路行業,結合單片機技術的高可靠性系統得到了越來越多的應用和重視。安全型繼電器是鐵路信號設備中的重要器件之一,其可靠性和安全性是鐵路運輸自動控制、遠程控制信號設備正常使用的必要條件[1]。因此,對于在鐵路等重要場合使用的安全型繼電器,需要采用高可靠性的驅動電路系統。本文利用AVR單片機設計出一種具有高可靠性的繼電器驅動系統,具有實時性強、結構簡潔、成本低等特點。
本系統需要采用一定的冗余技術來保證系統的高可靠性和高安全性。目前發展較為成熟的冗余技術主要有雙機熱備結構和二乘二取二冗余結構。這兩種結構在可靠性、可用性、安全性等方面相比單機系統有著各自的特點和優越性[2-7],在鐵路[5-9]、工業[10-11]等領域有著廣泛的應用。
雙機熱備系統一般由兩個具有相同功能的子系統構成,接有可選的比較器和主備切換器,并能進行故障檢測。二乘二取二冗余結構由4個子系統組成,同樣有比較器和主備切換器,兩兩比較輸出后再次比較輸出,其可靠性更高;但是對于小型系統,與雙機熱備系統相比要耗費更多的資源,成本加倍。因此,本系統采用雙機熱備系統。

圖1 雙機熱備系統示意圖
雙機熱備系統結構示意圖如圖1所示。它的工作方式一般有3種:主備機模式、互備模式和雙機雙工模式(即雙機 冗 余 模 式 )[3]。3種模式下的兩個子系統均加電工作,每個子系統都具有故障檢測和診斷功能,而且3種結構均具有主備切換功能。但主備機模式下只有一個子系統能夠控制被控對象,另一個子系統處于待命狀態;互備模式為兩子系統之間互相備份數據,但執行的是不同的任務,在一臺故障時,另一臺接收故障機的任務并繼續執行;雙機雙工模式的兩個子系統均處于活動狀態,均能控制被控對象,同時進行工作并完成同樣的功能,在輸出前進行比較,結果一致則輸出,不一致則報錯,而主備機模式和互備模式時,系統在運行過程中兩個單元的運行結果不進行比較。
本系統的主要功能為利用單片機系統驅動某型號安全型繼電器,可以考慮的熱備工作模式為主備機模式或雙機雙工模式,因而需比較兩種模式的可靠性。
系統的可靠性R(t)為時間和失效率的函數,指產品在規定時間內和規定條件下,完成規定功能的概率。失效率指的是在規定時間內和規定條件下的產品失效的概率,一般用λ表示。系統的可靠性常隨時間的增加而減少,一般用平均無故障工作時間(MTBF)來衡量。MTBF指系統相鄰兩次故障間的平均工作時間,它的值為系統的可靠性 R(t)的期望[11-12]。
在此,假設單機系統壽命服從指數分布,則第i個子系統的壽命即可靠度函數為Ri(t)=e-λt,則可知單機的平均無故障時間為
主備機模式下,一個子系統工作,另一個不工作,它的系統可靠度和平均無故障工作時間分別為:

雙機雙工模式可看作兩個子系統的并聯,則此模式下系統的可靠性取決于兩個子系統中壽命較長者,其可靠度函數和平均無故障工作時間分別為:
可以看出,相比單機系統,兩種模式下的雙機熱備系統的可靠性均有顯著提高,其中主備機模式下提高了3倍,雙機雙工模式下提高了1.5倍。因此,從保證系統更高可靠性的角度來看,主備機模式具有一定優勢,故本系統采用主備機模式。
本系統選用Atmel公司的AT90CAN128單片機作為主控芯片,其內部已經集成了CAN控制器,因此無需使用CAN控制器SJA1000,只需選用TJA1050作為CAN高速收發器,大大簡化了電路。其系統結構如圖2所示。

圖2 系統硬件結構框圖
本系統采用3片AT90CAN128單片機作為核心控制芯片,其中MCUA和MCUB構成雙機熱備系統,MCUC用于監測和狀態顯示。單片機MCUA和MCUB互為主備關系,需要接收并處理上位機發送進來的CAN通信信息,對信息進行比較同步處理,進而通過驅動電路驅動某安全型繼電器。驅動電路可包含多組,每一組控制一個繼電器,電路由主MCU控制。MCUA和MCUB把相關監測信息通過串口通信傳送給MCUC,MCUC監測A和B是否工作正常,并將其工作狀態通過LED顯示燈進行狀態顯示。3個CPU相互之間由串口進行通信,并通過CAN總線與上位主機進行通信。這樣,整個系統就形成兩套MCU控制回路構成主備關系,一套控制回路進行監測的系統架構。
程序采用C語言模塊化設計,C語言作為一種結構式的高級語言,具有表達方式靈活、可移植性強、代碼質量高等優點,模塊化的設計也增強了程序的可讀性。其主程序流程圖如圖3所示。
趙婧:現在越來越多的年輕人欣賞真實,喜歡真實記錄的東西,不喜歡演的東西。他們覺得好的內容、真實的東西可以引發自己對生活的細思細想。好的文化綜藝作品,要讓年輕人在探索世界、汲取知識的同時“遇見”自己,要讓他們看了之后更熱愛生活,這應該是今后文化綜藝進一步探索時瞄準的方向。
為了滿足高可靠性、安全性的要求,程序中對MCU加入了CPU自檢模塊,因而3個CPU共同具有的模塊包括設備初始化模塊、通信處理模塊和CPU自檢模塊,并通過自定義采集量完成延時去抖等。通過在主程序中設置Flag標志位來對各個模塊進行調用。對于MCUA和MCUB,由于二者互為冗余,它們的軟件設計結構基本一致,另外包含同步信息處理模塊和驅動模塊。負責監測的MCUC則包含信息存儲模塊、LED顯示模塊。
(1)設備初始化模塊
該模塊主要完成系統的準備工作、系統的上電自檢和自檢后的處理3步。其中,準備工作主要有上電延時(約0.5 s)、MCU引腳方向寄存器的設置、數據區初始化、A/D轉換器參數設置、定時器參數設置、地址碼讀取。系統上電自檢包括MCU自檢、開中斷、同步電路自檢、地址碼自檢。自檢結束后處理初始化與MCUC通信的參數設置、自檢故障處理或初始化CAN總線。

圖3 主程序流程圖
(2)自檢和故障處理模塊
該模塊主要用于對整個系統的內部自檢及故障后的處理,包括MCUA和MCUB之間的CAN總線通信自檢、地址校核和各個CPU的自檢,CPU的自檢又包括CPU自身運算符的自檢和數據區的自檢,自檢結果若出現錯誤,則置位相應錯誤標識。
(3)通信處理模塊
該模塊用于處理上位機通過CAN總線下發的通信命令,包括命令的解析、命令幀命令的合法性檢查、轉換成有效的驅動命令3部分。定義通信協議每一幀包括10個字節,第1個字節為板地址號,第2個字節為功能碼,第3個字節為通信序號,第4~8個字節為本幀要發送的主要數據信息,幀尾(最后兩個字節)為CRC校驗位。其中發送的主要數據信息包括繼電器的動作信息、狀態信息和MCU的狀態信息等。
(4)同步處理模塊
該模塊主要用于主機和備機間發送和接收同步命令幀以及向MCUC發送監測信息幀,發送方對需發送的數據打包發送,接收方對同步數據的接收解包,每30 s同步一次,通過MCU之間的串口通信進行,每一幀都要進行CRC校驗。
(5)驅動模塊
安全型繼電器是一種新型直流24 V繼電器系列,因此驅動電路選用直流24 V電源。它是一種我國自行設計和制造的信號繼電器,具有結構新穎、重量輕、體積小等特點。圖4所示為繼電器驅動模塊結構示意圖。對于本多組驅動熱備系統,只需將多組此結構的電路分別連接至 MCUA和MCUB即可,MCUA和MCUB的硬件結構完全相同。
本驅動電路由CPU控制,通過JF和JZ連接某安全型繼電器。電路中由兩個光電隔離器件K1和K2串聯,分別通過QD1和QD2兩引腳接入MCU,由單片機軟件控制光電隔離的導通,并由光電隔離的導通順序決定電容C1和C2的先后充電放電,繼而導通由JF和JZ連接的繼電器。QD1和QD2的高低電平先后導通時序如圖5所示。
繼電器正常運作過程中,驅動模塊需按圖5所示的導通時序多個周期反復運行。驅動時主機和備機每5個周期同步一次,根據圖3(a)的主程序流程圖,驅動模塊在主標志位置為QD_CHECK時開始動作。根據驅動電路導通時序分別將MCU上對應的驅動引腳置為高電平或低電平。據此編寫程序,驅動模塊單周期軟件流程圖如圖6所示。由于需要在測試時多次試驗找出繼電器動作時最恰當的占空比,在此沒有采用定時器,而是用計數的方式進行延時。其中,根據圖5所示的導通時序,QD2的MAX值須為QD1的兩倍。

圖4 繼電器驅動模塊示意圖

圖5 驅動電路導通時序
(6)LED顯示模塊
該模塊用于對各種狀態信息的顯示,包括電源指示燈、故障指示燈、繼電器吸起/落下指示燈。硬件電路采用共陽極LED顯示電路,軟件通過MCU將相應二極管陰極置為低電平實現對該LED的導通。受單片機引腳所限,MCUA和MCUB只有各自的電源和故障燈,其他功能指示燈連接至MCUC。
(7)MCUC的存儲模塊
該模塊用于MCUC對接收到MCUA和MCUB的監測信息幀的處理,包括接收信息、處理信息。處理信息時,如果出現異常則會在系統自檢時報錯。
本設計采用Atmel公司的AVR單片機AT90CAN128作為核心控制器,經過分析運算,選取了可靠性較高的雙機熱備結構主備機模式作為系統工作模式,建立了一個第三方監測下的雙機熱備結構安全型繼電器驅動系統。經測試證明,本系統具有較好的工作性能,可以滿足可靠性要求。
[1]胡耀華.信號繼電器及檢修[M].北京:中國鐵道出版社,1999.
[2]劉芳,王海峰.二乘二取二與雙機熱備計算機聯鎖系統性能比較[J].鐵道通信信號,2008,44(2):26-29.
[3]姜堅華.雙機熱備系統的技術研究和具體實現[J].微型電腦應用,2004,20(3):7-9.
[4]李翔.二乘二取二冗余機制研究[D].成都:西南交通大學,2009.
[5]覃慶努,魏學業,于蓉蓉,等.基于雙機聯合故障檢測的雙機熱備系統可靠性和安全性研究[J].系統工程與電子技術,2011,33(12):2776-2781.
[6]高繼祥,鄭俊杰.雙機熱備計算機聯鎖系統可靠性與安全性指標分析[J].北方交通大學學報,1998,22(5):73-77.
[7]孫蕾,徐洪澤.雙機熱備計算機聯鎖控制系統的安全性和可用性分析[J].中國安全科學學報,2004,14(7):30-33.
[8]張佳楠,王海峰,蔣大明.計算機聯鎖系統二乘二取二容錯結構分析[J].鐵路計算機應用,2006,15(11).
[9]陳光武,范多旺,魏宗壽.基于二乘二取二的全電子計算機聯鎖系統[J].中國鐵道科學,2010,31(4):138-143.
[10]李明建,刁勇.基于雙機熱備的瓦斯災害預警系統設計[J].工礦自動化,2013,39(5):19-23.
[11]張興彤.雙機熱備技術在鋁廠生產中的應用[J].自動化儀表,2011,32(11):66-68.
[12]董錫明.軌道列車可靠性、可用性、維修性和安全性(RAMS)[M].北京:中國鐵道出版社,2009.
[13]郭波,武小悅.系統可靠性分析[M].長沙:國防科技大學出版社,2002.
[14]范紅剛.AVR單片機自學筆記[M].北京:北京航空航天大學出版社,2012.