基于DSP的數(shù)據(jù)采集系統(tǒng)開發(fā)與實現(xiàn)
掃描二維碼
隨時隨地手機看文章
0 引言
現(xiàn)代工業(yè)生產(chǎn)中,生產(chǎn)規(guī)模不斷擴大,朝著大型化、高速化、自動化和連續(xù)化的方向發(fā)展。因此對機械設(shè)備性能的要求也越來越高。很多大型石油、化工、石化、電力、鋼鐵等部門都采用了單機、滿負荷、連續(xù)性的生產(chǎn)操作方式,其中的大型旋轉(zhuǎn)機械就成為了現(xiàn)代化大規(guī)模生產(chǎn)中的關(guān)鍵設(shè)備。一旦出現(xiàn)停機故障,將導致全廠的停產(chǎn),其經(jīng)濟損失是十分巨大的。同時還有可能招致重大的傷亡事故。由此,大型旋轉(zhuǎn)機械的在線狀態(tài)監(jiān)測和故障診斷技術(shù)便應(yīng)運而生。而如何獲得大量而廣泛的狀態(tài)量(振動、力、位移、噪聲、溫度、壓力和流量等)是其中的關(guān)鍵。本文介紹的基于TMS320F2812的多功能同步數(shù)據(jù)采集卡,利用卡上的DSP控制芯片不僅可以實現(xiàn)多種數(shù)據(jù)的采集,還可以對所采集的數(shù)據(jù)進行實時的信號處理,大大地提升了整個系統(tǒng)的性能。
1 TMS320F2812體系結(jié)構(gòu)
TMS320F2812是TMS320C28X系列芯片中性能最好的一種,最高頻率為150MHz,處理速度可達150MIPS,指令周期為6.67ns。
同TMS320C2000TM平臺中前代產(chǎn)品相比,F(xiàn)2812的程序總線包括22位的地址總線和32位的數(shù)據(jù)總線,數(shù)據(jù)總線包括32位的地址總線和32位的數(shù)據(jù)總線。較之C24X/C240X的16位地址總線,F(xiàn)2812大幅提高了可尋址范圍。同時,32位的數(shù)據(jù)總線可以實現(xiàn)單周期的32位指令。其片內(nèi)的32×32位MAC具有處理64位數(shù)的能力,可用于處理高精度的數(shù)字運算,完全可以替代其它更貴的浮點數(shù)處理器。在振動信號的頻譜分析中,這種優(yōu)勢就更為明顯了。在中斷響應(yīng)方面,F(xiàn)2812自動保存上下文的功能加快了中斷響應(yīng)速度,用戶可以在更短的時限內(nèi)完成更多的異步事件,這在多路信號采集系統(tǒng)中大幅提高了系統(tǒng)的實時性。
在外設(shè)方面,F(xiàn)2812也有不少新特點。除了保留前代產(chǎn)品的4個16位通用定時器以外,F(xiàn)2812又增加了3個32位的定時器。可更方便地實現(xiàn)大范圍轉(zhuǎn)軸轉(zhuǎn)速信號的采集,以及提供更為靈活的數(shù)據(jù)采樣模式。F2812內(nèi)部擁一個12位的增強型A/D轉(zhuǎn)換器,其A/D轉(zhuǎn)換速率高達80ns。而其中的兩個獨立的8路模擬開關(guān)給用戶提供了同時采集不同種類信號的實現(xiàn)方法。在片內(nèi)存儲器方面,F(xiàn)2812包括128K字的FLASHMEMORY、1K字的0TPMEMORY和18K字的片上RAM和4K字的BOOT ROM。豐富的片上存儲資源可滿足用戶處理大量數(shù)據(jù)的需求。在安全方面,F(xiàn)2812采用128位的密碼來保護用戶的程序。
2 數(shù)據(jù)采集卡的硬件實現(xiàn)
數(shù)據(jù)采集卡的硬件實現(xiàn)利用F2182的眾多新特性,數(shù)據(jù)采集卡可以處理:16路異步或同步模擬信號、16路數(shù)字信號、6路轉(zhuǎn)速信號。采用PCI接口與上位機相連。其系統(tǒng)結(jié)構(gòu)如圖1所示。
根據(jù)工業(yè)現(xiàn)場中旋轉(zhuǎn)機械的實際情況,數(shù)據(jù)采集卡采集的轉(zhuǎn)速范圍一般為30~18000r/min(周期范圍為33ms~2s)。如此大的轉(zhuǎn)速范圍對定時器的計數(shù)脈沖和計數(shù)位數(shù)都提出了要求。若定時器計數(shù)脈沖過大,則分辨率降低;但是如果計數(shù)脈沖太小,則需要計數(shù)器的位數(shù)足夠大。
C2000TM系列的前代產(chǎn)品內(nèi)置16位定時器很難滿足要求,一般常用多個定時器級連來達到要求,而F2812新增的3個32位定時器則彌補了前系列DSP產(chǎn)品的不足。
F2812的事件管理模塊EV共有6個捕獲單元,每個單元的施密特觸發(fā)器可以捕獲到相關(guān)引腳的跳變??杀O(jiān)測的跳變可以是上升沿、下降沿或者兩者都監(jiān)測。利用捕獲單元的中斷功能和定時器就可以很容易地實現(xiàn)對轉(zhuǎn)速周期的測量,并且為轉(zhuǎn)軸的振動測試提供采樣的基頻。其測量流程如圖2。
2.2 模擬信號采集的實現(xiàn)
TMS320F2812芯片中集成了一個偽雙12位A/D轉(zhuǎn)換器模塊。該模塊內(nèi)部實際上只有一個A/D轉(zhuǎn)換器,在內(nèi)部邏輯的控制下它可以很快的速度連續(xù)采樣轉(zhuǎn)換兩次,相當于兩個A/D轉(zhuǎn)換器。用戶可以同時啟動這兩個A/D轉(zhuǎn)換器進行采樣,也可以啟動某個A/D轉(zhuǎn)換器,讓它連續(xù)采樣兩次。
同傳統(tǒng)A/D相比,嵌入式A/D具有如下的特點:在A/D模塊的硬件資源配置好了之后,用戶可以用軟件指令隨時啟動A/D采樣,并獲得A/D轉(zhuǎn)換的結(jié)果。同傳統(tǒng)A/D不同的是,采集功能單元的硬件資源配置還有一部分是通過軟件完成的。
利用F2812內(nèi)部增強型A/D可以在一塊采集卡上實現(xiàn)對同步、異步模擬信號的采集和A/D轉(zhuǎn)換。其示意圖如圖4所示。
運用TMS320F2812片內(nèi)集成的A/D轉(zhuǎn)換器進行數(shù)據(jù)采集。程序首先對A/D進行初始化,當A/D非常忙時,啟動16個A/D通道進行轉(zhuǎn)換,主程序進入死循環(huán);當A/D正常轉(zhuǎn)換完畢后,進入中斷服務(wù)子程序。中斷服務(wù)程序?qū)?6個A/D轉(zhuǎn)換結(jié)果讀入數(shù)組al[16]中,并再次啟動16個A/D通道進行轉(zhuǎn)換,如此循環(huán)往復。程序設(shè)計使用C++語言編寫源程序。A/D初始化子程序框圖如圖6所示。中斷服務(wù)子程序流程如圖7所示。
2.3 數(shù)字信號采集的實現(xiàn)
數(shù)字信號可以利用F2812的數(shù)字I/0直接獲得。F2812共有多達56個I/0共享引腳。多數(shù)I/0既可以作為普通的I/0引腳,也可以作為其它功能引腳。通過對I/0控制寄存器編程可以指定這些共享引腳是I/0還是其它功能引腳。當引腳為I/0時,讀出I/0模塊的數(shù)據(jù)和方向寄存器相應(yīng)位的結(jié)果就可以得到所測數(shù)字信號的值了。如果讀出的結(jié)果為0,則相應(yīng)引腳為低電平;結(jié)果為l,則相應(yīng)引腳為高電平。
3 數(shù)據(jù)采集卡的軟件模塊
數(shù)據(jù)采集卡上的軟件主要分為系統(tǒng)配置、轉(zhuǎn)速采集、模擬信號采集轉(zhuǎn)換、數(shù)字信號采集、數(shù)據(jù)處理和上位通信等模塊。在實際應(yīng)用中可以根據(jù)需求進行配置。
4 結(jié)束語
該開發(fā)平臺運用于石油化工領(lǐng)域內(nèi)的煙氣輪機振動故障檢測中流量、溫度、壓力、密封差壓、各點振動位移、催化劑含塵量等參數(shù)的模擬數(shù)據(jù)采集,通過分析可以看出因為TMS320F2812芯片內(nèi)包含了A/D和SRAM,SRAM代替了價格昂貴的FIFO,所以這種采集方法可以大大提高采樣速度和精度,并且可以降低硬件設(shè)計的成本和時間,為下一步基于DSP實時數(shù)字信號處理和分析設(shè)計奠定了良好的基礎(chǔ)。