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