课 程 实 习 报 告
实习名称: 嵌入式系统课程设计 学生姓名: *** 学 号: ************ 专业班级: 通信工程12102班 指导教师: 候清莲 完成时间: 2015年6月12日 报告成绩:
评阅意见: 评阅教师 日期
目录
一、设计题目 ....................................................... 1 二、设计要求 ....................................................... 1 三、设计的作用与目的 ............................................... 1 四、所用设备及软件 ................................................. 2 五、技术简介 ....................................................... 2 5.1嵌入式系统的定义 ............................................... 2 5.2 ARM 简介 ....................................................... 3 5.3 Linux 简介 ..................................................... 4 六、系统设计方案 ................................................... 5 6.1系统总体设计 ................................................... 5 6.2系统运行环境硬件设计 ........................................... 6 6.2.1 AT89C52单片机功能介绍 ....................................... 8 6.2.2 AT89S52各引脚在设计中的应用 ................................. 8 6.2.3 时钟振荡器 .................................................. 10 6.2.4温度采集电路 ................................................ 11 6.2.5温度控制电路 ................................................ 11 6.2.6 按键处理、LCD显示 .......................................... 12 6.2.7 蜂鸣器报警电路 .............................................. 12 6.2.8 串口通信电路 ................................................ 13 6.3 应用程序设计 .................................................. 13 七、小结 .......................................................... 15 八、心得体会 ...................................................... 16 参 考 文 献 ....................................................... 17
ARM-Linux 嵌入式系统在
农业大棚中的应用
摘 要
随着现代农业的发展,精准农业的传略思想已逐步得到普及,本文根据这一指导思想设计了一种基于32位处理器的嵌入式农业综合测控平台。为了实现农业大棚中对温度、湿度和二氧化碳的浓度三大要素数据的远程实时采集 ,引入了当前嵌入式应用中较为成熟的 ARM9 微处理器和 Linux 嵌入式操作系统技术 ,采用温度传感器PH100TMPA、湿度传感器 HM1500 和二氧化碳浓度传感器 NAP221A ,设计一种基于 TCP/ IP 协议的嵌入式远程实时数据采集系统方案。从硬件设计和软件实现 2 方面对该系统进行具体阐述。在实际应用中 ,该系统运行稳定、可靠。
关键词:嵌入式系统;ARM;Linux;远程数据实时采集;大棚监控
一、设计题目
ARM-Linux 嵌入式系统在农业大棚中的应用
二、设计要求
温度、湿度和二氧化碳浓度是影响棚栽农作物生长的3 大要素。为了实现农业大棚中这3 种要素数据的远程实时采集,引入了当前嵌入式应用中较为成熟的ARM9 微处理器和Linux 嵌入式操作系统技术, 采用温度传感器PH100TMPA、湿度传感器HM1500 和二氧化碳浓度传感器NAP221A ,设计一种基于TCP/ IP 协议的嵌入式远程实时数据采集系统方案。从硬件设计和软件实现2 方面对该系统进行具体设计。
三、设计的作用与目的
近年来,温室大棚种植为提高人们的生活水平带来极大的便利,得到了迅速的推广和应用。它的出现是我国农业发展史上的一个里程碑,极大地促进了该产业的发展和大众生活的提高。种植环境中的温度、湿度、CO2浓度等环境因子对作物的生产有很大的影响。传统的人工控制方式难以达到科学合理种植的要求,目前国内可以实现上述环境因子自动监控的系统还不多见,而引进国外具有多功能的大型连栋温室控制系统价格昂贵,不适合国情。
随着嵌入式系统的广泛应用和计算机网络技术的迅速发展,嵌入式远程数据采集成为信息控制领域的一项新兴技术。传统的嵌入式远程数据采集系统一般基于 8/16位单片机 ,其对外通信的方式主要有 2 种:一种是使用串口进行通信,虽然串口具有易用性但其传输距离有限、易受干扰等缺点制约了他的广泛应用;第二种是通过扩展的以太网控制芯片将传统的嵌入式系统网络化,但是 8/16 位单片机的处理速度和内存空间很难满足嵌入式设备网络化、实时性的要求。近年来随着芯片技术和嵌入式操作系统的发展,这方面的问题得到了较好的解决,各种价格低、运算快的32位处理器以及相应的各种嵌入式操作系统受到人们的广泛关注。
针对目前大棚发展的趋势,提出了一种能够自动控制调节大棚内温度、湿度和二氧化碳浓度监控系统的设计。结合了农作物栽培领域的特点,采用了嵌入式应用系统和先进的温,湿以及二氧化碳浓度传感器技术,使其参数维持在所设置的范围之内(需外接升温降温、加湿除湿设备)。这就克服了传统模拟式温湿度传感器的不稳定、误差大、容易受干扰、需要定期校准等严重缺陷。
农业温室大棚为现代农业提供新的生产环境,取得了良好的经济和社会效益。它可以提高农民收入、提高产业化水平、提高抵御自然灾害能力、延长作物生长时间、提高作物
1
产量等。随着大棚经济的不断发展,对大棚的温度、湿度、二氧化碳浓度等的自动化监视和控制也有了相应的发展。结合紫金桥软件公司的组态软件,工控机可以为现代农业的发展做出应有的贡献,使得温室大棚得到现代化计算机技术的控制,提高经济效益。其应用计算机系统一定要考虑农业的特点: 1、整个系统成本低、维护方便 2、操作简单,易学易用
3、抗干扰性强,能适应大棚的潮湿环境和农村电网的波动 4、能随时调整系统的安装位置和方式 5、性能稳定,可靠
因此在农业中的应用首先要考虑系统的经济性,其次要考虑其易用性,然后是其稳定性。
四、所用设备及软件
ARM-Linux 嵌入式系统、AT89C52 单片机、嵌入式控制器应用程序。
五、技术简介
5.1嵌入式系统的定义
根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”。而“以应用为中心,以计算机技术为基础,软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”这一定义国内较为普遍认可。
嵌入式系统是一种专用的计算机系统,作为装置或者设置的一部分,嵌入式系统一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序4个部分组成。“嵌入性”、“专用性”和“计算机系统”是嵌入式系统的3个基本要素,对象系统则是指嵌入式系统所嵌入的宿主系.
嵌入式系统的应用无处不在,在移动电话、数码相机、MP4,微波炉或者是汽车内部的喷油控制系统或者是车辆导航中,都使用了嵌入式系统,使得其功能处理更加强大,便于携带。
2
5.2 ARM 简介
ARM(Advanced RISC Machines) 是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。
ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。
目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。
ARM架构是面向低预算市场设计的第一款RISC微处理器,它提供一系列内核、体系扩展、微处理器和系统芯片方案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行(理论上如此)。典型的产品如下。
①CPU内核
--ARM7:小型、快速、低能耗、集成式RISC内核,用于移动通信。
--ARM7TDMI (Thumb):这是公司授权用户最多的一项产品,将ARM7指令集同Thumb扩展组合在一起,以减少内存容量和系统成本。同时,它还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。该产品的典型用途是数字蜂窝电话和硬盘驱动器。
--ARM9TDMI:采用5阶段管道化ARM9内核,同时配备Thumb扩展、调试和Harvard总线。在生产工艺相同的情况下,性能可达ARM7TDMI的两倍之多。常用于连网和顶置盒。
②体系扩展
-- Thumb:以16位系统的成本,提供32位RISC性能,特别注意的是它所需的内存容量非常小。
③嵌入式ICE调试
由于集成了类似于ICE的CPU内核调试技术,所以原型设计和系统芯片的调试得到了极大的简化。
④微处理器
3
--ARM710系列,包括ARM710、ARM710T、ARM720T和ARM740T:低价、低能耗、封装式常规系统微型处理器,配有高速缓存(Cache)、内存管理、写缓冲和JTAG。广泛应用于手持式计算、数据通信和消费类多媒体。
--ARM940T、920T系列:低价、低能耗、高性能系统微处理器,配有Cache、内存管理和写缓冲。应用于高级引擎管理、保安系统、顶置盒、便携计算机和高档打印机。
--StrongARM:性能很高、同时满足常规应用需要的一种微处理器技术,与DEC联合研制,后来授权给Intel。SA110处理器、SA1100PDA系统芯片和SA1500多媒体处理器芯片均采用了这一技术。
--ARM7500和ARM7500FE:高度集成的单芯片RISC计算机,基于一个缓存式ARM7 32位内核,拥有内存和I/O控制器、3个DMA通道、片上视频控制器和调色板以及立体声端口;ARM7500FE则增加了一个浮点运算单元以及对EDO DRAM的支持。特别适合电视顶置盒和网络计算机(NC)。
Windows CE的Pocket PC只支持ARMWindows CE可支持多种嵌入式处理器,但基于Windows CE的Pocket PC则只支持ARM一种。微软在对SH3、MIPS、ARM等嵌入式处理器做了评估后认为,ARM是一种性价比较好的选择。由于目前ARM在手持设备市场占有90%以上的份额,只支持ARM,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。由于ARM开放其处理器授权,因此,用户在市场上可以在多家整机厂商中进行选择,从而保证了这一市场的竞争性。
5.3 Linux 简介
Linux 是源代码开放的类 Unix 操作系统。自 LinusTorvalds 于1991 年首次发布以来,在广大 Linux 爱好者和 Unix 专家的努力下,Linux 逐渐成为一个稳定可靠、功能完善的操作系统。Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途,同时它们都尽可能被编写得更好。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件Linux 具有以下优异的特点:
1采用模块化设计,源代码完全开放,任何人都可以根据需要任意修改并在 GUN 协议下发行;
2具有强大的网络功能,能提供各种网络服务;
4
3具有丰富的软件资源,几乎所有 Unix 下的应用;
4良好的开发环境,各种开发工具在开源爱好者的推动下不断发展; 5支持多种体系结构,如 ARM ,SPARC,X86 等;
6支持大量外围硬件设备。这些特点使得 Linux 在与传统商业化的嵌入式操作系统竞争中占有一席之地,并呈现不断扩展的局面 。
从使用费用上看,Linux与其他操作系统的区别在于Linux是一种开放、免费的操作系统,而其他操作系统都是封闭的系统,需要有偿使用。这一区别使得我们能够不用花钱就能得到很多Linux的版本以及为其开发的应用软件。当我们访问Internet时,会发现几乎所有可用的自由软件都能够运行在Linux系统上。有来自很多软件商的多种Unix实现,Unix的开发、发展商以开放系统的方式推动其标准化,但却没有一个公司来控制这种设计。因此,任何一个软件商(或开拓者)都能在某种Unix实现中实现这些标准。OS/2和Windows NT等操作系统是具有版权的产品,其接口和设计均由某一公司控制,而且只有这些公司才有权实现其设计,它们是在封闭的环境下发展的。
六、系统设计方案
6.1系统总体设计
远程监控站 TCP/IP 嵌入式控制器 RS485 温度分线器 RS485 湿度分线器 RS485 CO2浓度分线器 湿度采集器…… 湿度采集器湿度采集器… 湿度采集器度采集器二氧化碳浓度二… 采氧集化 器碳浓 嵌入式控制器通过基于 TCP/ IP 协议的以太网和远程监控站连接,使用 RS 485 现场总线与分线器连接。前端采集器分布在温室大棚中的各个监控点,负责实时地采集温湿度和
5
图1 系统总结构图
二氧化碳浓度数据,然后将采集到的数据经分线器通过 RS 485 现场总线上传到嵌入式控制器。分线器接收嵌入式控制器的控制信号,切换相应的检测点,并将前端采集器采集到的数据上传到嵌入式控制器。嵌入式控制器负责接收各个前端采集器上传的数据,并对这些数据进行实时处理,再将处理后的结果经以太网发送到远程监控站供技术人员做进一步的分析。除负责接收和保存嵌入式控制器发送来的数据外,远程监控站还可以根据技术人员的需要向嵌入式控制器发送各种控制指令,以采集和处理所需的各种数据。
6.2系统运行环境硬件设计
系统硬件设计的核心是嵌入式控制器设计,其硬件组成结构如图所示。嵌入式控制器硬件部分采用龙珠MC9328MXl 作为 CPU ,外加 2 片 8 MB 162b Intel Strat-aFlash , 两片32 MB 162b SDRAM ,一个CS8900A 10 M 以太网控制器以及其他电子器件。能提供的接口有 RS 232接口、USB 接口、RS 485 总线接口和 10 Mb/ s 以太网接口。其中 RS 232 接口和 USB 接口主要用于系统的烧写和调试。
USB口 RS232口 以太网口 Dragon Bail MC932MX1 RS485口 Intel SDRAM StrataFLAS 图 2 嵌入式控制器硬件结构图
温度采集器主要部件是温度传感器 PH100TMPA。该传感器采用光刻铂电阻作为感应部件,感应部件位于杆头部,外有一层滤膜保护,具有分辨精确和准确度高的特点。湿度采集器采用深圳三达科技有限公司的 HM1500。HM1500 尺寸小、不受水浸影响、可靠性高、稳定性强,对温度的依赖性低。二氧化碳浓度采集器采用 NEMOTO公司的 NAP221A。NAP221A 是热传导式气体传感器,具有灵敏度高,探测气体浓度范围广的特点。
6
MC9328MX1的体系结构如下:全16/32bit RISC架构,内含效率高、功耗强大的ARM920T的处理器核,支持16bit Thumb和32bit ARM指令集的高性能RISC引擎,支持大、小端模式,内部架构为大端模式,外部存储器可分为大、小端模式,基于JTAG接口的方案,边界扫描接口,用于嵌入式多媒体应用集成系统。
图3 MC9328MX1芯片结构
MC9328MX1的系统关系特性为:一体化的16KB指令Cache及16KB数据Cache,支持虚拟地址转换存储器管理单元(VMMU),支持ROM/SRAM、Flash存储器、DRAM和外部I/O以8/16/32bit的方式操作,支持EDO/常规或SDRAM存储器,使用ARM先进的微控制器总线结构(AMBA),即SoC多主总线接口,利用精简先进的高性能总线(R-AHB)与速度较慢的片上外围设备进行通信,可同时连接15个外部设备。
尽管嵌入式处理器芯片种类多,引脚繁杂,但根据它们各自的功能特点,因该分布是有规律的,在嵌入式最小硬件系统设计中,要注意区分处理器芯片引脚的类型,仔细分析研究关键引脚作用,才能保障最小系统的正常运行。
MC9328MX1采用MAPBGA封装,共有256引脚,MC9328MX1的引脚可分为电源、接地、输入(I)、输出(O)、输入/输出(I/O)5类。除了电源和接地线有近40根,以及地址总线,数据总线和通用I/O接口端,专用模块SPI、UART、I2C、LCD等接口,需要认真仔细研究的引脚不是很多,电源和接地端是保障系统正常工作最基本的条件之一,输入类型的有些引脚在系统设计时必须认真仔细对待,因为有些电平信号直接影响到MC9328MX1的正常工作,输出类型的引脚主要用于对外设的控制或通信,由MC9328MX1主动发出,对MC9328MX1自身的运行不会有太大的影响,输入/输出类型引脚是MC9328MX1与外设的双向数据传输通道。
分线器的硬件部分主要是单片机 AT89S52 和串行电平接口芯片MAX6675。主要用作数
7
据传输和控制信号寻址。
6.2.1 AT89C52单片机功能介绍
1.芯片简介
AT9C52是一个低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C52提供了高性价比的解决方案。主要性能参数如下。 主要性能
• 与MCS-51单片机产品兼容 • 8K字节在系统可编程Flash存储器 • 1000次擦写周期 • 全静态操作:0Hz~33Hz • 三级加密程序存储器 • 32个可编程I/O口线 • 三个16位定时器/计数器 • 八个中断源
• 全双工UART串行通道 • 低功耗空闲和掉电模式 • 掉电后中断可唤醒 • 看门狗定时器 • 双数据指针 • 掉电标识符
6.2.2 AT89S52各引脚在设计中的应用
8
图4 AT89S52芯片引脚图
P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复用口,作为输出口用时,每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路,对端口 P0 写“l”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。 在 Flash 编程时,P0 口接收指令字节。而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 本系统P0口用于与LCD1602进行数据传输。
P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
P2 口:P2 是一个带有内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口 P2 写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。本系统P2口用于进行报警系统的信号传输。
P3 口:P3 口是一组带有内部上拉电阻的 8 位双向 I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个 TTL逻辑门电路。对 P3 口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的 P3 口将用上拉电阻输出电流(IIL)。本系统P3口用于接收SHT75传感器的温湿度信号,P3.2和P3.3用于键盘输入的外部中断,P3.2用于INT0(外部中断0),P3.3用于INT1(外部中断1)。
9
RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。一般情况下,ALE 仍以时钟振荡频率的 l/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个 ALE 脉冲。 对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的 8EH 单元的 D0 位置位,可禁止 ALE 操作。该位置位后,只有一条 MOVX 和 MOVC指令才能将 ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置 ALE 禁止位无效。
PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当 AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000H—FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位 LB1 被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器中的指令。 Flash 存储器编程时,该引脚加上+12V 的编程允许电源 Vpp,当然这必须是该器件是使用 12V 编程电压 Vpp。
XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。
6.2.3 时钟振荡器
AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路如下。
10
图5 时钟震荡电路
6.2.4温度采集电路
本系统采用K型热电偶作为高温测量传感器,热电偶测量电路选用MAX6675[2]。MAX6675是美国MAXIM公司生产的基于SPI总线的带有冷端温度补偿、线性校正、热电偶断线检测等功能的K型热电偶测量转换芯片,其输出为12位二进制数字量。测温范围0~1023.75℃,温度分辨率为0.25℃。 冷端补偿范围为-20~+ 85℃,工作电压3.0~5.5V,可以满足大多数工业应用场合。
MAX6675与AT89S52单片机接口电路框图。K型热电偶接在MAX6675的T+、T-端,热电偶的冷端接地。由于AT89S52不具备SPI 总线接口,故采用模拟SPI总线的方法来实现其与MAX6675的接口。其中P1.0模拟SPI 的数据输入端(SO),P1.1模拟SPI的串行时钟输出端SCK,P1.2模拟SPI的从机选择端CS。
图6 AT89S52单片机与MAX6675接口电路
6.2.5温度控制电路
本温度控制系统采用通断控制,通过改变给定控制周期内加热器的导通和关断时间,达到调节温度的目的。系统控制电路由双向可控硅输出型光电耦合器MOC3061和双向可控硅BTA12组成。当单片机的P1.7口输出低电平时,同向驱动器7407输出低电平,MOC3061
11
的输入端有电流输入,输出端的双向可控硅导通,触发外部的双向可控硅BTA12导通,加热器通电;当P1.7端输出高电平时,MOC3061输出端的双向可控硅关断,外部的双向可控硅BTA12也关断,加热器断电。
图7 温度控制电路
6.2.6 按键处理、LCD显示
显示电路采用1602LCD显示模块,P0口的8根线作为液晶显示器的数据线,用P3.3、P3.4和P3.5作为3根控制线。按键主要负责温度的设定和PID参数的输入。
图8 LCD显示电路
6.2.7 蜂鸣器报警电路
蜂鸣器报警电路由三极管和蜂鸣器组成。由单片机P1.6口输出高低电平信号控制三极管的导通或截止,三极管导通,则蜂鸣器报警。
12
图9 蜂鸣器报警电路
6.2.8 串口通信电路
本系统采用RS232标准总线接口实现单片机和PC机的通信。以实现PC机对单片机的实时监控。AT89S52单片机与PC机的接口电路。
图10 AT89S52与PC机的接口电路
6.3 应用程序设计
本系统的应用程序主要运行于嵌入式控制器,负责收发和处理数据,并对相应的外设进行控制。其流程图如图所示。因此嵌入式控制器与各个前端采集器、远程监 控站之间的数据通信,以及外设的控制是其工作的主要部分。
13
初始化 运行看守程序 Y 网络端口有命令解析命令 N N RS485口有无数据 运行执行进程发送结果 Y 接收数据 标准化处理 运行执行进程发送结果 图11 嵌入式控制器应用程序流程图
嵌入式控制器和各个分线器之间的通信采用主从式,即嵌入式控制器处于主导地位,而前端采集器以中断方式接收指令和发送数据。该方式保证了数据通信的有序性,避免通信混乱。嵌入式控制器发送的指令帧格式是:AD2DR+ CMD。其中 ADDR是地址位 预设 ,用来选定前端采集器;CMD 是命令位,用来控制前端采集器的数据采集。分线器发送的数据帧格式为:ADDR+ NUM +DATA+BCC ,其中ADDR是当前采集数据的前端采集器的地址位;NUM 为发送数据的大小;DATA 为发送的数据;BCC为校验码,用于嵌入式控制器验证接收到的数据是否正确。
嵌入式控制器和远程监控站之间的通信采用 C/ S 模式,用 socket 套接口编程实现。嵌入式控制器运行服务器端,监听和响应远程监控站客户端的服务请求,其相互间的通信指令帧和数据帧格式与嵌入式控制器和各个前端采集器之间的基本相同,只是地址位中多了嵌入式控制器本身的地址,以区分指令的操作对象。
嵌入式控制器的应用程序采用多进程的思想,分为看守进程和指令执行进程 ,并赋予不同的优先级。看守进程负责监听 RS 485 总线端口、网络端口以及数据的传输。由于嵌入式控制器与各个分线器、远程监控站之间的数据通信占用了大部分运行时间,所以看守进程优先级高于指令执行进程。嵌入式控制器应用程序初始化后运行看守进程,看守进程一方面监听远程监控站的服务请求,当服务请求命令到达后,先对命令解析,判断该命令的执行对象,然后再将其交给执行进程执行;另一方面接收分线
14
器发送的数据,对接收的数据进行标准化处理,确定温室大棚条件是否在正常范围内,若是,就将处理后的结果发送至远程监控站以供进一步处理。否则发送一紧急中断信号,触发报警器以采取相应措施。
七、小结
本文讨论了一种基于ARM9处理器及linux的农业数据采集系统的设计和关键技术的实现。该系统是一种低成本、实时性较高、稳定性较好的农业数据采集系统,应用GPS技术、GSM网络及嵌入式系统等多种技术提供了农业数据快速采集的一种解决方案,可以有效解决远距离低速数据传输的问题,从而为农业信息的智能监测、数据采集和远距离控制的实现提供了良好的途径,更好地为数字化农业服务。本系统利用嵌入式 Internet 技术实现了农业大棚中的温湿度和二氧化碳浓度的在线实时监测,方便了大棚环境条件的监控。在实际应用中,该系统运行稳定、可靠性高、抗干扰能力强,基本达到了预期的设计目的。同时,该系统实现了远程集中监控,该技术不但可以应用在本领域中,在其他远程控制系统中都可以借鉴和应用,具有较好的应用前景。 本设计有以下的优点:
1、数据的采集和显示:研祥工控机实时采集各种信号,并在计算机上实时显示各类信号,使得管理人员可以及时了解生产信息。
2、状态报警和处理:可以根据设定的报警条件,对发生的各种异常情况报警,提示操作人员处理。如温度过高或过低,包括超出设定值范围过大、变化率异常等都可以报警。并且产生历史记录。
3、计算机的自动控制:可以对温度、湿度进行控制。如果温度过低,可以进行相应处理,比如加热炉加温,过高温度可以采用抽风或其它方式处理。如果湿度过低,可以启动喷淋系统,湿度过高时可以利用抽风机抽出湿度过高的空气。同时可以进行CO2、光线、滴灌等自动控制。到时候可以根据具体情况,比如不同的作物、不同的时段采用不同的控制指标和控制方式。
4、远程管理和控制:通过计算机网络系统可以对系统进行远程管理和控制。
15
八、心得体会
第一次看到这样子把嵌入式系统应用到农业大棚中,不用时时去棚中检测温度、湿度或者二氧化碳浓度等,再通过一定程序的设计,并且还能进行自我调节,这就从一定的程度上降低了劳动强度。设施农业是现代农业发展的象征,正在世界各国蓬勃地发展着。它所创造的生产奇迹一次又一次地突破着人们的旧观念,它展示着未来农业的美好前景,也启迪着人们运用科学技术的无限魅力去开拓和创造着农业生产的新篇章。
当然随着嵌入式的发展,能应用的领域越来越广泛,比如我们周围的手机,电脑,数码相机等一系列的电子产品,使得我们所用的东西功能越来越强大,但是体积越来越小,便于携带。
其他不少同学课程设计做得智能家居,汽车电子,智能机器人等方面,这些技术的提高和相应产品的普及,使得我们的生活越来越方便,简单。
科技推动人类的进步,完全正确!
16
参 考 文 献
[1] 杨皓,王秀 ,夏克俭 ,等.基于 ARM 的 uCLinux 网络控制系统的设计与实现[J ]. 计算机应用研究 ,2005 ,22 6 :1892191.
[2] 王祖林 ,龙翔 ,郑红.新一代嵌入式处理器龙珠i.MX结构及其应用基础[M].北京:北京航空航天大学出版社 ,2004.
[3] 张成伟 ,杜旭 ,杨宗凯. 基于 MiniGUI 和嵌入式 Linux 的GSM/ GPRS无线通信模块[J ]. 计算机工程 ,2004 ,30 ( 21) :1732175.
[4] 万松峰 ,黄惟公.基于 ARM &Linux 的网络化监控系统的设计[J ].西华大学学报:自然科学版 ,2005 ,24 3 :426.
[5] 黄智伟,邓月明 ,王彦. ARM9嵌入式系统设计基础教程 北京航空航天大学出版社 ,2008 ,8
[6] 于明,等.ARM9嵌入式系统设计与开发教程[M].北京:北京航空航天大学出版社,2007.
[7] 魏洪兴.嵌入式系统设计教程[M].北京:清华大学出版社,2006
17
因篇幅问题不能全部显示,请点此查看更多更全内容