隨著危險事故的頻繁發(fā)生,人們開始重視工業(yè)生產(chǎn)過程中的安全問題。 如何才能減少危險的發(fā)生頻率,以及讓系統(tǒng)在危險發(fā)生之前及時做出反應,進入一種安全狀態(tài),這些因素已經(jīng)成為了衡量現(xiàn)代工業(yè)技術(shù)的一項重要指標。 安全相關(guān)系統(tǒng)監(jiān)視工業(yè)生產(chǎn)過程中的狀態(tài),在危險出現(xiàn)時及時采取措施,避免潛在危險造成的傷害或減輕其帶來的損失。功能安全型變送器作為安全相關(guān)系統(tǒng)中的一個重要組成部分,通過對其進行一系列的診斷,達到實時監(jiān)控系統(tǒng)的目的,提高診斷覆蓋率,從而達到目標安全完整性等級,保證了工業(yè)生產(chǎn)過程安全可靠的進行。磁致伸縮液位傳感器測量系統(tǒng)當前液位值,對傳感器測得信號進行處理,得到標準電流輸出,傳送給下一個模塊,在整個系統(tǒng)中是關(guān)鍵的一環(huán)。 因此,設(shè)計功能安全型液位變送器是工業(yè)領(lǐng)域迫切需要的。 文中在硬件方面,針對系統(tǒng)可能存在失效的部分增加診斷模塊,提高系統(tǒng)可被診斷的失效率,保證變送器在發(fā)生失效時,可以通過自診斷電路或程序發(fā)現(xiàn)問題,使變送器進入安全狀態(tài) ; 最后經(jīng)過一系列可靠性分析,驗證該設(shè)計滿足工業(yè)生產(chǎn)對安全方面的要求。
1 安全相關(guān)產(chǎn)品
隨著2006年GB/T 20 438電氣/電子/可編程電子安全相關(guān)系統(tǒng)的功能安全的頒布,功能安全的概念正式進入我國。目前,在石油、化工、冶金、核電等領(lǐng)域,安全相關(guān)產(chǎn)品的需求也越來越大。所謂的安全相關(guān)產(chǎn)品,是指可構(gòu)成安全相關(guān)系統(tǒng)的、滿足功能安全設(shè)計實現(xiàn)要求的、具有安全相關(guān)參數(shù)的產(chǎn)品[4]。通俗來講,要稱一個產(chǎn)品為安全相關(guān)產(chǎn)品,其必須具有一定的安全功能,保證系統(tǒng)在發(fā)生危險前進入安全狀態(tài)。一個安全相關(guān)產(chǎn)品必有其對應的安全完整性等級,為了達到目標安全完整性等級,硬件設(shè)計和軟件編程中都必須滿足標準中規(guī)定的要求。硬件上存在隨機硬件失效和系統(tǒng)失效這兩個因素影響安全完整性等級,而軟件上只存在系統(tǒng)失效。針對不同的失效,必須在設(shè)計開發(fā)過程中采取一定的措施和手段,實現(xiàn)其安全功能,從而降低失效發(fā)生的概率。
2 安全液位變送器的結(jié)構(gòu)和安全功能
安全功能的要求來源于對危險的分析,即必須做什么以避開危險事件;而安全完整性等級的要求來源于對風險的評估,即安全功能必須執(zhí)行到什么程度以使殘余風險能夠被接受[5] 。由安全相關(guān)產(chǎn)品的構(gòu)成可 以看出,需要在產(chǎn)品的硬件和軟件的設(shè)計上采取一系列措施,增加安全功能。硬件安全完整性等級受限于硬件故障裕度以及安全失效分數(shù)[6]。硬件故障裕度是指超過該參數(shù)的失效則會造成系統(tǒng)安全功能喪失,工業(yè)上往往根據(jù)設(shè)備的硬件需求已經(jīng)確定其硬件故障裕度;而安全失效分數(shù) SFF 如式(1)'其中LAs指安全失效總概率,工入D 指危險失效總概率,工入DD指診斷測試檢測到的危險失效概率[7] ' 可以看出安全失效分數(shù)與 可診斷的危險失效概率有關(guān),也就是說可以通過增加診斷回路來提高安全失效分數(shù)。
液位變送器的安全功能就是準確測量液位值,并將測得的數(shù)據(jù)傳輸給后續(xù)處理模塊。其基本功能模塊主要包括信號輸入、A/D轉(zhuǎn)換、微處理器數(shù)據(jù)處理、DIA轉(zhuǎn)換輸出、電源模塊以及時鐘模塊[8]。在時鐘系統(tǒng)的控制下,首先是傳感器測得的數(shù)據(jù)通過信號輸入模塊傳遞給 A/D轉(zhuǎn)換模塊,經(jīng)過A/D轉(zhuǎn)換后傳輸給單片機,單片機對數(shù)據(jù)進行濾波計算出當前傳感器測得的液位值以及 對應的碼值寫入DIA轉(zhuǎn)換模塊,最后DIA芯片根據(jù)得到的碼值輸出對應大小的標準電流信號,電源模塊在這個過程中對其他的模塊提供穩(wěn)定電壓。

3 安全液位變送器的設(shè)計
液位變送器在硬件上要達到目標安全完整性等 級,通常從兩方面著手:通過冗余結(jié)構(gòu)來提高硬件故障裕度,避免由于其中一條通道故障而導致系統(tǒng)進入危險狀態(tài);通過設(shè)計診斷電路增加安全失效分數(shù),在危險發(fā)生之前能及時發(fā)現(xiàn)并采取措施,把危險失效轉(zhuǎn)化為安全失效[9]。在硬件故障裕度為定值的情況下,通常針對每個功能模塊設(shè)計診斷結(jié)構(gòu)。
3.1 基本功能模塊設(shè)計
液位變送器的基本功能主要包括信號輸入,AID轉(zhuǎn)換,微處理器數(shù)據(jù)處理,DIA轉(zhuǎn)換輸出,以及電源模塊和系統(tǒng)時鐘模塊。本文以STM32F103xx增強型系列芯片作為主芯片為例,具體講述安全型液位變送器在硬件上的設(shè)計。系統(tǒng)上電后,時鐘模塊啟動,在系統(tǒng)時鐘提供的時鐘下,由傳感器測得的信號發(fā)送給單片機內(nèi)嵌模數(shù)轉(zhuǎn)換器,對輸入信號進行模數(shù)轉(zhuǎn)換,微處理器對轉(zhuǎn)換后的信號進行運算處理,把得到的碼值傳送到外部DIA模塊,最后得到標準電流信號輸出。
(1)電源模塊。二線制功能安全型變送器不僅要為微處理器、數(shù)模轉(zhuǎn)換器DIA,通信電路供電,同時出 于安全保護考慮,輸入輸出電路需要相互隔離,因此,僅使用單片機內(nèi)部電源遠達不到要求。本設(shè)計使用Linear公司生產(chǎn)的 LT1934 芯片,其輸入電壓范圍 可達34 V, 最小也可為3.2 V, 能對各種電源進行調(diào)節(jié)。在輸人24 V直流電時,與輸入隔離的一組輸出 5 V,4 mA電流,不隔離的一組輸出5 V,9 mA電流,滿足其他各模塊的供電需求;
(2)時鐘系統(tǒng)。微處理器的各個模塊都需要在時 鐘的驅(qū)動下工作。STM32存在五個時鐘源,通常選擇鎖相環(huán)倍頻輸出(PL L)、8 MHz的RC振蕩器(HSI)或高速外部時鐘(HSE)三者之一作為系統(tǒng)時鐘,再通過AHB分頻器分頻后提供給各個模塊使用。大部分提供給外設(shè)的時鐘輸出都是帶有使能控制的,使用模塊之前,必須發(fā)送信號開啟其對應的時鐘。這種設(shè)計的好處在于,當不使用某個外設(shè)時,關(guān)閉其對應的時鐘,降低了系統(tǒng)的功耗。值得注意的是,看門狗電路使用內(nèi)部低速時鐘(LSI)'但窗口看門狗使用系統(tǒng)時鐘是通過AHBl分頻得到。設(shè)置A/D模塊以及片外DIA模塊在相同頻率下工作;
(3)MCU數(shù)據(jù)處理模塊。STM32F103xx增強型系列芯片使用專門為要求高性能、低成本、低功耗的嵌入式應用而設(shè)計的高性能ARMCortex -M3的RISC內(nèi)核[10]。同時,芯片內(nèi)置高速存儲器,包括高達128kB 的閃存和20kB的SRAM[ll]'硬件上充分滿足液位變送器的設(shè)計需求。此外,它具有豐富的功能模塊,包括 2個12位ADC、電源電壓監(jiān)控、電壓調(diào)壓器、DMA控制器獨立的看門狗以及窗口看門狗、7個定時器、9個通信接口(l2C,USART, SPI, CAN, USB)等,優(yōu)勢不言而喻;
(4)A/D模塊。STM32F103增強型產(chǎn)品內(nèi)嵌兩個12位的ADC,每個ADC有多達16個外部通道,轉(zhuǎn)換電壓范圍在0-3. 6 V之間,從傳感器輸出的信號通常要經(jīng)過電平移動或者放大傳感器信號再送到ADC中。使用ADC模塊前,必須開啟PA口的時鐘,并把PAO設(shè)置成模擬輸入。兩個ADC使用同一個時鐘頻率,最后采樣轉(zhuǎn)換得到的數(shù)據(jù)存放在ADCl_DR寄存器中;(S)D/A模塊。由于STM32Fl03xx增強型系列芯片不含內(nèi)嵌DIA,因此必須選擇一款DIA芯片作為外設(shè)得到標準輸出。本文選用TI公司的DAC7750芯片。該系列芯片是12位的數(shù)模轉(zhuǎn)換器,與單片機可以通過SPI接口進行數(shù)據(jù)通信,輸出電流范圍有3組可供選擇,4-20 mA,O -20 mA,O -24 mA , 符合產(chǎn)品的需求。與此同時,DAC7750還具有部分自檢功能,包括循環(huán)冗余校驗,開路警報以及看門狗電路電流輸出。
3.2 診斷模塊設(shè)計
本文主要針對A/D,DIA模塊以及時鐘模塊進行硬件設(shè)計上的診斷。
(1)看門狗時鐘診斷??撮T狗實際上是一個定時器電路,輸入端與單片機上的1/0相連,由程序控制定時向這個引腳傳送高電平或低電平,就是俗稱的"喂狗”另一端連接單片機的復位引腳。旦系統(tǒng)由于干擾出現(xiàn)程序跑飛或進入死循環(huán),導致"喂狗”的動作沒有如期進行,看門狗便會通過連接的復位引腳向單片機發(fā)送一個復位電平,使得單片機復位。 STM32F103增強型系列的芯片帶有兩個看門狗定時器,一個是獨立看門狗,一個是窗口看門狗。由于要對晶振的偏移做出診斷,這里選擇窗口看門狗,過早或太晚喂狗”都會造成系統(tǒng)復位;
(2)A/D模塊診斷。由千STM32Fl03xx增強型產(chǎn)品內(nèi)嵌兩個12位的模數(shù)轉(zhuǎn)換器ADC,這里采用雙ADC模式,對輸入信號進行同步采樣,轉(zhuǎn)換后的數(shù)據(jù)ADCl轉(zhuǎn)換得來的數(shù)據(jù)存儲在寄存器的低16位,由ADC2得到數(shù)據(jù)存儲在高16位。ADC2得到的數(shù)據(jù)作為一個參考數(shù)據(jù),與ADCl得到的數(shù)據(jù)進行比較,若兩存儲在A/D接口的ADC_JDRl存儲器中,其中由ADCl轉(zhuǎn)換得來的數(shù)據(jù)存儲在寄存器的低16位,由ADC2得到數(shù)據(jù)存儲在高16位。ADC2得到的數(shù)據(jù)作為一個參考數(shù)據(jù),與ADCl得到的數(shù)據(jù)進行比較,若兩個數(shù)據(jù)之間的誤差在可接受范圍內(nèi),則認為系統(tǒng)安全,把寄存器的低16位數(shù)據(jù)傳送給MCU進行處理;否則的話,認為ADC出現(xiàn)故障有可能導致系統(tǒng)發(fā)生危險失效,此時軟件上必須保證系統(tǒng)進入一種安全狀態(tài);
(3)D/A模塊診斷。系統(tǒng)中增加一塊A/D芯片作為DIA模塊的診斷。給定一個設(shè)定值,經(jīng)過DIA轉(zhuǎn)換后,把轉(zhuǎn)換得到的數(shù)據(jù)作為A/D模塊的輸入,并對經(jīng)A/D轉(zhuǎn)換后的輸出信號進行回采。對比最后得到 的數(shù)據(jù)與設(shè)定值,若兩者相同,則認為DIA轉(zhuǎn)換通道沒問題;若不同,則判定會發(fā)生失效[12]。此外,在系統(tǒng)運行過程中,可通過訪問DAC7750內(nèi)部高精度電阻器來實時監(jiān)控電流輸出,一旦超出正常輸出范圍,系統(tǒng)發(fā)出警報。
4 硬件安全完整性等級分析
根據(jù)IEC61508的定義,液位變送器屬于B類安全相關(guān)子系統(tǒng),即失效模式不能被定義的子系統(tǒng),同時根據(jù)1001D的系統(tǒng)結(jié)構(gòu)得出其硬件故障裕度為0。由表l可知,系統(tǒng)要達到目標安全完整性等級 S112, 其安全失效分數(shù)必須達到90%以上。
文中采用的FMEDA分析法依據(jù)的標準主要由失效率預計、元器件失效模式及其百分比和元器件失效 模式排除依據(jù)3部分組成[13 l。對于復雜器件,不能對失效模式進行詳細分析時,通常將失效分為安全失效50%, 危險失效50%[14]。根據(jù)各模塊采取的診斷措施,可從IEC61508 -2中查出診斷方法及其對應的診斷覆蓋率[5,10]。本文參考國家標準GJB/Z299C-2006電子設(shè)備可靠性預計手冊,對每種元器件進行失效模式、失效概率以及失效影響分析,可以得到相對準確的失效模式以及診斷覆蓋的評估信息[15]'具體數(shù)據(jù)如表2中FMEDA的分析結(jié)果。
5 結(jié)束語
本文系統(tǒng)介紹了功能安全型液位變送器在硬件上 的設(shè)計,在硬件故障裕度為定值0的情況下,采取 loolD的系統(tǒng)硬件結(jié)構(gòu),分別對電源模塊,時鐘模塊, 微處理器數(shù)據(jù)處理模塊,輸出模塊設(shè)計診斷回路,有效增大安全失效分數(shù)。 經(jīng)過可靠性分析,驗證安全失效 分數(shù)達到98. 3%, 從而在硬件上滿足其目標安全完整 性等級 SI巳的要求。