AT90CAN128的雙機熱備結構繼電器驅動(dòng)系統設計
引言
本文引用地址:http://dyxdggzs.com/article/201610/307414.htm近年來(lái),微小型化的單片機技術(shù)發(fā)展日新月異,廣泛應用于很多領(lǐng)域。在鐵路行業(yè),結合單片機技術(shù)的高可靠性系統得到了越來(lái)越多的應用和重視。安全型繼電器是鐵路信號設備中的重要器件之一,其可靠性和安全性是鐵路運輸自動(dòng)控制、遠程控制信號設備正常使用的必要條件。因此,對于在鐵路等重要場(chǎng)合使用的安全型繼電器,需要采用高可靠性的驅動(dòng)電路系統。本文利用AVR單片機設計出一種具有高可靠性的繼電器驅動(dòng)系統,具有實(shí)時(shí)性強、結構簡(jiǎn)潔、成本低等特點(diǎn)。
1 冗余結構
1.1 結構介紹
本系統需要采用一定的冗余技術(shù)來(lái)保證系統的高可靠性和高安全性。目前發(fā)展較為成熟的冗余技術(shù)主要有雙機熱備結構和二乘二取二冗余結構。這兩種結構在可靠性、可用性、安全性等方面相比單機系統有著(zhù)各自的特點(diǎn)和優(yōu)越性,在鐵路、工業(yè)等領(lǐng)域有著(zhù)廣泛的應用。
雙機熱備系統一般由兩個(gè)具有相同功能的子系統構成,接有可選的比較器和主備切換器,并能進(jìn)行故障檢測。二乘二取二冗余結構由4個(gè)子系統組成,同樣有比較器和主備切換器,兩兩比較輸出后再次比較輸出,其可靠性更高;但是對于小型系統,與雙機熱備系統相比要耗費更多的資源,成本加倍。因此,本系統采用雙機熱備系統。
雙機熱備系統結構示意圖如圖1所示。它的工作方式一般有3種:主備機模式、互備模式和雙機雙工模式(即雙機冗余模式)。3種模式下的兩個(gè)子系統均加電工作,每個(gè)子系統都具有故障檢測和診斷功能,而且3種結構均具有主備切換功能。但主備機模式下只有一個(gè)子系統能夠控制被控對象,另一個(gè)子系統處于待命狀態(tài);互備模式為兩子系統之間互相備份數據,但執行的是不同的任務(wù),在一臺故障時(shí),另一臺接收故障機的任務(wù)并繼續執行;雙機雙工模式的兩個(gè)子系統均處于活動(dòng)狀態(tài),均能控制被控對象,同時(shí)進(jìn)行工作并完
成同樣的功能,在輸出前進(jìn)行比較,結果一致則輸出,不一致則報錯,而主備機模式和互備模式時(shí),系統在運行過(guò)程中兩個(gè)單元的運行結果不進(jìn)行比較。

1.2 結構選擇
本系統的主要功能為利用單片機系統驅動(dòng)某型號安全型繼電器,可以考慮的熱備工作模式為主備機模式或雙機雙工模式,因而需比較兩種模式的可靠性。
系統的可靠性R(t)為時(shí)間和失效率的函數,指產(chǎn)品在規定時(shí)間內和規定條件下,完成規定功能的概率。失效率指的是在規定時(shí)間內和規定條件下的產(chǎn)品失效的概率,一般用λ表示。系統的可靠性常隨時(shí)間的增加而減少,一般用平均無(wú)故障工作時(shí)間(MTBF)來(lái)衡量。MTBF指系統相鄰兩次故障間的平均工作時(shí)間,它的值為系統的可靠性R(t)的期望。
在此,假設單機系統壽命服從指數分布,則第i個(gè)子系統的壽命即可靠度函數為Ri(t)=e-λt,則可知單機的平均無(wú)故障時(shí)間為

。
主備機模式下,一個(gè)子系統工作,另一個(gè)不工作,它的系統可靠度和平均無(wú)故障工作時(shí)間分別為:

雙機雙工模式可看作兩個(gè)子系統的并聯(lián),則此模式下系統的可靠性取決于兩個(gè)子系統中壽命較長(cháng)者,其可靠度函數和平均無(wú)故障工作時(shí)間分別為:

可以看出,相比單機系統,兩種模式下的雙機熱備系統的可靠性均有顯著(zhù)提高,其中主備機模式下提高了3倍,雙機雙工模式下提高了1.5倍。因此,從保證系統更高可靠性的角度來(lái)看,主備機模式具有一定優(yōu)勢,故本系統采用主備機模式。
2 系統概述
2.1 硬件結構
本系統選用Atmel公司的AT90CAN128單片機作為主控芯片,其內部已經(jīng)集成了CAN控制器,因此無(wú)需使用CAN控制器SJA1000,只需選用TJA1050作為CAN高速收發(fā)器,大大簡(jiǎn)化了電路。其系統結構如圖2所示。

本系統采用3片AT90CAN128單片機作為核心控制芯片,其中MCUA和MCUB構成雙機熱備系統,MCUC用于監測和狀態(tài)顯示。單片機MCUA和MCUB互為主備關(guān)系,需要接收并處理上位機發(fā)送進(jìn)來(lái)的CAN通信信息,對信息進(jìn)行比較同步處理,進(jìn)而通過(guò)驅動(dòng)電路驅動(dòng)某安全型繼電器。驅動(dòng)電路可包含多組,每一組控制一個(gè)繼電器,電路由主MCU控制。MCUA和MCUB把相關(guān)監測信息通過(guò)串口通信傳送給MCUC,MCUC監測A和B是否工作正常,并將其工作狀態(tài)通過(guò)LED顯示燈進(jìn)行狀態(tài)顯示。3個(gè)CPU相互之間由串口進(jìn)行通信,并通過(guò)CAN總線(xiàn)與上位主機進(jìn)行通信。這樣,整個(gè)系統就形成兩套MCU控制回路構成主備關(guān)系,一套控制回路進(jìn)行監測的系統架構。
2.2 軟件結構
程序采用C語(yǔ)言模塊化設計,C語(yǔ)言作為一種結構式的高級語(yǔ)言,具有表達方式靈活、可移植性強、代碼質(zhì)量高等優(yōu)點(diǎn),模塊化的設計也增強了程序的可讀性。其主程序流程圖如圖3所示。

為了滿(mǎn)足高可靠性、安全性的要求,程序中對MCU加入了CPU自檢模塊,因而3個(gè)CPU共同具有的模塊包括設備初始化模塊、通信處理模塊和CPU自檢模塊,并通過(guò)自定義采集量完成延時(shí)去抖等。通過(guò)在主程序中設置Flag標志位來(lái)對各個(gè)模塊進(jìn)行調用。對于MCUA和MCUB,由于二者互為冗余,它們的軟件設計結構基本一致,另外包含同步信息處理模塊和驅動(dòng)模塊。負責監測的MCUC則包含信息存儲模塊、LED顯示模塊。
3 模塊設計
(1)設備初始化模塊
該模塊主要完成系統的準備工作、系統的上電自檢和自檢后的處理3步。其中,準備工作主要有上電延時(shí)(約0.5 s)、MCU引腳方向寄存器的設置、數據區初始化、A/D轉換器參數設置、定時(shí)器參數設置、地址碼讀取。系統上電自檢包括MCU自檢、開(kāi)中斷、同步電路自檢、地址碼自檢。自檢結束后處理初始化與MCUC通信的參數設置、自檢故障處理或初始化CAN總線(xiàn)。
(2)自檢和故障處理模塊
該模塊主要用于對整個(gè)系統的內部自檢及故障后的處理,包括MCUA和MCUB之間的CAN總線(xiàn)通信自檢、地址校核和各個(gè)CPU的自檢,CPU的自檢又包括CPU自身運算符的自檢和數據區的自檢,自檢結果若出現錯誤,則置位相應錯誤標識。
(3)通信處理模塊
該模塊用于處理上位機通過(guò)CAN總線(xiàn)下發(fā)的通信命令,包括命令的解析、命令幀命令的合法性檢查、轉換成有效的驅動(dòng)命令3部分。定義通信協(xié)議每一幀包括10個(gè)字節,第1個(gè)字節為板地址號,第2個(gè)字節為功能碼,第3個(gè)字節為通信序號,第4~8個(gè)字節為本幀要發(fā)送的主要數據信息,幀尾(最后兩個(gè)字節)為CRC校驗位。其中發(fā)送的主要數據信息包括繼電器的動(dòng)作信息、狀態(tài)信息和MCU的狀態(tài)信息等。
(4)同步處理模塊
該模塊主要用于主機和備機間發(fā)送和接收同步命令幀以及向MCUC發(fā)送監測信息幀,發(fā)送方對需發(fā)送的數據打包發(fā)送,接收方對同步數據的接收解包,每30 s同步一次,通過(guò)MCU之間的串口通信進(jìn)行,每一幀都要進(jìn)行CRC校驗。
(5)驅動(dòng)模塊
安全型繼電器是一種新型直流24 V繼電器系列,因此驅動(dòng)電路選用直流24 V電源。它是一種我國自行設計和制造的信號繼電器,具有結構新穎、重量輕、體積小等特點(diǎn)。圖4所示為繼電器驅動(dòng)模塊結構示意圖。對于本多組驅動(dòng)熱備系統,只需將多組此結構的電路分別連接至MCUA和MCUB即可,MCUA和MCUB的硬件結構完全相同。

本驅動(dòng)電路由CPU控制,通過(guò)JF和JZ連接某安全型繼電器。電路中由兩個(gè)光電隔離器件K1和K2串聯(lián),分別通過(guò)QD1和QD2兩引腳接入MCU,由單片機軟件控制光電隔離的導通,并由光電隔離的導通順序決定電容C1和C2的先后充電放電,繼而導通由JF和JZ連接的繼電器。QD1和QD2的高低電平先后導通時(shí)序如圖5所示。

繼電器正常運作過(guò)程中,驅動(dòng)模塊需按圖5所示的導通時(shí)序多個(gè)周期反復運行。驅動(dòng)時(shí)主機和備機每5個(gè)周期同步一次,根據圖3(a)的主程序流程圖,驅動(dòng)模塊在主標志位置為QD CHECK時(shí)開(kāi)始動(dòng)作。根據驅動(dòng)電路導通時(shí)序分別將MCU上對應的驅動(dòng)引腳置為高電平或低電平。據此編寫(xiě)程序,驅動(dòng)模塊單周期軟件流程圖如圖6所示。由于需要在測試時(shí)多次試驗找出繼電器動(dòng)作時(shí)最恰當的占空比,在此沒(méi)有采用定時(shí)器,而是用計數的方式進(jìn)行延時(shí)。其中,根據圖5所示的導通時(shí)序,QD2的MAX值須為QD1的兩倍。

(6)LED顯示模塊
該模塊用于對各種狀態(tài)信息的顯示,包括電源指示燈、故障指示燈、繼電器吸起/落下指示燈。硬件電路采用共陽(yáng)極LED顯示電路,軟件通過(guò)MCU將相應二極管陰極置為低電平實(shí)現對該LED的導通。受單片機引腳所限,MCUA和MCUB只有各自的電源和故障燈,其他功能指示燈連接至MCUC。
(7)MCUC的存儲模塊
該模塊用于MCUC對接收到MCUA和MCUB的監測信息幀的處理,包括接收信息、處理信息。處理信息時(shí),如果出現異常則會(huì )在系統自檢時(shí)報錯。
結語(yǔ)
本設計采用Atmel公司的AVR單片機AT90CAN128作為核心控制器,經(jīng)過(guò)分析運算,選取了可靠性較高的雙機熱備結構主備機模式作為系統工作模式,建立了一個(gè)第三方監測下的雙機熱備結構安全型繼電器驅動(dòng)系統。經(jīng)測試證明,本系統具有較好的工作性能,可以滿(mǎn)足可靠性要求。
評論