阮若琳
(蘭州交通大學(xué) 光電技術(shù)與智能控制教育部重點實驗室,蘭州730070)
近年來,微小型化的單片機技術(shù)發(fā)展日新月異,廣泛應(yīng)用于很多領(lǐng)域。在鐵路行業(yè),結(jié)合單片機技術(shù)的高可靠性系統(tǒng)得到了越來越多的應(yīng)用和重視。安全型繼電器是鐵路信號設(shè)備中的重要器件之一,其可靠性和安全性是鐵路運輸自動控制、遠程控制信號設(shè)備正常使用的必要條件[1]。因此,對于在鐵路等重要場合使用的安全型繼電器,需要采用高可靠性的驅(qū)動電路系統(tǒng)。本文利用AVR單片機設(shè)計出一種具有高可靠性的繼電器驅(qū)動系統(tǒng),具有實時性強、結(jié)構(gòu)簡潔、成本低等特點。
本系統(tǒng)需要采用一定的冗余技術(shù)來保證系統(tǒng)的高可靠性和高安全性。目前發(fā)展較為成熟的冗余技術(shù)主要有雙機熱備結(jié)構(gòu)和二乘二取二冗余結(jié)構(gòu)。這兩種結(jié)構(gòu)在可靠性、可用性、安全性等方面相比單機系統(tǒng)有著各自的特點和優(yōu)越性[2-7],在鐵路[5-9]、工業(yè)[10-11]等領(lǐng)域有著廣泛的應(yīng)用。
雙機熱備系統(tǒng)一般由兩個具有相同功能的子系統(tǒng)構(gòu)成,接有可選的比較器和主備切換器,并能進行故障檢測。二乘二取二冗余結(jié)構(gòu)由4個子系統(tǒng)組成,同樣有比較器和主備切換器,兩兩比較輸出后再次比較輸出,其可靠性更高;但是對于小型系統(tǒng),與雙機熱備系統(tǒng)相比要耗費更多的資源,成本加倍。因此,本系統(tǒng)采用雙機熱備系統(tǒng)。
圖1 雙機熱備系統(tǒng)示意圖
雙機熱備系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。它的工作方式一般有3種:主備機模式、互備模式和雙機雙工模式(即雙機 冗 余 模 式 )[3]。3種模式下的兩個子系統(tǒng)均加電工作,每個子系統(tǒng)都具有故障檢測和診斷功能,而且3種結(jié)構(gòu)均具有主備切換功能。但主備機模式下只有一個子系統(tǒng)能夠控制被控對象,另一個子系統(tǒng)處于待命狀態(tài);互備模式為兩子系統(tǒng)之間互相備份數(shù)據(jù),但執(zhí)行的是不同的任務(wù),在一臺故障時,另一臺接收故障機的任務(wù)并繼續(xù)執(zhí)行;雙機雙工模式的兩個子系統(tǒng)均處于活動狀態(tài),均能控制被控對象,同時進行工作并完成同樣的功能,在輸出前進行比較,結(jié)果一致則輸出,不一致則報錯,而主備機模式和互備模式時,系統(tǒng)在運行過程中兩個單元的運行結(jié)果不進行比較。
本系統(tǒng)的主要功能為利用單片機系統(tǒng)驅(qū)動某型號安全型繼電器,可以考慮的熱備工作模式為主備機模式或雙機雙工模式,因而需比較兩種模式的可靠性。
系統(tǒng)的可靠性R(t)為時間和失效率的函數(shù),指產(chǎn)品在規(guī)定時間內(nèi)和規(guī)定條件下,完成規(guī)定功能的概率。失效率指的是在規(guī)定時間內(nèi)和規(guī)定條件下的產(chǎn)品失效的概率,一般用λ表示。系統(tǒng)的可靠性常隨時間的增加而減少,一般用平均無故障工作時間(MTBF)來衡量。MTBF指系統(tǒng)相鄰兩次故障間的平均工作時間,它的值為系統(tǒng)的可靠性 R(t)的期望[11-12]。
在此,假設(shè)單機系統(tǒng)壽命服從指數(shù)分布,則第i個子系統(tǒng)的壽命即可靠度函數(shù)為Ri(t)=e-λt,則可知單機的平均無故障時間為
主備機模式下,一個子系統(tǒng)工作,另一個不工作,它的系統(tǒng)可靠度和平均無故障工作時間分別為:
雙機雙工模式可看作兩個子系統(tǒng)的并聯(lián),則此模式下系統(tǒng)的可靠性取決于兩個子系統(tǒng)中壽命較長者,其可靠度函數(shù)和平均無故障工作時間分別為:
可以看出,相比單機系統(tǒng),兩種模式下的雙機熱備系統(tǒng)的可靠性均有顯著提高,其中主備機模式下提高了3倍,雙機雙工模式下提高了1.5倍。因此,從保證系統(tǒng)更高可靠性的角度來看,主備機模式具有一定優(yōu)勢,故本系統(tǒng)采用主備機模式。
本系統(tǒng)選用Atmel公司的AT90CAN128單片機作為主控芯片,其內(nèi)部已經(jīng)集成了CAN控制器,因此無需使用CAN控制器SJA1000,只需選用TJA1050作為CAN高速收發(fā)器,大大簡化了電路。其系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖
本系統(tǒng)采用3片AT90CAN128單片機作為核心控制芯片,其中MCUA和MCUB構(gòu)成雙機熱備系統(tǒng),MCUC用于監(jiān)測和狀態(tài)顯示。單片機MCUA和MCUB互為主備關(guān)系,需要接收并處理上位機發(fā)送進來的CAN通信信息,對信息進行比較同步處理,進而通過驅(qū)動電路驅(qū)動某安全型繼電器。驅(qū)動電路可包含多組,每一組控制一個繼電器,電路由主MCU控制。MCUA和MCUB把相關(guān)監(jiān)測信息通過串口通信傳送給MCUC,MCUC監(jiān)測A和B是否工作正常,并將其工作狀態(tài)通過LED顯示燈進行狀態(tài)顯示。3個CPU相互之間由串口進行通信,并通過CAN總線與上位主機進行通信。這樣,整個系統(tǒng)就形成兩套MCU控制回路構(gòu)成主備關(guān)系,一套控制回路進行監(jiān)測的系統(tǒng)架構(gòu)。
程序采用C語言模塊化設(shè)計,C語言作為一種結(jié)構(gòu)式的高級語言,具有表達方式靈活、可移植性強、代碼質(zhì)量高等優(yōu)點,模塊化的設(shè)計也增強了程序的可讀性。其主程序流程圖如圖3所示。
趙婧:現(xiàn)在越來越多的年輕人欣賞真實,喜歡真實記錄的東西,不喜歡演的東西。他們覺得好的內(nèi)容、真實的東西可以引發(fā)自己對生活的細思細想。好的文化綜藝作品,要讓年輕人在探索世界、汲取知識的同時“遇見”自己,要讓他們看了之后更熱愛生活,這應(yīng)該是今后文化綜藝進一步探索時瞄準的方向。
為了滿足高可靠性、安全性的要求,程序中對MCU加入了CPU自檢模塊,因而3個CPU共同具有的模塊包括設(shè)備初始化模塊、通信處理模塊和CPU自檢模塊,并通過自定義采集量完成延時去抖等。通過在主程序中設(shè)置Flag標志位來對各個模塊進行調(diào)用。對于MCUA和MCUB,由于二者互為冗余,它們的軟件設(shè)計結(jié)構(gòu)基本一致,另外包含同步信息處理模塊和驅(qū)動模塊。負責監(jiān)測的MCUC則包含信息存儲模塊、LED顯示模塊。
(1)設(shè)備初始化模塊
該模塊主要完成系統(tǒng)的準備工作、系統(tǒng)的上電自檢和自檢后的處理3步。其中,準備工作主要有上電延時(約0.5 s)、MCU引腳方向寄存器的設(shè)置、數(shù)據(jù)區(qū)初始化、A/D轉(zhuǎn)換器參數(shù)設(shè)置、定時器參數(shù)設(shè)置、地址碼讀取。系統(tǒng)上電自檢包括MCU自檢、開中斷、同步電路自檢、地址碼自檢。自檢結(jié)束后處理初始化與MCUC通信的參數(shù)設(shè)置、自檢故障處理或初始化CAN總線。
圖3 主程序流程圖
(2)自檢和故障處理模塊
該模塊主要用于對整個系統(tǒng)的內(nèi)部自檢及故障后的處理,包括MCUA和MCUB之間的CAN總線通信自檢、地址校核和各個CPU的自檢,CPU的自檢又包括CPU自身運算符的自檢和數(shù)據(jù)區(qū)的自檢,自檢結(jié)果若出現(xiàn)錯誤,則置位相應(yīng)錯誤標識。
(3)通信處理模塊
該模塊用于處理上位機通過CAN總線下發(fā)的通信命令,包括命令的解析、命令幀命令的合法性檢查、轉(zhuǎn)換成有效的驅(qū)動命令3部分。定義通信協(xié)議每一幀包括10個字節(jié),第1個字節(jié)為板地址號,第2個字節(jié)為功能碼,第3個字節(jié)為通信序號,第4~8個字節(jié)為本幀要發(fā)送的主要數(shù)據(jù)信息,幀尾(最后兩個字節(jié))為CRC校驗位。其中發(fā)送的主要數(shù)據(jù)信息包括繼電器的動作信息、狀態(tài)信息和MCU的狀態(tài)信息等。
(4)同步處理模塊
該模塊主要用于主機和備機間發(fā)送和接收同步命令幀以及向MCUC發(fā)送監(jiān)測信息幀,發(fā)送方對需發(fā)送的數(shù)據(jù)打包發(fā)送,接收方對同步數(shù)據(jù)的接收解包,每30 s同步一次,通過MCU之間的串口通信進行,每一幀都要進行CRC校驗。
(5)驅(qū)動模塊
安全型繼電器是一種新型直流24 V繼電器系列,因此驅(qū)動電路選用直流24 V電源。它是一種我國自行設(shè)計和制造的信號繼電器,具有結(jié)構(gòu)新穎、重量輕、體積小等特點。圖4所示為繼電器驅(qū)動模塊結(jié)構(gòu)示意圖。對于本多組驅(qū)動熱備系統(tǒng),只需將多組此結(jié)構(gòu)的電路分別連接至 MCUA和MCUB即可,MCUA和MCUB的硬件結(jié)構(gòu)完全相同。
本驅(qū)動電路由CPU控制,通過JF和JZ連接某安全型繼電器。電路中由兩個光電隔離器件K1和K2串聯(lián),分別通過QD1和QD2兩引腳接入MCU,由單片機軟件控制光電隔離的導(dǎo)通,并由光電隔離的導(dǎo)通順序決定電容C1和C2的先后充電放電,繼而導(dǎo)通由JF和JZ連接的繼電器。QD1和QD2的高低電平先后導(dǎo)通時序如圖5所示。
繼電器正常運作過程中,驅(qū)動模塊需按圖5所示的導(dǎo)通時序多個周期反復(fù)運行。驅(qū)動時主機和備機每5個周期同步一次,根據(jù)圖3(a)的主程序流程圖,驅(qū)動模塊在主標志位置為QD_CHECK時開始動作。根據(jù)驅(qū)動電路導(dǎo)通時序分別將MCU上對應(yīng)的驅(qū)動引腳置為高電平或低電平。據(jù)此編寫程序,驅(qū)動模塊單周期軟件流程圖如圖6所示。由于需要在測試時多次試驗找出繼電器動作時最恰當?shù)恼伎毡?,在此沒有采用定時器,而是用計數(shù)的方式進行延時。其中,根據(jù)圖5所示的導(dǎo)通時序,QD2的MAX值須為QD1的兩倍。
圖4 繼電器驅(qū)動模塊示意圖
圖5 驅(qū)動電路導(dǎo)通時序
(6)LED顯示模塊
該模塊用于對各種狀態(tài)信息的顯示,包括電源指示燈、故障指示燈、繼電器吸起/落下指示燈。硬件電路采用共陽極LED顯示電路,軟件通過MCU將相應(yīng)二極管陰極置為低電平實現(xiàn)對該LED的導(dǎo)通。受單片機引腳所限,MCUA和MCUB只有各自的電源和故障燈,其他功能指示燈連接至MCUC。
(7)MCUC的存儲模塊
該模塊用于MCUC對接收到MCUA和MCUB的監(jiān)測信息幀的處理,包括接收信息、處理信息。處理信息時,如果出現(xiàn)異常則會在系統(tǒng)自檢時報錯。
本設(shè)計采用Atmel公司的AVR單片機AT90CAN128作為核心控制器,經(jīng)過分析運算,選取了可靠性較高的雙機熱備結(jié)構(gòu)主備機模式作為系統(tǒng)工作模式,建立了一個第三方監(jiān)測下的雙機熱備結(jié)構(gòu)安全型繼電器驅(qū)動系統(tǒng)。經(jīng)測試證明,本系統(tǒng)具有較好的工作性能,可以滿足可靠性要求。
[1]胡耀華.信號繼電器及檢修[M].北京:中國鐵道出版社,1999.
[2]劉芳,王海峰.二乘二取二與雙機熱備計算機聯(lián)鎖系統(tǒng)性能比較[J].鐵道通信信號,2008,44(2):26-29.
[3]姜堅華.雙機熱備系統(tǒng)的技術(shù)研究和具體實現(xiàn)[J].微型電腦應(yīng)用,2004,20(3):7-9.
[4]李翔.二乘二取二冗余機制研究[D].成都:西南交通大學(xué),2009.
[5]覃慶努,魏學(xué)業(yè),于蓉蓉,等.基于雙機聯(lián)合故障檢測的雙機熱備系統(tǒng)可靠性和安全性研究[J].系統(tǒng)工程與電子技術(shù),2011,33(12):2776-2781.
[6]高繼祥,鄭俊杰.雙機熱備計算機聯(lián)鎖系統(tǒng)可靠性與安全性指標分析[J].北方交通大學(xué)學(xué)報,1998,22(5):73-77.
[7]孫蕾,徐洪澤.雙機熱備計算機聯(lián)鎖控制系統(tǒng)的安全性和可用性分析[J].中國安全科學(xué)學(xué)報,2004,14(7):30-33.
[8]張佳楠,王海峰,蔣大明.計算機聯(lián)鎖系統(tǒng)二乘二取二容錯結(jié)構(gòu)分析[J].鐵路計算機應(yīng)用,2006,15(11).
[9]陳光武,范多旺,魏宗壽.基于二乘二取二的全電子計算機聯(lián)鎖系統(tǒng)[J].中國鐵道科學(xué),2010,31(4):138-143.
[10]李明建,刁勇.基于雙機熱備的瓦斯災(zāi)害預(yù)警系統(tǒng)設(shè)計[J].工礦自動化,2013,39(5):19-23.
[11]張興彤.雙機熱備技術(shù)在鋁廠生產(chǎn)中的應(yīng)用[J].自動化儀表,2011,32(11):66-68.
[12]董錫明.軌道列車可靠性、可用性、維修性和安全性(RAMS)[M].北京:中國鐵道出版社,2009.
[13]郭波,武小悅.系統(tǒng)可靠性分析[M].長沙:國防科技大學(xué)出版社,2002.
[14]范紅剛.AVR單片機自學(xué)筆記[M].北京:北京航空航天大學(xué)出版社,2012.