基于μC/OS-II的无线数据采集系统

2020-09-26 11:43黄向宇
电脑知识与技术 2020年24期
关键词:网关

黄向宇

摘要:随着信息技术的发展,数据采集正以嵌入式技术为核心向着无线化、网络化、远程化的方向不斷发展。本文以ARM9处理器S3C2440和嵌入式实时操作系统μC/OS-II为基础,设计了一种无线数据采集系统,可以实现多点分布式数据的无线远程采集,将现场数据通过无线方式实时地传输到数据网关,由网关汇集数据后传输到上位机存储并显示出来,具有较高的可靠性和实时性。

关键词:实时操作系统;无线数据采集;分布式数据;网关

中图分类号:TP391     文献标识码:A

文章编号:1009-3044(2020)24-0217-02

1 引言

数据采集是信息技术的重要组成之一,是计算机获取信息的基本手段,在工业控制和科学研究等诸多领域具有广泛的应用。数据采集系统可对物理量进行采集、存储、处理和显示,实现对物理量的监视或控制。一般情况下,数据采集模块通常需要采集大量的现场数据,然后传输给主机进行处理。目前数据传输通常使用的是RS485或者是CAN等网络,这些网络均基于有线传输,它们在使用中不仅要考虑成本因素,还要考虑数据传输中的干扰因素。而无线传输相对具有一定的优势,成本相对较低,并且传输中的干扰也较少,这也在一定程度上提高了传输的可靠性。

2 系统总体架构

本文以ARM9处理器S3C2440和嵌入式实时操作系统μC/OS-II为基础,结合51单片机与无线数据传输模块作为终端节点,设计了一种无线数据采集系统。该系统可以实现分布式数据的无线采集,将现场数据通过无线方式实时地传输到以ARM处理器为核心的数据网关,并通过串口传输给PC上位机显示出来。

在硬件设计部分,本系统选用了友善之臂的mini2440开发板作为数据网关硬件平台。其核心处理器采用三星的S3C2440A ARM9,内存是64M SDRAM,拥有2MB Nor Flash和256MBNand Flash,操作系统支持Linux和WinCE。

本系统的无线数据采集终端节点是一个基于单片机的智能化前端模块,它由数字温度传感器DS18B20、无线模块RF1100SE以及51单片机三个部分构成。

DS18B20是美国DALLAS公司生产的数字温度传感器,它采用独特的单线接口方式,在与微处理器连接时仅需要一条连接线即可实现双向通讯。它的测温范围为-55~+125℃,固有测温分辨率达到0.5℃。

RF1100SE无线模块是使用TI-Chipcon公司的CC1101芯片开发而成,由一个完全集成的频率调制器、一个带解调器的接收器、一个功率放大器、一个晶体振荡器和一个调节器组成;在433MHz免费ISM频段免许可证使用,其最高工作速率500kbps,支持2-FSK、GFSK和MSK等调制方式。

本文设计了多个无线数据采集节点构成一个分布式的无线数据采集网络,采集多点的数据信息(本文目前设计了三个温度采集节点),并按照专有的通信协议,采用无线传输的方式将采集到的数据传输给数据采集网关,在网关中对数据进行一定的处理后,再将其传输给PC上位机显示出来。与此类似,也可以通过PC上位机或者数据采集网关发送数据或指令到终端节点以做出相应的控制动作。

系统共设计了三个无线温度采集节点,三个节点在规定的间隔时间向数据网关发送一次数据,网关则在规定的时间内启动数据采集任务,来获取三个节点的温度数据。网关通过启动数据采集任务判断节点的Channel值来决定接收哪一个节点的温度数据。节点主动发送数据,网关被动接收数据,当发送和接收的Channel地址匹配时接收数据,否则丢弃数据。

在软件设计部分,本课题主要完成了μC/OS-II实时操作系统在S3C2440上的移植及多任务设计、数据采集和数据传输功能的实现以及PC上位机用户界面设计三个部分的工作。本课题设计的无线数据采集系统经测试能很好地完成分布式数据的无线采集,具有较高的可靠性和实时性,达到了设计的预期目标。

3 数据采集网关软件设计

μC/OS-II操作系统对系统资源进行管理,主要包括任务调度、内存管理、消息机制、异常处理等。其所有的系统服务均由内核提供,内核将应用系统和底层硬件平台结合成一个完整的实时系统。

本文充分利用了μC/OS-II操作系统的多任务调度机制来实现数据采集的实时性,系统依据功能需求共设计了七个工作任务,包括一个系统任务和六个用户任务。系统任务即空闲任务,其余六个用户任务分别是主任务、液晶显示任务、触摸屏驱动任务、数据采集任务、上位机通信任务及程序测试任务。

液晶显示任务LcdTask()的作用是实现数据网关的本地显示,由于没有使用复杂的GUI库,所以只是绘制了一个简单的主机界面,可以对采集到的节点温度进行实时地显示,还可以通过点击“详细”按钮,观测到相应节点的温度数据历史变化曲线。

触摸屏驱动任务TouchTask()主要工作是响应外部的触控操作,本系统中用于切换显示界面。当点触主界面上的“详细”按钮时,触摸屏任务就会响应该操作,并将主显示界面切换到相应的温度曲线显示界面。

数据采集任务GetDataTask()实现了对三个终端节点的数据进行主动地接收,本课题假设三个节点的重要性相同,而μC/OS-II操作系统中不允许不同任务具有相同的优先级,所以就将对三个节点的数据接收过程放在同一个任务中。任务的流程图如图3所示。

4 PC上位机软件设计

PC机界面采用比较常用的MFC框架来实现,通过串口的方式与下位机进行通信。由于在传输过程中可能会产生数据丢失,为此对串口通信协议做了一点格式变化,我们定义在第一个有效数据前加一个‘#字符,而在最后的的一个数据的后面加上‘*字符,最后形成#xxxxxx*这样的一个数据包,这样即可确保数据传输的准确性。串口驱动程序调用到的API函数如下表:

考虑到工程中要对数据进行分析和统计,上位机对传输过来的数据进行了实时保存。考虑到Office的Excel对数据的分析统计最为方便流行,因此本文直接调用微软的Excel应用程序,将Excel嵌入到的上位机应用程序中,采集到的温度数据都存储在Excel表格中,方便用户的读取。调用Excel表格所需要用到的类如下表:

参考文献:

[1]郑志雄,张长胜,赵振刚,等.基于无线通信的温室环境信息监测系统[J].数据通信,2020(3):43-45.

[2]王亚楠,朱妍雯.μC/OS-Ⅱ环境下的IoT数据采集系统通信设计[J].信息与电脑(理论版),2019(16):176-178.

[3]马经权,蔡明,康国旗.基于无线传输的数据采集系统硬件设计[J].西部皮革,2019,41(10):4-5.

[4]刘永琦,曲鸣飞.基于μC/OS和51单片机的温度检测系统设计[J].通信电源技术,2018,35(12):94-95.

【通联编辑:梁书】

猜你喜欢
网关
信号系统网关设备的优化
天地一体化网络地面软网关技术及其应用
基于ETC在线支付网关的停车场收费系统设计
基于能量自采集的无线传感器网络网关切换机制研究①
基于Profibus-DP/Modbus网关的双阶挤出机组温度控制系统设计
应对气候变化需要打通“网关”
LTE上行网关中AT指令处理框架设计与研究
WAP 网关管理及 SNMP 代理的应用研究
一种实时高效的伺服控制网关设计
基于Zigbee与TCP的物联网网关设计