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