基于ARM7內(nèi)核和μC/OS-Ⅱ的數(shù)據(jù)采集裝置設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:基于ARM7內(nèi)核的LPC2144芯片,利用μC/0S-Ⅱ嵌入式實(shí)時(shí)操作系統(tǒng)的可裁剪性、可移植性和多任務(wù)等特點(diǎn)支持下的數(shù)據(jù)采集裝置,研究了數(shù)據(jù)采集裝置在工業(yè)控制系統(tǒng)中的應(yīng)用,在生產(chǎn)過程中可對(duì)生產(chǎn)現(xiàn)場的各種參數(shù)進(jìn)行采集、監(jiān)視和記錄;數(shù)據(jù)采集是控制系統(tǒng)實(shí)現(xiàn)控制的基本條件,只有準(zhǔn)確實(shí)時(shí)的獲取對(duì)象的運(yùn)行數(shù)據(jù)才能實(shí)施有效的控制。結(jié)果表明ARM7內(nèi)核+嵌入式操作系統(tǒng)μC/0S-Ⅱ的移植數(shù)據(jù)采集裝置,具有低成本、低功耗、微型化、精度高、運(yùn)行穩(wěn)定、性價(jià)比高等特點(diǎn),不僅使其采集性能大幅度提高,而且抗干擾能力和實(shí)時(shí)性顯著增
強(qiáng),可以在各種工業(yè)場合中廣泛應(yīng)用。
關(guān)鍵詞:數(shù)據(jù)采集;嵌入式系統(tǒng);μC/OS-Ⅱ;LPC2144;RS485;USB
0 引言
數(shù)據(jù)采集技術(shù)是信息科學(xué)的一個(gè)重要分支。隨著計(jì)算機(jī)科學(xué)技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集技術(shù)己經(jīng)滲透到雷達(dá)、通信、水聲、遙感、地質(zhì)勘探、振動(dòng)工程、語音處理、智能儀器、工業(yè)自動(dòng)控制以及生物醫(yī)學(xué)工程等眾多領(lǐng)域。數(shù)據(jù)采集裝置是在工業(yè)控制系統(tǒng)中應(yīng)用最廣泛的一種設(shè)備,可實(shí)現(xiàn)對(duì)生產(chǎn)現(xiàn)場的各種參數(shù)進(jìn)行采集、監(jiān)視和記錄。
數(shù)據(jù)采集裝置的發(fā)展方向?yàn)椋簩?shí)時(shí)性好、適用性廣和可靠性高。因此采用嵌入式技術(shù),開發(fā)一種基于嵌入式實(shí)時(shí)操作系統(tǒng)和ARM處理器的高精度、強(qiáng)實(shí)時(shí)性和廣適用性的新型數(shù)據(jù)采集裝置非常必要。
順應(yīng)市場需求設(shè)計(jì)的數(shù)據(jù)采集裝置設(shè)計(jì),采用了基于ARM7處理器為內(nèi)核的飛利浦公司32位單片機(jī)LPC2144,其數(shù)據(jù)處理能力和豐富的片內(nèi)資源滿足了數(shù)據(jù)采集裝置的功能和性能需要。同時(shí)可以使系統(tǒng)小型化,便于提高性能以及與各種外設(shè)連接擴(kuò)展,降低了成本。μC/OS-Ⅱ作為一個(gè)源代碼公開的操作系統(tǒng),在具體應(yīng)用中穩(wěn)定可靠。ARM7+μC/OS-Ⅱ開發(fā)設(shè)計(jì),利用嵌入式實(shí)時(shí)操作系統(tǒng)的可裁剪性、可移植性和多任務(wù)等特點(diǎn),不僅使其采集性能大幅度提高,而且使抗干擾能力和實(shí)時(shí)性顯著增強(qiáng)??梢栽诟鞣N工業(yè)場合中廣泛應(yīng)用,達(dá)到了設(shè)計(jì)的初衷。
1 總體方案
設(shè)計(jì)在研究嵌入式實(shí)時(shí)操作系統(tǒng)、ARM處理器和數(shù)據(jù)采集技術(shù)基本原理的基礎(chǔ)上,完成基于ARM處理器和嵌入式實(shí)時(shí)操作系統(tǒng)的數(shù)據(jù)采集裝置的設(shè)計(jì)。裝置具有USB接口、RS485接口,可以滿足遠(yuǎn)程和近程數(shù)據(jù)采集的需要,同時(shí)還可以與各種傳感器配合可實(shí)現(xiàn)對(duì)溫度、壓力、流量、液位等常用數(shù)據(jù)的采集。
2 數(shù)據(jù)采集裝置的硬件設(shè)計(jì)
數(shù)據(jù)采集裝置功能模塊框圖如圖1所示。
2.1 系統(tǒng)器件的選擇
2.1.1 微處理器的選型
作為數(shù)據(jù)采集系統(tǒng)的核心部件,微處理器的選擇對(duì)整個(gè)系統(tǒng)功能的優(yōu)化起著至關(guān)重要的作用。當(dāng)今市場上流行的微處理器眾多,在不同的應(yīng)用領(lǐng)域,它們都發(fā)揮著各自的優(yōu)勢。一般的選型原則是:滿足應(yīng)用要求,簡單易用,價(jià)格便宜,設(shè)計(jì)周期短。
LPC2144單片機(jī)是飛利浦公司生產(chǎn)的以ARM處理器為內(nèi)核的微處理器,其處理速度快、應(yīng)用廣泛、價(jià)格低廉、并且ARM處理器的功耗是同檔次其他嵌入式處理器中較低的。低成本、微電流供電的ARM處理器使電路設(shè)計(jì)更加便捷、可靠、節(jié)能。
2.1.2 嵌入式實(shí)時(shí)操作系統(tǒng)的選型
嵌入式實(shí)時(shí)操作系統(tǒng)種類很多,大體可以分為商用型和免費(fèi)型。商用型實(shí)時(shí)操作系統(tǒng)功能穩(wěn)定、可靠,有完善的技術(shù)支持,但往往價(jià)格昂貴;免費(fèi)型實(shí)時(shí)操作系統(tǒng)在價(jià)格方面具有優(yōu)勢,常用的主要有Linux和μC/OS-Ⅱ兩種。
Linux可以移植到多個(gè)不同結(jié)構(gòu)的CPU和硬件平臺(tái),具有很好的穩(wěn)定性及升級(jí)能力,而且開發(fā)容易,對(duì)商用嵌入式操作系統(tǒng)帶來了很大的沖擊。
μC/OS-Ⅱ僅是一個(gè)實(shí)時(shí)內(nèi)核,它不像其他實(shí)時(shí)操作系統(tǒng)那樣提供給用戶的一些API函數(shù)接口,很多工作需要自己去完成。把μC/OS-Ⅱ移植到目標(biāo)硬件平臺(tái)上只是系統(tǒng)設(shè)計(jì)工作的開始,還需要針對(duì)實(shí)際的應(yīng)用需求對(duì)μC/OS-Ⅱ進(jìn)行功能擴(kuò)展,包括底層的硬件驅(qū)動(dòng)、文件系統(tǒng)、用戶圖像接口(GUI)等,從而建立一個(gè)實(shí)用的RTOS。
綜合考慮嵌入式操作系統(tǒng)的硬件支持;可移植性;開發(fā)工具的支持程度;能否滿足應(yīng)用需求;中文內(nèi)核支持;標(biāo)準(zhǔn)兼容性;技術(shù)支持等等,決定選用嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ。
2.2 硬件設(shè)計(jì)方案
數(shù)據(jù)采集裝置的硬件部分以飛利浦公司LPC2144為核心,其數(shù)據(jù)處理能力和豐富的片內(nèi)資源滿足了數(shù)據(jù)采集裝置的功能和性能需要。配以模擬量采集電路、開關(guān)量采集電路、USB接口電路、RS485接口電路、液晶顯示電路、鍵盤電路等組成。
LPC2144管腳配置圖如圖2所示。
2.2.1 數(shù)據(jù)采集單元設(shè)計(jì)
數(shù)據(jù)采集電路部分選用不同的傳感器和信號(hào)調(diào)理電路,可實(shí)現(xiàn)對(duì)多種電量與非電量的采集與處理,運(yùn)行穩(wěn)定可靠,采樣精度高,能滿足系統(tǒng)的設(shè)計(jì)要求。
作為通用數(shù)據(jù)采集裝置輸入信號(hào)范圍是很大的,而LPC2144-單片機(jī)內(nèi)嵌ADC轉(zhuǎn)換器的供電電壓是+3V,ADC電路的被測信號(hào)輸入端的輸入電壓必須小于電源電壓,否則測量值將不準(zhǔn)確。必須將輸入的被測信號(hào)的電壓范圍調(diào)理到ADC轉(zhuǎn)換的測量范圍內(nèi),才能得到正確的ADC轉(zhuǎn)換值。
工作原理:調(diào)理電路根據(jù)各種傳感器輸出電壓或電流的不同,由DIP開關(guān)控制MSP430輸出端的繼電器,通過不同開關(guān)的閉合來改變放大電路的放大倍數(shù),同時(shí)MSP430芯片還控制一個(gè)DAC來為不同的放大電路提供不同的偏置電壓,從而實(shí)現(xiàn)量程的轉(zhuǎn)換。最終將0~3 V范圍的電壓信號(hào)輸入ADC中。
2.2.2 USB接口電路
USB(Universal Serial Bus)即通用串行總線。一個(gè)USB系統(tǒng)通常包括三個(gè)部分:USB互連、USB設(shè)備和USB主機(jī)。USB特有的優(yōu)點(diǎn):即插即用、低功耗、完整的總線拓?fù)浣Y(jié)構(gòu)、硬件結(jié)構(gòu)標(biāo)準(zhǔn)化等。
LPC2144單片機(jī)內(nèi)部有集成的USB控制器,完全兼容USB 2.0全速規(guī)范;支持32個(gè)物理(16個(gè)邏輯)端點(diǎn);支持控制、批量、中斷和同步端點(diǎn);運(yùn)行時(shí)可通過軟件來選擇端點(diǎn)最大包長度(取決于USB最大規(guī)格);RAM大小取決于使用的端點(diǎn)和最大包的長度;支持SoftConnectTM特性和GoodLinkTM LED指示器;支持總線供電功能,具有較低的掛起電流。
可工作于設(shè)備方式。
2.2.3 RS-485接口電路
RS-485接口的優(yōu)點(diǎn)在于它使用一對(duì)雙絞線就能實(shí)現(xiàn)單片機(jī)與上位機(jī)的通訊。具有高噪聲抑制、寬共模范圍、長傳輸距離、沖突保護(hù)以及價(jià)格低廉等優(yōu)點(diǎn),這些優(yōu)點(diǎn)使其在工業(yè)控制、工業(yè)設(shè)備中得到了廣泛的應(yīng)用。
由于大多數(shù)PC機(jī)只具有RS-232串行通信口,而不具備RS-485接口,因此,為了實(shí)現(xiàn)RS-485接口串行通信,必須在PC機(jī)側(cè)配置RS-232/RS-485接口轉(zhuǎn)換電路,具體通過設(shè)計(jì)一塊RS-232/RS-485轉(zhuǎn)接板來實(shí)現(xiàn)。
3 數(shù)據(jù)采集裝置的軟件設(shè)計(jì)
軟件設(shè)計(jì)上,采用基于μC/OS-Ⅱ多任務(wù)編程思想。
μC/OS-Ⅱ是由Jean J.Labrosse編寫的、很流行的一種免費(fèi)公開源代碼的實(shí)時(shí)操作系統(tǒng)。μC/OS-Ⅱ不僅具有結(jié)構(gòu)小巧、可固化、可裁剪、多任務(wù)和可剝奪型的實(shí)時(shí)內(nèi)核等特點(diǎn),而且其實(shí)時(shí)性、穩(wěn)定性、可靠性也得到了廣泛的認(rèn)可。
μC/OS-Ⅱ使用前,必須先移植到微處理器上。LPC2144具有強(qiáng)大的處理能力,RISC結(jié)構(gòu),128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行,同時(shí)具有豐富的片內(nèi)外設(shè),如硬件乘法器、ADC、定時(shí)器、PWM通道、高速GPIO線、看門狗等。內(nèi)部還具有16 kB的RAM和128 kB的FLASH。足以滿足移植所需要的條件。
3.1 LPC2144單片機(jī)的啟動(dòng)代碼編寫
FLASH中的程序執(zhí)行前,需要對(duì)系統(tǒng)硬件和軟件運(yùn)行環(huán)境進(jìn)行初始化。這些工作是用匯編語言和C語言編寫的啟動(dòng)(BootloadetO)代碼完成的。
在啟動(dòng)代碼的編寫中,將啟動(dòng)代碼劃分為5個(gè)文件:Startup.s、IRQ.s、stack.s、heap.s和target.c。Startup.s包含向量表和系統(tǒng)初始化代碼。IRQ.s包含中斷服務(wù)程序與C程序的接口代碼。stack.s和heap.s保存C語言使用的堆和棧的開始位置。target.c包含目標(biāo)板特殊的代碼,包括異常處理程序和目標(biāo)板初始化程序。
MOV R0,LR;因芯片模式切換,故將程序返回地址保存至R0,同時(shí)在初始化堆棧完成后使用R0返回。
其余的步驟都在TargetResetInit函數(shù)中加以實(shí)現(xiàn)。
3.2 外設(shè)驅(qū)動(dòng)程序
在μC/OS-Ⅱ一類的微內(nèi)核操作系統(tǒng)中,設(shè)備驅(qū)動(dòng)一般都是由應(yīng)用程序在內(nèi)核外部實(shí)現(xiàn)的。不過由于不分系統(tǒng)空間和用戶空間,這些設(shè)備驅(qū)動(dòng)程序仍在系統(tǒng)中執(zhí)行。從實(shí)現(xiàn)方式上看,設(shè)備驅(qū)動(dòng)程序的實(shí)現(xiàn)可以分為兩種:一種是輪詢(Polling)方式,另一種是中斷方式。
設(shè)計(jì)采用中斷式設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)方式。
4 結(jié)束語
數(shù)據(jù)采集裝置的低成本、低功耗、實(shí)時(shí)性設(shè)計(jì)是數(shù)據(jù)采集領(lǐng)域的一個(gè)主要研究方向。
數(shù)據(jù)采集裝置充分利用了LPC2144豐富的片上資源,大大簡化了硬件電路的設(shè)計(jì);采用RS-485接口和USB接口通信技術(shù),既可以實(shí)現(xiàn)系統(tǒng)的遠(yuǎn)程數(shù)據(jù)采集,又可以與PC機(jī)相連實(shí)現(xiàn)實(shí)驗(yàn)室數(shù)據(jù)采集;同時(shí)該裝置是基于實(shí)時(shí)嵌入式操作系統(tǒng)的,在實(shí)時(shí)性方面具有很大的優(yōu)越性。
通過實(shí)驗(yàn)驗(yàn)證了其設(shè)計(jì)的合理性和可行性。該數(shù)據(jù)采集裝置具有低成本、低功耗、微型化、精度高、運(yùn)行穩(wěn)定、實(shí)時(shí)性好、抗干擾能力強(qiáng)、性價(jià)比高等特點(diǎn),可以采集多種傳感器輸出的標(biāo)準(zhǔn)信號(hào)。但在系統(tǒng)功能的擴(kuò)展和通信方面還有待于進(jìn)一步改進(jìn)與提高。