姚 強,王曉紅
(常州市高級職業技術學校,江蘇 常州 213164)
本項目運用人工智能、大數據、云計算技術,解決電路故障快速診斷,采用ARM技術與FPGA技術實現[1],設備為意法STM32F407與Altera FPGA EP4CE微控制器、美國德州儀器帶寬3.9 GHz運放、美國LT公司雙電源控制芯片,四層高速PCB板用于此設計,期待實現對功能板及主板電路實施大數據分析和網絡測評。
本設計通過獲取電路板上Debug口的數據,對波形進行整形,將信號進行疊加處理,通過FPGA芯片進行FFT蝶形運算[2],獲取了基波分量與諧波分量,進入集成運放電路,通過激活函數f(x)=1/(1+e-x)分析,選取不同的放大倍數,獲得穩定的輸出電壓,將電壓輸入ARM STM32F407芯片,將12位A/D轉換成數字信號,然后根據數字信號進行10位編碼。當電路板出現故障時,10位編碼各不相同,設計以此判定故障。
Debug接口是調試接口,由于每塊主板的Debug數據不一樣,因此要先對波形進行整形,將信號進行疊加處理,通過FPGA芯片進行FFT蝶形運算。這樣處理后,將來設計的硬件設備與軟件就會統一,不一樣的只是數據庫中10位編碼對應的故障不同,只需做實驗,修改數據庫即可。
Debug接口定義,如圖1所示。

圖1 Debug接口定義
對D3,D2,D1,D0進行波形整形,觀察到74HC14 下方實現了3次施密特觸發并反相。信號從74HC14的1腳進入,經過1A→1Y,2A→2Y和3A→3Y3次施密特觸發并反相,最終將緩慢變化的輸入信號轉換成清晰、無抖動的信號從6腳輸出,具體芯片74HC14見相關資料。
具體到每一個施密特觸發反相器來說,其轉移特性和輸入輸出波形關系,如圖2所示。

圖2 信號整形
通過Proteus,可以同時觀察到有信號輸入時,74HC14的1腳、2腳、4腳和6腳上的波形仿真,結果如圖3所示。

圖3 Proteus 仿真
經過整形后的信號被送至74HC390進行分頻,74HC390具有8個主從觸發器和附加門,以構成兩個獨立的4位計數器。其中,每個計數器皆包含兩個部分:“除2計數部分”和“除5計數部分”。每個計數器又有一個清除輸入和一個時鐘輸入。它可以實現等于2 分頻、5 分頻乃至100 分頻的任何累加倍數的周期長度,且可以連成十進制計數器或二-五進制計數器,分別實現兩種進制的數值輸出。由于每個計數級都有并行輸出,所以系統定時信號可以獲得輸入計數頻率的任何因子。該平臺采用100分頻系數,得到信號后進行疊加處理,如圖4所示,對FPGA進行FFT蝶形運算。

圖4 74HC390分頻處理
快速傅里葉變化簡稱“FFT”,是一種DFT的高效算法,它根據DFT的奇、偶、虛、實等特性,對算法進行改進而獲得,從而大大減小了算法的運算量。本項目采用時間抽取法,設N點序列X(n),N=2m,將X(n)按奇偶分組,X1(K)+WNKX2(K),0≤K≤N/2-1,基-2算法。
N為2的整次冪,通過在接收數據過程中開始進行運算,能夠進一步減少FFT處理時延。
基于FPGA的FFT處理方法的具體流程如圖5所示,輸入數據D(0)……D(N),N為2的整次冪,數據傳輸的同時進行卷積運算,得到前N/2點數據的頻域結果,并將計算結果進行緩存;使用所有數據對后N/2點數據進行蝶形運算的同時,輸出前N/2點數據的卷積計算結果X(0)……X(N/2),后N/2點數據進行到倒數第二級的蝶形運算;根據前N/2點數據的卷積計算結果以及后N/2點數據的倒數第二級的蝶形運算結果,進行后N/2點數據的最后一級蝶形運算,輸出后N/2點數據頻域變換結果X(N/2)……X(N)。利用現有FPGA結構實現時延更低的處理結果。

圖5 FPGA的FFT處理方法的具體流程
通過激活函數f(x)=1/(1+e-x)分析,選取不同的放大倍數,獲得穩定的輸出電壓,將電壓輸入ARM STM32F407芯片,12位A/D轉換成數字信號,然后根據數字信號進行10位編碼,電路如圖6所示。

圖6 10位編碼電路原理
FFT卷積算法采用Altera FPGA EP4CE微控制器[3],Verilog-HDL編寫,并行計算,電壓采集芯片STM32F407ZET6,168 M主頻,12位A/D采集電壓,DMA總線控制,充分利用NVIC中斷優先級管理,規劃了搶占優先級及響應優先級,數據存放在緩存中。下位機采用Keil uVision5,Quartus II,上位機采用Delphi7,數據庫采用Microsoft SQL Server 2012。通信協議:幀頭(1Byte)+命令(1Byte)+長度(1Byte)+數據字段(86Byte)+幀未(1Byte)+校驗和(1Byte),校驗和的目的,防止數據缺失。
測量電路會對被測電路產生自激、零點漂移、波形畸變真失等現象,而在高頻100 MHz處,由于寄生電容等因素的影響,會產生信號波形相位偏移等現象,很難兼顧上、下限的測量。經過多次實驗,本設計選用美國德州儀器帶寬3.9 GHz OPA847運放。但在實際波形觀察中,發現由于濾波電容的存在,導致波形有延時,并且陡度不夠,最后采用1 KΩ泄放電阻解決。零點漂移用美國LT公司雙電源控制芯片解決。
研發初期,設計人員首先設計了一臺無痕損壞電子元器件裝置,采用瞬間加高壓的方法,對電子元器件進行無痕損壞,然后針對主板電路進行更換損壞元器件,用該電路檢測云平臺檢測10位編碼,找出10位編碼與對應故障點,構成數據庫。ATX電源是否安裝正確、主板是否復位、內存是否安裝正確、CPU是否安裝正確、VGA模塊是否有故障、硬盤是否安裝正確、操作系統是否正確、USB模塊是否有故障、主板橋芯片是否有故障、主板各功能模塊是否有故障、雙路電源切換故障、內存供電故障、橋供電故障、CPU核電故障、復位電路故障、時鐘電路故障、其他故障,這些都需要逐項核實。以技星H61M-S22主板為例,實驗數據如表1所示。

表1 技星H61M-S22主板實驗數據
該系統專為解決全國計算機芯片級維修技能大賽及全省計算機維修網絡測評設計,具有以下特點:(1)網絡化特點。測評數據與ATA對接,并能通過網絡打印機將測評報告輸出。(2)實時性。系統實時采集LPC總線數據,通過時序邏輯分析,10位編碼,判定故障點。(3)通用性。因型號及品牌差異,LPC總線數據可能不同,硬件檢測設備通用,只需修改對應軟件。(4)交互性。用圖像顯示,文字提示方式反饋實時數據,告知故障點。在日常教學中,利用本系統設計結果可實現精準教學、精準評價。
本設計對電路板Debug口進行數據分析,同樣適用于工業電路檢測。