龔 民,王徐穎,陳鑫焱
(沈陽理工大學(xué) 機(jī)械工程學(xué)院, 沈陽 110168)
以單片微控制器為核心的故障檢測(cè)系統(tǒng)中,由于單片機(jī)處理數(shù)據(jù)速度的有限性和人們對(duì)故障檢測(cè)系統(tǒng)各個(gè)方面的要求的不斷提升這個(gè)矛盾日益顯現(xiàn)出來。隨著采用DSP的應(yīng)用領(lǐng)域的愈來愈多,DSP在原有檢測(cè)系統(tǒng)上的應(yīng)用為提高系統(tǒng)性能成為了可能。
DSP作為數(shù)字化時(shí)代的基因芯片,主要在三個(gè)方面的特點(diǎn)支持了其在數(shù)據(jù)處理方面的高速性。DSP處理器使用專門的硬件實(shí)現(xiàn)單周期乘法,支持密集的乘法運(yùn)算,單片機(jī)則要求多個(gè)指令周期來做一次乘法;DSP 采用哈佛結(jié)構(gòu),程序和數(shù)據(jù)空間分開,DSP在一個(gè)機(jī)器周期內(nèi)可以同時(shí)準(zhǔn)備好指令和操作數(shù),單片機(jī)一般無法完成該任務(wù);DSP采用零開銷循環(huán),執(zhí)行循環(huán)時(shí),無需花時(shí)間去檢查循環(huán)計(jì)數(shù)器的值,僅當(dāng)條件轉(zhuǎn)移到循環(huán)的頂部時(shí)將循環(huán)計(jì)數(shù)器減1。MCU和DSP相比,低檔的MCU的指令周期為600ns,乘法計(jì)算時(shí)間為1900ns,而低檔的DSP指令周期和乘法計(jì)算時(shí)間均只需50ns。高檔的MCU的指令周期為也需40ns,乘法計(jì)算時(shí)間需80ns。而高檔的DSP指令周期和乘法計(jì)算時(shí)間均只需5ns,DSP在運(yùn)算速度上的優(yōu)勢(shì)是顯而易見的[1]。
本信號(hào)處理模塊主要由電源模塊、DSP(TMS320F2812)模塊、數(shù)據(jù)交換模塊、MCU(89C52)模塊等幾部分組成。MCU獲取故障現(xiàn)場(chǎng)數(shù)據(jù)后將數(shù)據(jù)傳輸給雙口RAM,TMS320F2812得到數(shù)據(jù)后進(jìn)行快速算法運(yùn)算,運(yùn)算得到的結(jié)果再通過雙口RAM傳送給MCU。以該模塊在滾動(dòng)軸承故障檢測(cè)系統(tǒng)中的應(yīng)用為例,應(yīng)用DSP后的故障檢測(cè)系統(tǒng)框圖如圖1所示。
圖 1 改進(jìn)后的故障檢測(cè)系統(tǒng)框圖
1.2.1 雙口RAM型號(hào)的選擇
圖2 CY7C144與DSP和MCU的接口示意圖
DSP和MCU在系統(tǒng)工作需要不斷的大量交換數(shù)據(jù),通過雙口RAM以資源共享的方式進(jìn)行數(shù)據(jù)通信,不僅傳輸速率高,而且具有非常好的抗干擾性。雙口RAM實(shí)現(xiàn)了MCU和DSP的相互通訊,可以認(rèn)為雙口RAM中的數(shù)據(jù)是為DSP和MCU所共用的。
采用CYPRESS公司的CY7C144這款芯片。它是一種低功耗的CMOS型8K×8位的雙口靜態(tài)RAM,最快響應(yīng)速度為15ns,可以和DSP直接通訊而不需要等待在標(biāo)準(zhǔn)條件下的最大功耗為160mw,+5V供電并兼容TTL電平,具有省電的功能,可以進(jìn)一步減小功耗具有良好的兼容性,可以和IDT7005和IDT7015等雙口RAM互換,各端口完全異步操作。
1.2.2 雙口RAM與CPU的接口
CY7C144作為MCU與DSP之間的通訊接口如圖2所示。CY7C144的左端地址總線與2812的XA0~XA12相連,CY7C144數(shù)據(jù)端口與2812的XD0~XD7相連;CY7C144的右端地址線的高四位與89C52的P2.0~P2.4相連,右端地址線的低八位與經(jīng)過74LS737鎖存的P0.0~P0.7相連,數(shù)據(jù)線與P0.0~P0.7直接相連。其中SEMR、SEML、M/S應(yīng)經(jīng)電阻由+5V拉高。
模塊軟件主要包括:CMD文件的編寫、FFT等算法在TMS320F2812上的實(shí)現(xiàn)、89C52與TMS320F2812的通信、程序向Flash的燒寫、軟件加密和看門狗的設(shè)計(jì)。
模塊由89C52與TMS320F2812構(gòu)成一個(gè)主從系統(tǒng),89C52將故障預(yù)處理數(shù)據(jù)傳送至2812,2812經(jīng)過數(shù)字信號(hào)處理后返送回89C52。DSP采用C語言進(jìn)行編程,MCU用匯編或C語言均可,只要在數(shù)據(jù)結(jié)構(gòu)上進(jìn)行換算即可實(shí)現(xiàn)暢通通訊。系統(tǒng)軟件流程圖如圖3所示。
圖3 系統(tǒng)軟件流程圖
模塊中MCU(89C52)和DSP(TMS320F2812)的通信協(xié)議如下:雙口RAM的00H單元為MCU工作標(biāo)志位,01H單元?jiǎng)t為DSP工作標(biāo)志位。單片機(jī)清完標(biāo)志位后,將用戶所選擇的算法類型寫入02H和03H單元中,然后將從外部得到的輸入序列存入雙口RAM,存數(shù)據(jù)完成后置單片機(jī)準(zhǔn)備標(biāo)志位,通知DSP取數(shù)據(jù),此后單片機(jī)則一直查詢01H單元DSP準(zhǔn)備標(biāo)志位。等單片機(jī)查詢到DSP完成計(jì)算后,將DSP準(zhǔn)備標(biāo)志位清零,然后讀取計(jì)算結(jié)果。DSP清完標(biāo)志位后,一直在查詢單片機(jī)標(biāo)志位,等待單片機(jī)完成輸入序列的傳輸,當(dāng)查詢到輸入序列傳輸完成以后,DSP將單片機(jī)標(biāo)志位清零,讀入算法選擇位,讀入輸入序列,完成計(jì)算,向雙口RAM 寫入結(jié)果,置DSP標(biāo)志位,通知單片機(jī)取結(jié)果,然后等待下一個(gè)輸入序列。DSP上的主程序如下。
在滾動(dòng)軸承檢測(cè)中,能否找到故障特征頻率是本系統(tǒng)的關(guān)鍵,故障輸入信號(hào)由一個(gè)存在故障的電機(jī)軸承給出。在此軸承外圈,人為使用電火花破壞一個(gè)壞點(diǎn),電機(jī)運(yùn)行后,將軸承的振動(dòng)頻率采樣進(jìn)來,得到1024個(gè)點(diǎn)的值,將這1024個(gè)值經(jīng)DSP分析后給出圖像。
根據(jù)實(shí)驗(yàn)所得,圖4為,當(dāng)電機(jī)轉(zhuǎn)速n=600轉(zhuǎn)/分,A/D采樣頻率為1024時(shí),經(jīng)DSP處理后的頻譜。圖5為,當(dāng)電機(jī)轉(zhuǎn)速n=400轉(zhuǎn)/分,A/D采樣頻率為512時(shí),經(jīng)DSP處理后的頻譜。
圖4 n=600 fs=1024故障信號(hào)頻譜
圖5 n=400 fs=512故障信號(hào)頻譜
根據(jù)軸承故障理論,圈上有單個(gè)損傷點(diǎn)的情況:用共振解調(diào)法診斷時(shí)得到的包絡(luò)頻譜圖形是一系列以外圈故障特征頻率fb為間隔的隨頻率增大幅值逐漸減小的離散譜線[4]。滾動(dòng)體在外圈滾道上的通過頻率為:
經(jīng)計(jì)算,n=400時(shí),fb約為20Hz,n=600時(shí),fb約為30Hz。從圖5中看出波形的峰值主要出現(xiàn)在30.668、61.336、92.524、121.633幾點(diǎn),振幅逐漸衰減;從圖6看出波形的峰值主要出現(xiàn)在 20.012、40.024、60.036幾點(diǎn),符合由軸承故障理論計(jì)算出的理論值,證明系統(tǒng)正確。并且在實(shí)驗(yàn)過程中發(fā)現(xiàn)數(shù)據(jù)處理精度和速度比MCU有了明顯的提高。
提出的基于TMS320F2812與雙口RAM的信號(hào)處理模塊對(duì)以普通MCU為控制核心的故障檢測(cè)系統(tǒng)的改進(jìn),在保證原有檢測(cè)系統(tǒng)的控制能力基礎(chǔ)上,結(jié)合DSP應(yīng)用各種算法對(duì)數(shù)據(jù)進(jìn)行處理。實(shí)驗(yàn)證明,明顯提高了故障檢測(cè)系統(tǒng)的數(shù)據(jù)處理能力。
[1] 張?jiān)诜?馬義德.DSP —數(shù)字化時(shí)代的基因芯片.信息技術(shù).2003.53-56.
[2] 蘇奎峰,呂強(qiáng),等.TMS320F2812XDSP原理及C程序開發(fā).北京:北京航空航天大學(xué)出版社,2008:369-370
[3] 胡漢才.單片機(jī)原理及其接口技術(shù).第一版.北京:清華大學(xué)出版社,2004:20-25.
[4] 梅宏斌著.滾動(dòng)軸承振動(dòng)監(jiān)測(cè)與診斷.北京:機(jī)械工業(yè)出版社,1995:1-15.