河南科技大学本科毕业设计(论文) 数据显示是为了更好的实现人机交互,方便用户的用户操作,使用户更直观的了解到温室大棚内各项环境指标的实时变化。本智能农业监测系统所选的显示模块为P35触摸屏,它不但负责数据显示的任务同时还承担着“按键”的责任,屏幕上会呈现四个“虚拟按键”分别负责对温度、湿度、CO?浓度、光照强度的调节。
4. 扩展接口
为了增强系统的拓展功能应合嵌入式可裁剪、方便移植的特性,本智能农业操作系统中预留了一个RS485串口接口,该接口可以将系统检测的数据发送到数千米外,将接口接入电脑便可实现对系统的远程监测[3]。
5. 火灾预防
处于安全生产考虑本系统增加了火灾预警模块,该模块包含烟雾与可燃性气体检测和报警功能,MQ-2可以检测烟雾浓度与易燃性气体浓度,当二者浓度超过警戒值时蜂鸣器就会被拉响。
§2.3 智能农业监测系统的软件设计方案
智能农业监测系统的硬件电路确定以后,软件负责整个系统的主要功能实现。由软件来实现硬件电路的运行,其中包括数据采集、数码显示、环境调节、超阈值报警等。本系统的软件设计需要有一个细致全面的过程。首先要清楚的列出智能农业监测系统中各系统部件与软件设计的相关特点,并进行定义和说明,作为软件设计的依据。在此基础上画出软件设计的基本框架图、主程序流程图。再将程序流程图中列举的一系列操作用C语言编写出来,然后通过Keil uvision4编译调试,调试完成后通过J-Flash ARM V4.36g下载到系统的NandFlash内,至此软件设计基本完成。
6
河南科技大学本科毕业设计(论文) 第3章 智能农业监测系统硬件设计与实现
§3.1 微处理器的选择
本智能农业监测系统选择的微处理器为三星公司生产的S3C2440A。S3C2440A 由三星公司生产,以 ARM920T为核心,采用0.13μm 的 CMOS 存储器单元和标准宏单元。具有功耗低,精简,全静态特点,它是专门针对成本和功率敏感型的应用而设计的。S3C2440A 的突出特点是其处理器核心,是一个由 Advanced RISC Machines(ARM)公司设计的 16/32 位ARM920T 的 RISC 处理器。实现了MMU与AMBA总线以及哈佛结构的高速缓冲体系,具备独特16Kb的高速指令缓存和数据缓存,使得它的性能非常出众[4]。
§3.1.1 S3C2440A的内部组成结构
S3C2440A的内核组成结构如图3-1所示:
图3-1 S3C2440A内核结构框图
§3.1.2 S3C2440A的主要功能介绍
S3C2440A的主要片上功能有:
● 1.2V 内核供电, 1.8V/2.5V/3.3V 储存器供电, 3.3V 外部 I/O口供电,
7
河南科技大学本科毕业设计(论文) 具备 16KB 的高速数据缓存和 16KB 的高速指令缓存和 MMU的微处理器
● 外部存储控制器(SDRAM 控制和片选逻辑控制)
● LCD 控制器(最大支持 4K 色 STN 和 256K 色 TFT)提供 1 通道 LCD 专用 DMA
● 4个DMA 通道并有外部请求引脚
● 3 个UART通道(IrDA1.0, 64 字节发送 FIFO 和 64 字节接收 FIFO) ● 2 个SPI通道
● 1 个I2C 总线接口(支持多主机) ● 1 个I2S 总线音频编码器接口 ● AC’97 编解码器接口
● 支持 SD 主接口协议 1.0 版和 MMC 卡协议 2.11 兼容版 ● 2 个 USB 主机通道/1个 USB 设备通道(1.1 版)
● 4 个 PWM 定时器通道和 1 个内部定时器/看门狗定时器通道 ● 8 个 10 位 ADC 通道和触摸屏接口 ● 具有日历功能的 RTC
● 摄像头接口(最大支持 4096×4096 像素输入;2048×2048 像素输入支持缩放)
● 130 个通用 I/O 口和 24 通道外部中断源 ● 具有普通,慢速,空闲和掉电模式三种模式 ● 具有 PLL 片上时钟发生器
§3.1.3 S3C2440A的PWM定时器
S3C2440A有5个16位定时器。其中定时器0、1、2、3具有脉宽调制(PWM)功能。定时器4为内部定时器没有输出引脚。定时器0包含一个死区发生器,用于大电流驱动[5]。
定时器0和1使用同一个8位预分频器,定时器2、3、4共用另外一个8位预分频器。每个定时器都包含一个时钟分频器,可以生成5种不同的分频信号(1/2、1/4、1/8、1/16和TCLK)。每个定时器模块都是从相应预分频器中的时钟分频器来得到自己的时钟信号。8位预分频器是可编程的,并且按照存储在TCFG0和TCFG1寄存器中的加载值来分频PCLK。
8
河南科技大学本科毕业设计(论文) 定时器递减初始值储存在定时计数缓冲寄存器(TCNTBn)中,定时器在递减计时开始前还需要一个与定时器递减初始值做比较的比较初始值,该值储存在定时比较缓冲寄存器(TCMPBn)中,该值的主要用于脉宽的调制(PWM)。TCNTBn和TCMPBn双缓冲寄存器有效的确保了改变频率和占空比时,定时器仍然能够产生稳定的输出。
每个定时器都有自己独立的16位递减计数器用于定时。当递减计数器的值减到0时,就会产生一个定时器中断请求信号,告知CPU定时任务已完成。 当一个定时任务完成后,相应的定时计数缓冲寄存器(TCNTBn)中的初始值会被自动加载到递减计数器中,继续进行下一个定时操作。如果定时器被关闭,例如,定时器在运行过程中TCONn的定时使能位突然被清除,则定时计数缓冲寄存器(TCNTBn)中的值将不会被再次加载到递减计数器中。
定时器不占用系统时间,从这点可以看出定时器是一个具有高效效率的组件。
§3.1.4 S3C2440A的中断系统
S3C2440A的中断系统主要用于对温室大棚环境的实时监测过程中,对温室环境的调节。中断的基本含义为CPU在运行过程中,突然遇到另一件事情需要立马处理,此时CUP会暂停当前执行的事件,跳转执行另一个事件的过程。
S3C2440A芯片中包含60个中断源,其中包括36个内部中断源和24个外部中断源(EINTn)。内部中断包括2个看门狗中断、5个定时器中断、9个UART中断、4个DMA中断、2个RTC中断、2个ADC中断、1个I2C中断、2个SPI中断、1个LCD中断、1个电池故障中断、1个NANDFLASH中断、1个摄像头中断、1个AC97中断。在这60个中断源中,UARTn中断、AC97中断、外部中断对中断控制器是“或”的关系。当中断请求引脚收到中断请求信号时,中断控制器在仲裁步骤后再请求内核的 FIQ或 IRQ。仲裁步骤由硬件优先级逻辑决定,并且将结果写入到发生中断的中断源的挂起寄存器中。
中断处理过程如图3-2所示:
9
河南科技大学本科毕业设计(论文)
图3-2 中断处理框图
中断优先级判断如图3-3所示:
图3-3 中断优先级判断框图
§3.2 传感器的选择
§3.2.1 传感器的对比与选择
1. 温湿度传感器
在本系统开发之初,对温湿度传感器的选择有两种方案,一种是使用
10