馮海杰 萬今明 范凌云
(珠海格力電器股份有限公司 廣東珠海 519070)
隨著家電行業(yè)的蓬勃發(fā)展,帶有自動控制功能的控制器得以廣泛地應用,嵌入式軟件除了完成規(guī)定的功能,越來越多的同時承擔安全防護的功能。相比于硬件保護(如電機過流保護器、壓縮機過載保護器),越來越多的保護完全依賴于軟件來實現,軟件的可靠與否關系著整機的安全和可靠。
目前變頻空調器控制越來越復雜,一般說來空調內機和外機都會有獨立的芯片,甚至于某些主板上不止兩個芯片。主要涉及電氣/電子/可編程電子系統(E/E/PES),即嵌入式微控制器MCU(如NEC芯片、東芝芯片、ARM內核芯片)、數字信號處理DSP(如德州儀器TMS320F28XX芯片)等;另一方面成本壓力也越來越大。如何既實現整體空調的安全可靠,同時又減輕成本壓力,軟件安全評估應運而生。國際電工委員會(IEC)、美國保險商實驗室(UL)都對軟件安全有相應的要求,本文結合一款空調和兩個標準的要求,介紹一款B類軟件在變頻空調上的應用。
2.1 軟件評估和軟件安全分類的定義
軟件評估是一個發(fā)現軟件系統故障/錯誤的過程,進而評價軟件系統的可靠性。其主要考核可編程電子系統(PES)是否具有相關保護性的功能,這些功能是否可靠,失效后可能帶來的危害等等。
B類軟件:含有代碼的軟件,用于防止其具有與非軟件故障而引起的危險。
C類軟件:含有代碼的軟件,用于防止沒有使用其他保護裝置時出現的危險。
2.2 軟件評估的意義
(1)軟件評估是安全認證不可缺少的部分;
(2)軟件評估可以為家電產品的制造商在保證產品安全的情況下節(jié)省成本;
(3)軟件評估對于家電行業(yè)的發(fā)展具有積極推動意義。
2.3 軟件評估的豁免
并不是所有的使用電子控制器的家電產品都要進行軟件評估,關鍵要看器具是否具有保護性電子電路,并且保護性電子電路是否使用了軟件:
2.3.1 IEC(EN、GB)[1]認證方面
如圖1所示,只有在延著紅色箭頭方向才需要進行軟件評估,而目前我們的變頻空調器在第二從“非正常”測試之后均實現了“硬件動作”,因此無需進行軟件評估。
2.3.2 UL(ETL)[2]認證方面
2011年10月14日修訂2014年10月14日生效的《UL 1995 Heating and Cooling Equipment制熱和制冷設備》第4版對電子電路的評估進行了更為嚴格的要求,從中我們獲得如圖2信息,只有在延著紅色箭頭方向才需要進行軟件評估,而目前我們的變頻空調器的壓縮機、風機均均實現了硬件防護,如“過載保護器”、“集成的過載保護裝置”,或進行《UL 508C Power Conversion Equipment功率轉換設備》的安全認證,因此也無需進行軟件評估。
2.3.3 目前國內變頻空調器安全控制部分
從安全認證及自動控制理論角度出發(fā),變頻空調器其實就是一個控制器控制馬達的簡單過程。
如圖3所示,正常情況下,變頻控制器的“功能電子電路”控制“壓縮機、風機”正常運轉,當“壓縮機、風機”產生任意安全危險(堵轉、溫升、缺相、過載)時,“保護電子電路”將有效控制產生的相關安全危險。惡劣情況下,當“保護電子電路”失效時,“硬件保護”也將防止危險的進一步發(fā)生,從而保障器具不會對人及周圍的環(huán)境產生危害。
3.1 軟件可靠性來源
從以上2.1中對“軟件評估”的定義看出,它將評價軟件系統的可靠性。這里的可靠性包含兩個方面的內容:
(1)軟件系統所控制的家電整機對使用者、環(huán)境的安全;
(2)軟件控制器本身在正常使用中的故障/錯誤概率。
以上可靠性內容①,在任何“非正?!鼻闆r下最終“硬件保護”都會保證產品對使用者、環(huán)境的安全,但可靠性內容②則可以通過“軟件評估”采取的一些措施避免軟件控制器本身在正常使用中的故障/錯誤,這個就是對控制器軟件可靠性水平的提升。
3.2 軟件評估的程序和資料要求
“軟件評估”的過程一般以“培訓”的方式進行,主要有3個階段:
(1)產品風險分析階段,需要認證工程師+產品工程師+安規(guī)工程師;
(2)硬件線路可靠性評估階段,需要認證工程師+電子硬件開發(fā)工程師;
(3)軟件設計評價階段,需要認證工程師+軟件開發(fā)工程師。
以上三階段中需要提高眾多資料,這里列舉之:
① 軟件說明書(接口、界面、功能、模塊、出錯、版本、安全保護實現);
② 電路圖(硬件架構);
③ 系統危險分析、軟件如何保護的介紹;
④ 流程圖;
⑤ 軟件架構(數據存儲、流向規(guī)定);
⑥ 中斷處理;
⑦ 軟件更新說明;
⑧ 其它。
“軟件評估”中主要評估措施是否可以有效的預防“微電子失效模式”的出現,而“微電子失效模式”在電子電路方面主要有以下兩種形式故障/錯誤[8]:
(1)d.c.故障模式(d.c. fault model)——包含有信號線間短路的一種粘著性故障形式。它屬于電路門級的永久故障模式,是由數字邏輯電路中的硬件缺陷(如短路、開路等),引起邏輯器件的邏輯故障,迫使硬件信息中的某一位或幾位恒為1或0;
(2)粘著性故障模式(stuck-at fault model)——呈現開路或不變的信號水平的故障模式。它屬于晶體管開關級的故障,表現為某個晶體管開關永久導通(常閉故障)或永久斷開(常開故障),通常有“粘開(stuck open)”、“互連的短路(stuck at 1)”、“互連的斷路(stuck at 0)”。
為了通過預防以上兩種類型的故障模式,通過“微電子失效模式”的相關測試,變頻空調軟、硬件件系統必須采取監(jiān)控措施以確保安全。目前各芯片廠家(FREESCALE[9]、NEC[10]、MICROCHIP[11]、ST[12]等)都有針對IEC/UL60730的軟件策略,以下舉例說明:
(1)CPU測試,包含寄存器,指令、譯碼與執(zhí)行,程序計數器,尋址,數據路徑指令譯碼,一般策略是功能測試或用靜態(tài)存儲器測試或帶有冗余的字保護周期自檢,以下以Microchip對寄存器的功能測試為例說明,具體方法如下:
1)在執(zhí)行此程序之前,應將需要測試的CPU寄存器內容存入堆棧;
2)首先向需要測試的寄存器依次寫入“0x5555”和“0xAAAA”,然后再讀取寄存器內容來進行驗證;
3)果返回值與先前存入的值不匹配,那么測試會返回一個錯誤代碼;
4)不保存返回錯誤代碼的寄存器(W0)的內容,一旦測試完成,就恢復所有其他CPU寄存器的內容。
(2)中斷處理與執(zhí)行測試:中斷是指處理器在執(zhí)行正常工作的期間,由于某種隨機發(fā)生的外部事件而使其暫停執(zhí)行當前程序,轉而執(zhí)行另外一段程序,來做些必要的處理,以滿足突發(fā)狀況,完成后再返回繼續(xù)執(zhí)行原來的程序。對于B級軟件可靠性安全評估來說,我們只要知道中斷是否經常發(fā)生。從而對其進行相應處理。測試中,我們必須在中斷測試函數內設計一個專門的計數器來指出中斷在單位時間內發(fā)生的次數,通過單位時間對中斷次數的收集來判斷其次數是否在預先定義的范圍之內(每收集判斷一次計數器就清零),來判定程序的中斷是否發(fā)生異常。
(3)時鐘測試:MCU所完成的全部操作都要在時鐘信號嚴格控制下有節(jié)律地進行,所以時鐘的可靠與否關系到機組的安全。B級軟件可靠性安全評估來說時鐘的測試,我們只要知道中斷是否驗證系統時鐘的可靠性(即系統時鐘不應太快也不應太慢),從而對其進行相應處理。通常的策略是在控制器的主芯片增加一組冗余晶振電路,定期的利用冗余晶振對主晶振的頻率或周期進行比對,偏差在合理的范圍內即認為機組經振可靠。
(4)貯存器測試,包含不可變貯存器,可變貯存器,尋址:對不可變存儲器要求:對所有一位的故障進行檢測。可接受措施有:周期修改的檢查和/或多重檢查和;帶有一位冗余的字保護;對可變存儲器要求:對DC故障進行檢測??山邮艽胧┯校褐芷陟o態(tài)貯存器試驗;或有一位冗余的字保護;尋址(與可變和不可變貯存器相關的)要求:對持續(xù)的DC故障進行檢測??山邮艽胧┯校簬в邪ǖ刂返囊晃黄媾夹缘淖直Wo。
(5)內部數據路徑,包含數據、尋址:對于內部數據與尋址,僅具有外部存儲器的單片機才需要進行此測試。建議通過增大MCU的存儲容量來避免增加外部存儲器,降低不必要的故障來源。
(6)外部通信測試,包含數據,尋址,計時:通常在數據,尋址中采用CRC(循環(huán)冗余校驗)或傳輸冗余較為合適。而在計時中,提供看門狗定時器是一個較好的方法。
(7)輸入/輸出外圍,包含字I/O,A/D和D/A轉換器,模擬多重通道:輸入/輸出外圍的要求,都是針對管腳輸入、輸出進行測試?;镜姆椒ǘ际悄M管腳輸入,對比輸出狀態(tài),確保在正常運行中,出現非正常的輸入,輸出非正常的狀態(tài)的影響。
(8)其它:以上對控制器達到B類安全軟件的要求的一般策略,實際執(zhí)行過程中可以參考芯片廠家的數據手冊或使用指引,并結合IEC/UL60730的要求,增加策略代碼,從而達到異常時軟件能夠可靠安全的實現保護或停機,避免危險的發(fā)生。
綜上分析,如果要規(guī)避軟件評估的要求,變頻空調器可采取了“硬件保護”措施而無需進行復雜且耗時耗力的“軟件評估”過程;但如果要取消昂貴的硬件保護降成本又不降低安全可靠性, “軟件評估”中的安全策略對于提高整機的安全性至關重要。即使不取消硬件保護,利用B類軟件的要求完善程序,也可以大大的提高空調系統的安全性。
1] IEC 60335-1 Edition 5.0 2010-05 Household and similar electrical appliances ! Safety !Part 1:General requirements家用和類似用途電器的安全標準 第1部分:通用要求
[2] UL 1995 Fourth Edition Heating and Cooling Equipment制熱和制冷設備
[3] UL 991 Tests for Safety-Related Controls Employing Solid State Devices用于固定裝置安全相關控制部分的測試
[4] UL 1998 Software in Programmable Components可編程元器件的軟件
[5] UL 60730-1 Automatic Electrical Controls for Household and Similar Use -Part 1 General Requirements家用和類似用途電自動控制器 第1部分:通用要求
[6] UL 60730-2-9 Automatic Electrical Controls for Household and Similar Use - Part 2-9: Particular Requirements for Temperature Sensing Controls家用和類似用途電自動控制器 第2部分:對溫度變化敏感控制部分的特殊要求
[7] UL 508C Power Conversion Equipment功率轉換設備
[8] GB 14536.1-2008/IEC 60730-1:2003(Ed 3.1) 家用和類似用途電自動控制器 第一部分.通用要求
[9] Industrial Safety starts with IEC/UL60730 Standards FTF-ENT-F0714 Dulgald Campbell, Donnie Garcia FREESCALE 2010.6
[10] Application Note IEC60730 Class B Support for certification NEC 2007.4
[11] AN1229 PIC MCU和dsPIC DSC的B類安全軟件庫Veena Kudva Microchip Technology Inc.
[12] AN3181 Application note Guidelines for obtainning IEC60335 Class B certification in an STM8 application