APP下载

基于μC/OS-Ⅱ系统的无线手持数据监控系统的设计

2016-03-23李征明张世刚孙华英冯新用纪建伟

农机化研究 2016年1期
关键词:嵌入式温室无线

李征明,张世刚,孙华英,冯新用,纪建伟

(沈阳农业大学 信息与电气工程学院,沈阳 110161)



基于μC/OS-Ⅱ系统的无线手持数据监控系统的设计

李征明,张世刚,孙华英,冯新用,纪建伟

(沈阳农业大学 信息与电气工程学院,沈阳110161)

摘要:针对传统温室数据监控系统费用高、传感器布线复杂、部署不灵活、功耗大等特点,设计了一套基于μC/OS-Ⅱ系统的手持嵌入式监控系统。系统以STM32F103ZET6为核心控制器件,移植了具有多任务、实时性特点的嵌入式操作系统μC/OS-Ⅱ,并添加了与Windows操作界面类似的图形界面软件μC/GUI,方便用户操作。系统使用了遵从ZigBee协议的Z-Stack协议栈,实现数据无线传输。实验表明:该系统完全适用于农业温室大棚等高湿环境,且无线通信功能安全可靠。

关键词:嵌入式系统;STM32F103ZET6;μC/GUI;ZigBee;μC/OS-II;温室

0引言

近年来,我国设施蔬菜生产发展极为迅速,生产面积正在以每年10%以上的速度增长。现代日光温室是设施蔬菜的生产车间, 对日光温室内的大气温湿度、光照强度、CO2浓度等环境因子数据的监测与控制是实现其生产自动化、高效化最为关键的环节[1-2]。传统的人工测量方式费时费力、效率低下、数据误差大,而有线通信方式在温室系统中也存在着布线复杂、维护困难、部署调整不便等缺点[3]。基于此,为了实现对温室内环境因子进行实时数据采集与控制,设计一种基于无线方式的便携式设备就显得非常必要。本文针对温室内的4种环境因子,研制出一种基于嵌入式技术的便携式操作设备。该设备利用温度、湿度、光照、CO2等传感器,实现对温室环境参数的精确测量,并通过ZigBee无线通讯方式,将所采集的数据传输到手持终端并显示,根据环境参数的变化情况,实现对温室内温湿度、光照、CO2等参数的集中控制。

1系统方案

本设计基于STM32F103ZET6芯片的核心控制与显示以及CC2530无线通讯系统,构建嵌入式开发环境,裁剪移植μC/OS-II操作系统。系统硬件基于STM32F103ZET6芯片,扩展能力强,对大多操作系统有很好的兼容性[4]。芯片具有丰富的外设资源,且功耗低,能够满足系统的基本要求。系统采用开源的μC/OS-Ⅱ作为操作系统软件,可方便了解底层代码,进而对系统进行充分的配置[5]。为方便控制操作,该系统采用4.3寸的TFT显示屏,该屏带有触摸功能,体现了用户界面的简洁和方便。在软件设计中,与系统配套使用μC/GUI,该图形界面系统是专为嵌入式应用而设计的,用户可直接调用API函数进行界面的设计,方便开发。在数据收发部分,采用ZigBee无线网络协定。该协议底层采用IEEE802.15.4标准规范的媒体存取层与实体层,具有低功耗、低成本、支援大量网络节点、支援多种网络拓扑、低复杂度、快速及可靠性高的诸多优点。系统采用支持ZIGBee802.15.4协议的CC2530芯片。系统硬件架构如图1所示。

1.1传感器选择

节点传感器实现对植物生长环境因素的采集,要求传感器具备较高的精度及较低的功耗。系统对温湿度的采集采用了简单易用的DHT11传感器,湿度测量精度为±5RH,温度测量精度为±2℃,满足系统的要求。光照传感器采用BH1750FVI,具有体积小、灵敏度高、 良好的稳定性及功耗低等诸多优点。系统采用红外二氧化碳传感器,是一款专门用于农业等多种高湿场合使用的产品,采用多重防护,确保传感器不受外界不同环境的影响及可靠稳定工作。其测量精度可达±5%,检测分辨率达±10×10-6,符合系统要求。

图1 系统硬件架构

1.2无线数据传输

系统采用支持ZigBee 802.15.4协议的CC2530芯片。该芯片拥有庞大的快闪记忆体多达256个字节,集成了1个高性能的RF收发器与1个8051内核,以及强大的支持功能和外设,支持低功耗无线通信方式,并可以配备TI的网络协议栈(RemoTI,Z-Stack)来简化开发[6]。ZigBee协议栈建立在IEEE 802.15.4的PHY层和MAC子层规范之上,实现了网络层NWK和应用层APL。应用层内提供了应用支持子层APS和ZigBee设备对象ADO。应用框架中则加入了用户自定义的应用对象。ZigBee网络支持星型、树状和网络三种网络拓扑结构,系统采用了易于维护和安全的星型网络。 CC2530外围电路如图2所示。

图2 CC2530硬件电路图

1.3显示模块

系统显示部分采用3.2寸液晶屏,该液晶显示屏分辨率为320×240,显示器控制芯片采用ILI9341,触摸检测芯片采用XPT2046,配合STM32F103ZET6的FSMC进行数据的显示及其控制数据的发送。图3为LCD驱动模块接口电路。

图3 LCD驱动模块接口电路

2软件设计

2.1通信设计

协调器与各子节点之间采用具有低功耗、低成本、支援大量网络节点、支援多种网络拓扑、低复杂度、快速及可靠性高等诸多优点ZigBee无线传输网络。为实现使用ZigBee协议进行无线通信,系统采用了TI公司的Z-Stack协议栈。其主要特点就是其兼容性,完全支持IEEE 802.15.4的CC2530片上系统解决方案。系统采用了星型网络进行数据之间的传递。星型网络是有一个FFD和若干RFD构成,FFD负责建立网络,网络建立之后FFD功能相当于一个RFD,每个RFD与FFD之间可平等通信,完成数据的无线传输。具体组网流程如图4所示。

系统上电后,ZigBee协调器首先进行初始化工作,初始化完成后协调器调用Z-Stack协议栈中的ZDApp_NetworkInit函数进行网络的建立及其初始化工作;同时,系统可通过逻辑类型判断出该设备是否是协调器,如判断是,则产生一个回调函数来告诉系统网络组件成功。

当星型网络组建成功之后,终端节点将采集得到实时的数据通过函数AF_DataRequest()发送到协调器,将终端节点发送的数据经判断通过UART发送到STM32F103ZET6进行显示;同时,协调器将STM32F103ZET6给它的控制信号通过广播的形式发送到各个终端,终端将控制信号做判断后执行控制。

图4 组网流程

2.2显示模块

系统的显示部分采用了STM32F103芯片自带的FSMC(Flexible Static Memory Controller)接口驱动电路来驱动LCD完成数据显示。FSMC外部映射地址分为4个地址区,每个地址区可达256M,而每个地址区又可分为4个分地址区,支持NOR、NAND等类似的储存器;同时,可以通过每个设备的片选引脚来选择访问那一个外部设备,每次尽可访问一个设备。具体接口定义为:

FSMC_D[16:0]->16bit地址总线

FSMC NEx:分配给NOR的256M再分成4个区,每个区用来分配一个外设,这4个外设的片选:NE1-NE4对应不同的引脚。

FSMC NOE:输出使能端,连接LCD的RD脚。

FSMC NEW:写使能端,连接LCD的RW脚。

2.3μC/OS-II移植

将μC/OS-II系统移植到STM32F103ZET6的过程如下:

1)修改os_cpu.h文件:①设置正确的数据类型;②设置进入临界区的方法,并编写OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()宏;③设置堆栈增长方向;④设置任务切换方向OS_TASK_SW()。

2)修改os_cpu_c.c文件:①设置中断产生时,CPU的中断执行过程,编写堆栈任务初始化函数OS_TSK*OSTaskStkinit();②编写运行优先级最高的就绪态任务函数void OSStartHighRdy(void);③编写中断级任务切换函数void OSIntCtxSw();④编写任务级任务切换函数void OSCtxSw();⑤编写时钟节拍中断服务子程序void OSTickISR();

3)修改配置文件OS_CFG.H:主要是选择及配置ucosII的模块功能。

2.4μC/GUI的移植

μC/GUI是一种专门为嵌入式应用设计的图形支持系统[7],可以应用多任务系统环境,实现良好的人机交互过程。其软件结构如图5所示。

图5 uC/GUI图形显示系统

其具体移植过程为:

1)在GUIConf.h中定义uC/GUI的功能模块、动态存储空间大小以及其默认字体设置如下:

#define GUI_OS (1)//多任务

#define GUI_SUPPORT_TOUCH (1)//触摸

#define GUI_SUPPORT_UNICODE (1)// UNICODE支持

#define GUI_DEFAULT_FONT&GUI_Font6x8//默认字体

#define GUI_ALLOC_SIZE 5000//动态内存大小

2)在LCDConf.h文件中定义LCD大小、控制器类别、总线宽度、颜色选取LCD参数如下:

#define LCD_XSIZE

(320)

#define LCD_YSIZE

(240)

#define LCD_CONTROLLER

(8347)

#define LCD_BITSPERPIXEL

(16)

#define LCD_FIXEDPALETTE

(565)

#define LCD_SWAP_RB

(1)

3)LCD驱动程序:LCD驱动编程是对LCD屏上每个点对应的显存进行编程,底层采用最基本的画点函数进行屏幕上对应点的亮灭的编程,上层则调用画点函数进行其它图像的显示。

3软件流程

整个系统有多个任务组成,按照定时节拍在一定时间内执行不同的任务,由于不同任务所需执行力度不一,所以定义了不同的优先级加以限制。系统定义的任务及其优先级如下:

#defineAPP_TASK_START_PRIO1//启动任务

#defineAPP_TASK_USER_IF_PRIO4//触摸任务

#defineAPP_TASK_COM_PRIO3//LED任务

#defineAPP_TASK_USART1_PRIO 10//串口任务

#defineAPP_TASK_GUI_PRIO

(OS_LOWEST_PRIO - 3)//GUI显示任务

系统在上电之后,从main函数进入,实现操作系统的初始化、硬件初始化过程,建立主任务App_TaskStart(),之后调用OSStart()开始执行整个操作系统,如图6所示。

图6 软件流程

4系统应用

采用ZigBee 2.4G网络将终端所测数据发送至网关,可以通过网管手动进行设置终端参数及控制终端执行某种动作。利用嵌入式STM32F103ZET6为核心并结合μC/OS-II实时操作系统,实现了温室内仪表的智能化、多功能化。网关可做成手持式,方便用户使用。因此该系统完全可用在现代智能温室大棚的应用当中,实现数据的无线采集及温室内的智能控制。

5结论

系统设计的基于μC/OS-II的嵌入式测控设备,移植了μC/GUI图形界面,可使用户熟练地对系统所监控的环境参数进行设定,用户不必为如何使用该设备而担心。同时,系统采用的ZigBee无线网络,由于其具有的稳定传输性与安全性特点,保证了所采集数据的可靠和安全。实验证明:采用基于ZigBee的温室环境监测及其低功耗传输系统,单个CC2530 终端节点装载多种传感器,采集传输了温室多种环境参数,对温室内的生长环境参数进行了智能监测和精确管理,具有良好的应用前景。

参考文献:

[1]喻景权. “十一五”我国设施蔬菜生产和科技进展及其展望[J].中国蔬菜,2011(2): 11-23.

[2]郭文川,程寒杰,李瑞明,等. 基于无线传感器网络的温室环境信息监测系统[J].农业机械学报,2010(7): 181-185.

[3]张荣标,Guodong Gu,冯友兵,等. 基于IEEE802.15.4的温室无线监控系统的通信实现[J].农业机械学报,2008, 39(8): 119-122, 127.

[4]丁力,宋志平,徐萌萌,等.基于STM32的嵌入式测控系统设计[J].中南大学学报:自然科学版, 2013(S1): 260-265.

[5]周兆丰,侯向锋,鲁池梅,等. μC/OS-Ⅱ在STM32F103上移植的新方法[J].湖北师范学院学报:自然科学版,2013(2): 69-73.

[6]李志方,钟洪声. IEEE802.15.4的CC2530无线数据收发设计[J].单片机与嵌入式系统应用,2011(7): 43-45.

[7]王宪伟,程广亮. 基于嵌入式STM32平台的μC/GUI人机交互界面设计[J].长春大学学报,2014(10): 1317-1319.

Wireless Handheld Data Monitoring System Based on μC/OS-Ⅱ

Li Zhengming, Zhang Shigang, Sun Huaying, Feng Xinyong, Ji Jianwei

(College of Information and Electrical Engineering, Shenyang Agricultural University, Shenyang 110161, China)

Abstract:In order to overcome the disadvantages of the traditional data monitoring system in greenhouse, such as high cost, sensor complicated cabling, inflexible deployment, high energy consumption, a wireless handheld data monitoring system was designed based on μC/OS-Ⅱ. The system was structured by STM32F103ZET6 microprocessor, and μC/OS-Ⅱoperating system was chosen as software platform , and used μC/GUI as graphical interface software. It is convenient to user. The system uses Z-Stack protocol abide by ZigBee protocol, realized wireless data transfer. The experiment show that the system is fully suitable for high humidity environment, such as greenhouse. The wireless communication system is safety and reliability.

Key words:embedded system; STM32F103ZET6; μC/GUI; ZigBee; μC/OS-Ⅱ; greenhouse

文章编号:1003-188X(2016)01-0150-05

中图分类号:S625.3;TP216.2

文献标识码:A

作者简介:李征明(1977-),男,河北玉田人,讲师,硕士,(E-mail)bwclzm@163.com。通讯作者:纪建伟(1963-),男,辽宁锦州人,教授,博士生导师,(E-mail)jianweiji7879@hotmail.com。

基金项目:国家自然科学基金项目(60974113);辽宁省自然科学基金项目(201102191);辽宁省教育厅科研项目(L2011112)

收稿日期:2015-02-12

猜你喜欢

嵌入式温室无线
现代温室羊肚菌栽培技术
苍松温室 苍松灌溉
苍松温室 苍松灌溉
《无线互联科技》征稿词(2021)
无线追踪3
可以避免一个温室化的地球吗?
基于ARM的无线WiFi插排的设计
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
ADF7021-N在无线寻呼发射系统中的应用