摘 要: 介紹了利用LPC2468處理電導(dǎo)率、溫度傳感器等所采集的信號(hào),,使傳感器的測(cè)量由手控轉(zhuǎn)變?yōu)樽詣?dòng)化,,且其精度大大提高。提出使用傳感器,、ADC7656芯片,、AD7502芯片等建立基于LPC2468的水質(zhì)監(jiān)測(cè)系統(tǒng),利用DM9000芯片實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)之間的通信,,同時(shí)用μC/OS-II開發(fā)采集系統(tǒng)的控制程序,。
關(guān)鍵詞: LPC2468;AD7656,; μC/OS-II,;水質(zhì)監(jiān)測(cè)
中國(guó)是一個(gè)嚴(yán)重缺水的國(guó)家,目前全國(guó)多數(shù)城市地下水受到一定程度的點(diǎn)狀和面狀污染,,嚴(yán)重威脅到城市居民的飲水安全和人民群眾的健康,。水質(zhì)監(jiān)測(cè)是水資源管理與保護(hù)的重要基礎(chǔ),是保護(hù)水環(huán)境的重要手段,,所以對(duì)水質(zhì)監(jiān)測(cè)系統(tǒng)的研究就顯得尤為的重要[1],。本文以LPC2468為CPU,利用AD7656進(jìn)行A/D轉(zhuǎn)換,、通過(guò)DM9000進(jìn)行以太網(wǎng)通信,,實(shí)現(xiàn)的水質(zhì)監(jiān)測(cè)系統(tǒng)具有體積小巧、測(cè)量精度高,、反應(yīng)速度快等優(yōu)點(diǎn),。
1 系統(tǒng)總體設(shè)計(jì)方案
水質(zhì)監(jiān)測(cè)系統(tǒng)采用ARM單核處理系統(tǒng),,其總體設(shè)計(jì)方案如圖1所示。水溫,、電導(dǎo)率等8路模擬量經(jīng)過(guò)傳感器轉(zhuǎn)換為電壓信號(hào),,經(jīng)數(shù)據(jù)采集模塊進(jìn)行信號(hào)濾波調(diào)理與A/D轉(zhuǎn)換后,通過(guò)SPI總線進(jìn)入ARM,。對(duì)ARM擴(kuò)展了一片鐵電存儲(chǔ)器和一片RAM進(jìn)行數(shù)據(jù)緩存,,還擴(kuò)展了一片DM9000用于實(shí)現(xiàn)以太網(wǎng)通信。另外,,人機(jī)接口模塊中的液晶顯示模塊以及按鍵控制模塊使得系統(tǒng)能夠脫離PC機(jī)作為獨(dú)立的便攜裝置使用,。
1.1 CPU模塊
本設(shè)計(jì)采用NXP公司的一款具有極高集成度的以ARM7TDMI-S為內(nèi)核的32位微控制器LPC2468,該微控制器支持實(shí)時(shí)仿真和嵌入式跟蹤,,處理器時(shí)鐘高達(dá)72 MHz,。該芯片片內(nèi)集成了10/100 M以太網(wǎng)媒體訪問(wèn)控制器、USB2.0全速Device/Host/OTG控制器,、UART,、CAN-bus等眾多資源,同時(shí)它還具有98 KB RAM,、512 KB FLASH,,使其非常適合于通信網(wǎng)關(guān)、協(xié)議轉(zhuǎn)換器,、嵌入式軟件調(diào)制解調(diào)器以及其他各種類型的應(yīng)用[2],。
1.2 A/D轉(zhuǎn)換模塊
在水質(zhì)監(jiān)測(cè)裝置中,為了達(dá)到測(cè)量精度,,采用了ADI公司16 bit,、6通道、高集成度逐次逼近型同步采樣ADC,。AD7656采用iCMOS工藝,,功耗比最接近的同類雙極型ADC降低了60%,采樣率每通道達(dá)250 kb/s,,并且在片內(nèi)包含一個(gè)+2.5 V內(nèi)部基準(zhǔn)電壓源和緩沖器,,因此能很好地滿足電能質(zhì)量裝置對(duì)高分辨率、多通道,、高轉(zhuǎn)換速率和低功耗的要求,。AD7656接口電路如圖2所示。圖中V1~V6為6路經(jīng)信號(hào)調(diào)節(jié)電路處理的模擬信號(hào),,通過(guò)低通濾波器濾除高頻分量,。VDD與VSS為采樣保持開關(guān)工作的電源,為保證AD7656正常工作,需保證VDD和VSS大于模擬輸入電壓范圍,,這里取-12 V~+12 V,。AVcc與DVcc是AD7656模擬電壓輸入端和數(shù)字電壓輸入端。系統(tǒng)提供+5 V給AVcc模擬電壓端,,然后將DVcc和AVcc連接在一起,,AVcc與DVcc通過(guò)磁珠隔離,以減少工作過(guò)程中DVcc引起的數(shù)字噪聲對(duì)AVcc的影響,。由于對(duì)實(shí)時(shí)性要求不高,,因此A/D轉(zhuǎn)換器與LPC2468之間采取SPI通信,大大簡(jiǎn)化了硬件接線,。
模擬量總共有8路,,而AD7656只有6路通道,,因此采用一片雙4通道多路開關(guān)AD7502進(jìn)行擴(kuò)展,。同時(shí),由于AD7656為雙極性輸入,,且輸入電壓為-5 V~+5 V,,而經(jīng)調(diào)理電路傳到AD7656的電壓信號(hào)為0~10 V,這將導(dǎo)致采樣丟失,。為了解決這一問(wèn)題,,進(jìn)行了如圖3所示的電壓轉(zhuǎn)換設(shè)計(jì),把0~10 V電壓轉(zhuǎn)換為-5 V~+5 V電壓,,從而提高了準(zhǔn)確度,。
1.3 其他模塊
(1)看門狗電路以及存儲(chǔ)器模塊。本系統(tǒng)看門狗采用CAT1161,,因其無(wú)上電復(fù)位功能,,所以在復(fù)位端應(yīng)另加RC復(fù)位電路。此外,,給ARM外擴(kuò)了一片512 KB的RAM和一片256 KB的鐵電存儲(chǔ)器FM31256,。其中鐵電存儲(chǔ)器為I2C接口,因其非易失性用來(lái)存儲(chǔ)一些設(shè)定值,,F(xiàn)M31256內(nèi)部具有時(shí)鐘伴侶功能,,可同時(shí)為系統(tǒng)提供實(shí)時(shí)時(shí)鐘。
(2)開關(guān)量及電源模塊,。接口電路一律采用光耦隔離,,避免外界干擾進(jìn)入CPU模塊。電源模塊采用兩級(jí)供電方式,,首先經(jīng)過(guò)一層DC/DC將15 V電壓轉(zhuǎn)換成直流5 V,、12 V、24 V的電壓,然后再經(jīng)過(guò)一層DC/DC,,將電壓轉(zhuǎn)換成+3.3 V和+2.5 V供器件使用,。
(3)通信模塊。用DM9000擴(kuò)展以太網(wǎng)接口,,實(shí)現(xiàn)與站控層連接,。
(4)人機(jī)交互模塊。人機(jī)界面采用320×240大屏幕彩色LCD顯示器,,配有3×2的按鍵,,同時(shí)還有6個(gè)LED顯示燈來(lái)反映裝置的運(yùn)行情況。
2 軟件設(shè)計(jì)
軟件部分采用源碼公開的嵌入式操作系統(tǒng)μC/OS-II作為軟件平臺(tái),,其具有易移植,、可靠、穩(wěn)定等特點(diǎn),,并可編寫文件管理系統(tǒng)和相關(guān)的通信協(xié)議棧[3],。主要流程包括系統(tǒng)初始化和系統(tǒng)任務(wù)編寫兩大部分,如圖4所示,。系統(tǒng)初始化包括μC/OS-II操作系統(tǒng)初始化與系統(tǒng)外設(shè)初始化,。操作系統(tǒng)初始化包括操作系統(tǒng)啟動(dòng)代碼、任務(wù)函數(shù)的定義和初始化,、文件系統(tǒng)及相關(guān)協(xié)議棧的安裝,;系統(tǒng)外設(shè)初始化包括定時(shí)器初始化、SPI和串口控制器初始化等,。該系統(tǒng)共有4個(gè)任務(wù),,根據(jù)其輕重緩急分配了任務(wù)優(yōu)先級(jí)和任務(wù)堆棧的大小。安裝的協(xié)議棧包括USB協(xié)議棧和TCP/IP協(xié)議棧[4],。
2.1 AD7656軟件的設(shè)計(jì)
進(jìn)入定時(shí)器中斷,,初始化AD7656,軟件延時(shí)產(chǎn)生一定頻率的CONVST采樣信號(hào),,用來(lái)啟動(dòng)AD7656的數(shù)據(jù)轉(zhuǎn)換[5],,等待BUSY信號(hào)。在接收到BUSY信號(hào)后讀取數(shù)據(jù),,采樣完成,,關(guān)閉定時(shí)器中斷。圖5為采樣流程圖,。
A/D轉(zhuǎn)換電路是一個(gè)模擬輸入模塊,,μC/OS-II內(nèi)核把它作為一個(gè)獨(dú)立的任務(wù)ADTask()來(lái)調(diào)用[6]。A/D的初始化,、讀取等要用到以下幾個(gè)函數(shù):
(1)ADInit(),,初始化所有的模擬輸入通道,、硬件ADC以及應(yīng)用程序調(diào)用A/D模塊參數(shù),并且ADInit()創(chuàng)建任務(wù)ADTask(),。
(2)ADTbl[],,使一個(gè)模擬輸入通道信息、ADC硬件狀態(tài)等參數(shù)配置以及轉(zhuǎn)換結(jié)果存儲(chǔ)表,。
(3)ADUpdate(),,負(fù)責(zé)讀取所有模擬輸入通道,訪問(wèn)ADRd(),,并給它傳遞一個(gè)通道數(shù),。
(4)ADRd(),負(fù)責(zé)通過(guò)多路復(fù)用器選擇合適的模擬輸入,,啟動(dòng)并等待ADC轉(zhuǎn)換,,以及返回ADC轉(zhuǎn)換結(jié)果到ADUpdata()。
(5)AD_in(int x,,int y),,x為模擬量輸入起始通道,y為模擬量輸入個(gè)數(shù),。
2.2 數(shù)據(jù)打包
系統(tǒng)共轉(zhuǎn)換了8路不同類型模擬量,,防止接收數(shù)據(jù)時(shí)混亂,,在數(shù)據(jù)傳送時(shí)需對(duì)數(shù)據(jù)進(jìn)行打包,。數(shù)據(jù)的類型、長(zhǎng)度等用一個(gè)結(jié)構(gòu)體來(lái)表示,,即
typedef struct
{
unit8 STATE_Type,;
//數(shù)據(jù)類型,0x01表示溫度,,0x02表示電導(dǎo)率,,等
unit8 len;//數(shù)據(jù)長(zhǎng)度
uint16 CRC,; //CRC校驗(yàn)碼
},;
2.3 尺度變換
由于經(jīng)過(guò)A/D轉(zhuǎn)換后的量為數(shù)字信號(hào),而不是所熟悉的工程量,,因此要將這些數(shù)字量轉(zhuǎn)換為相應(yīng)的帶有量綱的數(shù)值,,以方便使用。
尺度變換有軟件實(shí)現(xiàn)法,、硬件實(shí)現(xiàn)法,、實(shí)物定標(biāo)法和綜合實(shí)現(xiàn)法四種方法[7]。由于硬件實(shí)現(xiàn)法費(fèi)用高且占用線路板面積,,因此不采用,。綜合考慮價(jià)格、實(shí)現(xiàn)的難易以及信號(hào)轉(zhuǎn)變的精度等因素,選擇了軟件實(shí)現(xiàn)法中的多項(xiàng)式變換公式法,。這是一種最簡(jiǎn)單實(shí)用的方法,,適用于絕大多數(shù)場(chǎng)合。
本文設(shè)計(jì)了水質(zhì)監(jiān)測(cè)數(shù)字采集系統(tǒng),,該采集系統(tǒng)以LPC2468為核心,,采用高度集成的AD7656轉(zhuǎn)換器,大大簡(jiǎn)化了系統(tǒng)硬件和軟件設(shè)計(jì),,減小了體積,,提高了系統(tǒng)工作的可靠性。此系統(tǒng)具有很高的數(shù)據(jù)采集精度,,由于采用了低功耗的微處理器作為控制芯片,,因此整個(gè)系統(tǒng)功耗低,電路簡(jiǎn)單易且實(shí)現(xiàn),。
參考文獻(xiàn)
[1] 董甲彬,,王金鑫,李玲,,等.GPRS技術(shù)在水庫(kù)水質(zhì)監(jiān)測(cè)系統(tǒng)中的應(yīng)用研究[J].信息與技術(shù),,2007(7):122-125.
[2] 周立功.ARM嵌入式系統(tǒng)軟件開發(fā)實(shí)例[M].北京:北京航空航天大學(xué)出版社,2004.
[3] LABROSSE J J. MicroC/OS-II the real-time Kernel Second Edition[M].北京:北京航空航天大學(xué)出版社,,2007.
[4] 任哲.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,,2009.
[5] 崔艷林,趙煥軍.基于AD7656和ADSP21369的多路信號(hào)采集系統(tǒng)[J].電子技術(shù)應(yīng)用,,2008(12):54-56.
[6] 夏靖波,,王航,陳雅蓉.嵌入式系統(tǒng)原理與開發(fā)[M].西安:西安電子科大出版社,,2006.
[7] 仆玉明.智能儀表測(cè)量信號(hào)的尺度變換及實(shí)現(xiàn)[J].自動(dòng)化儀表,,2000(2):47-48.