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