基于ARM926EJ-S的温湿度无线监控系统的设计
扫描二维码
随时随地手机看文章
安徽理工大学电气与信息工程学院 吴柳 苏文芳
引言
监控系统是为了满足正常工厂生产或日常生活中对人、设备或相关区域进行监督、控制的系统,是各种重要的场所如银行、工厂生产区等为了正常运营所必需的系统。工厂生产中,生产或其他厂区有很多分布广泛的现场数据信息需要采集并传送到监测站中进行统一监控及管理。现在对于如何建立实时性强、覆盖面广、灵活性好的远程数据采集监控系统,用来满足相关场所的正常运行,变为一个重要的问题。无线监控系统在操作员不在时能够知道现场情况,检测数据是否异常并报警。
系统整体构架
本系统利用3G网络进行数据通信。总体上是各个温度采集模块(温度传感器)将数据通过RS485传到ARM9中,ARM9通过3G通信模块(MC8630)能发送温度数据或者报警等信息到管理员的手机上。系统的总体架构如图1所示。
图1 系统总体架构图
系统硬件开发平台
本文的硬件系统包括嵌入式微处理器、键盘、LCD显示模块、RS485串口、A/D转换模块、温湿度传感器,3G模块等。
整个远程终端主要有温湿度传感器模块(HG04-LTM8690)、以ARM926EJ-S为处理器的开发板、320×240点阵LCD显示屏、3G通信模块(MC8630)、电源等几部分组成。图2即为本系统的硬件平台框架图。
图2 系统的硬件平台框架图
硬件模块
ARM9处理器
ARM926EJ-S处理器具有一个采用Jazelle技术的增强型32位RISC CPU、灵活的指令和高速数据缓存、紧密耦合内存(TCM)接口和内存管理单元(MMU)。它还提供单独指令和数据AMBA AHB接口,适合基于多层AHB的系统。ARM926EJ-S处理器可执行ARMv5TEJ指令集,其中包括功能得到增强的16×32位乘法器,可进行单周期MAC运算、16位定点DSP指令、可增强多个信号处理应用程序的性能并支持Thumb技术。可通过ARM处理器代工厂计划和DesignStar计划获得实现硬件的ARM926EJ处理器。
温湿度测量模块
HG04-LTM8690是一种无线温湿度测量模块,可测量最多16个温度点和一个温湿度点。它采用电池供电,定时采集,利用无线通讯技术将数据传回监控中心。它采用密封盒设计,防护等级达到IP68级别,可有效防尘、防水及防止腐蚀性气体侵入,现场安装方便。
液晶显示模块
本系统选用JRD320240B液晶显示模块来显示相关的数据或其他信息。JRD32O24OB的工作电压为3.3V,液晶的对比度可以通过编程来调节。液晶显示控制器的主要工作是将ARM9存储器的缓冲区中的数据传送到外部液晶显示驱动器,并产生液晶显示控制信号。JRD320240B的内部控制器RA8835可以很方便地完成对液晶显示器的控制。
按键模块
按键输入是最常用的嵌入式输入设备,按键的结构通常有两种形式:线性式和矩阵式。线性键盘是由一些单独的按键组成,每个按键单独与微处理器的一个I/O口相连接,是一对一的关系。这样,线性键盘就只适用于按键少的场合。而矩阵按键是按照i行j列排列的,每个按键占据行列的一个交点,需要的I/O口数目是i+j。由于本系统需要用到的按键不多,所以采用了线性式按键。
3G通讯模块
MC8630是一款基于CDMA2000 1X/EVDO Rev.A版本的3G通信模块,适合于中国电信的3G移动服务,下行通信速度为3.1Mbps,上行通信速度为1.8Mbps。由于其具有语音、短信和高速数据业务等功能,可以广泛应用于高速实时数据传输。
下位机设计
下位机的设计主要完成的是数据的采集、发送,整个温度采集系统的人机界面设计以及和上位机的通信等功能。主要分为几个部分:人机界面设计部分(液晶显示的设计和键盘控制的设计),数据的采集,与上位机的通信、接收与发送。
图3 下位机软件流程图
数据采集的设计与串口传输
对无线温度监控系统数据采集的设计和实现可分为人机界面的设计、数据采集的通信协议的制定、数据采集和数据采集的串口实现等几个部分。
系统采集的现场数据通过串口发送到ARM9。数据的显示及对系统的操作,需要用到人机交互界面。人机交互界面主要包括图形图像界面和键盘操作界面两部分。键盘输入部分主要用于实现对图形图像界面及系统终端的输入控制。
本系统有2个符合16C550工业标准的异步串行口UART0和UART1,即有两个异步串行I/O端口。UARTO和UART1的发送器和接收器包含16个字节的FIFO数据缓冲区和移位寄存器,内置波特率发生器。对将要被发送的数据,首先得把它写入FIFO数据缓冲区,并复制到发送移位寄存器,然后将它从数据输出端口进行移位输出即可。将要被接收的数据是从数据接收端口移位输入到移位寄存器,然后复制到FIFO中。
图4 串口通信相关程序流程图(a)
图4 串口通信相关程序流程图(b)
从现场采集的数据,如何根据串口通信协议处理收到的上位机的数据、如何给上位机发送数据,这些在很多嵌入式系统中都包含的UART(Universal Asynchronous Receiver Transmitter通用异步收发器)通信,UART单元提供了两个独立的异步串行I/O端口,支持的最高波特率为115.2kbps。UART模块包含波特率发生器、发送器、接收器和控制单元。波特率发生器以MCLK(主时钟)作为时钟源。
本系统每隔500毫秒就查询一次有没有需要传送的数据到上位机或从上位机发送的命令。如果检测到现场温度低于18℃或者高于35℃,系统就会向用户发送相应的报警信息,用户也可以在任何时候发送命令询问现场的温度和湿度。
结束语
本文以ARM926EJ-S为微处理器,介绍了无线温湿度监控系统相关硬件,下位机人机界面软件的设计思想,及数据的采集、发送以及和上位机的通信,系统的功能等。无线远程监控系统如果要代替有线监控系统还需一段时间,它们会向智能化、小型化、简便化方向发展,能对远程终端进行各种各样的控制,能够实现真正意义上的远程无线监控。同时论文还存在很大的发展空间,随着嵌入式ARM微处理器的发展,以后会有更高性能的嵌入式微处理器,可以同时采集更多的数据,处理并发送到上位机;或采用触摸显示屏代替液晶显示屏进行数据的输入与显示,可以更加直观与方便地进行操作等,因此课题可以继续做深入研究。