晏明軍
(遼寧鐵道職業(yè)技術(shù)學(xué)院,遼寧錦州,121000)
μCOSII嵌入式數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
晏明軍
(遼寧鐵道職業(yè)技術(shù)學(xué)院,遼寧錦州,121000)
針對以往的數(shù)據(jù)采集系統(tǒng)實(shí)時(shí)性差數(shù)據(jù)傳輸率低的問題,設(shè)計(jì)利用操作系統(tǒng)μCOSII高實(shí)時(shí)性和USB數(shù)據(jù)傳輸高效性,構(gòu)建了基于μCOSII和USB2.0的數(shù)據(jù)采集系統(tǒng)。系統(tǒng)由信號預(yù)處理單元、AD轉(zhuǎn)換單元、數(shù)據(jù)傳輸單元、LCD顯示單元等組成。通過輸入特定的模擬信號,得出了系統(tǒng)的性能參數(shù)。經(jīng)過多次實(shí)驗(yàn),數(shù)據(jù)表明:該數(shù)據(jù)采集系統(tǒng)可實(shí)現(xiàn)最大工作頻率為110KHZ采樣頻率轉(zhuǎn)換精度為0.08v的現(xiàn)場模擬信號的采集。
μCOSII;USB2.0;數(shù)據(jù)采集系統(tǒng);LPC2142
電子技術(shù)的不斷發(fā)展,對現(xiàn)代數(shù)據(jù)采集系統(tǒng)的高速、大容量數(shù)據(jù)流和實(shí)時(shí)處理的能力提出了更高要求。其特點(diǎn)在于系統(tǒng)的輸入、處理和輸出等處理階段都具有絕對的時(shí)間限制,這就對系統(tǒng)實(shí)時(shí)性和數(shù)據(jù)傳輸速度提出了更高的要求。采用μCOSII嵌入式多任務(wù)實(shí)時(shí)操作系統(tǒng)內(nèi)核,可以避免傳統(tǒng)的單片機(jī)前后臺系統(tǒng)任務(wù)響應(yīng)時(shí)間長的不足。采用USB總線作為數(shù)據(jù)采集系統(tǒng)與PC機(jī)的數(shù)據(jù)輸送通道,不但安裝方便,不受機(jī)箱內(nèi)環(huán)境的干擾,而且在擴(kuò)展性、傳輸速度、連接距離等方面完全可以滿足要求。
LPC2142是整個(gè)系統(tǒng)的核心元件。整個(gè)系統(tǒng)由信號預(yù)處理單元、AD轉(zhuǎn)換單元、數(shù)據(jù)處理單元、數(shù)據(jù)傳輸單元、LCD顯示單元組成。其中信號處理單元實(shí)現(xiàn)對采樣數(shù)據(jù)的預(yù)處理,使其符合LPC2142的內(nèi)置AD轉(zhuǎn)換器的要求。AD轉(zhuǎn)換單元實(shí)現(xiàn)信號的模擬量向數(shù)字量的轉(zhuǎn)變,同時(shí)產(chǎn)生10位精度的數(shù)字信號。數(shù)字信號經(jīng)過LPC2142處理后以曲線的形式顯示在液晶顯示器上,同時(shí)數(shù)據(jù)通過USB數(shù)據(jù)傳輸單元傳送到計(jì)算機(jī)上進(jìn)行進(jìn)一步的處理。其硬件設(shè)計(jì)框圖如圖1所示。
1.1 信號處理單元
由于傳感器輸出的信號沒有進(jìn)行放大和濾波,模擬信號不符合A/D轉(zhuǎn)換芯片的要求。因此在AD轉(zhuǎn)換之前必須得進(jìn)行信號的處理。該信號處理模塊采用選頻網(wǎng)絡(luò)的方法把信號進(jìn)行放大濾波,并且把帶寬調(diào)整到符合AD轉(zhuǎn)換器的頻率范圍。圖2為中心頻率為300MHZ的選頻帶通電路。
圖1 硬件示意圖
1.2 LPC2142處理芯片
本系統(tǒng)的處理器選用 LPC2142芯片做控制核心。其128位寬度接口加速器可實(shí)現(xiàn)高達(dá)60 MHz工作頻率。芯片內(nèi)置的USB 2.0全速設(shè)備控制器具有2kB的終端RAM,支持Softconnect特性,并完全兼容USB2.0全速規(guī)范。LPC2142還擁有1個(gè)10位AD轉(zhuǎn)換器,提供總共6路模擬輸入,每個(gè)通道的轉(zhuǎn)換時(shí)間低至2.44us,支持一個(gè)或多個(gè)輸入的突發(fā)轉(zhuǎn)換模式,可以選擇由輸入跳變或定時(shí)器匹配信號觸發(fā)轉(zhuǎn)換[1]。
圖2 選頻帶通電路圖
數(shù)據(jù)采集系統(tǒng)的AD轉(zhuǎn)換單元利用了LPC2142芯片內(nèi)集成的AD轉(zhuǎn)換器。這樣不僅降低了這個(gè)系統(tǒng)的成本,并且也省去了外接AD轉(zhuǎn)換器時(shí)復(fù)雜的引線連接,從而避免了連接缺陷造成的數(shù)字信號的異常。系統(tǒng)的數(shù)據(jù)傳輸單元也利用了LPC2142內(nèi)置的USB2.0控制器,與其它USB設(shè)備控制器相比,LPC2142USB設(shè)備控制器內(nèi)嵌于CPU芯片內(nèi)部。這種集成的形式不僅使USB設(shè)備控制器與CPU之間的數(shù)據(jù)交換可以穩(wěn)定地達(dá)到很高的速度,而且提高了芯片的性價(jià)比。USB接口電路如圖3所示。
AD轉(zhuǎn)換任務(wù)控制著LPC2142內(nèi)置AD轉(zhuǎn)換器的運(yùn)行,它初始化AD轉(zhuǎn)換器并控制采樣的通道選擇和采樣的時(shí)間間隔。當(dāng)它完成一次轉(zhuǎn)換后自動向數(shù)據(jù)轉(zhuǎn)換消息隊(duì)列發(fā)送10位的轉(zhuǎn)換結(jié)果。而后程序回到程序開始處執(zhí)行下一次的AD轉(zhuǎn)換。
LCD控制任務(wù)控制著240×128點(diǎn)陣液晶屏的顯示。在任務(wù)中它首先初始化LCD,然后進(jìn)入死循環(huán)等待數(shù)據(jù)處理消息隊(duì)列的消息,一旦有消息它就把消息取出來并發(fā)送到LCD上進(jìn)行顯示。
圖3 USB接口電路
1.3 LCD顯示單元
該數(shù)據(jù)采集系統(tǒng)的顯示器使用240×128的點(diǎn)陣LCD顯示器進(jìn)行數(shù)據(jù)曲線的顯示,這樣可以給用戶提供友好的人機(jī)交互界面,使操作更加方便。通過LPC2142處理器的通用I/O口與顯示器接口連接,實(shí)現(xiàn)LPC2142處理器對LCD液晶顯示器的驅(qū)動與控制,并將處理后的數(shù)據(jù)通傳送給LCD顯示器進(jìn)行數(shù)據(jù)曲線的顯示。
以往的單片機(jī)編程采用前后臺系統(tǒng),這種系統(tǒng)在功能較復(fù)雜、程序規(guī)模大,特別是系統(tǒng)中并發(fā)模塊很多的時(shí)候,就顯得力不從心,很難確??刂?、測量的實(shí)時(shí)性,并且程序編寫困難也不便于增加功能。
μCOSII是一個(gè)嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)內(nèi)核,具有很強(qiáng)的穩(wěn)定和安全性。μCOSII是一個(gè)完整的、可剪裁、容易移植、可固化的占先式實(shí)時(shí)多任務(wù)內(nèi)核,內(nèi)核大部分以ANSI C為編程語言,廣泛的適合于不同架構(gòu)的微處理器。μCOSII具有源碼公開、移植性好、可剪裁、多任務(wù)、穩(wěn)定和可靠等特點(diǎn)[2]。
本程序在μCOSII操作系統(tǒng)基礎(chǔ)上進(jìn)行編程。整個(gè)軟件程序分為4個(gè)任務(wù):AD控制任務(wù)、LCD控制任務(wù)、數(shù)據(jù)處理任務(wù)、USB數(shù)據(jù)傳輸任務(wù)。4個(gè)任務(wù)的關(guān)系如圖4。
圖4 程序任務(wù)圖
之后任務(wù)重新等待消息隊(duì)列中的消息。直到消息隊(duì)列中有了消息程序才會繼續(xù)進(jìn)行。
數(shù)據(jù)處理任務(wù)從數(shù)據(jù)轉(zhuǎn)換消息隊(duì)列中取出消息,消息中的數(shù)據(jù)首先發(fā)送到數(shù)據(jù)傳輸消息隊(duì)列中。然后再對數(shù)據(jù)進(jìn)行處理使之能夠在LCD上以曲線的形式進(jìn)行顯示,而后將處理后的數(shù)據(jù)發(fā)送到數(shù)據(jù)處理消息隊(duì)列中。最后任務(wù)重新回到開始,等待數(shù)據(jù)轉(zhuǎn)換消息隊(duì)列消息的到來。
USB數(shù)據(jù)傳輸任務(wù)控制著數(shù)據(jù)的傳輸。它從數(shù)據(jù)傳輸消息隊(duì)列中取出數(shù)據(jù),然后將數(shù)據(jù)傳送給計(jì)算機(jī)實(shí)現(xiàn)進(jìn)一步的處理。該任務(wù)是整個(gè)軟件設(shè)計(jì)中最復(fù)雜的部分。為了使軟件易維護(hù)并綜合考慮USB協(xié)議、LPC2142 USB的硬件條件后,采用了分層的方法編寫USB程序。USB分層結(jié)構(gòu)圖如圖5所示。
圖5 USB分層結(jié)構(gòu)圖
利用該數(shù)據(jù)采集系統(tǒng)采集處理特定的模擬信號,分析出了整個(gè)系統(tǒng)的誤差。從測試的結(jié)果上看,該系統(tǒng)達(dá)到了±0.4%的動態(tài)測量精度。測試分析的數(shù)據(jù)曲線如圖6所示。
采用高性能的ARM微處理器LPC2142替代了傳統(tǒng)的8位或16位單片機(jī),使得系統(tǒng)具有了豐富的功能和高效的實(shí)時(shí)處理能力。采用實(shí)時(shí)操作系統(tǒng)μCOSII,簡化了復(fù)雜系統(tǒng)的設(shè)計(jì),增加了模塊化程度,同時(shí)使得功能擴(kuò)展更加容易。LCD液晶提供了友好的顯示界面,增強(qiáng)了人機(jī)交互能力。大量事實(shí)表明用上述方式設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)能夠測量較寬范圍的模擬信號,并具有很高的穩(wěn)定性和測量精度。該系統(tǒng)可以與昂貴的數(shù)據(jù)采集系統(tǒng)相媲美,具有很好的應(yīng)用推廣價(jià)值。
圖6 實(shí)驗(yàn)曲線
[1]胡曉軍.張愛成.USB接口開發(fā)技術(shù).西安:西安電子科技大學(xué)出版社,2005.
[2]任哲.嵌入式實(shí)時(shí)操作系統(tǒng)μCOSII原理及應(yīng)用.北京:北京航空航天大學(xué)2005
[3]張曉.嵌入式實(shí)時(shí)操作系統(tǒng)μCOSII的研究與應(yīng)用.大連.大連海事大學(xué),2006.
[4]鄒久朋.微控制器原理與實(shí)例.北京:化學(xué)工業(yè)出版社,2004.
[5]馬明建.數(shù)據(jù)采集與處理技術(shù).西安:西安交通大學(xué)出版社,2005.
[6]郝洪彬.程翔.基于USB的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).機(jī)械工程與自動化2014(06)57-58.
[7]袁坤.嵌入式數(shù)據(jù)采集系統(tǒng)設(shè)計(jì).石家莊:石家莊鐵道大學(xué).2015.
[8]邵貝貝.一種源碼公開的實(shí)時(shí)嵌入式操作系統(tǒng)μCOSII.世界電子元器件2001(10):41~42.
[9]胡德斌.基于μCOSII操作作系統(tǒng)的嵌入式網(wǎng)絡(luò)服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn).微計(jì)算機(jī)信息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