姚 強(qiáng),王曉紅
(常州市高級(jí)職業(yè)技術(shù)學(xué)校,江蘇 常州 213164)
本項(xiàng)目運(yùn)用人工智能、大數(shù)據(jù)、云計(jì)算技術(shù),解決電路故障快速診斷,采用ARM技術(shù)與FPGA技術(shù)實(shí)現(xiàn)[1],設(shè)備為意法STM32F407與Altera FPGA EP4CE微控制器、美國(guó)德州儀器帶寬3.9 GHz運(yùn)放、美國(guó)LT公司雙電源控制芯片,四層高速PCB板用于此設(shè)計(jì),期待實(shí)現(xiàn)對(duì)功能板及主板電路實(shí)施大數(shù)據(jù)分析和網(wǎng)絡(luò)測(cè)評(píng)。
本設(shè)計(jì)通過(guò)獲取電路板上Debug口的數(shù)據(jù),對(duì)波形進(jìn)行整形,將信號(hào)進(jìn)行疊加處理,通過(guò)FPGA芯片進(jìn)行FFT蝶形運(yùn)算[2],獲取了基波分量與諧波分量,進(jìn)入集成運(yùn)放電路,通過(guò)激活函數(shù)f(x)=1/(1+e-x)分析,選取不同的放大倍數(shù),獲得穩(wěn)定的輸出電壓,將電壓輸入ARM STM32F407芯片,將12位A/D轉(zhuǎn)換成數(shù)字信號(hào),然后根據(jù)數(shù)字信號(hào)進(jìn)行10位編碼。當(dāng)電路板出現(xiàn)故障時(shí),10位編碼各不相同,設(shè)計(jì)以此判定故障。
Debug接口是調(diào)試接口,由于每塊主板的Debug數(shù)據(jù)不一樣,因此要先對(duì)波形進(jìn)行整形,將信號(hào)進(jìn)行疊加處理,通過(guò)FPGA芯片進(jìn)行FFT蝶形運(yùn)算。這樣處理后,將來(lái)設(shè)計(jì)的硬件設(shè)備與軟件就會(huì)統(tǒng)一,不一樣的只是數(shù)據(jù)庫(kù)中10位編碼對(duì)應(yīng)的故障不同,只需做實(shí)驗(yàn),修改數(shù)據(jù)庫(kù)即可。
Debug接口定義,如圖1所示。
圖1 Debug接口定義
對(duì)D3,D2,D1,D0進(jìn)行波形整形,觀察到74HC14 下方實(shí)現(xiàn)了3次施密特觸發(fā)并反相。信號(hào)從74HC14的1腳進(jìn)入,經(jīng)過(guò)1A→1Y,2A→2Y和3A→3Y3次施密特觸發(fā)并反相,最終將緩慢變化的輸入信號(hào)轉(zhuǎn)換成清晰、無(wú)抖動(dòng)的信號(hào)從6腳輸出,具體芯片74HC14見(jiàn)相關(guān)資料。
具體到每一個(gè)施密特觸發(fā)反相器來(lái)說(shuō),其轉(zhuǎn)移特性和輸入輸出波形關(guān)系,如圖2所示。
圖2 信號(hào)整形
通過(guò)Proteus,可以同時(shí)觀察到有信號(hào)輸入時(shí),74HC14的1腳、2腳、4腳和6腳上的波形仿真,結(jié)果如圖3所示。
圖3 Proteus 仿真
經(jīng)過(guò)整形后的信號(hào)被送至74HC390進(jìn)行分頻,74HC390具有8個(gè)主從觸發(fā)器和附加門,以構(gòu)成兩個(gè)獨(dú)立的4位計(jì)數(shù)器。其中,每個(gè)計(jì)數(shù)器皆包含兩個(gè)部分:“除2計(jì)數(shù)部分”和“除5計(jì)數(shù)部分”。每個(gè)計(jì)數(shù)器又有一個(gè)清除輸入和一個(gè)時(shí)鐘輸入。它可以實(shí)現(xiàn)等于2 分頻、5 分頻乃至100 分頻的任何累加倍數(shù)的周期長(zhǎng)度,且可以連成十進(jìn)制計(jì)數(shù)器或二-五進(jìn)制計(jì)數(shù)器,分別實(shí)現(xiàn)兩種進(jìn)制的數(shù)值輸出。由于每個(gè)計(jì)數(shù)級(jí)都有并行輸出,所以系統(tǒng)定時(shí)信號(hào)可以獲得輸入計(jì)數(shù)頻率的任何因子。該平臺(tái)采用100分頻系數(shù),得到信號(hào)后進(jìn)行疊加處理,如圖4所示,對(duì)FPGA進(jìn)行FFT蝶形運(yùn)算。
圖4 74HC390分頻處理
快速傅里葉變化簡(jiǎn)稱“FFT”,是一種DFT的高效算法,它根據(jù)DFT的奇、偶、虛、實(shí)等特性,對(duì)算法進(jìn)行改進(jìn)而獲得,從而大大減小了算法的運(yùn)算量。本項(xiàng)目采用時(shí)間抽取法,設(shè)N點(diǎn)序列X(n),N=2m,將X(n)按奇偶分組,X1(K)+WNKX2(K),0≤K≤N/2-1,基-2算法。
N為2的整次冪,通過(guò)在接收數(shù)據(jù)過(guò)程中開(kāi)始進(jìn)行運(yùn)算,能夠進(jìn)一步減少FFT處理時(shí)延。
基于FPGA的FFT處理方法的具體流程如圖5所示,輸入數(shù)據(jù)D(0)……D(N),N為2的整次冪,數(shù)據(jù)傳輸?shù)耐瑫r(shí)進(jìn)行卷積運(yùn)算,得到前N/2點(diǎn)數(shù)據(jù)的頻域結(jié)果,并將計(jì)算結(jié)果進(jìn)行緩存;使用所有數(shù)據(jù)對(duì)后N/2點(diǎn)數(shù)據(jù)進(jìn)行蝶形運(yùn)算的同時(shí),輸出前N/2點(diǎn)數(shù)據(jù)的卷積計(jì)算結(jié)果X(0)……X(N/2),后N/2點(diǎn)數(shù)據(jù)進(jìn)行到倒數(shù)第二級(jí)的蝶形運(yùn)算;根據(jù)前N/2點(diǎn)數(shù)據(jù)的卷積計(jì)算結(jié)果以及后N/2點(diǎn)數(shù)據(jù)的倒數(shù)第二級(jí)的蝶形運(yùn)算結(jié)果,進(jìn)行后N/2點(diǎn)數(shù)據(jù)的最后一級(jí)蝶形運(yùn)算,輸出后N/2點(diǎn)數(shù)據(jù)頻域變換結(jié)果X(N/2)……X(N)。利用現(xiàn)有FPGA結(jié)構(gòu)實(shí)現(xiàn)時(shí)延更低的處理結(jié)果。
圖5 FPGA的FFT處理方法的具體流程
通過(guò)激活函數(shù)f(x)=1/(1+e-x)分析,選取不同的放大倍數(shù),獲得穩(wěn)定的輸出電壓,將電壓輸入ARM STM32F407芯片,12位A/D轉(zhuǎn)換成數(shù)字信號(hào),然后根據(jù)數(shù)字信號(hào)進(jìn)行10位編碼,電路如圖6所示。
圖6 10位編碼電路原理
FFT卷積算法采用Altera FPGA EP4CE微控制器[3],Verilog-HDL編寫,并行計(jì)算,電壓采集芯片STM32F407ZET6,168 M主頻,12位A/D采集電壓,DMA總線控制,充分利用NVIC中斷優(yōu)先級(jí)管理,規(guī)劃了搶占優(yōu)先級(jí)及響應(yīng)優(yōu)先級(jí),數(shù)據(jù)存放在緩存中。下位機(jī)采用Keil uVision5,Quartus II,上位機(jī)采用Delphi7,數(shù)據(jù)庫(kù)采用Microsoft SQL Server 2012。通信協(xié)議:幀頭(1Byte)+命令(1Byte)+長(zhǎng)度(1Byte)+數(shù)據(jù)字段(86Byte)+幀未(1Byte)+校驗(yàn)和(1Byte),校驗(yàn)和的目的,防止數(shù)據(jù)缺失。
測(cè)量電路會(huì)對(duì)被測(cè)電路產(chǎn)生自激、零點(diǎn)漂移、波形畸變真失等現(xiàn)象,而在高頻100 MHz處,由于寄生電容等因素的影響,會(huì)產(chǎn)生信號(hào)波形相位偏移等現(xiàn)象,很難兼顧上、下限的測(cè)量。經(jīng)過(guò)多次實(shí)驗(yàn),本設(shè)計(jì)選用美國(guó)德州儀器帶寬3.9 GHz OPA847運(yùn)放。但在實(shí)際波形觀察中,發(fā)現(xiàn)由于濾波電容的存在,導(dǎo)致波形有延時(shí),并且陡度不夠,最后采用1 KΩ泄放電阻解決。零點(diǎn)漂移用美國(guó)LT公司雙電源控制芯片解決。
研發(fā)初期,設(shè)計(jì)人員首先設(shè)計(jì)了一臺(tái)無(wú)痕損壞電子元器件裝置,采用瞬間加高壓的方法,對(duì)電子元器件進(jìn)行無(wú)痕損壞,然后針對(duì)主板電路進(jìn)行更換損壞元器件,用該電路檢測(cè)云平臺(tái)檢測(cè)10位編碼,找出10位編碼與對(duì)應(yīng)故障點(diǎn),構(gòu)成數(shù)據(jù)庫(kù)。ATX電源是否安裝正確、主板是否復(fù)位、內(nèi)存是否安裝正確、CPU是否安裝正確、VGA模塊是否有故障、硬盤是否安裝正確、操作系統(tǒng)是否正確、USB模塊是否有故障、主板橋芯片是否有故障、主板各功能模塊是否有故障、雙路電源切換故障、內(nèi)存供電故障、橋供電故障、CPU核電故障、復(fù)位電路故障、時(shí)鐘電路故障、其他故障,這些都需要逐項(xiàng)核實(shí)。以技星H61M-S22主板為例,實(shí)驗(yàn)數(shù)據(jù)如表1所示。
表1 技星H61M-S22主板實(shí)驗(yàn)數(shù)據(jù)
該系統(tǒng)專為解決全國(guó)計(jì)算機(jī)芯片級(jí)維修技能大賽及全省計(jì)算機(jī)維修網(wǎng)絡(luò)測(cè)評(píng)設(shè)計(jì),具有以下特點(diǎn):(1)網(wǎng)絡(luò)化特點(diǎn)。測(cè)評(píng)數(shù)據(jù)與ATA對(duì)接,并能通過(guò)網(wǎng)絡(luò)打印機(jī)將測(cè)評(píng)報(bào)告輸出。(2)實(shí)時(shí)性。系統(tǒng)實(shí)時(shí)采集LPC總線數(shù)據(jù),通過(guò)時(shí)序邏輯分析,10位編碼,判定故障點(diǎn)。(3)通用性。因型號(hào)及品牌差異,LPC總線數(shù)據(jù)可能不同,硬件檢測(cè)設(shè)備通用,只需修改對(duì)應(yīng)軟件。(4)交互性。用圖像顯示,文字提示方式反饋實(shí)時(shí)數(shù)據(jù),告知故障點(diǎn)。在日常教學(xué)中,利用本系統(tǒng)設(shè)計(jì)結(jié)果可實(shí)現(xiàn)精準(zhǔn)教學(xué)、精準(zhǔn)評(píng)價(jià)。
本設(shè)計(jì)對(duì)電路板Debug口進(jìn)行數(shù)據(jù)分析,同樣適用于工業(yè)電路檢測(cè)。