AT90CAN128的雙機(jī)熱備結(jié)構(gòu)繼電器驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
近年來(lái),微小型化的單片機(jī)技術(shù)發(fā)展日新月異,廣泛應(yīng)用于很多領(lǐng)域。在鐵路行業(yè),結(jié)合單片機(jī)技術(shù)的高可靠性系統(tǒng)得到了越來(lái)越多的應(yīng)用和重視。安全型繼電器是鐵路信號(hào)設(shè)備中的重要器件之一,其可靠性和安全性是鐵路運(yùn)輸自動(dòng)控制、遠(yuǎn)程控制信號(hào)設(shè)備正常使用的必要條件。因此,對(duì)于在鐵路等重要場(chǎng)合使用的安全型繼電器,需要采用高可靠性的驅(qū)動(dòng)電路系統(tǒng)。本文利用AVR單片機(jī)設(shè)計(jì)出一種具有高可靠性的繼電器驅(qū)動(dòng)系統(tǒng),具有實(shí)時(shí)性強(qiáng)、結(jié)構(gòu)簡(jiǎn)潔、成本低等特點(diǎn)。
1 冗余結(jié)構(gòu)
1.1 結(jié)構(gòu)介紹
本系統(tǒng)需要采用一定的冗余技術(shù)來(lái)保證系統(tǒng)的高可靠性和高安全性。目前發(fā)展較為成熟的冗余技術(shù)主要有雙機(jī)熱備結(jié)構(gòu)和二乘二取二冗余結(jié)構(gòu)。這兩種結(jié)構(gòu)在可靠性、可用性、安全性等方面相比單機(jī)系統(tǒng)有著各自的特點(diǎn)和優(yōu)越性,在鐵路、工業(yè)等領(lǐng)域有著廣泛的應(yīng)用。
雙機(jī)熱備系統(tǒng)一般由兩個(gè)具有相同功能的子系統(tǒng)構(gòu)成,接有可選的比較器和主備切換器,并能進(jìn)行故障檢測(cè)。二乘二取二冗余結(jié)構(gòu)由4個(gè)子系統(tǒng)組成,同樣有比較器和主備切換器,兩兩比較輸出后再次比較輸出,其可靠性更高;但是對(duì)于小型系統(tǒng),與雙機(jī)熱備系統(tǒng)相比要耗費(fèi)更多的資源,成本加倍。因此,本系統(tǒng)采用雙機(jī)熱備系統(tǒng)。
雙機(jī)熱備系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。它的工作方式一般有3種:主備機(jī)模式、互備模式和雙機(jī)雙工模式(即雙機(jī)冗余模式)。3種模式下的兩個(gè)子系統(tǒng)均加電工作,每個(gè)子系統(tǒng)都具有故障檢測(cè)和診斷功能,而且3種結(jié)構(gòu)均具有主備切換功能。但主備機(jī)模式下只有一個(gè)子系統(tǒng)能夠控制被控對(duì)象,另一個(gè)子系統(tǒng)處于待命狀態(tài);互備模式為兩子系統(tǒng)之間互相備份數(shù)據(jù),但執(zhí)行的是不同的任務(wù),在一臺(tái)故障時(shí),另一臺(tái)接收故障機(jī)的任務(wù)并繼續(xù)執(zhí)行;雙機(jī)雙工模式的兩個(gè)子系統(tǒng)均處于活動(dòng)狀態(tài),均能控制被控對(duì)象,同時(shí)進(jìn)行工作并完
成同樣的功能,在輸出前進(jìn)行比較,結(jié)果一致則輸出,不一致則報(bào)錯(cuò),而主備機(jī)模式和互備模式時(shí),系統(tǒng)在運(yùn)行過(guò)程中兩個(gè)單元的運(yùn)行結(jié)果不進(jìn)行比較。
1.2 結(jié)構(gòu)選擇
本系統(tǒng)的主要功能為利用單片機(jī)系統(tǒng)驅(qū)動(dòng)某型號(hào)安全型繼電器,可以考慮的熱備工作模式為主備機(jī)模式或雙機(jī)雙工模式,因而需比較兩種模式的可靠性。
系統(tǒng)的可靠性R(t)為時(shí)間和失效率的函數(shù),指產(chǎn)品在規(guī)定時(shí)間內(nèi)和規(guī)定條件下,完成規(guī)定功能的概率。失效率指的是在規(guī)定時(shí)間內(nèi)和規(guī)定條件下的產(chǎn)品失效的概率,一般用λ表示。系統(tǒng)的可靠性常隨時(shí)間的增加而減少,一般用平均無(wú)故障工作時(shí)間(MTBF)來(lái)衡量。MTBF指系統(tǒng)相鄰兩次故障間的平均工作時(shí)間,它的值為系統(tǒng)的可靠性R(t)的期望。
在此,假設(shè)單機(jī)系統(tǒng)壽命服從指數(shù)分布,則第i個(gè)子系統(tǒng)的壽命即可靠度函數(shù)為Ri(t)=e-λt,則可知單機(jī)的平均無(wú)故障時(shí)間為
。
主備機(jī)模式下,一個(gè)子系統(tǒng)工作,另一個(gè)不工作,它的系統(tǒng)可靠度和平均無(wú)故障工作時(shí)間分別為:
雙機(jī)雙工模式可看作兩個(gè)子系統(tǒng)的并聯(lián),則此模式下系統(tǒng)的可靠性取決于兩個(gè)子系統(tǒng)中壽命較長(zhǎng)者,其可靠度函數(shù)和平均無(wú)故障工作時(shí)間分別為:
可以看出,相比單機(jī)系統(tǒng),兩種模式下的雙機(jī)熱備系統(tǒng)的可靠性均有顯著提高,其中主備機(jī)模式下提高了3倍,雙機(jī)雙工模式下提高了1.5倍。因此,從保證系統(tǒng)更高可靠性的角度來(lái)看,主備機(jī)模式具有一定優(yōu)勢(shì),故本系統(tǒng)采用主備機(jī)模式。
2 系統(tǒng)概述
2.1 硬件結(jié)構(gòu)
本系統(tǒng)選用Atmel公司的AT90CAN128單片機(jī)作為主控芯片,其內(nèi)部已經(jīng)集成了CAN控制器,因此無(wú)需使用CAN控制器SJA1000,只需選用TJA1050作為CAN高速收發(fā)器,大大簡(jiǎn)化了電路。其系統(tǒng)結(jié)構(gòu)如圖2所示。
本系統(tǒng)采用3片AT90CAN128單片機(jī)作為核心控制芯片,其中MCUA和MCUB構(gòu)成雙機(jī)熱備系統(tǒng),MCUC用于監(jiān)測(cè)和狀態(tài)顯示。單片機(jī)MCUA和MCUB互為主備關(guān)系,需要接收并處理上位機(jī)發(fā)送進(jìn)來(lái)的CAN通信信息,對(duì)信息進(jìn)行比較同步處理,進(jìn)而通過(guò)驅(qū)動(dòng)電路驅(qū)動(dòng)某安全型繼電器。驅(qū)動(dòng)電路可包含多組,每一組控制一個(gè)繼電器,電路由主MCU控制。MCUA和MCUB把相關(guān)監(jiān)測(cè)信息通過(guò)串口通信傳送給MCUC,MCUC監(jiān)測(cè)A和B是否工作正常,并將其工作狀態(tài)通過(guò)LED顯示燈進(jìn)行狀態(tài)顯示。3個(gè)CPU相互之間由串口進(jìn)行通信,并通過(guò)CAN總線與上位主機(jī)進(jìn)行通信。這樣,整個(gè)系統(tǒng)就形成兩套MCU控制回路構(gòu)成主備關(guān)系,一套控制回路進(jìn)行監(jiān)測(cè)的系統(tǒng)架構(gòu)。
2.2 軟件結(jié)構(gòu)
程序采用C語(yǔ)言模塊化設(shè)計(jì),C語(yǔ)言作為一種結(jié)構(gòu)式的高級(jí)語(yǔ)言,具有表達(dá)方式靈活、可移植性強(qiáng)、代碼質(zhì)量高等優(yōu)點(diǎn),模塊化的設(shè)計(jì)也增強(qiáng)了程序的可讀性。其主程序流程圖如圖3所示。
為了滿足高可靠性、安全性的要求,程序中對(duì)MCU加入了CPU自檢模塊,因而3個(gè)CPU共同具有的模塊包括設(shè)備初始化模塊、通信處理模塊和CPU自檢模塊,并通過(guò)自定義采集量完成延時(shí)去抖等。通過(guò)在主程序中設(shè)置Flag標(biāo)志位來(lái)對(duì)各個(gè)模塊進(jìn)行調(diào)用。對(duì)于MCUA和MCUB,由于二者互為冗余,它們的軟件設(shè)計(jì)結(jié)構(gòu)基本一致,另外包含同步信息處理模塊和驅(qū)動(dòng)模塊。負(fù)責(zé)監(jiān)測(cè)的MCUC則包含信息存儲(chǔ)模塊、LED顯示模塊。
3 模塊設(shè)計(jì)
(1)設(shè)備初始化模塊
該模塊主要完成系統(tǒng)的準(zhǔn)備工作、系統(tǒng)的上電自檢和自檢后的處理3步。其中,準(zhǔn)備工作主要有上電延時(shí)(約0.5 s)、MCU引腳方向寄存器的設(shè)置、數(shù)據(jù)區(qū)初始化、A/D轉(zhuǎn)換器參數(shù)設(shè)置、定時(shí)器參數(shù)設(shè)置、地址碼讀取。系統(tǒng)上電自檢包括MCU自檢、開(kāi)中斷、同步電路自檢、地址碼自檢。自檢結(jié)束后處理初始化與MCUC通信的參數(shù)設(shè)置、自檢故障處理或初始化CAN總線。
(2)自檢和故障處理模塊
該模塊主要用于對(duì)整個(gè)系統(tǒng)的內(nèi)部自檢及故障后的處理,包括MCUA和MCUB之間的CAN總線通信自檢、地址校核和各個(gè)CPU的自檢,CPU的自檢又包括CPU自身運(yùn)算符的自檢和數(shù)據(jù)區(qū)的自檢,自檢結(jié)果若出現(xiàn)錯(cuò)誤,則置位相應(yīng)錯(cuò)誤標(biāo)識(shí)。
(3)通信處理模塊
該模塊用于處理上位機(jī)通過(guò)CAN總線下發(fā)的通信命令,包括命令的解析、命令幀命令的合法性檢查、轉(zhuǎn)換成有效的驅(qū)動(dòng)命令3部分。定義通信協(xié)議每一幀包括10個(gè)字節(jié),第1個(gè)字節(jié)為板地址號(hào),第2個(gè)字節(jié)為功能碼,第3個(gè)字節(jié)為通信序號(hào),第4~8個(gè)字節(jié)為本幀要發(fā)送的主要數(shù)據(jù)信息,幀尾(最后兩個(gè)字節(jié))為CRC校驗(yàn)位。其中發(fā)送的主要數(shù)據(jù)信息包括繼電器的動(dòng)作信息、狀態(tài)信息和MCU的狀態(tài)信息等。
(4)同步處理模塊
該模塊主要用于主機(jī)和備機(jī)間發(fā)送和接收同步命令幀以及向MCUC發(fā)送監(jiān)測(cè)信息幀,發(fā)送方對(duì)需發(fā)送的數(shù)據(jù)打包發(fā)送,接收方對(duì)同步數(shù)據(jù)的接收解包,每30 s同步一次,通過(guò)MCU之間的串口通信進(jìn)行,每一幀都要進(jìn)行CRC校驗(yàn)。
(5)驅(qū)動(dòng)模塊
安全型繼電器是一種新型直流24 V繼電器系列,因此驅(qū)動(dòng)電路選用直流24 V電源。它是一種我國(guó)自行設(shè)計(jì)和制造的信號(hào)繼電器,具有結(jié)構(gòu)新穎、重量輕、體積小等特點(diǎn)。圖4所示為繼電器驅(qū)動(dòng)模塊結(jié)構(gòu)示意圖。對(duì)于本多組驅(qū)動(dòng)熱備系統(tǒng),只需將多組此結(jié)構(gòu)的電路分別連接至MCUA和MCUB即可,MCUA和MCUB的硬件結(jié)構(gòu)完全相同。
本驅(qū)動(dòng)電路由CPU控制,通過(guò)JF和JZ連接某安全型繼電器。電路中由兩個(gè)光電隔離器件K1和K2串聯(lián),分別通過(guò)QD1和QD2兩引腳接入MCU,由單片機(jī)軟件控制光電隔離的導(dǎo)通,并由光電隔離的導(dǎo)通順序決定電容C1和C2的先后充電放電,繼而導(dǎo)通由JF和JZ連接的繼電器。QD1和QD2的高低電平先后導(dǎo)通時(shí)序如圖5所示。
繼電器正常運(yùn)作過(guò)程中,驅(qū)動(dòng)模塊需按圖5所示的導(dǎo)通時(shí)序多個(gè)周期反復(fù)運(yùn)行。驅(qū)動(dòng)時(shí)主機(jī)和備機(jī)每5個(gè)周期同步一次,根據(jù)圖3(a)的主程序流程圖,驅(qū)動(dòng)模塊在主標(biāo)志位置為QD CHECK時(shí)開(kāi)始動(dòng)作。根據(jù)驅(qū)動(dòng)電路導(dǎo)通時(shí)序分別將MCU上對(duì)應(yīng)的驅(qū)動(dòng)引腳置為高電平或低電平。據(jù)此編寫程序,驅(qū)動(dòng)模塊單周期軟件流程圖如圖6所示。由于需要在測(cè)試時(shí)多次試驗(yàn)找出繼電器動(dòng)作時(shí)最恰當(dāng)?shù)恼伎毡?,在此沒(méi)有采用定時(shí)器,而是用計(jì)數(shù)的方式進(jìn)行延時(shí)。其中,根據(jù)圖5所示的導(dǎo)通時(shí)序,QD2的MAX值須為QD1的兩倍。
(6)LED顯示模塊
該模塊用于對(duì)各種狀態(tài)信息的顯示,包括電源指示燈、故障指示燈、繼電器吸起/落下指示燈。硬件電路采用共陽(yáng)極LED顯示電路,軟件通過(guò)MCU將相應(yīng)二極管陰極置為低電平實(shí)現(xiàn)對(duì)該LED的導(dǎo)通。受單片機(jī)引腳所限,MCUA和MCUB只有各自的電源和故障燈,其他功能指示燈連接至MCUC。
(7)MCUC的存儲(chǔ)模塊
該模塊用于MCUC對(duì)接收到MCUA和MCUB的監(jiān)測(cè)信息幀的處理,包括接收信息、處理信息。處理信息時(shí),如果出現(xiàn)異常則會(huì)在系統(tǒng)自檢時(shí)報(bào)錯(cuò)。
結(jié)語(yǔ)
本設(shè)計(jì)采用Atmel公司的AVR單片機(jī)AT90CAN128作為核心控制器,經(jīng)過(guò)分析運(yùn)算,選取了可靠性較高的雙機(jī)熱備結(jié)構(gòu)主備機(jī)模式作為系統(tǒng)工作模式,建立了一個(gè)第三方監(jiān)測(cè)下的雙機(jī)熱備結(jié)構(gòu)安全型繼電器驅(qū)動(dòng)系統(tǒng)。經(jīng)測(cè)試證明,本系統(tǒng)具有較好的工作性能,可以滿足可靠性要求。