基于ARM11的嵌入式远程无线环境监测系统的设计_第1页
基于ARM11的嵌入式远程无线环境监测系统的设计_第2页
基于ARM11的嵌入式远程无线环境监测系统的设计_第3页
基于ARM11的嵌入式远程无线环境监测系统的设计_第4页
基于ARM11的嵌入式远程无线环境监测系统的设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、青岛农业大学毕 业 论 文(设计) 题 目: 基于ARM11的嵌入式远程无线环境监测系统的设计 姓 名: 学 院: 理学与信息科学学院 专 业: 电子信息科学与技术 班 级: 2010.2 学 号: 20102741 指导教师: 代爱妮 2014 年 6 月 1 日毕业论文(设计)诚信声明本人声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得青岛农业大学或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明

2、确的说明并表示了谢意。论文(设计)作者签名: 日期: 2014 年 6 月 3 日 毕业论文(设计)版权使用授权书本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。本人授权青岛农业大学可以将本毕业论文(设计)全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。本人离校后发表或使用该毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,单位署名为青岛农业大学。论文(设计)作者签名: 日期: 2014 年 6 月 3 日指 导 教 师 签 名: 日期: 2014 年 6

3、月 3 日基于ARM11的嵌入式远程无线环境监测系统的设计摘要:温湿度采集传感技术和GPRS无线传输技术应用广泛,已经应用到了工业,农业等各个领域。随着我国经济的发展,环境问题日益突出,环境保护应以预防为主治理为辅,我们应把计算机技术与环境保护相结合,根据环境监测数据提出相应的治理方案。本系统使用分为监测主机和监测从机,主机使用ARM11处理器和Linux系统,从机使用Cortex-M3核的微控制器。从机采集数据后通过GPRS回传到主机进行显示。主机是一台基于S3C6410处理器的单板,除处理器外还有内存、FLASH以及网卡芯片,主机运行Linux操作系统,使用Qt Creator编写程序,然

4、后使用交叉编译工具arm-linux-gcc编译成ARM版本的可执行文件,然后拷贝到单板上运行,主机的数据存储使用的是轻量级数据库SQLITE,可供查看以往的记录信息,主机使用以太网接收从机传来的温湿度信息。从机是以LPC1768微控制器为主控的专用温湿度采集系统,传感器是DHT22,DHT22是一款集成采集温度度功能于一体的传感器,传感器采集完温湿度后通过GPRS通道传给上位机,GPRS芯片使用的是SIM900,这是一款工业级的手机模块芯片。本文首先给出了设计的原理和设计思路,然后根据软硬件分章介绍各自的设计原理以及实现过程,从而设计一个高稳定性的环境监测系统,实现环境温湿度的在线实时监测。

5、关键字:微控制器;微处理器;GPRS;Linux;ARM11;ARM Cortex-M3Design of Embeded Wireless and Remote Environment Monitoring System Based on ARM11Abstract: Temperature and humidity sensor technology capture a wide range of technology applications, and so does GPRS

6、wireless transmission. The accordingly technologies have been applied to various fields of industry, agriculture and so on. As China's economic development, environmental issues have become increasingly prominent, environmental governance should be based on prevention supplement, we should combi

7、ne computer technology and environmental protection, propose appropriate governance program based on environmental monitoring data. The system is divided into monitoring the use and monitoring from the host machine, the host uses ARM11 processor and Linux systems, the slave using Cortex-M3 microcont

8、roller core. Data collected from the machine back to the host via GPRS display.Host-based S3C6410 processor is a single-board, in addition to the processor but also have memory, FLASH and chip card, the host uses the Linux operating system, using Qt Creator programming on Linux systems, and then use

9、 cross-compilation tools compiled into ARM version executable file, then copy it to run a single board, the master data store using a lightweight database SQLITE, available for viewing previous record information, the host uses Ethernet receive information from the machine temperature and humidity c

10、oming. Slave is based on the special temperature and humidity acquisition system LPC1768 microcontroller, sensors using DHT22, DHT22 is an integrated collection of functions in one degree of temperature sensors, temperature and humidity after the completion of the acquisition sensor to the host comp

11、uter via GPRS channel, GPRS chip using SIM900, which is an industrial-grade mobile phone module chip.This paper first gives the design principles and design ideas, and then present their design and implementation process in accordance with the principles of the hardware and software sub-chapter to d

12、esign a high stability of the environmental monitoring system, online real-time monitoring of temperature and humidity.Keywords:Microcontroller;Microprocessor;GPRS;Linux;ARM11;ARM Cortex-M3目 录1 绪论11.1课题背景与意义11.2 设计中主要问题21.3 主要问题的解决方案21.4 研究内容22 方案论证32.1 设计原理32.2 方案分析32.3 设计特点43 硬件系统的设计与实现53.1 主机硬件架构

13、63.1.1 友善Tiny6410开发板73.1.2 S3C6410简介73.1.3 以太网接口93.1.4 LCD显示屏93.2 从机硬件架构103.2.1 路虎LPC1768开发板103.2.2 LPC1768简介113.2.3 DHT22温湿度传感器133.2.4手机模块SIM900153.3 本章小结224 嵌入式Linux系统的开发与移植234.1 交叉编译环境234.2 嵌入式开发环境的搭建245 系统程序设计与实现265.1 嵌入式Linux程序设计265.1.1 程序架构设计265.1.2 数据结构设计275.1.3 QT程序界面开发275.1.4 SQLITE数据库开发295

14、.1.5 SOCKET网络通信的设计与开发315.2 ARM Cortex-M3程序设计315.2.1 程序架构设计315.2.2 数据结构设计335.2.3 SIM900 TCP通信的设计与开发335.2.4 DHT22应用开发34总结35参考文献36致谢37381 绪论1.1课题背景与意义我国的制造业呈现出了急剧扩张的趋势,尤其是近几年来,这种趋势更加明显,同时,也初步奠定了我国世界工厂的地位。然而,我国人均GDP达到中等发达水平的同时,环境压力也达到了高峰。现如今环境污染非常严重,是在中国各地都是普遍存在的现象。其中,全国性范围内的雾霾天气明显地揭露了我国环境污染程度的严重性以及生态环境

15、的脆弱性。如今清新芬芳的空气、清澈洁净的水源以及蔚蓝色的天空的变成人们的奢望时,我国环境污染的严重性就足以可见了。由此可见,对环境的治理已经是刻不容缓,然而,环境治理不是一蹴而就的,只有未雨绸缪才能防范于未然,才能去有计划的保护环境,预防环境质量的恶化,控制环境污染,提高人们生活质量,保护人类健康,造福子孙后代。近年来,微控制器和微处理器的的更新速度明显加快,从20年前的8位MCS-51系列单片机到TI推出16位低功耗MSP430系列单片机再到众多ARM核的MCU和CPU,单片机的处理能力不断增强,功耗不断降低,价格也在不断下降,将这些新技术应用到环境监测系统中,在一定程度上提升了环境监测系统

16、的性能,可实现免维护的实时在线监测,大大的提高了环境监测的效率,降低了环境监测的成本。当前应用最为广泛的移动电话标准,GSM(Global System for Mobile communication)是由欧洲电信标准组织ETS制定的,被100多个国家使用占据80%以上的通信市场份额,其网络遍布世界各地。GPRS(General Packet Radio Service)是GSM(Global System for Mobile communication)网络的一种移动数据业务。GPRS是以数据封装成包的形式来传输,用户只需支付使用的流量费,流量费以传输数据单位计算,理论上是一种较为便宜通

17、信方式,可见GPRS在数据传输网络具有较高的性价比。1.2 设计中主要问题环境监测系统主要在野外使用,野外恶劣的环境决定了环境监测系统必须有高可靠性的软硬件。硬件电路上选择合适的传感器和芯片显得尤为重要,因此主控芯片和传感器的选型以及在可靠硬件基础上实现软件抗干扰是本设计的主要问题。1.3 主要问题的解决方案针对本次设计的需求通过比较几款温湿度传感器后,选择了测温范围为-4080的DHT22,此款传感器的测温范围可满足正常的室外测温,DHT22测量湿度的分辨率为0.1%RH,精度为±2%RH,测量温度的分辨率为0.1,精度小于±0.2摄氏度,可满足测量要求。测量从机选用LP

18、C1768作为主控,作为一款工业级的Cortex-M3核的单片机其可靠性和性能是经过市场验证的,可放心使用。测量主机在室内使用,工作环境相对良好,因此选用价格相对适中的三星公司的消费级ARM11处理器S3C6410。1.4 研究内容本次设计主要是从机采集温湿度数据,采集到数据后激活SIM900应用场景,然后开启GPRS通道向主机传送测量到的数据,主机通过以太网接收后显示在LCD屏上同时也会备份到自身的数据库中方便用户以后查看,主机上有相应的界面操作可供用户查看和操作。主机是一台由ARM11处理器、内存芯片、FLASH芯片和以太网芯片构成的嵌入式单板,单板运行Linux系统,在Linux上运行Q

19、t界面程序,使用以太网接收数据,然后再由SQLITE数据库存储温湿度记录信息,从而可以查看以往的记录。从机由ARM Cortex-M3核的微控制器和温湿度传感器DHT22以及通信芯片SIM900组成,传感器采集到数据后实时上传给主机。2 方案论证嵌入式系统的设计方案需要从功能、硬件芯片选型、硬件电路规划、操作系统的选取、开发平台的选取、通信协议选择等方面考虑。硬件芯片选型需要综合考虑芯片的工作环境、电压范围、功耗等因素。同时芯片的选型也要考虑软件运行需要的CPU速率和内存大小,在最小需求的技术上要留下20%80%的余量,以备日后扩展功能之用。本章节主要从系统功能、设计原理和芯片选型以及通信协议

20、选择等方面进行介绍,其他部分在以后的章节介绍。2.1 设计原理本设计的从机通过温湿度DHT22测得温湿度,然后通过以太网络发送给主机,主机在线实时接收多节点的温湿度数据,主机收到数据后显示到LCD上,同时也会根据用户设定参数做相应的提示。2.2 方案分析要想实现多节点测量就得有可靠的通信模型和通信协议,通信模型采用“服务器-客户端”的模型,通信协议是仿照modbus协议按照本系统需求设计的,同时受主机和从机距离的限制,所以通信采用以太网络,从机使用工控手机模块SIM900,主机采用ARM11处理器+Linux方案,主机在此设计中作为服务器存在,所以必须得为主机提供一个静态公网ip或者做动态域名

21、解析。在系统架构搭建好之后就要分别设计主机和从机了,主机的工作是接收数据和提供人机界面,因此在S3C6410芯片最小系统基础之上添加LCD液晶显示部分和以太网口部分,从机主要是采集数据后传给主机,故主控使用LPC1768传感器使用DHT22通信使用手机模块SIM900(说明:因受硬件设施的限制主从机都采用开发板设计)。近年来ARM核的微处理器和微控制器飞速发展,在计算能力和处理速度上有了很大提升,同时价格也不断降低,已经深入我们生活的方方面面,所以本系统顺应时代发展的潮流,采用ARM核的微控制器和微处理器可实现以下优点:1) 低功耗,采用ARM处理器的主机能够以比X86主机更低的能耗实现同等的

22、功能,为节能减排做贡献。2) 高计算能力,ARM核微控制器的处理能力远远高于8位和16位MCU,为后期扩充程序留下足够的余量。3) 更小的体积,嵌入式系统硬件系统是根据功能量身定做的,因此在硬件体积上比通用机有绝对的优势。4) 可靠性高,一些嵌入式系统结构简介,可靠性也相对会高一些。2.3 设计特点本设计采用嵌入式系统,整个系统架构精简,体积小,成本低,可靠性高,易于维护。硬件采用友善和路虎开发板实现,主机Linux系统使用友善提供的固件,几乎不用自己做工作,因此主要工作集中在通信协议的设计、Linux程序的编写和LPC1768程序的编写上。3 硬件系统的设计与实现一个优秀的嵌入式软硬件架构才

23、能构造出一个稳定的嵌入式系统,嵌入式硬件架构需要综合分析应用需求(比如:工作条件,采集的信号,输出等等)和软件需求(软件对CPU速度和内存、FLASH的大小要求等等)选取适当的元器件,同时也要考虑工作环境(如散热和电磁干扰问题)。只有从不同的方面考虑众多的系统之后才能设计出一个稳定的嵌入式硬件。我们设计嵌入式架构的时候要本着简单的原则,因为在一定程度上系统损坏的几率与复杂程度成正比,所以越是简单的系统越稳定。本设计硬件架构按照简单的原则进行设计,将系统总架构分为主机和从机,主机有着跟PC一样的硬件架构,不同之处是本设计的主机使用ARM11核的CPU,从机则是一个基于LPC1768微控制器的专用

24、温湿度采集系统,从机由数据采集单元、传输单元以及处理单元三个结构单元构成。主机主要的主要任务则是负责温湿度数据的接收、显示以及存储。因为本系统需要在线实时的统计各地的温湿度数据,数据量表较大,所以跑操作系统使用数据库是一个最佳的选择,同时也要提供良好的人机交互界面,因此对处理器的要求就比较高,所以在考虑硬件架构的时候选择了性能优秀的ARM11核处理器S3C6410。从机主要负责温湿度采集和传输工作,任务相对简单一些,因此选用了ARM Cortex-M3核的工控芯片LPC1768.主从机间的数据传输要达到实时的要求同时也要考虑布置网络的方便程度,所以就选用了以太网络,近些年随着网络技术的发展以太

25、网络像蜘蛛网般的遍布我们的城市,因此选择以太网络通信可以省去布线的麻烦,可以说是一个很不错的选择。具体的硬件架构如图3.1所示。图3.1 系统硬件架构图本章节只介绍主要的硬件架构,其他分支架构不再介绍。3.1 主机硬件架构本系统的主机是一个裁剪过的小型ARM11主机,作为一个主机,CPU、RAM、FLASH、LCD是必须的,同时为了实现网络通信,所以以太网接口也是需要的。主机使用Tiny6410开发板来实现。主机硬件架构如图3.2所示。图3.2 主机硬件架构图3.1.1 友善Tiny6410开发板核心板:Tiny6410核心板集成了S3C6410处理器,Nand Flash芯片,DDR RAM

26、芯片以及专用复位芯片,同时也引出了所有IO,可方便进行二次开发。底板:Tiny6410底板有丰富的资源,预留了三个USB(支持USB1.1和USB2.0协议),两个兼容RS-232电平和TTL电平的串口,音频输入输出接口,TV输出,PCI-E插槽,LCD插槽,中断按键,SD卡插口。友善开发板底板实物如图3.3所示。图3.3 主机底板实物图3.1.2 S3C6410简介S3C6410是一款三星开发的基于ARM11核的处理器,它具有16/32位RISC体系结构。其内部采用了32/64体系的总线架构,由AXI、APB和AHB总线组成,S3C6410集成了很多音视频及图像处理方面的硬件加速器,提升了处

27、理速度。同时也支持外部FLASH和RAM。同时为了降低成本,S3C6410内部还集成了大量的硬件外设,比如常用的24位LCD控制器,系统管理控制器,PWM单元,IIC、SPI单元,USB控制器等。三星S3C6410内部结构如图3.4所示。图3.4 S3C6410内部结构总之,S3C6410提供了一个高性能、低功耗、低成本的硬件解决方案,针对其特点,该处理器适用于PDA、手机等。S3C6410主板实物图如图3.5所示。图3.5 S3C6410主板实物图3.1.3 以太网接口Tiny6410开发板集成了目前很流行的DM9000以太网控制器,该控制器芯片具有通用处理器连接接口,能够实现10M/100

28、M自动切换,具有高速低成本的特点,能够满足大部分嵌入式系统的需求。3.1.4 LCD显示屏显示屏使用的是群创公司生产的7寸液晶屏AT070TN83,AT070TN83的分辨率是800*480,使用a-SiTFT active matrix驱动单元,具有通常白色和透射式的显示模式,使用RGB颜色管理模式,整屏耗电为1.728w。AT070TN83极限参数如表3.1所示。表3.1 AT070TN83极限参数项目符号值单位最小最大供电电压VCC-0.36V输入信号电压Vi-0.36.3V工作温度Top-2070存储温度Tst-3080LED反向电压Vr1.2VLED正向电流Ifs25maAT070T

29、N83典型工作参数如表3.2所示。表3.2 AT070TN83典型工作参数项目符号值单位最小典型最大供电电压VCC33.33.6V供电电流Icc-300350ma输入逻辑高电压Vih0.7VccVccV输入逻辑低电压Vil00.3VccV3.2 从机硬件架构从机负责采集温湿度数据,然后通过GPRS网络传送给主机。从机主控使用工控微控制器LPC1768,数据传输使用工控级手机模块SIM900,数据采集则使用DHT22。这些都是工控级别的芯片,可在硬件上最大程度的保证系统的稳定性。从机硬件架构如图3.6所示。图3.6 从机硬件架构图3.2.1 路虎LPC1768开发板路虎开发板是采用NXP公司生产

30、的ARM Cortex-M3核的LPC1768微控制器的一款开发板,板载有丰富的外设资源。开发板具有USB仿真器,支持USB2.0 Device,有2个串口(支持RS-232和TTL电平),1个RS-485接口,支持双CAN接口,1个以太网口,1个TFT LCD接口,1个触摸屏传感器接口。路虎开发板如图3.7所示。图3.7 路虎开发板实物图3.2.2 LPC1768简介LPC1768是ARM Cortex-M3微控制器的嵌入式应用,具有集成度高和功耗低的优点。 ARM Cortex -M3是下一代微控制器的核心,提供了系统的增强功能,如增强了调试功能和支持更高块集成的水平。LPC1768工作在

31、高达100 MHz的CPU频率。ARM的Cortex -M3 CPU还包括一个支持投机分支和内部预取单元。该LPC1768的外部设备主要有以下部件,高达到512 KB的闪存内存以及64 KB的存储器,以太网MAC ,USB设备/主机/ OTG接口,8通道的通用DMA控制器, UART 4个,CAN通道2个,SSP控制器2个,SPI接口,I2C总线接口3个, 2输入/输出的I2S总线接口, 8通道12位ADC ,10位的DAC,马达控制PWM ,正交编码器接口,通用定时器共有4个, 6输出的通用PWM ,超低功耗实时时钟(RTC),有独立的电池供电,通用I / O引脚最多可达到70个。LPC17

32、68/66/65/64是引脚兼容的100脚LPC236X ARM7的微控制器系列。ARM Cortex-M3简介:Cortex-M3是一款低功耗,门数目少,低延迟中断,低调试成本,是为实时性应用设计的处理器,1其采用ARMv7-M架构。Cortex-M3整合了以下组件:1) 处理器内核: a. ARMv7-M :作为Thumb-2 ISA子集,包含了所有基本的16位和32位Thumb-2的指令。 只有分组的SP b. 硬件除法指令:SDIV和UDIV(Thumb-2指令) c. 处理模式和线程模式2)NVIC(嵌套向量中断控制器):a. 可配置1240个外部中断b. 可配置为38位优先级c.

33、可动态重新分配的中断优先级d. 优先级占先和非占先两组e. 支持末尾连锁和迟来中断。这样,在两个中断之间没有多余的状态保存和状态恢复指令的况下,使能背对背中断处理3)总线接口:a. AHBLite ICode、DCode 和系统总线接口APB专用外设总线b. Bitband支持c. 存储器访问对齐d. 写缓冲区,用于缓存写操作数据。ARM Cortex-M3结构框如图3.8所示。图3.8 ARM Cortex-M3内核内部结构图3.2.3 DHT22温湿度传感器DHT22数字型温湿度传感器是一款已校准数字信号输出的温湿度复合传感器。其拥有的专用数字采集模块和温湿度传感器技术,能够确保可靠性和稳

34、定性,包含一个NTC测温传感器和电容式感湿传感器,其内部有一个8位微控制器。其响应快,品质好,抗干扰强,性价比高。每个传感器在实验室中校准,校准系统存储在OTP内存中,传感器监测过程中调用这些系数。使用单总线接口,系统集成简单快捷,体积小,功耗低等优点。传感器应用领域:空调,家电,医疗等。传感器性能及参数如表3.3所示。参数条件MinTypMax单位湿度分辨率0.1%RH26Bit重复性±0.3%RH精度25±2%RH-2080±2%RH互换性可完全互换采样周期2S温度分辨率0.116Bit重复性±0.2精度<0.5量程范围-4080表3.3 DH

35、T22性能参数DHT22单总线连接原理如图3.9所示。图3.9 DHT22单总线原理图单总线通信协议解析:DATA信号线用于与MCU的通讯和同步,单总线数据格式,单次通讯时间在5ms左右,具体格式如下,共40bit,高位先出:数据格式:40bit Data = 16bit Humidity + 16bit Temperature + 8bit Check Sum例子: 接收到下面的40bit数据:0000 0010 1000 1100 0000 0001 0101 1111 1110 1110湿度数据 温度数据 校验和湿度高8位+湿度低8位+温度高8位+温度低8位=的末8位=校验和例如:000

36、0 0010+1000 1100+0000 0001+0101 1111=1110 1110湿度=65.2RH 温度=35.1当温度低于0时温度数据的最高位置1。例如:-10.1表示为1000 0000 0110 0101封装信息如图3.10所示。图3.10 DHT22封装尺寸及引脚图3.2.4手机模块SIM900SIM900是一款工业级的GPRS芯片,具有以下特性。 主要特性:* 双频 900/ 1800 MHz* GPRS multi-slot class 10/8* GPRS mobile station class B* 满足GSM 2/2+ 标准  Class 4

37、 (2 W 900 MHz)   Class 1 (1 W 1800MHz)* 尺寸: 24*24*3mm* 重量: 3.4g* 通过AT命令控制 (GSM 07.07 ,07.05 and     SIMCOM 增强AT命令集)* SIM应用工具包* 供应电压范围: 3.1 . 4.8V* 低功耗:1.5mA(睡眠模式)* 操作温度范围: -40°C to +85 °C传真:* Group 3, class 1数据传输:* GPRS class 10:最大85.6 kbps (下行速率)* 支持PBCCH* Coding

38、schemes CS 1, 2, 3, 4* CSD达14.4 kbps* USSD* 非透传* PPP-stack短信:* 点对点MO and MT* 短信广播* 文本和PDU模式软件特性:* 0710 MUX 协议* 嵌入型TCP/UDP协议* FTP/HTTP 语音 :* Tricodec  半速率(HR)  全速率(FR)  增强型全速率(EFR)* 支持回声抑制算法* AMR:  半速率(HR)  全速率(FR) 接口:* 支持SIM卡3V / 1.8V接口* 模拟音频接口* 支持RTC* SPI接口*

39、串行接口* 天线焊盘* I2C* GPIO* PWM* ADC 兼容性:* AT cellular command interface本设计中用到的引脚如表3.4所示。表3.4 使用的SIM900引脚引脚名称I描述DC特性备注VBATISIM900采用单电源,通过3个VBAT引脚供电,电源范围为(3.2V-4.8V),电流2A。Vmax = 4.8VVmin = 3.2VVnorm = 4.0VGND接地PWRKEYI通过拉低PWYKEY并保持至少1秒然后释,可以开启模块,同样拉低并保持至少一秒以上可以关闭模块。VILmax = 0.15*VDD_EXTVIHmin = 0.85*V

40、DD_EXTVImax = VDD_EXTVImin = 0V内部上拉至3VRXDI数据接收VILmax = 0.15*VDD_EXTVIHmin = 0.85*VDD_EXTVImax = VDD_EXTVImin = 0VVOHmax = VDD_EXT-0.1VVOLmax = 0.1VVOHmax = VDD_EXTVOLmin = 0VRXD如果不用外部上拉至VDD_EXTTXDO数据发送SIM_VDDOSIM卡电源电压可由软件自动设置成1.8V或者3.0VSIM_DATAISIM卡数据信号VILmax = 0.15*SIM_VDDVIHmin = 0.85* SIM_VDDVIma

41、x = SIM_VDDVImin = 0VVOHmax = VDD_EXT-0.1VVOLmax = 0.1VVOHmax = SIM_VDDVOLmin = 0VSIM卡的所有信号线都硬通过TVS二极管来做ESD防护SIM_CLKOSIM卡时钟信号SIM_RSTOSIM卡复位信号SIM900通信板各部分电路原理图如下各图所示。通信板使用稳压电源芯片LM2596-ADJ供电,其原理图如图3.11所示。图3.11 LM2596-5V原理图SIM900芯片及外围的原理图如图3.12所示。图3.12 SIM900原理图SIM900通信板与路虎开发板通过RS232串口通信,其中TTL-RS232电平转

42、换芯片SP3232原理图如图3.13所示。图3.13 SP3232原理图通信板的PCB板图如图3.14所示。图3.14 SIM900通信板PCB板图3.3 本章小结本章从工作环境、系统需求、芯片选型及芯片主要参数等方面系统的介绍了系统整体硬件架构、主机硬件架构、从机硬件架构。S3C6410是一款性价比极高的ARM11处理器,是三星公司的经典之作,被广泛应用于手持设备中。LPC1768是一款工业上用的比较广的微控制器,具有高稳定性高性能的特点。DHT22被大量用于环保、医疗等场合,其稳定性已得到验证。SIM900也是一款工业级的芯片,它是一个微缩板的手机,打电话、上网、发短信等基本功能都可通过串

43、口、usb等控制它实现。本章节只介绍主要芯片,其他的则不再详细介绍。4 嵌入式Linux系统的开发与移植本系统的主机使用Linux环境开发,从机使用Windows开发。主机使用的IDE是Qtcreator,从机开发使用的编译器是Keil ARM。本章节主要讲述嵌入式Linux开发环境的搭建,因Keil ARM环境搭建简单,本章节不做介绍。4.1 交叉编译环境本设计开发环境采用Linux发行版Ubuntu,Ubuntu是一个以桌面应用型的Linux发行版, Ubuntu是基于GNOME桌面环境的,同时也是基于Debian的,每6个月发行一个版本。Ubuntu以为用户提供最新的稳定的系统为己任。U

44、buntu具有强大的支持力量,用户能很轻松的获取帮助4。交叉编译环境配置过程:1. 在/usr/local/下创建arm文件夹 :mkdir /usr/local/arm2. 将交叉编译工具arm-linux-gcc解压到 /usr/local/arm 路径下,并重命名为arm-linux-gcc,在终端输入以下Linux命令: cp /root/ arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz /usr/local/armtar xvzf /usr/local/arm/arm-linux-gcc-4.5.1-v6-vfp-20101103.tgzmv /u s

45、r/local/arm/ arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz/usr/local/arm/arm-linux-gcc3. 设置环境变量,在终端输入Linux命令:vim /.bashrc 将export PATH=”$PATH:/usr/local/arm/arm-linux-gcc”添加到末尾,然后source /.bashrc使设置生效,在终端中输入arm-linux-gcc v查看版本信息。图4.1 交叉编译环境搭建图至此交叉编译环境搭建完成,交叉编译环境搭建过程如图4.1所示。4.2 嵌入式开发环境的搭建图形界面开发使用Qt,Qt是奇趣科技开

46、发的跨平台基于C+语言的用户界面开发框架,可编写界面(GUI)和命令行(非GUI程序),与MFC、ATL、VCL 、OWL等相似。Qt是面向对象的框架,允许组件编程,支持IOS、Android,、WP,、Linux、,Windows的编程,支持2D/3D图形渲染,有250多个c+类,支持OpenGL,是跨平台编程的不二选择。Qt Creator是用于开发Qt程序的IDE(集成开发环境),Qt Creator简单易学,能够很快上手。安装步骤:1. 安装gcc和g+编译器,在终端输入以下Linux命令:apt-get install gcc g+2. 安装Qt Creator从软件中心中搜索Qt

47、Creator并安装。3. 安装QTE(Qt Extend),在终端输入以下Linux命令:cd /roottar xvzf qtecd qte./install_sh等待大约2小时后安装完成。4. 将QTE路径添加到Qt Creator编译器中,点击 工具->选项->构建和运行->构建套件。点击,配置参数后点击确定,如图4.2所示。图4.2 QTE配置图修改编译器如图4.3所示。图4.3 QT项目配置图至此Qt开发环境搭建完成。5 系统程序设计与实现整个系统的软件架构师从机采集数据后通过以太网络以TCP协议的形式发送给主机,主机接收解析数据并显示到LCD液晶屏上,同时主机也

48、会将收到的数据存到自身的FLASH中,主机运行Linux系统和SQLite数据库。系统软件架构如图5.1所示。图5.1 软件架构图5.1 嵌入式Linux程序设计5.1.1 程序架构设计主机的程序架构可分为通信、数据库和显示三部分,通信部分接收到从机送来的数据后解析数据帧,然后将解析得到的数据存储到数据库和内存中,显示部分从内存中读取通信部分提供的实时数据,同时也会判断用户操作,如果用户需要查看以前的数据则从数据库中读取数据。数据库部分负责存储数据,是显示和通信沟通的桥梁。主机的三部分程序相辅相成共同为用户服务,缺一不可。主机程序架构如图5.2所示。图5.2 主机软件架构图5.1.2 数据结构

49、设计主机需要实时接收多个从机发送来的数据,因此可用表来保存从机的数据,首先建一个结构体,此结构体表示一个节点数据,然后再以此结构体为元素建一个数组,则数组下标即为节点号1,具体代码如下:#define MAX_NODE_SIZE 10 /节点数量typedef struct /节点结构体f32 humidity;f32 temperature;data_t;data_t dataTableMAX_NODE_SIZE; /所有节点数据表,节点号为数组下表其余的参数可直接读取数据库不需要全局交换数据,因此采集局部变量不再设计全局的数据结构。5.1.3 QT程序界面开发Qt是一款诺基亚公司开发的可跨

50、平台移植的基于C+的界面库,跨平台UI库QT的出现极大的方便了嵌入式系统的开发和移植,不同平台的应用程序可在修改少量代码之后重新编译移植到不同的平台。本设计采用Qt做GUI界面,使用了QButton、QTableView、QLineEdit、QLabel等控件。Linux系统启动界面如图5.3所示。图5.3 Linux系统启动界面Qt程序启动界面如图5.4所示。图5.4 程序启动界面主机程序采集数据主界面如图5.5所示。图5.5 程序采集数据主界面5.1.4 SQLITE数据库开发SQLite是款轻量级的数据库,遵守ACID数据库管理系统关系型,它是为嵌入式系统设计的,因其占用极少的资源,所以

51、在嵌入式设备中只需要几百K的内存。SQLite除了支持嵌入式系统之外还能够支持Windows、Linux、Unix等主流的操作系统,能够跟Java、PHP、C#等语言结合,具有OCBD接口。虽然SQLite是一款轻量级的数据库,但其性能一点不甘示弱,对SQL语句有良好的支持,支持以下SQL语句:ATTACH DATABASEBEGIN TRANSACTIONCOMMIT TRANSACTIONCOPYCREATE INDEXCREATE TABLECREATE TRIGGERCREATE VIEWDELETEDETACH DATABASEDROP INDEXDROP TABLEDROP TRI

52、GGERDROP VIEWEND TRANSACTIONEXPLAINexpressionINSERTON CONFLICT clausePRAGMAREPLACEROLLBACK TRANSACTIONSELECTUPDATE对本设计的需求分析可知,一共需要id、time、temperature、humidity等4个字段,创建表的语句如下:create table em(id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,time TEXT NULL,temperature FLOAT NULL,humidity FLOAT NULL)读数据库语句:

53、select * from em where id=ID(ID为要读取的记录ID)插入记录语句为:insert into em(time,temperare,humidity,?,?,?),句中三个?表示字段对应的数据。5.1.5 SOCKET网络通信的设计与开发socket在英文中的意思是插座,作为一种通信机制socket用来描述IP与端口,是通信链的一个句柄,不同端口用于不同的服务,如其socket英文原意,就像一个布满各种插座的房间,这些插座有着不同的电压,只有找对插座才能正常工作,得到不同的服务。本设计中的PORT使用2741,IP则依据实际申请的IP来定。SOCKET连接过程分为三个

54、步骤:连接监听,客户端请求,连接确认。服务器监听:服务器套接字不确定客户端套接字,处于等待连接的状态,实时监控网络。客户端请求:客户端的套接字提出连接请求,连接目标是服务器的IP和端口,客户端向指定的服务器IP和端口请求连接。连接确认:服务器的套接字监听到客户端连接请求后,它会响应连接并发送确认报文给客户端,一旦客户端确认此报文,连接就建立好了。本设计中使用Qt集成的socket类,Qt集成的这些类极大程度的为开发人员提供了便利,而且丰富的文档使得开发更加简单高效。使用套接字类读出报文数据后,根据自定义的通信协议解析温湿度数据,然后将数据存到缓存中供数据库和显示使用。通信协议是参照modbus协议修改的适合本系统的协议。通信协议为“:01EE123456789898989

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论