您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 一种基于物联网的远程监控系统设计
一种基于物联网的远程监控系统设计摘要:为了实现工厂、交通等远程监控管理,系统设计采用dm900芯片和cc24300为主实现通信,核心部分主要包括arm中央控制平台及嵌入式linux操作系统移植,创新之处在于融入了物联网技术并巧妙地移植移植uboot和嵌入式linux操作系统的编译内核配置。按照系统的整个工作软件流程图进行了试验和联调,符合原设计目标,系统具有扩展性,通用性和能与其他监控设备无缝连接等性能,以满足不同工作环境的需要,可为其他基于物联网的远程监控系统所借鉴和参考。关键词:arm;物联网;嵌入式linux操作系统;远程监控远程监控系统现已成为现代化生产、生活中不可缺少的重要组成部分。目前,监控系列产品种类繁多,大部分广泛应用于交通、医院、银行、家居、学校等安防领域。伴随着对物联网(internetofthings)应用研究的不断深入,使得远程监控系统的应用领域更为广泛。本文创新点在于是基于物联网、以arm内核芯片的嵌入式系统为核心技术的远程监控系统设计,其中巧妙地移植移植uboot和嵌入式linux操作系统的编译内核配置。虽然主要是关于某市几个重要路口的交通远程监控管理系统的核心设计内容,但亦可为其他基于物联网的远程监控系统所借鉴。1系统体系结构及功能本设计系统主要由控制模块、arm中央控制平台、zigbee无线传输、以太网通信和多个扩展接口等部分组成,实际中可根据需求和使用环境灵活地选用适合的接口进行操作,其体系结构如图1所示。该系统主要是利用rs232接口实现arm嵌入式系统与zigbee无线系统的连接进而实现网关设备的功能。通过arm中央控制平台和zigbee芯片的rs232线路驱动器/接收器max3221芯片来实现串行数据的通信。由于采用了常见的串口作为通信媒介,简化了硬件设计。作为接收命令端的zigbee芯片由于采用的是8051为内核的cpu,时刻处于等待命令状态。arm中央控制平台植入了linux操作系统,当运行了串口实现程序后,就可向zigbee芯片发出采集信息的命令。因此系统主要的软件实现就是linux系统下的串口实现程序的设计。图1系统体系结构其中检测控制模块可以是温度控制模块、压力控制模块、流量控制模块等等实际监控需检测的参量模块。各检测控制模块通过zigbee模块与arm中央控制平台实现无线连接,组成了一个星型无线智能控制网络。同时arm中央控制平台通过以太网实现与外部远程连接。从而实现远程监控。1.1arm中央控制平台在本设计中,arm中央控制平台是系统的核心,主要负责数据采集判断处理。为了提高系统工作效率,设计中采用了atmel公司生产的arm9芯片at91rm9200。由于at91rm9200处理器具有丰富的系统与应用外设及标准的接口,因此根据应用的需要很容易就可实现功能模块的扩展。该芯片融合了arm920tarmthumb处理器特性:工作于180mhz时性能高达200mips,存储器管理单元,16kb的数据缓存,16kb的指令缓存,写缓冲器,含有调试信道的内部仿真器,中等规模的嵌入式宏单元结构(仅针对256bga封装);低功耗:vddcore电流为30.4ma,待机模式电流为3.1ma;附加的嵌入式存储器:sram为16kb;rom为128kb;外部总线接口(ebi):支持sdram,静态存储器,burstflash,无缝连接的compactflashsmartmedia及nandflash;提高性能而使用的系统外设:2个有双pll的片上振荡器,低速的时钟操作模式与软件功耗优化能力,4个可编程的外部时钟信号,调试单元、两线uart并支持调试信道,有8个优先级的高级中断控制器,独立的可屏蔽中断源,伪中断保护,7个外部中断源及1个快速中断源,有122个可编程i/o口线的4个32位pio控制器,各线均有输入变化中断及开漏能,20通道的外设数据控制器(dma);10/l00baset型以太网卡接口:独立的媒体接口(mii)或简化的独立媒体接口(rmii),对于接收与发送有集成的28bfif0及专用的dma通道;usb2.0全速(12mb/s)主机双端口:双片上收发器(208引脚pqfp封装中仅为一个):集成的fif0及专用的dma通道;usb2.0全速(12mb/s)器件端口:片上收发器,2kb可配置的集成fif0;多媒体卡接口(mci):自动协议控制及快速自动数据传输,与mmc及sd存储器卡兼容,支持2个sd存储器;主机/从机串行外设接口(spi):8~16位可编程数据长度,可连接4个外设;两线接口(twi):主机模式支持,所有两线atmeleeprom支持;所有数字引脚的ieee1149.1jtag边界扫描。正是由于at91rm9200芯片具有以上特性,所以它完全满足了本设计系统必须具备的3个条件:高速处理能力、高速数据通道、网络接口。1.2zigbee芯片本设计中zigbee芯片选用chipcon公司的无线收发芯片cc2430。cc2430是一个真正片上系统芯片,内部集成一个高性能2.4ghz直接序列扩频(dsss)射频收发器核心和一个工业级加强型8051内核,无需再选另外的处理器,使设计简化。1.3以太网控制器本设计中以太网控制器采用是davicom公司的dm9000,这是具有10/100m自适应以太网芯片。其特点是:支持8位、16位、32位数据总线宽度;寄存器操作简单有效,有成熟的linux驱动程序支持;3.3v接口电平;成本相当低廉;还可以使用mii接口和phy芯片连接。dm9000还提供了介质无关的接口,以连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器;其物理协议层接口完全支持使用10mb/s下3类、4类、5类非屏蔽双绞线和100mb/s下5类非屏蔽双绞线。这是完全符合ieee802.3u规格。它的自动协调功能将自动完成配置以最大限度地适合其线路带宽,还支持ieee802.3x全双工流量控制。2软件设计2.1移植uboot通用bootloader(universalbootloader,uboot)遵循gpl条款的开放源代码项目。uboot支持大多cpu。uboot可以烧写ext2,jffs2文件系统映象,支持串口下载、网络下载,并提供了大量的命令。系统引导支持nfs挂载、ramdisk(压缩或非压缩)形式的根文件系统;支持nfs挂载,从flash中引导压缩或非压缩系统内核。2.1.1uboot的下载可以从获得uboot的最新版本,如果使用过程中碰到问题或是发现bug,可以通过邮件列表网站获得帮助。选择1.1.2,文件名称uboot1.1.2.tar.bz22.1.2修改uboot配置文件进入存放uboot1.1.2.tar.bz的目录,运行tarjxvfuboot1.1.2.tar.bz进行解压,进入解压后生成的文件夹uboot1.1.2,它是按atmel推荐的标准系统的配置sdram:32mbytesncs1;flash:8mbncs0来配置的,若系统的配置和推荐的不同,则需要修改。需要修改文件主要是下面几个:./board/at91rm9200dk/config.mk,include/configs/+at91rm9200dk.h,./board/at91rm9200dk/flash.c,flash.h在修改好uboot配置后,编译运行即可。2.2嵌入式linux操作系统移植at91rm9200芯片支持多种嵌入式操作系统,但考虑到at91rm9200支持从内部的bootrom启动或从外部的dataflash、二线eeprom或8位并行存储器引导启动,因此,本设计中,主要将linux在at91rm9200上进行移植。2.2.1嵌入式linux操作系统嵌入式linux操作系统由一个kernel(内核)及一些根据需要进行定制的系统模块组成。其kernel很小,一般只有几百kb左右,即使加上其他必要的模块和应用程序,所需的存储空间也很小。它具有多任务、多进程的系统特征,有些还有具有实时性。一个小型的嵌入式linux系统只需要引导程序、linux微内核(由内存管理、进程管理和事务处理构成)、初始化进程3个基本元素组成。当然,实际应用中还需要让它有更多的功能且继续保持小型化,如加上文件系统(可以在rom,ram,flash或diskonchip中)、tcp/ip网络支持、存储更多数据用的磁盘、提供设计精简的应用程序等。2.2.2内核下载及编译工具获取在选择systemtypeatmelat91systemonchip后,检查配置是否成功。如果确认上述配置成功,就可在menuconfig里面修改config_cmdline中的启动参数,把ram盘大小从缺省值3145728b(3mb)修改成4194304b(4mb),注意这些参数是在启动加载时用的,尤其是整合成的内核时启动要用到,不可以随便修改,本统最后的参数为:config_cmdline=“mem=64mconsole=ttys0,115200initrd=0x20410000,4194304root=/dev/ram0rw”其他的按照硬件做一些耗配覆选择即可。makecleanmakezlmagemakemodules经过编译,可在linux2.6.20/arch/arm/boot下面获得zlmage。2.3busybox的交叉编译busybox最初是由bruceperens在1996年为debiangnu/linux安装盘编写的。其目标是在一张软盘上创建一个可引导的gnu/linux系统,这可以用作安装盘和急救盘,是很多标准linux?工具的一个单个可执行实现。busybox包含了一些简单的工具,例如cat和echo等。由于很多标准linux工具都可以共享很多共同的元素,当这些工具被合并到一个可执行程序中时,它们就可以共享这些相同的元素,这样可以产生更小的可执行程序,这就为可引导的磁盘和使用linux的嵌入式设备提供了更多功能。2.3.1下载busyboxbusybox是按照gnugeneralpubliclicense(gpl)许可证发行的。目前可使用的、稳定的版本busybox1.3.0.bz2可以从网站下载。2.3.2配置编译busybox#tarjxvfbusybox1.3.0.tar.bz2#cdbusybox1.3.0#makedistclean#makemenuconfigbusyboxsetting的主要修改的选项为:buildoptionsbuildbusyboxasastaticbinary(nosharedlib)installationoptuionsdon′tuse/usr如果这里不选择成静态的二进制文件,那么在以后面做ramdisk时就需要把arm1inux下的一些动态库复制到ramdisk的/lib里面去;不选择don’tuse/usr,makeinstall时busybox就不会安装到本目录的_install下,会覆盖原来的usr/bin中内容。由于linux是开放源代码(opensource)的,不存在黑箱技术,遍布全球的众多linux爱好者又是linux开发者的强大技术支持,所以其他需要程序的读者按照自己的需要选择下载后编译整合linux内核和initrd成bootplmage,再下载bootpimage启动linux就可以了。2.4串口设计因为zigbeecc2430为本设计的下位机,因此软件设计主要集中在对arm中央控制平台的实现和linux操作系统串口程序的实现上。因为目前linux2.6x系列内核对串口有很好的支持性,所以在linux对串口驱动上的实现就很简单,也可极大的简化后期的维护,有利于推广。linux串口实现程序主
本文标题:一种基于物联网的远程监控系统设计
链接地址:https://www.777doc.com/doc-5013297 .html