亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ZigBee和ARM的溫室大棚多點溫度采集系統(tǒng)的設(shè)計

        2014-09-02 03:13:33胡衡梁嵐珍
        江蘇農(nóng)業(yè)科學(xué) 2014年7期
        關(guān)鍵詞:驅(qū)動程序內(nèi)核嵌入式

        胡衡 梁嵐珍

        摘要:針對我國溫室大棚大型化和規(guī)?;内厔?,為了實現(xiàn)對多點溫度數(shù)據(jù)的采集,采用嵌入式ARM技術(shù)和ZigBee技術(shù),設(shè)計了無線多點溫度采集系統(tǒng)。系統(tǒng)以ARM9微處理器S3C2440為控制核心,以嵌入式Linux為實時操作系統(tǒng),通過溫度傳感器DS18B20采集各處的溫度值,經(jīng)由無線收發(fā)模塊CC2430完成數(shù)據(jù)的傳輸,最終將采集到的數(shù)據(jù)信息顯示在LCD上。測試表明,多點溫度采集系統(tǒng)實時性好,可靠性高,并且易于擴展,具有廣闊的應(yīng)用價值。

        關(guān)鍵詞:溫室大棚;溫度采集;ARM-Linux操作系統(tǒng);ZigBee無線收發(fā)模塊;LCD信息顯示

        中圖分類號: S625.5+1;TP274+.2 文獻標志碼: A 文章編號:1002-1302(2014)07-0416-04

        收稿日期:2013-10-08

        作者簡介:胡衡(1988—),男,河南信陽人,碩士研究生,主要從事智能控制與嵌入式應(yīng)用研究。E-mail:843392514@qq.com。作為新的農(nóng)作物種植技術(shù),溫室大棚早已突破了傳統(tǒng)農(nóng)作物種植受地域、自然環(huán)境和氣候等諸多因素的限制,對農(nóng)業(yè)生產(chǎn)具有重大意義[1]。溫室溫度是影響溫室內(nèi)種植的農(nóng)作物產(chǎn)量的重要因素之一,如何進行溫室內(nèi)溫度的實時監(jiān)測,以及如何降低運行成本、提高效率、實現(xiàn)環(huán)境的精確控制成為目前研究的關(guān)鍵問題[2]。

        面對溫室環(huán)境中較大面積的作物,大量的布線在設(shè)備的安裝和維護方面會造成很多困難。因此無線溫室采集系統(tǒng)的應(yīng)用可以極大提高溫室系統(tǒng)的可靠性、實時性,并且系統(tǒng)的開發(fā)價格較低廉,性價比高,組裝維護方便[3-5]。溫室大棚的大型化、集約化和規(guī)?;l(fā)展,使得傳統(tǒng)的基于單片機技術(shù)的溫度采集系統(tǒng)的局限性愈加顯現(xiàn)。隨著嵌入式ARM技術(shù)的不斷發(fā)展和完善,其在實時批處理數(shù)據(jù)和網(wǎng)路功能方面的優(yōu)勢日益突出[6-7]。然而,目前基于ARM9體系結(jié)構(gòu)的溫度采集研究大多針對單點溫度,對于多點溫度,尤其是采用無線分布式的多點溫度采集的研究卻非常少,制約了嵌入式技術(shù)在溫室大棚中的應(yīng)用。為此,本研究設(shè)計了一種結(jié)合嵌入式技術(shù)和無線傳感技術(shù)的多點溫度采集系統(tǒng),該系統(tǒng)具有高性能、低功耗、快速處理數(shù)據(jù)的特點。

        1系統(tǒng)總體設(shè)計

        無線多點溫度采集系統(tǒng)主要由ARM控制核心、ZigBee無線通訊網(wǎng)路、終端采集單元3部分組成,其整體示意圖如圖1所示。

        在無線多點溫度采集系統(tǒng)中,終端檢測單元部分通過分布在各處的溫度傳感器完成溫度的實時采集,將溫度參數(shù)進行檢測和變送;ZigBee網(wǎng)關(guān)與從節(jié)點構(gòu)成星型拓撲結(jié)構(gòu)[8],網(wǎng)關(guān)匯總各從節(jié)點采集得到的溫度數(shù)據(jù),并且定時將其發(fā)送給ARM控制平臺;最終所得到的溫度數(shù)據(jù)實時同步顯示在ARM控制平臺的LCD觸摸屏上。

        2系統(tǒng)硬件設(shè)計

        本系統(tǒng)的硬件電路框圖如圖2所示,主要由ARM9中央控制模塊、ZigBee無線收發(fā)模塊、溫度采集模塊、LCD顯示模塊、電源及復(fù)位模塊等構(gòu)成。

        2.1ARM9中央控制模塊

        ARM9中央控制模塊由ARM9處理器、FLASH、SDRAM、電源及復(fù)位模塊、LCD觸摸屏及相關(guān)外圍電路組成。ARM9處理器是整個系統(tǒng)的核心部分,用來對ZigBee通訊模塊進行相應(yīng)的配置并接受和處理來自ZigBee終端節(jié)點的數(shù)據(jù)。綜合性能、功耗、成本方面的考慮,本系統(tǒng)采用Samsung公司的32位ARM9處理器S3C2440作為主控制器,該處理器集成了LCD控制器、USBHost、NAND控制器、中斷控制、功率控制、存儲控制、UART、SPI和GPIO等豐富的外圍資源,通過外擴存儲器、串口、USB接口和JTAG調(diào)試接口等構(gòu)成硬件平臺[9]。系統(tǒng)采用64M的NAND型FLASH K29F2808來存放系統(tǒng)啟動代碼、內(nèi)核代碼及根文件系統(tǒng);SDRAM選用2片HY57V561620CTP-H構(gòu)成容量為64MB的高速動態(tài)隨機存儲器。由于主控芯片S3C2440沒有實現(xiàn)ZigBee協(xié)議的功能,為了能與ZigBee設(shè)備進行通訊,需要通過串口UART與ZigBee協(xié)調(diào)器相連。

        2.2ZigBee無線收發(fā)模塊

        ZigBee是一種新興的短距離、低功耗、低數(shù)據(jù)速率、低成本、高靈敏度、具有出眾的抗噪聲及抗干擾能力的雙向無線通信技術(shù)[10]。為了滿足多點溫度采集系統(tǒng)簡潔、方便的要求,系統(tǒng)采用ZigBee無線通信技術(shù)組建無線網(wǎng)絡(luò)。

        ZigBee無線收發(fā)模塊采用TI公司的基于IEEE802.15.4協(xié)議的CC2430芯片,通過Z-Stack協(xié)議棧實現(xiàn)帶有網(wǎng)絡(luò)自啟動功能的星型ZigBee無線網(wǎng)絡(luò)。星型網(wǎng)絡(luò)配置由一個協(xié)調(diào)器節(jié)點和1個或多個終端節(jié)點組成,協(xié)調(diào)器節(jié)點是該網(wǎng)絡(luò)的控制中心,負責(zé)創(chuàng)建維護網(wǎng)絡(luò),是無線網(wǎng)絡(luò)與外界通信的出入口,終端節(jié)點負責(zé)采集信息發(fā)送至協(xié)調(diào)器,或接收控制命令完成相關(guān)功能。系統(tǒng)中所有的終端節(jié)點由協(xié)調(diào)器節(jié)點分配不同的網(wǎng)絡(luò)地址,只與協(xié)調(diào)器節(jié)點進行無線通信,而協(xié)調(diào)器節(jié)點通過串口UART0與ARM9處理器S3C2440進行通信,S3C2440對接收到的ZigBee信息進行解析后,根據(jù)不同的網(wǎng)絡(luò)地址判斷信息來自哪個ZigBee終端節(jié)點。ZigBee網(wǎng)絡(luò)中的所有節(jié)點都可以使用同一個電路,在ZigBee無線網(wǎng)絡(luò)中的協(xié)調(diào)器功能和終端功能是由軟件來區(qū)分的。CC2430使用SFD、FIFO、FIFOP和CCA 4個引腳表示收發(fā)數(shù)據(jù)狀態(tài):SFD引腳高電平表示處于接受狀態(tài),F(xiàn)IFO和FIFOP引腳表示接受FIFO緩沖區(qū)的狀態(tài),CCA引腳在信道有信號時輸出高電平,只在接收狀態(tài)下有效。CC2430是1個半雙工芯片,在同一時刻只處于一種工作狀態(tài),有15個固定地址的命令寄存器,并且接收緩沖和發(fā)送緩沖是分開的。

        2.3溫度采集模塊

        溫度采集模塊的主要任務(wù)是負責(zé)溫度采集,由溫度傳感器和CC2430終端節(jié)點構(gòu)成,在溫室大棚中均勻分布若干個終端從節(jié)點用于采集各處的溫度數(shù)據(jù)。endprint

        溫度傳感器選用Dallas半導(dǎo)體公司生產(chǎn)的應(yīng)用可組網(wǎng)的單線式數(shù)字溫度傳感器DSl8B20,測量溫度范圍為-55 ℃至125 ℃,精度為0.5 ℃,用9bit數(shù)字量表示溫度,每次將溫度轉(zhuǎn)換成數(shù)字量需200 ms。采用直接數(shù)字化輸出,內(nèi)部傳感元件及轉(zhuǎn)換電路集成在形如1只三極管的集成電路內(nèi),3個端口分別是地線(G N D)、數(shù)據(jù)線(DQ)、電源(VDD),從芯片CC2430的I/O 口上接入溫度傳感器DS18B20的DQ端。

        3系統(tǒng)軟件設(shè)計

        本系統(tǒng)在RedHat9.0下創(chuàng)建嵌入式系統(tǒng)的Linux開發(fā)環(huán)境,使用arm-linux-gcc3.4.5作為交叉編譯器,并采用yaffs類型的根文件系統(tǒng)和Linux2.6.29版本的內(nèi)核來構(gòu)建嵌入式系統(tǒng)。linux2.6.29內(nèi)核具有強大的進程、中斷和設(shè)備管理,支持各種文件系統(tǒng)。本系統(tǒng)軟件設(shè)計部分主要包括:Linux操作系統(tǒng)移植、底層設(shè)備驅(qū)動程序設(shè)計和系統(tǒng)應(yīng)用主程序設(shè)計三大部分。

        3.1Linux操作系統(tǒng)移植

        嵌入式Linux操作系統(tǒng)移植包括:移植U-boot、移植Linux內(nèi)核以及制作根文件系統(tǒng)[11]。

        3.1.1移植U-bootU-boot是在嵌入式操作系統(tǒng)運行前執(zhí)行的一段Bootloader程序,其作用在于初始化硬件設(shè)備、建立內(nèi)存空間的映射關(guān)系,將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),為最終調(diào)試操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。他的源代碼是免費公開的,可從網(wǎng)站上直接下載獲得,本系統(tǒng)所用版本為U-boot1.1.4。在U-boot目錄下進行相關(guān)配置并執(zhí)行#make CROSS_COMPILE=arm-linux編譯成功后,可將其燒入到FLASH中運行。

        3.1.2移植Linux內(nèi)核首先從網(wǎng)站上下載免費開源的Linux2.6.29內(nèi)核源代碼,在編譯前進入根目錄,修改其目錄下的Makefile文件,設(shè)置目標平臺和交叉編譯器。然后運行#make menuconfig進入配置菜單,選擇需要配置的選項后保存退出,再執(zhí)行內(nèi)核編譯命令#make uImage,編譯成功后會得到編譯好的內(nèi)核鏡像文件zImage。

        3.1.3制作根文件系統(tǒng)首先編譯安裝Busybox,然后根據(jù)需要建立相應(yīng)的根目錄,并編輯好系統(tǒng)運行所需的配置文件,最后采用制作yaffs文件系統(tǒng)的軟件來制作出文件系統(tǒng)鏡像。最終用U-boot通過tftp服務(wù)器下載內(nèi)核鏡像和根文件系統(tǒng)鏡像到NAND FLASH中,如果系統(tǒng)啟動正常,則成功移植了Linux操作系統(tǒng)。

        3.2底層設(shè)備驅(qū)動程序設(shè)計

        底層設(shè)備驅(qū)動程序是操作系統(tǒng)和設(shè)備進行通信的特殊程序,一般集成在操作系統(tǒng)內(nèi)核中,有直接編譯到內(nèi)核(靜態(tài)編譯)和模塊(動態(tài)編譯)2種方式,前者是將驅(qū)動作為內(nèi)核的一部分,直接編譯到內(nèi)核中;后者則為動態(tài)鏈接:單獨作為1個模塊進行編譯,按需加載到內(nèi)核中[12],本設(shè)計使用動態(tài)編輯方式。本系統(tǒng)的底層設(shè)備驅(qū)動主要是DS18B20驅(qū)動和 ZigBee 無線收發(fā)模塊驅(qū)動;另外LCD觸摸屏、串口等的驅(qū)動已經(jīng)按需編譯到Linux內(nèi)核中。

        3.2.1DS18B20驅(qū)動程序設(shè)計DS18B20是在1根總線上讀寫數(shù)據(jù)的,因此對讀寫的數(shù)據(jù)位有著嚴格的時序要求,同一時刻單總線上只能有1個控制信號或數(shù)據(jù),必須有嚴格的通信協(xié)議來保證各位數(shù)據(jù)的正確性和完整性。為保證數(shù)據(jù)可靠地傳送,進行數(shù)據(jù)通信時一定要符合單總線協(xié)議[13]。為了讀出所有DS18B20的溫度值,利用DS18B20的相關(guān)ROM命令并結(jié)合相關(guān)子函數(shù)完成該驅(qū)動的設(shè)計,其流程如圖3所示。

        3.2.2ZigBee無線收發(fā)模塊驅(qū)動設(shè)計本系統(tǒng)采用的是星形網(wǎng)絡(luò)拓撲結(jié)構(gòu),網(wǎng)絡(luò)中存在協(xié)調(diào)器和終端兩種設(shè)備。上電后,協(xié)調(diào)器首先完成應(yīng)用層初始化,然后初始化I/O端口并打開全局中斷,接著協(xié)調(diào)器搜索選擇合適的信道并組建一個ZigBee網(wǎng)絡(luò);溫度采集節(jié)點上電后,初始化后先掃描信道并尋找協(xié)調(diào)器,與之建立連接,連接成功后,終端節(jié)點每隔一定時間采集1次溫室內(nèi)的溫度信息,然后傳輸給協(xié)調(diào)器,協(xié)調(diào)器接受各個節(jié)點的溫度值,最終將其傳輸給ARM9處理器。ZigBee協(xié)調(diào)器和終端節(jié)點程序流程圖分別如圖4和圖5所示。

        3.3系統(tǒng)應(yīng)用主程序設(shè)計

        本系統(tǒng)通過創(chuàng)建打開DS18B20、ZigBee模塊的驅(qū)動進程,使得系統(tǒng)在操作系統(tǒng)打開后通過進程調(diào)度對驅(qū)動進行操作[14-15],從而實現(xiàn)無線多點溫度采集的目的。系統(tǒng)應(yīng)用主程序流程圖見圖6所示。

        4結(jié)論與討論

        本研究介紹了一種基于ARM與ZigBee技術(shù)的溫室大棚多點溫度采集系統(tǒng),并給出了詳細的系統(tǒng)架構(gòu)方案,從軟硬件方面闡述了設(shè)計思路和實現(xiàn)方法。測試表明,將低成本、低功耗的無線ZigBee技術(shù)應(yīng)用于多點分布式溫度采集系統(tǒng),不但能夠?qū)崿F(xiàn)對溫室大棚內(nèi)多處溫度的自動實時采集,而且提高了系統(tǒng)的可靠性和靈活性,同時也減少了現(xiàn)場布線帶來的各種問題。此外,ARM-Linux具有較強的批量數(shù)據(jù)處理能力和網(wǎng)絡(luò)功能,因此本系統(tǒng)在大規(guī)模、大面積、監(jiān)測節(jié)點數(shù)較多的溫室大棚中具有極大的推廣應(yīng)用價值。以后的研究可以進一步深入:軟件擴展升級可以在操作系統(tǒng)中進行,使其具有更好的通用性以便于不同的用戶通過簡單的修改就可以成功添加不同種類和個數(shù)的傳感器,甚至利用網(wǎng)絡(luò)功能實現(xiàn)遠程數(shù)據(jù)采集和監(jiān)測;硬件擴展升級可以添加新的終端節(jié)點來采集其他環(huán)境參數(shù)如光照、濕度、CO2濃度等;此外還可以增加網(wǎng)絡(luò)接口模塊來實現(xiàn)遠程數(shù)據(jù)傳輸。

        參考文獻:

        [1]黃偉鋒,葉祥. 溫室環(huán)境多點數(shù)據(jù)嵌入式智能監(jiān)測系統(tǒng)[J]. 農(nóng)機化研究,2010,32(6):133-136.

        [2]蔣錄全. 信息生態(tài)與社會可持續(xù)發(fā)展[M]. 北京:北京圖書館出版社,2003:238-242.

        [3]宋蟄存,陳寧,李迪飛. ZigBee無線傳感技術(shù)在森林火災(zāi)監(jiān)測中的應(yīng)用[J]. 自動化儀表,2011,32(4):50-52.

        [4]侯艷波,秦會斌,胡建人,等. 基于嵌入式和ZigBee技術(shù)的節(jié)能系統(tǒng)的設(shè)計與實現(xiàn)[J]. 電子器件,2012,35(6):670-673.

        [5]楊瑋,呂科,張棟,等. 基于ZigBee技術(shù)的溫室無線智能控制終端開發(fā)[J]. 農(nóng)業(yè)工程學(xué)報,2010,26(3):198-202.

        [6]焦哲勇,程友聯(lián). 基于ARM的農(nóng)業(yè)溫室多點溫度采集系統(tǒng)的設(shè)計[J]. 農(nóng)業(yè)開發(fā)與裝備,2007(5):19-21.

        [7]張麗蓮. 基于S3C2440的溫室大棚多點溫度監(jiān)測系統(tǒng)的研究[J]. 安徽農(nóng)業(yè)科學(xué),2010,38(20):10923-10924.

        [8]Adams J. Designed with 802.15.4 and Zig-Bee:ZigBee Alliance[EB/OL]. (2009-04-05)[2013-10-01]. http://www.zigbee.org.

        [9]韋東山. 嵌入式Linux應(yīng)用開發(fā)完全手冊[M]. 北京:人民郵電出版社,2008.

        [10]李新春,趙雙華. 基于ARM與GPRS的家庭智能控制系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機系統(tǒng)應(yīng)用,2010,19(5):227-229.

        [11]程昌南,方強. ARM Linux入門與實踐[M]. 北京:北京航空航天大學(xué)出版社,2008.

        [12]閆林生,肖伸平,鄧鵬,等. 基于物聯(lián)網(wǎng)的室內(nèi)環(huán)境監(jiān)控系統(tǒng)的設(shè)計[J]. 計算技術(shù)與自動化,2012,31(4):47-50.

        [13]關(guān)學(xué)忠,姜南,王一群,等. 基于ZigBee技術(shù)的多點溫度監(jiān)測系統(tǒng)的設(shè)計[J]. 自動化技術(shù)與應(yīng)用,2011,30(10):41-44.

        [14]白復(fù)東. 嵌入式Linux驅(qū)動程序的開發(fā)[J]. 信息技術(shù),2009(9):185-186,189.

        [15]朱珍民,隋雪青,段斌. 嵌入式實時操作系統(tǒng)及其應(yīng)用開發(fā)[M]. 北京:北京郵電大學(xué)出版社,2006.endprint

        溫度傳感器選用Dallas半導(dǎo)體公司生產(chǎn)的應(yīng)用可組網(wǎng)的單線式數(shù)字溫度傳感器DSl8B20,測量溫度范圍為-55 ℃至125 ℃,精度為0.5 ℃,用9bit數(shù)字量表示溫度,每次將溫度轉(zhuǎn)換成數(shù)字量需200 ms。采用直接數(shù)字化輸出,內(nèi)部傳感元件及轉(zhuǎn)換電路集成在形如1只三極管的集成電路內(nèi),3個端口分別是地線(G N D)、數(shù)據(jù)線(DQ)、電源(VDD),從芯片CC2430的I/O 口上接入溫度傳感器DS18B20的DQ端。

        3系統(tǒng)軟件設(shè)計

        本系統(tǒng)在RedHat9.0下創(chuàng)建嵌入式系統(tǒng)的Linux開發(fā)環(huán)境,使用arm-linux-gcc3.4.5作為交叉編譯器,并采用yaffs類型的根文件系統(tǒng)和Linux2.6.29版本的內(nèi)核來構(gòu)建嵌入式系統(tǒng)。linux2.6.29內(nèi)核具有強大的進程、中斷和設(shè)備管理,支持各種文件系統(tǒng)。本系統(tǒng)軟件設(shè)計部分主要包括:Linux操作系統(tǒng)移植、底層設(shè)備驅(qū)動程序設(shè)計和系統(tǒng)應(yīng)用主程序設(shè)計三大部分。

        3.1Linux操作系統(tǒng)移植

        嵌入式Linux操作系統(tǒng)移植包括:移植U-boot、移植Linux內(nèi)核以及制作根文件系統(tǒng)[11]。

        3.1.1移植U-bootU-boot是在嵌入式操作系統(tǒng)運行前執(zhí)行的一段Bootloader程序,其作用在于初始化硬件設(shè)備、建立內(nèi)存空間的映射關(guān)系,將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),為最終調(diào)試操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。他的源代碼是免費公開的,可從網(wǎng)站上直接下載獲得,本系統(tǒng)所用版本為U-boot1.1.4。在U-boot目錄下進行相關(guān)配置并執(zhí)行#make CROSS_COMPILE=arm-linux編譯成功后,可將其燒入到FLASH中運行。

        3.1.2移植Linux內(nèi)核首先從網(wǎng)站上下載免費開源的Linux2.6.29內(nèi)核源代碼,在編譯前進入根目錄,修改其目錄下的Makefile文件,設(shè)置目標平臺和交叉編譯器。然后運行#make menuconfig進入配置菜單,選擇需要配置的選項后保存退出,再執(zhí)行內(nèi)核編譯命令#make uImage,編譯成功后會得到編譯好的內(nèi)核鏡像文件zImage。

        3.1.3制作根文件系統(tǒng)首先編譯安裝Busybox,然后根據(jù)需要建立相應(yīng)的根目錄,并編輯好系統(tǒng)運行所需的配置文件,最后采用制作yaffs文件系統(tǒng)的軟件來制作出文件系統(tǒng)鏡像。最終用U-boot通過tftp服務(wù)器下載內(nèi)核鏡像和根文件系統(tǒng)鏡像到NAND FLASH中,如果系統(tǒng)啟動正常,則成功移植了Linux操作系統(tǒng)。

        3.2底層設(shè)備驅(qū)動程序設(shè)計

        底層設(shè)備驅(qū)動程序是操作系統(tǒng)和設(shè)備進行通信的特殊程序,一般集成在操作系統(tǒng)內(nèi)核中,有直接編譯到內(nèi)核(靜態(tài)編譯)和模塊(動態(tài)編譯)2種方式,前者是將驅(qū)動作為內(nèi)核的一部分,直接編譯到內(nèi)核中;后者則為動態(tài)鏈接:單獨作為1個模塊進行編譯,按需加載到內(nèi)核中[12],本設(shè)計使用動態(tài)編輯方式。本系統(tǒng)的底層設(shè)備驅(qū)動主要是DS18B20驅(qū)動和 ZigBee 無線收發(fā)模塊驅(qū)動;另外LCD觸摸屏、串口等的驅(qū)動已經(jīng)按需編譯到Linux內(nèi)核中。

        3.2.1DS18B20驅(qū)動程序設(shè)計DS18B20是在1根總線上讀寫數(shù)據(jù)的,因此對讀寫的數(shù)據(jù)位有著嚴格的時序要求,同一時刻單總線上只能有1個控制信號或數(shù)據(jù),必須有嚴格的通信協(xié)議來保證各位數(shù)據(jù)的正確性和完整性。為保證數(shù)據(jù)可靠地傳送,進行數(shù)據(jù)通信時一定要符合單總線協(xié)議[13]。為了讀出所有DS18B20的溫度值,利用DS18B20的相關(guān)ROM命令并結(jié)合相關(guān)子函數(shù)完成該驅(qū)動的設(shè)計,其流程如圖3所示。

        3.2.2ZigBee無線收發(fā)模塊驅(qū)動設(shè)計本系統(tǒng)采用的是星形網(wǎng)絡(luò)拓撲結(jié)構(gòu),網(wǎng)絡(luò)中存在協(xié)調(diào)器和終端兩種設(shè)備。上電后,協(xié)調(diào)器首先完成應(yīng)用層初始化,然后初始化I/O端口并打開全局中斷,接著協(xié)調(diào)器搜索選擇合適的信道并組建一個ZigBee網(wǎng)絡(luò);溫度采集節(jié)點上電后,初始化后先掃描信道并尋找協(xié)調(diào)器,與之建立連接,連接成功后,終端節(jié)點每隔一定時間采集1次溫室內(nèi)的溫度信息,然后傳輸給協(xié)調(diào)器,協(xié)調(diào)器接受各個節(jié)點的溫度值,最終將其傳輸給ARM9處理器。ZigBee協(xié)調(diào)器和終端節(jié)點程序流程圖分別如圖4和圖5所示。

        3.3系統(tǒng)應(yīng)用主程序設(shè)計

        本系統(tǒng)通過創(chuàng)建打開DS18B20、ZigBee模塊的驅(qū)動進程,使得系統(tǒng)在操作系統(tǒng)打開后通過進程調(diào)度對驅(qū)動進行操作[14-15],從而實現(xiàn)無線多點溫度采集的目的。系統(tǒng)應(yīng)用主程序流程圖見圖6所示。

        4結(jié)論與討論

        本研究介紹了一種基于ARM與ZigBee技術(shù)的溫室大棚多點溫度采集系統(tǒng),并給出了詳細的系統(tǒng)架構(gòu)方案,從軟硬件方面闡述了設(shè)計思路和實現(xiàn)方法。測試表明,將低成本、低功耗的無線ZigBee技術(shù)應(yīng)用于多點分布式溫度采集系統(tǒng),不但能夠?qū)崿F(xiàn)對溫室大棚內(nèi)多處溫度的自動實時采集,而且提高了系統(tǒng)的可靠性和靈活性,同時也減少了現(xiàn)場布線帶來的各種問題。此外,ARM-Linux具有較強的批量數(shù)據(jù)處理能力和網(wǎng)絡(luò)功能,因此本系統(tǒng)在大規(guī)模、大面積、監(jiān)測節(jié)點數(shù)較多的溫室大棚中具有極大的推廣應(yīng)用價值。以后的研究可以進一步深入:軟件擴展升級可以在操作系統(tǒng)中進行,使其具有更好的通用性以便于不同的用戶通過簡單的修改就可以成功添加不同種類和個數(shù)的傳感器,甚至利用網(wǎng)絡(luò)功能實現(xiàn)遠程數(shù)據(jù)采集和監(jiān)測;硬件擴展升級可以添加新的終端節(jié)點來采集其他環(huán)境參數(shù)如光照、濕度、CO2濃度等;此外還可以增加網(wǎng)絡(luò)接口模塊來實現(xiàn)遠程數(shù)據(jù)傳輸。

        參考文獻:

        [1]黃偉鋒,葉祥. 溫室環(huán)境多點數(shù)據(jù)嵌入式智能監(jiān)測系統(tǒng)[J]. 農(nóng)機化研究,2010,32(6):133-136.

        [2]蔣錄全. 信息生態(tài)與社會可持續(xù)發(fā)展[M]. 北京:北京圖書館出版社,2003:238-242.

        [3]宋蟄存,陳寧,李迪飛. ZigBee無線傳感技術(shù)在森林火災(zāi)監(jiān)測中的應(yīng)用[J]. 自動化儀表,2011,32(4):50-52.

        [4]侯艷波,秦會斌,胡建人,等. 基于嵌入式和ZigBee技術(shù)的節(jié)能系統(tǒng)的設(shè)計與實現(xiàn)[J]. 電子器件,2012,35(6):670-673.

        [5]楊瑋,呂科,張棟,等. 基于ZigBee技術(shù)的溫室無線智能控制終端開發(fā)[J]. 農(nóng)業(yè)工程學(xué)報,2010,26(3):198-202.

        [6]焦哲勇,程友聯(lián). 基于ARM的農(nóng)業(yè)溫室多點溫度采集系統(tǒng)的設(shè)計[J]. 農(nóng)業(yè)開發(fā)與裝備,2007(5):19-21.

        [7]張麗蓮. 基于S3C2440的溫室大棚多點溫度監(jiān)測系統(tǒng)的研究[J]. 安徽農(nóng)業(yè)科學(xué),2010,38(20):10923-10924.

        [8]Adams J. Designed with 802.15.4 and Zig-Bee:ZigBee Alliance[EB/OL]. (2009-04-05)[2013-10-01]. http://www.zigbee.org.

        [9]韋東山. 嵌入式Linux應(yīng)用開發(fā)完全手冊[M]. 北京:人民郵電出版社,2008.

        [10]李新春,趙雙華. 基于ARM與GPRS的家庭智能控制系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機系統(tǒng)應(yīng)用,2010,19(5):227-229.

        [11]程昌南,方強. ARM Linux入門與實踐[M]. 北京:北京航空航天大學(xué)出版社,2008.

        [12]閆林生,肖伸平,鄧鵬,等. 基于物聯(lián)網(wǎng)的室內(nèi)環(huán)境監(jiān)控系統(tǒng)的設(shè)計[J]. 計算技術(shù)與自動化,2012,31(4):47-50.

        [13]關(guān)學(xué)忠,姜南,王一群,等. 基于ZigBee技術(shù)的多點溫度監(jiān)測系統(tǒng)的設(shè)計[J]. 自動化技術(shù)與應(yīng)用,2011,30(10):41-44.

        [14]白復(fù)東. 嵌入式Linux驅(qū)動程序的開發(fā)[J]. 信息技術(shù),2009(9):185-186,189.

        [15]朱珍民,隋雪青,段斌. 嵌入式實時操作系統(tǒng)及其應(yīng)用開發(fā)[M]. 北京:北京郵電大學(xué)出版社,2006.endprint

        溫度傳感器選用Dallas半導(dǎo)體公司生產(chǎn)的應(yīng)用可組網(wǎng)的單線式數(shù)字溫度傳感器DSl8B20,測量溫度范圍為-55 ℃至125 ℃,精度為0.5 ℃,用9bit數(shù)字量表示溫度,每次將溫度轉(zhuǎn)換成數(shù)字量需200 ms。采用直接數(shù)字化輸出,內(nèi)部傳感元件及轉(zhuǎn)換電路集成在形如1只三極管的集成電路內(nèi),3個端口分別是地線(G N D)、數(shù)據(jù)線(DQ)、電源(VDD),從芯片CC2430的I/O 口上接入溫度傳感器DS18B20的DQ端。

        3系統(tǒng)軟件設(shè)計

        本系統(tǒng)在RedHat9.0下創(chuàng)建嵌入式系統(tǒng)的Linux開發(fā)環(huán)境,使用arm-linux-gcc3.4.5作為交叉編譯器,并采用yaffs類型的根文件系統(tǒng)和Linux2.6.29版本的內(nèi)核來構(gòu)建嵌入式系統(tǒng)。linux2.6.29內(nèi)核具有強大的進程、中斷和設(shè)備管理,支持各種文件系統(tǒng)。本系統(tǒng)軟件設(shè)計部分主要包括:Linux操作系統(tǒng)移植、底層設(shè)備驅(qū)動程序設(shè)計和系統(tǒng)應(yīng)用主程序設(shè)計三大部分。

        3.1Linux操作系統(tǒng)移植

        嵌入式Linux操作系統(tǒng)移植包括:移植U-boot、移植Linux內(nèi)核以及制作根文件系統(tǒng)[11]。

        3.1.1移植U-bootU-boot是在嵌入式操作系統(tǒng)運行前執(zhí)行的一段Bootloader程序,其作用在于初始化硬件設(shè)備、建立內(nèi)存空間的映射關(guān)系,將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),為最終調(diào)試操作系統(tǒng)內(nèi)核準備好正確的環(huán)境。他的源代碼是免費公開的,可從網(wǎng)站上直接下載獲得,本系統(tǒng)所用版本為U-boot1.1.4。在U-boot目錄下進行相關(guān)配置并執(zhí)行#make CROSS_COMPILE=arm-linux編譯成功后,可將其燒入到FLASH中運行。

        3.1.2移植Linux內(nèi)核首先從網(wǎng)站上下載免費開源的Linux2.6.29內(nèi)核源代碼,在編譯前進入根目錄,修改其目錄下的Makefile文件,設(shè)置目標平臺和交叉編譯器。然后運行#make menuconfig進入配置菜單,選擇需要配置的選項后保存退出,再執(zhí)行內(nèi)核編譯命令#make uImage,編譯成功后會得到編譯好的內(nèi)核鏡像文件zImage。

        3.1.3制作根文件系統(tǒng)首先編譯安裝Busybox,然后根據(jù)需要建立相應(yīng)的根目錄,并編輯好系統(tǒng)運行所需的配置文件,最后采用制作yaffs文件系統(tǒng)的軟件來制作出文件系統(tǒng)鏡像。最終用U-boot通過tftp服務(wù)器下載內(nèi)核鏡像和根文件系統(tǒng)鏡像到NAND FLASH中,如果系統(tǒng)啟動正常,則成功移植了Linux操作系統(tǒng)。

        3.2底層設(shè)備驅(qū)動程序設(shè)計

        底層設(shè)備驅(qū)動程序是操作系統(tǒng)和設(shè)備進行通信的特殊程序,一般集成在操作系統(tǒng)內(nèi)核中,有直接編譯到內(nèi)核(靜態(tài)編譯)和模塊(動態(tài)編譯)2種方式,前者是將驅(qū)動作為內(nèi)核的一部分,直接編譯到內(nèi)核中;后者則為動態(tài)鏈接:單獨作為1個模塊進行編譯,按需加載到內(nèi)核中[12],本設(shè)計使用動態(tài)編輯方式。本系統(tǒng)的底層設(shè)備驅(qū)動主要是DS18B20驅(qū)動和 ZigBee 無線收發(fā)模塊驅(qū)動;另外LCD觸摸屏、串口等的驅(qū)動已經(jīng)按需編譯到Linux內(nèi)核中。

        3.2.1DS18B20驅(qū)動程序設(shè)計DS18B20是在1根總線上讀寫數(shù)據(jù)的,因此對讀寫的數(shù)據(jù)位有著嚴格的時序要求,同一時刻單總線上只能有1個控制信號或數(shù)據(jù),必須有嚴格的通信協(xié)議來保證各位數(shù)據(jù)的正確性和完整性。為保證數(shù)據(jù)可靠地傳送,進行數(shù)據(jù)通信時一定要符合單總線協(xié)議[13]。為了讀出所有DS18B20的溫度值,利用DS18B20的相關(guān)ROM命令并結(jié)合相關(guān)子函數(shù)完成該驅(qū)動的設(shè)計,其流程如圖3所示。

        3.2.2ZigBee無線收發(fā)模塊驅(qū)動設(shè)計本系統(tǒng)采用的是星形網(wǎng)絡(luò)拓撲結(jié)構(gòu),網(wǎng)絡(luò)中存在協(xié)調(diào)器和終端兩種設(shè)備。上電后,協(xié)調(diào)器首先完成應(yīng)用層初始化,然后初始化I/O端口并打開全局中斷,接著協(xié)調(diào)器搜索選擇合適的信道并組建一個ZigBee網(wǎng)絡(luò);溫度采集節(jié)點上電后,初始化后先掃描信道并尋找協(xié)調(diào)器,與之建立連接,連接成功后,終端節(jié)點每隔一定時間采集1次溫室內(nèi)的溫度信息,然后傳輸給協(xié)調(diào)器,協(xié)調(diào)器接受各個節(jié)點的溫度值,最終將其傳輸給ARM9處理器。ZigBee協(xié)調(diào)器和終端節(jié)點程序流程圖分別如圖4和圖5所示。

        3.3系統(tǒng)應(yīng)用主程序設(shè)計

        本系統(tǒng)通過創(chuàng)建打開DS18B20、ZigBee模塊的驅(qū)動進程,使得系統(tǒng)在操作系統(tǒng)打開后通過進程調(diào)度對驅(qū)動進行操作[14-15],從而實現(xiàn)無線多點溫度采集的目的。系統(tǒng)應(yīng)用主程序流程圖見圖6所示。

        4結(jié)論與討論

        本研究介紹了一種基于ARM與ZigBee技術(shù)的溫室大棚多點溫度采集系統(tǒng),并給出了詳細的系統(tǒng)架構(gòu)方案,從軟硬件方面闡述了設(shè)計思路和實現(xiàn)方法。測試表明,將低成本、低功耗的無線ZigBee技術(shù)應(yīng)用于多點分布式溫度采集系統(tǒng),不但能夠?qū)崿F(xiàn)對溫室大棚內(nèi)多處溫度的自動實時采集,而且提高了系統(tǒng)的可靠性和靈活性,同時也減少了現(xiàn)場布線帶來的各種問題。此外,ARM-Linux具有較強的批量數(shù)據(jù)處理能力和網(wǎng)絡(luò)功能,因此本系統(tǒng)在大規(guī)模、大面積、監(jiān)測節(jié)點數(shù)較多的溫室大棚中具有極大的推廣應(yīng)用價值。以后的研究可以進一步深入:軟件擴展升級可以在操作系統(tǒng)中進行,使其具有更好的通用性以便于不同的用戶通過簡單的修改就可以成功添加不同種類和個數(shù)的傳感器,甚至利用網(wǎng)絡(luò)功能實現(xiàn)遠程數(shù)據(jù)采集和監(jiān)測;硬件擴展升級可以添加新的終端節(jié)點來采集其他環(huán)境參數(shù)如光照、濕度、CO2濃度等;此外還可以增加網(wǎng)絡(luò)接口模塊來實現(xiàn)遠程數(shù)據(jù)傳輸。

        參考文獻:

        [1]黃偉鋒,葉祥. 溫室環(huán)境多點數(shù)據(jù)嵌入式智能監(jiān)測系統(tǒng)[J]. 農(nóng)機化研究,2010,32(6):133-136.

        [2]蔣錄全. 信息生態(tài)與社會可持續(xù)發(fā)展[M]. 北京:北京圖書館出版社,2003:238-242.

        [3]宋蟄存,陳寧,李迪飛. ZigBee無線傳感技術(shù)在森林火災(zāi)監(jiān)測中的應(yīng)用[J]. 自動化儀表,2011,32(4):50-52.

        [4]侯艷波,秦會斌,胡建人,等. 基于嵌入式和ZigBee技術(shù)的節(jié)能系統(tǒng)的設(shè)計與實現(xiàn)[J]. 電子器件,2012,35(6):670-673.

        [5]楊瑋,呂科,張棟,等. 基于ZigBee技術(shù)的溫室無線智能控制終端開發(fā)[J]. 農(nóng)業(yè)工程學(xué)報,2010,26(3):198-202.

        [6]焦哲勇,程友聯(lián). 基于ARM的農(nóng)業(yè)溫室多點溫度采集系統(tǒng)的設(shè)計[J]. 農(nóng)業(yè)開發(fā)與裝備,2007(5):19-21.

        [7]張麗蓮. 基于S3C2440的溫室大棚多點溫度監(jiān)測系統(tǒng)的研究[J]. 安徽農(nóng)業(yè)科學(xué),2010,38(20):10923-10924.

        [8]Adams J. Designed with 802.15.4 and Zig-Bee:ZigBee Alliance[EB/OL]. (2009-04-05)[2013-10-01]. http://www.zigbee.org.

        [9]韋東山. 嵌入式Linux應(yīng)用開發(fā)完全手冊[M]. 北京:人民郵電出版社,2008.

        [10]李新春,趙雙華. 基于ARM與GPRS的家庭智能控制系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機系統(tǒng)應(yīng)用,2010,19(5):227-229.

        [11]程昌南,方強. ARM Linux入門與實踐[M]. 北京:北京航空航天大學(xué)出版社,2008.

        [12]閆林生,肖伸平,鄧鵬,等. 基于物聯(lián)網(wǎng)的室內(nèi)環(huán)境監(jiān)控系統(tǒng)的設(shè)計[J]. 計算技術(shù)與自動化,2012,31(4):47-50.

        [13]關(guān)學(xué)忠,姜南,王一群,等. 基于ZigBee技術(shù)的多點溫度監(jiān)測系統(tǒng)的設(shè)計[J]. 自動化技術(shù)與應(yīng)用,2011,30(10):41-44.

        [14]白復(fù)東. 嵌入式Linux驅(qū)動程序的開發(fā)[J]. 信息技術(shù),2009(9):185-186,189.

        [15]朱珍民,隋雪青,段斌. 嵌入式實時操作系統(tǒng)及其應(yīng)用開發(fā)[M]. 北京:北京郵電大學(xué)出版社,2006.endprint

        猜你喜歡
        驅(qū)動程序內(nèi)核嵌入式
        萬物皆可IP的時代,我們當夯實的IP內(nèi)核是什么?
        群眾路線是百年大黨成功之內(nèi)核性制度因素的外在表達
        當代陜西(2021年12期)2021-08-05 07:45:46
        強化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
        Linux內(nèi)核mmap保護機制研究
        搭建基于Qt的嵌入式開發(fā)平臺
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        Altera加入嵌入式視覺聯(lián)盟
        倍福 CX8091嵌入式控制器
        自動化博覽(2014年4期)2014-02-28 22:31:15
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        极品美女扒开粉嫩小泬图片| 偷亚洲偷国产欧美高清| 亚洲精品夜夜夜妓女网| 夜夜揉揉日日人人青青| 日本中文字幕一区二区高清在线| 亚洲欧美综合区自拍另类| 国产精品.xx视频.xxtv| 久久婷婷综合色丁香五月| 久久91精品国产91久| 一本色道久久综合亚洲精品蜜臀| 免费看黄片视频在线观看| 国产精品久久婷婷六月丁香| 乱码窝窝久久国产无人精品| 最新系列国产专区|亚洲国产| 国农村精品国产自线拍| 五月丁香六月综合激情在线观看| 日韩精品久久久中文字幕人妻| 亚洲色图第一页在线观看视频| 国产麻豆国精精品久久毛片| 中文字幕亚洲精品专区| 新婚人妻不戴套国产精品| 人妻少妇边接电话边娇喘| 2021精品国产综合久久| 国产美女精品AⅤ在线老女人| 国产av一区二区日夜精品剧情| 中文字幕亚洲熟女av| 人妻少妇被粗大爽.9797pw| 久久精品国产亚洲av四虎| 人妻丰满av无码中文字幕| 午夜亚洲精品视频网站| 手机在线免费av资源网| 国产精品爽爽v在线观看无码| 在线播放国产一区二区三区| 国产一区二区三区精品久久呦| 亚洲av综合色区在线观看| 精品专区一区二区三区| 亚洲成人福利在线视频| 少妇激情一区二区三区视频| 国产一区二区三区美女| 亚洲精品视频免费在线| 国产一区二区精品亚洲|