雷宇宏 李鍵 劉軍偉
摘要:隨著機載網(wǎng)絡性能的不斷提高、處理數(shù)據(jù)量的不斷加大,如何有效地提高機載網(wǎng)絡的安全性,保障機載網(wǎng)絡產(chǎn)品在執(zhí)行任務過程中可以“健康”有效的運行變得尤為重要。本文在分析健康管理(PHM)理念的基礎上,對特定小系統(tǒng)應用環(huán)境下基于SPI接口實現(xiàn)健康管理功能進行了研究,并給出了解決辦法。
關鍵詞: SPI串行通信接口;PHM健康管理
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)07-0216-02
預測與健康管理(Prognostics and Health Management,PHM)技術是一項根據(jù)系統(tǒng)歷史狀態(tài)和環(huán)境因素,評估當前健康狀態(tài)、確定未來故障發(fā)生時間、計算有效壽命,以降低系統(tǒng)故障風險、保證可靠性的通用技術[1]。PHM系統(tǒng)一般需要完成故障檢測、故障鑒定與隔離、故障預測、健康評估和決策建議等功能[2]。
本文論述的健康管理信息主要是模塊主要器件的溫度、電壓以及當前工作狀態(tài)等信息,利用SPI接口將這些信息上報給主機,為系統(tǒng)評估當前健康狀態(tài),并對故障的檢測、鑒定與隔離提供一定的信息支撐。SPI接口是一種常用的標準通信接口,它采用一個串行、同步、全雙工的通信方式來進行信號傳輸,SPI接口具有傳輸效率較高、配置靈活、協(xié)議簡單等優(yōu)點。
1 設計思路
考慮到機載網(wǎng)絡系統(tǒng)數(shù)據(jù)處理量的不斷增大,一些機載系統(tǒng)中采取將通信信息與管理信息分開進行傳輸?shù)姆椒ǎ瑘D1為某系統(tǒng)總線框圖,該系統(tǒng)中的通信信息通過光纖進行傳輸,管理信息通過CAN總線進行傳輸。通信信息與管理信息分開傳輸,一方面保證了通信信息的傳輸及處理效率,另一方面保證了管理信息傳輸?shù)莫毩⑿浴⒖煽啃浴?/p>
為了保證電路的統(tǒng)一性,該系統(tǒng)通過統(tǒng)一的單片機電路來實現(xiàn)CAN總線接口?;谝陨媳尘埃韵聫腟PI串行通信接口出發(fā),闡述如何使用模塊自帶的內(nèi)置ADC模數(shù)轉(zhuǎn)換器將溫度及電壓等部分健康管理信息通過SPI接口上報至單片機,最終通過CAN主干網(wǎng)上報至主機,具體硬件架構實現(xiàn)框圖詳見圖2。
主要的功能架構包括以下幾個方面:ADC模數(shù)轉(zhuǎn)換器的參考電源;ADC模數(shù)轉(zhuǎn)換器;ADC模數(shù)轉(zhuǎn)換器對應的寄存器;SPI接口控制邏輯;單片機功能電路。
主要工作流程如下:
信息傳輸時FPGA作為從設備,單片機作為主設備,通過MAX6043電源芯片提供從設備模數(shù)轉(zhuǎn)換器的參考電源,從設備將溫度及電壓等信息存入內(nèi)部對應的寄存器當中,從設備向主設備發(fā)送數(shù)據(jù)接收請求IRQ信號,主設備接收到從設備發(fā)送的數(shù)據(jù)接收請求IRQ信號后通過SPI接口從FPGA對應的ADC模數(shù)轉(zhuǎn)換器寄存器當中將溫度及電壓等健康信息讀出,并通過CAN總線將信息傳送給外圍主機設備,外圍主機設備通過編碼及終端解碼方式信息進行監(jiān)控,從而為系統(tǒng)的故障診斷和健康監(jiān)控提供一定的信息支撐。
2 系統(tǒng)結構與基本硬件配置
2.1 ADC模數(shù)轉(zhuǎn)換器
ADC模數(shù)轉(zhuǎn)換器是一種通過一定的電路把模擬量轉(zhuǎn)換成數(shù)字量的電路,目前使用的FPGA內(nèi)部基本都集成了ADC模數(shù)轉(zhuǎn)換器。外圍主設備訪問ADC對應寄存器一般可以采用以下兩種方式:
? 邏輯讀取ADC狀態(tài)寄存器,通過串行通信接口上報;
? 軟件讀取ADC狀態(tài)寄存器,通過PCIe、RapidIO等主機接口上報。
通過邏輯讀取ADC狀態(tài)寄存器上報信息相比較通過軟件讀取ADC狀態(tài)寄存器上報信息從實現(xiàn)上來說要復雜些,但軟件讀取時會占用主機的資源開銷,尤其在有告警機制要求的應用下顯得尤為突出,軟件需要不停的通過中斷讀取寄存器信息,同時還要不停地把寄存器讀取的信息與告警極限值進行對比,整個重復過程會占用較大的主機開銷。加之實際應用時要求利用單片機通過CAN總線將信息傳送給外圍主機設備,故設計時選用邏輯讀取ADC狀態(tài)寄存器,再通過串行通信接口上報。
2.2 串行通信接口選用
選用的FREECALE單片機同時支持I2C總線接口及SPI總線接口,通過比較兩者的優(yōu)缺點,同時結合實際使用環(huán)境,設計時選用了SPI總線接口作為單片機與FPGA間的串行通信接口。
2.2.1 SPI接口基本概述
SPI是由Motorola公司開發(fā)的用來在微控制器和芯片之間實現(xiàn)數(shù)據(jù)交換的一種低成本易使用的串行接口,與標準的串行接口不同,SPI接口是一個同步協(xié)議的全雙工接口,具有傳輸效率較高、配置靈活、協(xié)議簡單等優(yōu)點,其構成包括一個主控設備和一個或多個從屬設備。
SPI接口在協(xié)議軟件的控制下,只需4條信號線就可以完成數(shù)據(jù)的發(fā)送和接收。這4條信號線分別是:
? MISO(Master In-Slave Out):主設備數(shù)據(jù)輸入,從設備數(shù)據(jù)輸出。
? MOSI(Master Out-Slave In):主設備數(shù)據(jù)輸出,從設備數(shù)據(jù)輸入。
? SCLK:串行移位時鐘,由主設備產(chǎn)生。
? SS/CSB:從設備使能(片選信號),由主設備控制。
其基本工作時序為:當片選信號有效時,SPI主從設備在每個SCLK的時鐘邊沿通過MOSI或MISO端口發(fā)送或接收數(shù)據(jù)。SPI總線在與外圍設備進行數(shù)據(jù)交換時,可根據(jù)外圍設備的要求,配置時鐘SCK極性和相位,從而產(chǎn)生不同的數(shù)據(jù)格式。當時鐘相位cpha=0時,數(shù)據(jù)在時鐘脈沖的前沿被采樣,串行數(shù)據(jù)的移位操作由時鐘的前沿(第一個跳變沿)觸發(fā);當時鐘相位cpha=1時,數(shù)據(jù)在時鐘的后沿(第二個跳變沿)被采樣,串行數(shù)據(jù)的移位操作由時鐘的后沿觸發(fā)。當時鐘的極性cpol=0時,時鐘在空閑狀態(tài)下為低電平,當時鐘的極性cpol=1時,時鐘在空閑狀態(tài)下為高電平。根據(jù)時鐘極性cpol和時鐘相位cpha的不同選擇可知SPI總線有如圖3所示的四種不同的工作方式:SPI0,此時cpol=0,cpha=0,即時鐘復位為低電平,在時鐘的第一個邊沿開始采樣數(shù)據(jù);SPI1,此時cpol=0,cpha=1,即時鐘復位為低電平,在時鐘的第二個邊沿開始采樣數(shù)據(jù);SPI2,此時cpol=1,cpha=0,即時鐘復位為高電平,在時鐘的第一個邊沿開始采樣數(shù)據(jù);SPI3,此時cpol=1,cpha=1,即時鐘復位為高電平,在時鐘的第二個邊沿開始采樣數(shù)據(jù)。
工作中,SPI主設備是數(shù)據(jù)傳輸?shù)闹骺胤剑瑪?shù)據(jù)使用SCLK信號在主、從設備間以全雙工方式傳輸。圖4給出了典型點對點的SPI接口連接方式。主設備和從設備都有一個串行移位寄存器,傳輸?shù)臄?shù)據(jù)為8位,在主設備產(chǎn)生的從設備使能信號和移位脈沖下,按位傳輸,高位在前低位在后,在SCLK的下降沿數(shù)據(jù)改變,同時一位數(shù)據(jù)被存入移位寄存器當中,具體如圖5所示。
3 實現(xiàn)方式
設計時采用SPI2的工作方式,具體的通信時序如圖6所示:
本地通信時,單片機與FPGA之間應遵循以下通信協(xié)議:
? 單片機配置為SPI主設備,F(xiàn)PGA配置為SPI從設備,SCLK空閑時為高電平;
? SPI從設備向SPI主設備發(fā)送數(shù)據(jù)時,SPI從設備應先向SPI主設備發(fā)送請求信號(IRQ中斷信號),用于觸發(fā)SPI主設備啟動數(shù)據(jù)接收;
? 啟動SPI控制邏輯,SPI主設備輸出SCLK時鐘至SPI從設備,SPI主設備在下降沿開始采樣,SPI從設備先將發(fā)送的數(shù)據(jù)從發(fā)送緩沖區(qū)儲存至移位寄存器當中,接下來SPI從設備再將移位寄存器中的數(shù)據(jù)發(fā)送至SPI主設備的移位寄存器當中,并搬至SPI主設備輸入緩沖器中,具體如圖7所示。
? SPI主設備通過CAN總線對讀取到的信息進行上報。
在將健康信息上報時,通過特定的數(shù)據(jù)報文格式進行通信,報文格式定義參見表1。如表所示,傳輸信息的含義如電壓、溫度等寫在報文編碼字段中,而具體的數(shù)據(jù)通過進制轉(zhuǎn)換寫在載荷數(shù)據(jù)中傳輸。
該技術已經(jīng)在某通信模塊上實現(xiàn),通過SPI接口將數(shù)據(jù)發(fā)送到主機后,由主機調(diào)用并顯示出的結果如下圖所示。
4 結束語
鑒于機載網(wǎng)絡產(chǎn)品對溫度、電壓等健康狀態(tài)信息的需求,本文提出了一種基于SPI接口實現(xiàn)通信節(jié)點主要器件的溫度以及電壓等信息的健康管理電路的設計方法,為機載產(chǎn)品的健康監(jiān)控提供了一定的信息支撐。實際應用和測試結果表明:該設計簡單、實用,具有較強的擴展性,并已在多種模塊設計中進行了推廣,其在滿足用戶基本需求的同時也能夠進一步提高機載產(chǎn)品健康狀態(tài)監(jiān)控能力,提高機載產(chǎn)品在使用中的安全性,具有一定的實際使用價值。以上設計是基于自帶ADC模數(shù)轉(zhuǎn)換器來實現(xiàn)通信節(jié)點健康管理電路的設計方法,有其實際使用價值的同時也具有一定的局限性,如何在未集成ADC模數(shù)轉(zhuǎn)換器的電路中搭建ADC模數(shù)轉(zhuǎn)換器將作為以后的研究點。
參考文獻:
[1] Pecht M G.Prognostics and health management of electronics [M].New York:Wiley-Interscience,2008
[2] Malin J T, Oliver P J.Making technology ready:Integrated systems heath management[R].Washington D.C.:NASA,2007