基于DSP和USB技術(shù)的數(shù)據(jù)采集與處理系統(tǒng)
掃描二維碼
隨時隨地手機(jī)看文章
關(guān)鍵詞: DSP USB 給水泵 狀態(tài)監(jiān)測
1 引言
采用DSP(數(shù)字信號處理器)作為控制器,而采用USB(通用串行總線)和上位機(jī)相連接將是數(shù)據(jù)采集處理系統(tǒng)的一種可能的發(fā)展趨勢。
1.1 數(shù)字信號處理器DSP
DSP芯片,又稱為數(shù)字信號處理器,是一種特別適用于進(jìn)行實時數(shù)字信號處理的微處理器,采用它能滿足系統(tǒng)計算量大的要求。它的主要特點是:(1)它內(nèi)部采用的是程序空間和數(shù)據(jù)空間分開的哈佛結(jié)構(gòu),允許同時取指令和取操作數(shù);(2)芯片內(nèi)多采用分離的總線結(jié)構(gòu),這樣可保證一個極其周期內(nèi)可以多次訪問程序空間和數(shù)據(jù)空間;(3)采用流水線結(jié)構(gòu),在程序運行中取指、譯碼、取操作數(shù)和執(zhí)行階段是重疊的;(4)芯片內(nèi)部一般都包括多個處理單元,它們可以在一個指令周期內(nèi)同時進(jìn)行運算;(5)DSP數(shù)字系統(tǒng)中設(shè)置了一些特殊的DSP指令,能更好地滿足數(shù)字信號處理應(yīng)用的需要;(6)指令周期短,如TMS320F240 的指令周期可達(dá)50ns;(7)硬件配置強(qiáng),接口功能強(qiáng),片內(nèi)具有串行口、主機(jī)接口、DMA控制器、鎖相環(huán)時鐘產(chǎn)生器和在片仿真測試訪問口等。DSP芯片的這些特點,使其在各個領(lǐng)域得到越來越廣泛的應(yīng)用。
1.2 通用串行總線USB
USB(通用串行總線)協(xié)議是一些PC大廠商為了解決日益增加的PC外設(shè)與有限的主板插槽之間的矛盾而制定的一種串行通信標(biāo)準(zhǔn)。USB接口是一個快速的、雙向的、同步的、低成本的、動態(tài)的串行連接接口,支持主機(jī)和并發(fā)存取外設(shè)之間的數(shù)據(jù)交換。所連的外設(shè)通過主機(jī)調(diào)度和基于令牌的協(xié)議共享USB帶寬。USB 的主要優(yōu)點有:(1)速度快;(2)設(shè)備配置和安裝容易。所有的USB設(shè)備支持熱拔插,系統(tǒng)對其進(jìn)行自動配置;(3)能夠采用總線供電;(4)易于擴(kuò)展; (5)使用靈活,USB共有4種傳輸模式:控制傳輸、同步傳輸、中斷傳輸、塊傳輸,以適用不同的設(shè)備的需要;(5)容錯性強(qiáng),USB協(xié)議規(guī)定了對各種可能遇到的錯誤的處理和恢復(fù)機(jī)制,保證了數(shù)據(jù)傳輸?shù)恼_性,同時,對設(shè)備的熱拔插處理迅速且不影響系統(tǒng)的正常工作;(6)實現(xiàn)成本低,USB對系統(tǒng)與PC的集成進(jìn)行了優(yōu)化,適合于開發(fā)低成本的外設(shè)。由于這些優(yōu)點,USB的應(yīng)用范圍很廣。
下面本文將介紹一個具體的基于DSP和USB技術(shù)的數(shù)字采集與處理系統(tǒng)給水泵運行狀態(tài)監(jiān)測系統(tǒng)。本系統(tǒng)需要對給水泵運行過程中的過程量和機(jī)械量進(jìn)行采集,需要對振動信號進(jìn)行處理,下面分別介紹系統(tǒng)的工作原理、總體設(shè)計、硬件設(shè)計和軟件設(shè)計。
2 系統(tǒng)工作原理和總體設(shè)計
給水泵運行狀態(tài)監(jiān)測系統(tǒng)主要完成各路機(jī)械量和過程量的采集,并對各振動信號進(jìn)行階比譜分析,計算振動幅度的平均值,并將采集數(shù)據(jù)和分析結(jié)果上傳PC機(jī),為在線檢修系統(tǒng)的專家系統(tǒng)提供給水泵的運行狀態(tài)信息;同時就地簡單顯示給水泵的狀態(tài)信息,并提供給水泵振動幅值越限和軸向位移越限報警。
系統(tǒng)的特點是計算量大,通信數(shù)據(jù)量大,而且給水泵運行狀態(tài)監(jiān)測儀必須提供實時的狀態(tài)數(shù)據(jù),這就對實時性提出了較高的要求。根據(jù)系統(tǒng)的這些特點我們采用DSP(數(shù)字信號處理器)+USB(通用串行接口)的方案來滿足系統(tǒng)的需求。
給水泵狀態(tài)監(jiān)測系統(tǒng)由信號調(diào)理電路、A/D轉(zhuǎn)換器、DSP處理器、SRAM、LCD、鍵盤以及基于PLD的接口和邏輯控制電路組成。系統(tǒng)的總體設(shè)計框圖如圖1所示。
3 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件部分的主要內(nèi)容包括DSP最小系統(tǒng)的設(shè)計、通信模塊的設(shè)計、人機(jī)接口模塊的設(shè)計、調(diào)理電路的設(shè)計和電源模塊的設(shè)計。
DSP小系統(tǒng)包括復(fù)位電路、時鐘電路、SRAM接口、Flash memory接口和邏輯控制電路等。這里的DSP控制器選用的是TMS320F240,它具有強(qiáng)大的外設(shè)功能,能為基于控制的應(yīng)用設(shè)計提供高性價比的解決方案。
本系統(tǒng)采用了兩種通信接口,分別為USB和RS232接口。USB接口用于儀表向PC機(jī)上傳數(shù)據(jù)。RS232接口主要用于調(diào)試和用于與慢速外設(shè)接口,當(dāng)系統(tǒng)上傳的數(shù)據(jù)不多時也可用于儀表向PC機(jī)傳輸數(shù)據(jù),這樣可以簡化PC機(jī)軟件的設(shè)計。下面分別對這兩個接口進(jìn)行介紹。
3.1 RS232接口
DSP控制器TMS320F240內(nèi)含有一個全雙工的串行接口,通過編程可以很方便的實現(xiàn)RS232串行通信。通信標(biāo)準(zhǔn)采用RS-232C。這里采用 MAX232芯片完成電平轉(zhuǎn)換工作。MAX232芯片是MAXIM公司生產(chǎn)的低功耗、單5V電源供電,雙RS232發(fā)送/接收器,它具有驅(qū)動能力,不需要外加任何驅(qū)動電路。采用MAX232的串行通信接口電路如圖2所示。
3.2 USB接口
USB具有完全的即插即用特性,不占用中斷等系統(tǒng)資源,提供多種數(shù)據(jù)傳輸方式以及能達(dá)到較高的數(shù)據(jù)傳輸速率等特點。使用USB接口可以減少系統(tǒng)的體積,降低系統(tǒng)的功耗,使儀表與系統(tǒng)的接口更加方便。
從技術(shù)上說,USB是一個電纜總線協(xié)議,用于主機(jī)與可訪問輔助設(shè)備的數(shù)據(jù)交換。通過一個由主機(jī)分配的令牌協(xié)議,輔助設(shè)備共享USB的帶寬。一個完整的USB系統(tǒng)是由USB主機(jī)、集線器、連接電纜和USB外設(shè)組成。本文研究的給水泵運行狀態(tài)監(jiān)測儀屬于USB外設(shè)。
本文選用的USB通信芯片是PDIUSBD12。它是一款性價比很高的器件,通常用在基于MCU的系統(tǒng)中,能夠通過高速通用并行接口與微控制器通信,同時也支持本地的DMA傳輸。PDIUSBD12與TMS320F240的接口電路如圖3所示。
PDIUSBD12和其他常見的接口芯片一樣,也是通過向芯片寫入控制字來操作的。首先向芯片寫入一個字節(jié)的命令字,通知芯片按一定的方式處理下面的數(shù)據(jù),然后對芯片讀寫一個或多個字節(jié)的數(shù)據(jù),這些數(shù)據(jù)包括的內(nèi)容可能是地址、數(shù)據(jù)以及一些設(shè)置位。
4 系統(tǒng)軟件設(shè)計
本系統(tǒng)采用C和匯編混合編程,主程序框架采用C語言編制,關(guān)鍵算法(如FIR、FFT等)用匯編語言實現(xiàn)。
給水泵運行狀態(tài)監(jiān)測儀的主要任務(wù)是:完成過程量與機(jī)械量的采集,濾波,對機(jī)械量進(jìn)行譜分析,將所采集的數(shù)據(jù)和分析結(jié)果上傳給PC機(jī),同時,就地簡單顯示給水泵的運行狀態(tài)信息等。
我們把系統(tǒng)設(shè)計成前后臺系統(tǒng),也可稱作為超循環(huán)系統(tǒng)。應(yīng)用程序是一個無限的循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)來完成相應(yīng)的操作,這部分可以看成后臺行為。中斷服務(wù)程序處理異步事件,這部分可以看成前臺行為。后臺也可以叫做任務(wù)級,前臺也叫中斷級。時間相關(guān)性很強(qiáng)的關(guān)鍵操作一定是靠中斷程序保證的。
后臺程序完成的功能包括:過程量的采集和濾波,軸振采樣周期的確定,并根據(jù)采樣周期初始化定時器0,F(xiàn)FT變換,將采集的數(shù)據(jù)和分析后的數(shù)據(jù)放在發(fā)送緩沖區(qū),將待顯示的信息寫入顯示緩沖區(qū),對PC機(jī)傳下來的命令和數(shù)據(jù)信息做相應(yīng)處理。后臺程序的流程圖如圖4所示。
前臺程序主要包括3個定時中斷和鍵盤中斷服務(wù)子程序。定時器0中斷,主要用于機(jī)械量數(shù)據(jù)采集和抗混疊濾波;定時器1中斷,為RS232串行通信提供發(fā)送節(jié)拍;定時器2中斷,為顯示器的刷新提供時鐘節(jié)拍;鍵盤中斷,完成鍵盤的掃描和獲取鍵值。以定時器0中斷子程序的程序流程圖如圖5所示。
5 結(jié)束語
本文雖以給水泵為例,但并不局限于給水泵,更換信號調(diào)理板,對于其他轉(zhuǎn)子機(jī)械的運行狀態(tài)監(jiān)測同樣適用。本系統(tǒng)也可以作為數(shù)據(jù)采集與處理的一個通用平臺,具有廣闊的應(yīng)用前景。