国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Linux的電子系統(tǒng)健康狀態(tài)識別平臺的設(shè)計與實(shí)現(xiàn)

2022-11-19 09:15周武徐飛洋蔣絮李玉曉
現(xiàn)代信息科技 2022年19期
關(guān)鍵詞:開發(fā)板驅(qū)動狀態(tài)

周武,徐飛洋,蔣絮,李玉曉

(江西理工大學(xué) 理學(xué)院,江西 贛州 341000)

0 引 言

電子系統(tǒng)健康狀態(tài)識別是視情維護(hù)的關(guān)鍵問題之一。電子系統(tǒng)健康狀態(tài)識別的本質(zhì)在于研究故障信號的嚴(yán)重程度識別問題。在故障嚴(yán)重程度識別中,故障特征與故障嚴(yán)重程度存在正相關(guān)或負(fù)相關(guān)關(guān)系,可以通過特征來評估電子系統(tǒng)健康狀態(tài)水平[1,2]。但實(shí)際故障特征中存在不相關(guān)信息及冗余成分,使得識別算法復(fù)雜度增大、降低了識別準(zhǔn)確度。同時,識別模型的好壞可以直接影響識別結(jié)果的準(zhǔn)確率。因此故障嚴(yán)重程度識別的關(guān)鍵在于故障特征提取和識別模型的建立。

故障特征提取指通過變換域分析、數(shù)據(jù)處理等技術(shù),得到原始數(shù)據(jù)中有效的特征。目前常用的故障信號特征提取方法有:時域分析方法,頻域分析方法和時頻分析方法[3]。故障嚴(yán)重程度在電子系統(tǒng)退化過程中具有累積效應(yīng),電子系統(tǒng)越老舊,發(fā)生故障的嚴(yán)重程度就越大。即故障信號的參數(shù)分布是隨時間變化的,屬于非平穩(wěn)信號。時域分析方法和頻域分析方法很難準(zhǔn)確識別非平穩(wěn)信號。而時頻分析方法可以有效識別故障的時域和頻域成分,在故障分析中較為常用。

故障識別模型主要分為基于經(jīng)驗(yàn)?zāi)P偷姆椒?,基于物理模型的方法和基于?shù)據(jù)驅(qū)動模型的方法[4]。相比于前兩種方法,基于數(shù)據(jù)驅(qū)動模型的方法是研究和應(yīng)用的熱點(diǎn),主要有基于統(tǒng)計分析的數(shù)據(jù)驅(qū)動模型方法和基于非統(tǒng)計分析的數(shù)據(jù)驅(qū)動模型方法。前者需要大量的訓(xùn)練數(shù)據(jù),才能通過統(tǒng)計分析捕捉故障的關(guān)鍵特征。后者具有自適應(yīng)學(xué)習(xí)能力,理論上能以任意精度逼近高維非線性函數(shù)。目前,基于非統(tǒng)計分析的數(shù)據(jù)驅(qū)動模型方法是故障識別模型研究的主流方向之一,其中神經(jīng)網(wǎng)絡(luò)是較成熟的故障識別工具。

針對故障特征提取和故障識別模型的問題,提出了基于VMD-GRU 的電子系統(tǒng)健康狀態(tài)識別方法。該方法能有效去除故障信號的冗余成分,并反映出故障信號的時頻特征,且模型結(jié)構(gòu)較為簡單,計算復(fù)雜度低且故障識別準(zhǔn)確率高。同時,基于Linux 系統(tǒng)設(shè)計了電子系統(tǒng)健康狀態(tài)識別平臺,該平臺可以為視情維護(hù)提供更多有效的信息,降低維護(hù)設(shè)備的經(jīng)濟(jì)成本及避免發(fā)生故障帶來的安全影響。

1 基于VMD-GRU 的電子系統(tǒng)健康狀態(tài)識別方法

1.1 VMD 基本理論

在VMD 算法理論[5]中,固有模式函數(shù)(Intrinsic Mode Function, IMF)被重新定義為幅度調(diào)制和頻率調(diào)制信號,記為:

其中,uk(t)表示定義的IMF 分量,相位φk(t)是非遞減的時間函數(shù),振幅Ak(t)≥0 是非負(fù)的時間函數(shù)。瞬時頻率wk(t)= (t)≥0,且Ak(t)和wk(t)變化φk(t)比慢得多。因此,在時間范圍內(nèi)[t-δ,t+δ],δ≈2π/ (t),可被看為振幅和瞬時頻率不變的純諧波信號,即VMD 算法可以將信號分解為一系列中心頻率不同、帶寬有限的IMF。

基于維納濾波、希爾伯特變換與解析信號和混頻與外差解調(diào)原理,建立VMD 的模型。各IMF 之和應(yīng)與原始信號相等,為VMD 模型的約束條件。最終構(gòu)建的模型如下所示:

式中,x(t)表示目標(biāo)信號,K表示VMD 將目標(biāo)信號分解成IMF 的個數(shù),δ(t)為狄利克雷函數(shù),*為卷積符號。{uk}={u1,u2,……,uK}表示分解得到的各個IMF,{wk}={w1,w2,……,wK}表示各個IMF 的中心頻率。利用交替方向乘子法[5]通過迭代的方式求解上述模型結(jié)果,得到最優(yōu)解。

獲得VMD 的最優(yōu)參數(shù)后,可將故障信號準(zhǔn)確地分解為一系列IMF。但在實(shí)際數(shù)據(jù)采集過程中,故障信號容易受到環(huán)境噪聲干擾,導(dǎo)致VMD 分解出的IMF 中包含冗余信息。提出利用相似度分析從信號分解出的一系列IMF 中篩選出與故障原始信號相似程度最大的分量,作為故障信號的主要成分,再從主要成分中構(gòu)建電子系統(tǒng)健康狀態(tài)因子。同一水平的故障信號,其幅值大小略有不同。為避免信號幅值大小對故障主要成分篩選產(chǎn)生不利影響,不宜選用基于距離的相似度指標(biāo)。采取余弦相似度指標(biāo)來計算各IMF 與原始故障信號之間的相似程度。假定故障信號為x1=(x1(1),x1(2),……,x1(n))和該故障信號通過VMD 方法分解出來的一個IMF 為x2=(x2(1),x2(2),……,x2(n))。余弦相似度指標(biāo)C計算公式如下所示:

C越接近于1,則表示二者之間越相似,選取C最大值對應(yīng)的IMF 作為故障信號的主要成分。在得到故障信號的主要成分之后,利用微分增強(qiáng)型能量算子來提取主要成分的瞬時能量,以此構(gòu)建電子系統(tǒng)健康狀態(tài)因子作為反映電子系統(tǒng)健康狀態(tài)水平的有效特征。電子系統(tǒng)健康狀態(tài)因子定義如下:

式(3)中,x1(i)表示主要成分的第i個元素,Ei表示主要成分的第i個點(diǎn)的瞬時能量。式(4)中,S表示電子系統(tǒng)健康狀態(tài)因子,能有效反映出電子系統(tǒng)健康狀態(tài)水平(S首尾添加兩個0 是為了方便訓(xùn)練GRU 模型)。

1.2 GRU 基本理論

循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)模型,對時序信息有著記憶能力。從RNN 結(jié)構(gòu)上來說,隱藏層的輸入包括輸入層的輸出和上一時刻隱藏層的輸出,節(jié)點(diǎn)之間存在連接關(guān)系,用以解決信息保存問題。從RNN 理論上來說,可以處理任意長度的序列數(shù)據(jù)。然而,面臨歷史信息與當(dāng)前處理的信息之間距離較大時,RNN 存在梯度消失或梯度爆炸的問題。GRU 網(wǎng)絡(luò)是RNN 的另一良好變體,GRU 網(wǎng)絡(luò)的識別準(zhǔn)確性和預(yù)測精度與LSTM 網(wǎng)絡(luò)相似,但其模型結(jié)構(gòu)更為簡單,訓(xùn)練收斂速度快,大大降低了計算復(fù)雜度[6,7]。GRU 有兩個門控結(jié)構(gòu):復(fù)位門zt、更新門rt,用于決定保留多少歷史信息和記憶多少輸入信息。從而使GRU 可以選擇輸入序列的有用信息進(jìn)行學(xué)習(xí)。GRU 網(wǎng)絡(luò)的單元結(jié)構(gòu)如圖1 所示。

圖1 GRU 網(wǎng)絡(luò)單元結(jié)構(gòu)

圖中,ht-1表示t-1 時刻隱藏層的輸出數(shù)據(jù),ht表示t時刻隱藏層的輸出數(shù)據(jù),xt表示t時刻輸入數(shù)據(jù),σ和tanh是激活函數(shù),表示矩陣基本運(yùn)算。GRU 網(wǎng)絡(luò)由多個此類單元結(jié)構(gòu)堆疊而成,且每個單元結(jié)構(gòu)的基本參數(shù)是相同的,其前向傳播計算公式為:

式(6)~(9)中,Wz,Wr,Wh,Uz,Ur,Uh表示權(quán)重矩陣,bz,br,bh表示偏置矩陣,表示選擇丟棄的無關(guān)歷史信息。

1.3 基于GRU 網(wǎng)絡(luò)構(gòu)建電子系統(tǒng)健康狀態(tài)識別模型

提出的電子系統(tǒng)健康狀態(tài)識別模型由三部分組成:輸入層,隱藏層和輸出層。模型結(jié)構(gòu)如圖2 所示。

圖2 電子系統(tǒng)健康狀態(tài)識別模型結(jié)構(gòu)

2 基于Linux 的硬件實(shí)現(xiàn)

2.1 Linux 系統(tǒng)開發(fā)環(huán)境搭建

電子系統(tǒng)健康狀態(tài)識別平臺設(shè)計采用的是I.MX6ULL 開發(fā)板,用戶需借助PC 機(jī)對嵌入式設(shè)備進(jìn)行開發(fā)。但嵌入式設(shè)備與PC 機(jī)體系結(jié)構(gòu)不一樣,不同體系結(jié)構(gòu)編譯出來的可執(zhí)行文件不能互相使用,因此需要在PC 機(jī)上提前搭載好開發(fā)環(huán)境。開發(fā)環(huán)境搭建是一個復(fù)雜的工程,針對主要步驟進(jìn)行簡單介紹。首先,安裝Linux 開發(fā)平臺。從開發(fā)的穩(wěn)定性考慮,在PC 機(jī)上安裝了Ubuntu18.04 的虛擬機(jī),Linux 內(nèi)核版本為4.1.15。其次,安裝交叉編譯器。交叉編譯器的作用是在一個架構(gòu)上編譯另一個架構(gòu)的代碼。最后,搭建網(wǎng)絡(luò)環(huán)境。Linux 內(nèi)核比較龐大,借助SD 卡燒寫代碼等方法調(diào)試代碼比較花費(fèi)時間,在Linux 開發(fā)過程中常通過網(wǎng)絡(luò)功能做調(diào)試。同時,在開發(fā)過程中常需要不同系統(tǒng)間進(jìn)行文件傳輸。因此,在虛擬機(jī)的終端模式下,用戶通過執(zhí)行與網(wǎng)絡(luò)相關(guān)的指令來開啟TFTP、NFS 等相關(guān)服務(wù)。

平臺整體實(shí)現(xiàn)可劃分為兩部分:Linux 系統(tǒng)移植和Linux 驅(qū)動開發(fā)。Linux 系統(tǒng)移植是為了提供驅(qū)動開發(fā)的編程環(huán)境,Linux 系統(tǒng)是管理設(shè)備硬件和分配資源的軟件。而Linux 驅(qū)動開發(fā)是連接硬件設(shè)備和操作系統(tǒng)的橋梁。與裸機(jī)開發(fā)不同,程序不是直接運(yùn)行在硬件之上的。操作系統(tǒng)提供了硬件開發(fā)接口,用戶只需編寫對應(yīng)的驅(qū)動程序,即可對硬件設(shè)備進(jìn)行操作。

2.2 Linux 系統(tǒng)移植

2.2.1 BootLoader 移植

BootLoader 是一個引導(dǎo)程序,是系統(tǒng)上電或復(fù)位后執(zhí)行的第一個程序。它的主要工作為初始化操作系統(tǒng)環(huán)境,再將Linux 內(nèi)核加載到內(nèi)存中并啟動Linux 內(nèi)核。在嵌入式系統(tǒng)中BootLoader 種類繁多,本文選用了支持ARM 體系的U-boot。

U-boot 移植并不是說完全從零開始編寫代碼,本文對半導(dǎo)體廠商提供的U-boot 源碼進(jìn)行修改,再移植到平臺上。移植U-boot 有以下幾點(diǎn)需要注意:

2.2.1.1 添加并修改文件

平臺選用的是I.MX6ULL 開發(fā)板,從NXP 官網(wǎng)下載芯片對應(yīng)的U-boot 工程,向U-boot 工程中創(chuàng)建與電子系統(tǒng)健康狀態(tài)識別平臺的相關(guān)板級支持包。對官方原廠的配置文件作相應(yīng)修改,同時添加頭文件。

如圖3 所示,工程文件僅對官方U-boot 做了簡單的復(fù)制和修改,由于代碼較為龐大,只展示了部分修改內(nèi)容。接下來需要根據(jù)開發(fā)板電路進(jìn)行一些配置修改。

圖3 U-boot 移植主要修改的文件

2.2.1.2 LCD 及網(wǎng)絡(luò)驅(qū)動修改

U-boot 的驅(qū)動信息基本都在xxx.h 和xxx.c 文件中(xxx是名稱),本文用的是mx6ull_test_nand.h 和mx6ull_test_nand.c。修改LCD 驅(qū)動的主要步驟如下:

(1)根據(jù)開發(fā)板硬件原理圖,查看LCD 所使用的引腳數(shù)目并核對U-boot 中的IO 配置是否設(shè)置正確。

(2)修改LCD 背光引腳的配置,有些LCD 沒有使用到背光引腳,可在U-boot 中刪除或注釋掉相關(guān)代碼。

(3)修改LCD 參數(shù)配置,例如行同步脈寬、垂直同步脈寬、像素時鐘等,確保LCD 正常工作。

開發(fā)板上有兩個網(wǎng)絡(luò)接口ENET1 和ENET2,通過網(wǎng)絡(luò)芯片LAN8720A 進(jìn)行控制。這里使用ENET1 接口進(jìn)行網(wǎng)絡(luò)通信,修改網(wǎng)絡(luò)驅(qū)動的主要步驟如下:

(1)根據(jù)開發(fā)板硬件原理圖,查看ENET1 機(jī)構(gòu)使用的引腳并在U-boot 中進(jìn)行初始化配置。

(2)修改LAN8720A 器件地址。

(3)修改LAN8720A 驅(qū)動代碼,由于開發(fā)板使用的網(wǎng)絡(luò)芯片與官方的不同,需要將對應(yīng)代碼進(jìn)行修改。

2.2.1.3 編譯工程

對修改好的工程進(jìn)行編譯,得到二進(jìn)制鏡像文件,用于嵌入式設(shè)備啟動U-boot。為方便編譯工程,創(chuàng)建一個shell腳本文件,通過執(zhí)行shell腳本編譯U-boot工程得到.bin文件,將.bin 文件燒寫進(jìn)開發(fā)板中,即可啟動U-boot。

2.2.2 Linux 內(nèi)核移植

Linux內(nèi)核是操作系統(tǒng)代碼,用于管理應(yīng)用、內(nèi)存和設(shè)備等。Linux 系統(tǒng)結(jié)構(gòu)如圖4 所示。如圖4 所示,Linux 內(nèi)核主要分為:進(jìn)程管理、內(nèi)存管理、網(wǎng)絡(luò)接口、虛擬文件系統(tǒng)和進(jìn)程通信。進(jìn)程管理用于控制進(jìn)程對CPU 的訪問,通過調(diào)度算法合理分配CPU 資源。內(nèi)存管理用于管理內(nèi)存資源,讓多個進(jìn)程安全訪問共享資源。網(wǎng)絡(luò)接口用于實(shí)現(xiàn)系統(tǒng)的網(wǎng)絡(luò)通信,管理系統(tǒng)的網(wǎng)絡(luò)設(shè)備。虛擬文件系統(tǒng)將硬件設(shè)備抽象成文件,提供了文件操作接口來訪問、配置設(shè)備。進(jìn)程通信為進(jìn)程之間提供多種通信機(jī)制,協(xié)助多進(jìn)程和多資源之間的消息傳遞。

圖4 Linux 系統(tǒng)結(jié)構(gòu)

2.3 Linux 驅(qū)動開發(fā)

Linux 驅(qū)動主要分為:字符設(shè)備驅(qū)動、塊設(shè)備驅(qū)動和網(wǎng)絡(luò)設(shè)備驅(qū)動三大類。LCD 驅(qū)動屬于字符設(shè)備驅(qū)動,USB 驅(qū)動屬于塊設(shè)備驅(qū)動。

2.3.1 LCD 驅(qū)動電路

如圖5 所示,為一個通用RGB-LCD 模塊的電路原理圖,主要用于反饋?zhàn)R別結(jié)果。LCD 接口驅(qū)動程序NXP 官方已經(jīng)寫好,只需按照平臺設(shè)計需求,修改設(shè)備樹中LCD 的信息,主要步驟如下。

圖5 LCD 電路原理圖

2.3.1.1 LCD 屏幕IO 接口配置

子節(jié)點(diǎn)pinctrl_lcdif_dat,為LCD 的24 根數(shù)據(jù)線配置;子節(jié)點(diǎn)pinctrl_lcdif_ctrl,為LCD 的4 根控制線配置;子節(jié)點(diǎn)pinctrl_pwm1,LCD 背光PWM 引腳配置項。對子節(jié)點(diǎn)各項配置,實(shí)際上就是配置對應(yīng)的寄存器,Linux 內(nèi)核會自動鏈接這一過程。

2.3.1.2 LCD 屏幕參數(shù)節(jié)點(diǎn)信息配置

不同型號的LCD 屏幕參數(shù)是不同的,需要參考芯片手冊進(jìn)行配置。

2.3.1.3 LCD 背光節(jié)點(diǎn)信息配置

根據(jù)電路原理圖LCD 背光控制IO 連接到了GPIO1_IO08上,通過修改設(shè)備樹用PWM 信號來控制LCD 屏幕背光亮度。

通過上述設(shè)置,LCD 屏可以正常工作。

2.3.2 USB 驅(qū)動電路

開發(fā)板使用GL850G 芯片擴(kuò)展了三路HOST 接口,因此可支持鍵盤和U 盤同時工作,通過鍵盤輸入指令讀取U盤中的數(shù)據(jù)。NXP 官方提供的內(nèi)核已默認(rèn)啟用了USB 驅(qū)動。

3 硬件測試及實(shí)驗(yàn)分析

整個電子系統(tǒng)健康識別平臺搭建完畢后,利用第2 節(jié)的測試集數(shù)據(jù)測試平臺識別性能。測試具體操作如下:

(1)通過USB 驅(qū)動連接U 盤和鍵盤,利用鍵盤輸入指令“mount /dev/sda1 /mnt/usb_disk/ -t vfat”將U 盤掛載在/mnt/usb_disk 目錄下。輸入ls 命令查看U 盤文件,如圖6所示。

圖6 讀取U 盤故障數(shù)據(jù)文件

圖中,白色字體代表第2 節(jié)采集的訓(xùn)練集和測試集數(shù)據(jù),以.txt 文件保存。data2_123.txt 表示故障嚴(yán)重程度為2的第123 個樣本,data 后面數(shù)字代表故障嚴(yán)重程度等級,“_”后面數(shù)字代表第幾個樣本,數(shù)字1 ~100 為訓(xùn)練集,101 ~150 位測試集。

(2)基于提出的算法編寫C 程序,各故障等級識別結(jié)果如圖7 所示。

圖7 平臺識別結(jié)果

圖中,利用各故障的第123 個樣本進(jìn)行測試,對應(yīng)故障等級的識別結(jié)果都正確。

(3)統(tǒng)計各故障測試集的識別結(jié)果,即各故障的第101 個樣本到第150 個樣本。統(tǒng)計結(jié)果如表1 所示。

由表1 的實(shí)驗(yàn)結(jié)果可知,電子系統(tǒng)健康狀態(tài)識別平臺設(shè)計成功,識別結(jié)果具有較高的準(zhǔn)確率,本文所設(shè)計的平臺能有效進(jìn)行電子系統(tǒng)的健康狀態(tài)識別,能為視情維護(hù)提供重要決策信息。

表1 統(tǒng)計的識別結(jié)果

4 結(jié) 論

以電子系統(tǒng)關(guān)鍵電路的不同嚴(yán)重程度的故障信號作為研究對象,提出了基于VMD 方法從時頻域來表征故障信息,基于GRU 網(wǎng)絡(luò)構(gòu)建了故障識別模型,并設(shè)計實(shí)現(xiàn)了電子系統(tǒng)健康狀態(tài)識別平臺。通過實(shí)驗(yàn)分析和硬件測試,具有較高的識別準(zhǔn)確率和可靠性。提出的方法能有效評估電子系統(tǒng)的健康狀態(tài)水平,設(shè)計的平臺可以為視情維修提供重要的決策信息,降低電子系統(tǒng)維修難度及費(fèi)用,避免電子系統(tǒng)帶隱患工作造成的安全事故。

猜你喜歡
開發(fā)板驅(qū)動狀態(tài)
數(shù)據(jù)驅(qū)動世界。你得懂它 精讀
基于模糊PI控制的驅(qū)動防滑仿真系統(tǒng)分析
基于Verilog語言的4位二進(jìn)制可逆計數(shù)器的設(shè)計
深入實(shí)施創(chuàng)新驅(qū)動發(fā)展戰(zhàn)略
智珠二則
生命的另一種狀態(tài)
開發(fā)板在單片機(jī)原理及接口技術(shù)課程教學(xué)中的應(yīng)用
ARM宣布mbed Enabled Freescale FRDM—K64F開發(fā)板通過微軟認(rèn)證
AMD VS微軟 SSD的AHCI驅(qū)動選哪家
“牛頓第一定律”練習(xí)
潞城市| 伊川县| 开江县| 兴业县| 漳平市| 二手房| 中牟县| 收藏| 寻乌县| 佛教| 罗田县| 白银市| 东源县| 务川| 吉安市| 得荣县| 玉门市| 鄂托克旗| 东莞市| 水富县| 平谷区| 长春市| 托克托县| 邢台市| 肥乡县| 伊宁县| 大化| 资中县| 南康市| 海安县| 碌曲县| 县级市| 灵山县| 集贤县| 叙永县| 嵊泗县| 施秉县| 临夏市| 舟曲县| 科尔| 柯坪县|