国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于物聯(lián)網(wǎng)的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

2013-07-24 18:45:13方志雄
關(guān)鍵詞:內(nèi)核串口嵌入式

方志雄

(黃岡師范學(xué)院 物理與電子信息學(xué)院,湖北 黃岡 438000)

一種基于物聯(lián)網(wǎng)的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)

方志雄

(黃岡師范學(xué)院 物理與電子信息學(xué)院,湖北 黃岡 438000)

為了實(shí)現(xiàn)工廠、交通等遠(yuǎn)程監(jiān)控管理,系統(tǒng)設(shè)計(jì)采用dm900芯片和cc24300為主實(shí)現(xiàn)通信,核心部分主要包括arm中央控制平臺(tái)及嵌入式linux操作系統(tǒng)移植,創(chuàng)新之處在于融入了物聯(lián)網(wǎng)技術(shù)并巧妙地移植移植u boot和嵌入式linux操作系統(tǒng)的編譯內(nèi)核配置.按照系統(tǒng)的整個(gè)工作軟件流程圖進(jìn)行了試驗(yàn)和聯(lián)調(diào),符合原設(shè)計(jì)目標(biāo),系統(tǒng)具有擴(kuò)展性,通用性和能與其他監(jiān)控設(shè)備無(wú)縫連接等性能,以滿足不同工作環(huán)境的需要,可為其他基于物聯(lián)網(wǎng)的遠(yuǎn)程監(jiān)控系統(tǒng)所借鑒和參考.

arm;物聯(lián)網(wǎng);嵌入式linux操作系統(tǒng);遠(yuǎn)程監(jiān)控

遠(yuǎn)程監(jiān)控系統(tǒng)現(xiàn)已成為現(xiàn)代化生產(chǎn)、生活中不可缺少的重要組成部分.目前,監(jiān)控系列產(chǎn)品種類繁多,大部分廣泛應(yīng)用于交通、醫(yī)院、銀行、家居、學(xué)校等安防領(lǐng)域.伴隨著對(duì)物聯(lián)網(wǎng)(internet of things)應(yīng)用研究的不斷深入,使得遠(yuǎn)程監(jiān)控系統(tǒng)的應(yīng)用領(lǐng)域更為廣泛.本文創(chuàng)新點(diǎn)在于是基于物聯(lián)網(wǎng)、以arm內(nèi)核芯片的嵌入式系統(tǒng)為核心技術(shù)的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì),其中巧妙地移植移植u boot和嵌入式linux操作系統(tǒng)的編譯內(nèi)核配置.雖然主要是關(guān)于某市幾個(gè)重要路口的交通遠(yuǎn)程監(jiān)控管理系統(tǒng)的核心設(shè)計(jì)內(nèi)容,但亦可為其他基于物聯(lián)網(wǎng)的遠(yuǎn)程監(jiān)控系統(tǒng)所借鑒.

1 系統(tǒng)體系結(jié)構(gòu)及功能

本設(shè)計(jì)系統(tǒng)主要由控制模塊、arm中央控制平臺(tái)、zigbee無(wú)線傳輸、以太網(wǎng)通信和多個(gè)擴(kuò)展接口等部分組成,實(shí)際中可根據(jù)需求和使用環(huán)境靈活地選用適合的接口進(jìn)行操作,其體系結(jié)構(gòu)如圖1所示.

圖1 系統(tǒng)體系結(jié)構(gòu)

該系統(tǒng)主要是利用rs 232接口實(shí)現(xiàn)arm嵌入式系統(tǒng)與zigbee無(wú)線系統(tǒng)的連接進(jìn)而實(shí)現(xiàn)網(wǎng)關(guān)設(shè)備的功能.通過arm中央控制平臺(tái)和zigbee芯片的rs 232線路驅(qū)動(dòng)器/接收器max3221芯片來(lái)實(shí)現(xiàn)串行數(shù)據(jù)的通信.由于采用了常見的串口作為通信媒介,簡(jiǎn)化了硬件設(shè)計(jì).作為接收命令端的zigbee芯片由于采用的是8051為內(nèi)核的cpu,時(shí)刻處于等待命令狀態(tài).arm中央控制平臺(tái)植入了linux操作系統(tǒng),當(dāng)運(yùn)行了串口實(shí)現(xiàn)程序后,就可向zigbee芯片發(fā)出采集信息的命令.因此系統(tǒng)主要的軟件實(shí)現(xiàn)就是linux系統(tǒng)下的串口實(shí)現(xiàn)程序的設(shè)計(jì).

圖1系統(tǒng)體系結(jié)構(gòu)其中檢測(cè)控制模塊可以是溫度控制模塊、壓力控制模塊、流量控制模塊等等實(shí)際監(jiān)控需檢測(cè)的參量模塊.各檢測(cè)控制模塊通過zigbee模塊與arm中央控制平臺(tái)實(shí)現(xiàn)無(wú)線連接,組成了一個(gè)星型無(wú)線智能控制網(wǎng)絡(luò).同時(shí)arm中央控制平臺(tái)通過以太網(wǎng)實(shí)現(xiàn)與外部遠(yuǎn)程連接.從而實(shí)現(xiàn)遠(yuǎn)程監(jiān)控.

1.1 arm中央控制平臺(tái)

在本設(shè)計(jì)中,arm中央控制平臺(tái)是系統(tǒng)的核心,主要負(fù)責(zé)數(shù)據(jù)采集判斷處理.為了提高系統(tǒng)工作效率,設(shè)計(jì)中采用了atmel公司生產(chǎn)的arm9芯片at91rm9200.由于at91rm9200處理器具有豐富的系統(tǒng)與應(yīng)用外設(shè)及標(biāo)準(zhǔn)的接口,因此根據(jù)應(yīng)用的需要很容易就可實(shí)現(xiàn)功能模塊的擴(kuò)展.該芯片融合了arm920t arm thumb處理器特性:工作于180 mhz時(shí)性能高達(dá)200mips,存儲(chǔ)器管理單元,16 kb的數(shù)據(jù)緩存,16kb的指令緩存,寫緩沖器,含有調(diào)試信道的內(nèi)部仿真器,中等規(guī)模的嵌入式宏單元結(jié)構(gòu)(僅針對(duì)256bga封裝);低功耗:vddcore電流為30.4ma,待機(jī)模式電流為3.1 ma;附加的嵌入式存儲(chǔ)器:sram為16kb;rom為128kb;外部總線接口(ebi):支持sdram,靜態(tài)存儲(chǔ)器,burst flash,無(wú)縫連接的compactflash smartmedia及nand flash;提高性能而使用的系統(tǒng)外設(shè):2個(gè)有雙pll的片上振蕩器,低速的時(shí)鐘操作模式與軟件功耗優(yōu)化能力,4個(gè)可編程的外部時(shí)鐘信號(hào),調(diào)試單元、兩線uart并支持調(diào)試信道,有8個(gè)優(yōu)先級(jí)的高級(jí)中斷控制器,獨(dú)立的可屏蔽中斷源,偽中斷保護(hù),7個(gè)外部中斷源及1個(gè)快速中斷源,有122個(gè)可編程i/o口線的4個(gè)32位pio控制器,各線均有輸入變化中斷及開漏能,20通道的外設(shè)數(shù)據(jù)控制器(dma);10/l00 base t型以太網(wǎng)卡接口:獨(dú)立的媒體接口(mii)或簡(jiǎn)化的獨(dú)立媒體接口(rmii),對(duì)于接收與發(fā)送有集成的28 b fif0及專用的dma通道;usb 2.0全速(12 mb/s)主機(jī)雙端口:雙片上收發(fā)器(208引腳pqfp封裝中僅為一個(gè)):集成的fif0及專用的dma通道;usb 2.0全速(12 mb/s)器件端口:片上收發(fā)器,2 kb可配置的集成fif0;多媒體卡接口(mci):自動(dòng)協(xié)議控制及快速自動(dòng)數(shù)據(jù)傳輸,與mmc及sd存儲(chǔ)器卡兼容,支持2個(gè)sd存儲(chǔ)器;主機(jī)/從機(jī)串行外設(shè)接口(spi):8~16位可編程數(shù)據(jù)長(zhǎng)度,可連接4個(gè)外設(shè);兩線接口(twi):主機(jī)模式支持,所有兩線atmel eeprom支持;所有數(shù)字引腳的ieee 1149.1 jtag邊界掃描.

正是由于at91rm9200芯片具有以上特性,所以它完全滿足了本設(shè)計(jì)系統(tǒng)必須具備的3個(gè)條件:高速處理能力、高速數(shù)據(jù)通道、網(wǎng)絡(luò)接口.

1.2 zigbee芯片

本設(shè)計(jì)中zigbee芯片選用chipcon公司的無(wú)線收發(fā)芯片cc2430.cc2430是一個(gè)真正片上系統(tǒng)芯片,內(nèi)部集成一個(gè)高性能2.4ghz直接序列擴(kuò)頻(dsss)射頻收發(fā)器核心和一個(gè)工業(yè)級(jí)加強(qiáng)型8051內(nèi)核,無(wú)需再選另外的處理器,使設(shè)計(jì)簡(jiǎn)化.

1.3 以太網(wǎng)控制器

本設(shè)計(jì)中以太網(wǎng)控制器采用是davicom公司的dm9000,這是具有10/100m自適應(yīng)以太網(wǎng)芯片.其特點(diǎn)是:支持8位、16位、32位數(shù)據(jù)總線寬度;寄存器操作簡(jiǎn)單有效,有成熟的linux驅(qū)動(dòng)程序支持;3.3v接口電平;成本相當(dāng)?shù)土?;還可以使用mii接口和phy芯片連接.dm9000還提供了介質(zhì)無(wú)關(guān)的接口,以連接所有提供支持介質(zhì)無(wú)關(guān)接口功能的家用電話線網(wǎng)絡(luò)設(shè)備或其他收發(fā)器;其物理協(xié)議層接口完全支持使用10mb/s下3類、4類、5類非屏蔽雙絞線和100mb/s下5類非屏蔽雙絞線.這是完全符合ieee802.3u規(guī)格.它的自動(dòng)協(xié)調(diào)功能將自動(dòng)完成配置以最大限度地適合其線路帶寬,還支持ieee802.3x全雙工流量控制.

2 軟件設(shè)計(jì)

2.1 移植u boot

通用bootloader(universal boot loader,u boot)遵循gpl條款的開放源代碼項(xiàng)目.

U boot支持大多cpu.U boot可以燒寫ext2,jffs2文件系統(tǒng)映象,支持串口下載、網(wǎng)絡(luò)下載,并提供了大量的命令.系統(tǒng)引導(dǎo)支持nfs掛載、ramdisk(壓縮或非壓縮)形式的根文件系統(tǒng);支持nfs掛載,從flash中引導(dǎo)壓縮或非壓縮系統(tǒng)內(nèi)核.

2.1.1 u boot的下載

可以從http://sourceforge.net/projects/u boot獲得u boot的最新版本,如果使用過程中碰到問題或是發(fā)現(xiàn)bug,可以通過郵件列表網(wǎng)站http://lists. sourceforge.net/lists/listinfo/u bootusers/獲得幫助.

2.1.2 修改 u boot配置文件

進(jìn)入存放u boot 1.1.2.tar.bz的目錄,運(yùn)行tar jxvf u boot 1.1.2.tar.bz進(jìn)行解壓,進(jìn)入解壓后生成的文件夾u boot 1.1.2,它是按atmel推薦的標(biāo)準(zhǔn)系統(tǒng)的配置sdram:32mbytes ncs1;flash:8 mb ncs0來(lái)配置的,若系統(tǒng)的配置和推薦的不同,則需要修改.需要修改文件主要是下面幾個(gè):./board/ at91rm9200dk/config.mk,include/configs/+at91rm 9200dk.h,./board/at91rm9200dk/flash.c,flash.h在修改好u boot配置后,編譯運(yùn)行即可.

2.2 嵌入式linux操作系統(tǒng)移植

at91rm9200芯片支持多種嵌入式操作系統(tǒng),但考慮到at91rm9200支持從內(nèi)部的bootrom啟動(dòng)或從外部的dataflash、二線eeprom或8位并行存儲(chǔ)器引導(dǎo)啟動(dòng),因此,本設(shè)計(jì)中,主要將linux在at91rm9200上進(jìn)行移植.

2.2.1 嵌入式linux操作系統(tǒng)

嵌入式linux操作系統(tǒng)由一個(gè)kernel(內(nèi)核)及一些根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成.其kernel很小,一般只有幾百kb左右,即使加上其他必要的模塊和應(yīng)用程序,所需的存儲(chǔ)空間也很小.它具有多任務(wù)、多進(jìn)程的系統(tǒng)特征,有些還有具有實(shí)時(shí)性.一個(gè)小型的嵌入式linux系統(tǒng)只需要引導(dǎo)程序、linux微內(nèi)核 (由內(nèi)存管理、進(jìn)程管理和事務(wù)處理構(gòu)成)、初始化進(jìn)程3個(gè)基本元素組成.當(dāng)然,實(shí)際應(yīng)用中還需要讓它有更多的功能且繼續(xù)保持小型化,如加上文件系統(tǒng)(可以在rom,ram,flash或disk onchip中)、tcp/ip網(wǎng)絡(luò)支持、存儲(chǔ)更多數(shù)據(jù)用的磁盤、提供設(shè)計(jì)精簡(jiǎn)的應(yīng)用程序等.

2.2.2 內(nèi)核下載及編譯工具獲取

在選擇system type>atmel at91 system on chip后,檢查配置是否成功.如果確認(rèn)上述配置成功,就可在menuconfig里面修改config_cmdline中的啟動(dòng)參數(shù),把ram盤大小從缺省值3 145 728 b(3mb)修改成4 194 304 b(4 mb),注意這些參數(shù)是在啟動(dòng)加載時(shí)用的,尤其是整合成的內(nèi)核時(shí)啟動(dòng)要用到,不可以隨便修改,本統(tǒng)最后的參數(shù)為:

config_cmdline=“mem=64m console=ttys0,115200 initrd=0x20410000,4194304 root=/dev/ram0 rw”

其他的按照硬件做一些耗配覆選擇即可. make clean make zlmage make modules

經(jīng)過編譯,可在linux 2.6.20/arch/arm/boot下面獲得zlmage.

2.3 busybox的交叉編譯

busybox最初是由bruce perens在1996年為debian gnu/linux安裝盤編寫的.其目標(biāo)是在一張軟盤上創(chuàng)建一個(gè)可引導(dǎo)的gnu/linux系統(tǒng),這可以用作安裝盤和急救盤,是很多標(biāo)準(zhǔn)linux?工具的一個(gè)單個(gè)可執(zhí)行實(shí)現(xiàn).busybox包含了一些簡(jiǎn)單的工具,例如cat和echo等.由于很多標(biāo)準(zhǔn)linux工具都可以共享很多共同的元素,當(dāng)這些工具被合并到一個(gè)可執(zhí)行程序中時(shí),它們就可以共享這些相同的元素,這樣可以產(chǎn)生更小的可執(zhí)行程序,這就為可引導(dǎo)的磁盤和使用linux的嵌入式設(shè)備提供了更多功能.

2.3.1 下載busybox

busybox是按照gnu general public license(gpl)許可證發(fā)行的.目前可使用的、穩(wěn)定的版本busybox 1.3.0.bz2可以從網(wǎng)站http://www.busybox.net/下載.

2.3.2 配置編譯busybox

#tar jxvfbusybox 1.3.0.tar.bz2

#cdbusybox 1.3.0

#make distclean

#make menuconfig

busybox setting的主要修改的選項(xiàng)為:

buildoptions

>buildbusyboxas a static binary(no shared lib)

installationoptuions >don′t use/usr

如果這里不選擇成靜態(tài)的二進(jìn)制文件,那么在以后面做ramdisk時(shí)就需要把a(bǔ)rm 1inux下的一些動(dòng)態(tài)庫(kù)復(fù)制到ramdisk的/lib里面去;不選擇don’t use/usr,make install時(shí)busybox就不會(huì)安裝到本目錄的_install下,會(huì)覆蓋原來(lái)的usr/bin中內(nèi)容.由于linux是開放源代碼(open source)的,不存在黑箱技術(shù),遍布全球的眾多l(xiāng)inux愛好者又是linux開發(fā)者的強(qiáng)大技術(shù)支持,所以其他需要程序的讀者按照自己的需要選擇下載后編譯整合linux內(nèi)核和initrd成bootplmage,再下載bootpimage啟動(dòng)linux就可以了.

2.4 串口設(shè)計(jì)

因?yàn)閦igbee cc2430為本設(shè)計(jì)的下位機(jī),因此軟件設(shè)計(jì)主要集中在對(duì)arm中央控制平臺(tái)的實(shí)現(xiàn)和linux操作系統(tǒng)串口程序的實(shí)現(xiàn)上.因?yàn)槟壳發(fā)inux 2.6x系列內(nèi)核對(duì)串口有很好的支持性,所以在linux對(duì)串口驅(qū)動(dòng)上的實(shí)現(xiàn)就很簡(jiǎn)單,也可極大的簡(jiǎn)化后期的維護(hù),有利于推廣.linux串口實(shí)現(xiàn)程序主要是對(duì)串口包括波特率和停止位設(shè)置.串口的設(shè)置主要是設(shè)置struct termios結(jié)構(gòu)體的各成員值.在linux下串口文件位于/dev下,一般在內(nèi)核中串口1為/dev/ttys0,串口二為/dev/ttys1,打開串口是通過標(biāo)準(zhǔn)的文件打開函數(shù)來(lái)實(shí)現(xiàn)的.當(dāng)設(shè)置好后即可發(fā)送初始化的命令和等待接收命令.串口流程如圖2所示.

圖2 串口流程圖

串口流程圖在應(yīng)用層面的設(shè)計(jì)中還包括web的設(shè)計(jì)實(shí)現(xiàn),遠(yuǎn)程監(jiān)控系統(tǒng)的實(shí)現(xiàn),這里就不一一贅述.

3 結(jié)語(yǔ)

本文論述的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)與以往的監(jiān)控系統(tǒng)不同,不僅采用了高性能的處理器芯片大大提高了系統(tǒng)的性能、還融入了物聯(lián)網(wǎng)技術(shù).使這種遠(yuǎn)程監(jiān)控能夠領(lǐng)域更加廣泛.并且在設(shè)計(jì)上充分考慮到了系統(tǒng)的可擴(kuò)展性和兼容性問題,實(shí)現(xiàn)了本系統(tǒng)與其他系統(tǒng)的無(wú)縫連接,以滿足不同工作環(huán)境的需要.

〔1〕王建新.遠(yuǎn)程監(jiān)控技術(shù)的發(fā)展現(xiàn)狀和趨勢(shì)[J].國(guó)外電子測(cè)量技術(shù),2005(4):9-11.

〔2〕孫其博,劉杰.物聯(lián)網(wǎng)概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J].北京郵電大學(xué)學(xué)報(bào),2010(7):15-17.

〔3〕黃文龍,徐道連.基于zigbee和arm的嵌入式智能家庭安防系統(tǒng)設(shè)計(jì)[J].重慶工學(xué)院學(xué)報(bào)(自然科學(xué)版),2009(2):152-156.

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

〔5〕陳文星,張輝宜.嵌入式linux操作系統(tǒng)的特性[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006(3):20-21.

〔6〕管耀武,楊宗德.arm嵌入式無(wú)線通信系統(tǒng)開發(fā)實(shí)例精講[M].北京:電子工業(yè)出版社,2006.

TP277

A

1673-260X(2013)11-0022-03

湖北省教育廳科研項(xiàng)目(B2013143)

猜你喜歡
內(nèi)核串口嵌入式
萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
Linux內(nèi)核mmap保護(hù)機(jī)制研究
搭建基于Qt的嵌入式開發(fā)平臺(tái)
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
Altera加入嵌入式視覺聯(lián)盟
镇原县| 喀喇沁旗| 博客| 林口县| 元朗区| 贞丰县| 涡阳县| 和田县| 甘孜县| 安泽县| 许昌市| 贞丰县| 宁陕县| 长春市| 台州市| 闽侯县| 金湖县| 石狮市| 绥中县| 建瓯市| 武清区| 天津市| 福海县| 双峰县| 蒙城县| 河北区| 海南省| 洞口县| 土默特右旗| 双峰县| 唐海县| 天柱县| 南平市| 堆龙德庆县| 宜阳县| 海淀区| 临清市| 巧家县| 清远市| 珠海市| 东阿县|