晏明軍
(遼寧鐵道職業技術學院,遼寧錦州,121000)
μCOSII嵌入式數據采集系統設計
晏明軍
(遼寧鐵道職業技術學院,遼寧錦州,121000)
針對以往的數據采集系統實時性差數據傳輸率低的問題,設計利用操作系統μCOSII高實時性和USB數據傳輸高效性,構建了基于μCOSII和USB2.0的數據采集系統。系統由信號預處理單元、AD轉換單元、數據傳輸單元、LCD顯示單元等組成。通過輸入特定的模擬信號,得出了系統的性能參數。經過多次實驗,數據表明:該數據采集系統可實現最大工作頻率為110KHZ采樣頻率轉換精度為0.08v的現場模擬信號的采集。
μCOSII;USB2.0;數據采集系統;LPC2142
電子技術的不斷發展,對現代數據采集系統的高速、大容量數據流和實時處理的能力提出了更高要求。其特點在于系統的輸入、處理和輸出等處理階段都具有絕對的時間限制,這就對系統實時性和數據傳輸速度提出了更高的要求。采用μCOSII嵌入式多任務實時操作系統內核,可以避免傳統的單片機前后臺系統任務響應時間長的不足。采用USB總線作為數據采集系統與PC機的數據輸送通道,不但安裝方便,不受機箱內環境的干擾,而且在擴展性、傳輸速度、連接距離等方面完全可以滿足要求。
LPC2142是整個系統的核心元件。整個系統由信號預處理單元、AD轉換單元、數據處理單元、數據傳輸單元、LCD顯示單元組成。其中信號處理單元實現對采樣數據的預處理,使其符合LPC2142的內置AD轉換器的要求。AD轉換單元實現信號的模擬量向數字量的轉變,同時產生10位精度的數字信號。數字信號經過LPC2142處理后以曲線的形式顯示在液晶顯示器上,同時數據通過USB數據傳輸單元傳送到計算機上進行進一步的處理。其硬件設計框圖如圖1所示。
1.1 信號處理單元
由于傳感器輸出的信號沒有進行放大和濾波,模擬信號不符合A/D轉換芯片的要求。因此在AD轉換之前必須得進行信號的處理。該信號處理模塊采用選頻網絡的方法把信號進行放大濾波,并且把帶寬調整到符合AD轉換器的頻率范圍。圖2為中心頻率為300MHZ的選頻帶通電路。

圖1 硬件示意圖
1.2 LPC2142處理芯片
本系統的處理器選用 LPC2142芯片做控制核心。其128位寬度接口加速器可實現高達60 MHz工作頻率。芯片內置的USB 2.0全速設備控制器具有2kB的終端RAM,支持Softconnect特性,并完全兼容USB2.0全速規范。LPC2142還擁有1個10位AD轉換器,提供總共6路模擬輸入,每個通道的轉換時間低至2.44us,支持一個或多個輸入的突發轉換模式,可以選擇由輸入跳變或定時器匹配信號觸發轉換[1]。

圖2 選頻帶通電路圖
數據采集系統的AD轉換單元利用了LPC2142芯片內集成的AD轉換器。這樣不僅降低了這個系統的成本,并且也省去了外接AD轉換器時復雜的引線連接,從而避免了連接缺陷造成的數字信號的異常。系統的數據傳輸單元也利用了LPC2142內置的USB2.0控制器,與其它USB設備控制器相比,LPC2142USB設備控制器內嵌于CPU芯片內部。這種集成的形式不僅使USB設備控制器與CPU之間的數據交換可以穩定地達到很高的速度,而且提高了芯片的性價比。USB接口電路如圖3所示。
AD轉換任務控制著LPC2142內置AD轉換器的運行,它初始化AD轉換器并控制采樣的通道選擇和采樣的時間間隔。當它完成一次轉換后自動向數據轉換消息隊列發送10位的轉換結果。而后程序回到程序開始處執行下一次的AD轉換。
LCD控制任務控制著240×128點陣液晶屏的顯示。在任務中它首先初始化LCD,然后進入死循環等待數據處理消息隊列的消息,一旦有消息它就把消息取出來并發送到LCD上進行顯示。

圖3 USB接口電路
1.3 LCD顯示單元
該數據采集系統的顯示器使用240×128的點陣LCD顯示器進行數據曲線的顯示,這樣可以給用戶提供友好的人機交互界面,使操作更加方便。通過LPC2142處理器的通用I/O口與顯示器接口連接,實現LPC2142處理器對LCD液晶顯示器的驅動與控制,并將處理后的數據通傳送給LCD顯示器進行數據曲線的顯示。
以往的單片機編程采用前后臺系統,這種系統在功能較復雜、程序規模大,特別是系統中并發模塊很多的時候,就顯得力不從心,很難確保控制、測量的實時性,并且程序編寫困難也不便于增加功能。
μCOSII是一個嵌入式實時多任務操作系統內核,具有很強的穩定和安全性。μCOSII是一個完整的、可剪裁、容易移植、可固化的占先式實時多任務內核,內核大部分以ANSI C為編程語言,廣泛的適合于不同架構的微處理器。μCOSII具有源碼公開、移植性好、可剪裁、多任務、穩定和可靠等特點[2]。
本程序在μCOSII操作系統基礎上進行編程。整個軟件程序分為4個任務:AD控制任務、LCD控制任務、數據處理任務、USB數據傳輸任務。4個任務的關系如圖4。

圖4 程序任務圖
之后任務重新等待消息隊列中的消息。直到消息隊列中有了消息程序才會繼續進行。
數據處理任務從數據轉換消息隊列中取出消息,消息中的數據首先發送到數據傳輸消息隊列中。然后再對數據進行處理使之能夠在LCD上以曲線的形式進行顯示,而后將處理后的數據發送到數據處理消息隊列中。最后任務重新回到開始,等待數據轉換消息隊列消息的到來。
USB數據傳輸任務控制著數據的傳輸。它從數據傳輸消息隊列中取出數據,然后將數據傳送給計算機實現進一步的處理。該任務是整個軟件設計中最復雜的部分。為了使軟件易維護并綜合考慮USB協議、LPC2142 USB的硬件條件后,采用了分層的方法編寫USB程序。USB分層結構圖如圖5所示。

圖5 USB分層結構圖
利用該數據采集系統采集處理特定的模擬信號,分析出了整個系統的誤差。從測試的結果上看,該系統達到了±0.4%的動態測量精度。測試分析的數據曲線如圖6所示。
采用高性能的ARM微處理器LPC2142替代了傳統的8位或16位單片機,使得系統具有了豐富的功能和高效的實時處理能力。采用實時操作系統μCOSII,簡化了復雜系統的設計,增加了模塊化程度,同時使得功能擴展更加容易。LCD液晶提供了友好的顯示界面,增強了人機交互能力。大量事實表明用上述方式設計的數據采集系統能夠測量較寬范圍的模擬信號,并具有很高的穩定性和測量精度。該系統可以與昂貴的數據采集系統相媲美,具有很好的應用推廣價值。

圖6 實驗曲線
[1]胡曉軍.張愛成.USB接口開發技術.西安:西安電子科技大學出版社,2005.
[2]任哲.嵌入式實時操作系統μCOSII原理及應用.北京:北京航空航天大學2005
[3]張曉.嵌入式實時操作系統μCOSII的研究與應用.大連.大連海事大學,2006.
[4]鄒久朋.微控制器原理與實例.北京:化學工業出版社,2004.
[5]馬明建.數據采集與處理技術.西安:西安交通大學出版社,2005.
[6]郝洪彬.程翔.基于USB的數據采集系統設計.機械工程與自動化2014(06)57-58.
[7]袁坤.嵌入式數據采集系統設計.石家莊:石家莊鐵道大學.2015.
[8]邵貝貝.一種源碼公開的實時嵌入式操作系統μCOSII.世界電子元器件2001(10):41~42.
[9]胡德斌.基于μCOSII操作作系統的嵌入式網絡服務器的設計與實現.微計算機信息2005(13):24~25
The design of embedded data acquisition system based on μCOSII
Yan Mingjun
(Liaoning Railway Vocational and Technological College, Jinzhou Liaoning,121000)
Aiming at resolving poor real-time problem and low data transfer rate of the data acquisition systems, this data acquisition system has been designed which based on USB2.0 and μCOSII. High realtime operating systemμCOSII and highly effective USB2.0 controller have used in this design. The system is consisted by signal processing unit, AD conversion unit, Data transmission unit, LCD display unit and so forth. By entering the specific analog signal, the system performance parameters are concluded. After several testings, it indicates that the data acquisition system allows maximum 110KHZ operating frequency and 0.08v conversion accuracy.
μCOSII;USB2.0;data acquisition system;LPC2142