数据采集监控系统的设计与实现

数据采集监控系统的设计与实现
王兵
【摘 要】This paper gaves a design and implementation of a remote control system based on ARM processor and μC/OS-Ⅱ system. The transplant method of μC/OS-Ⅱ is introduced, then the design of software system is presented.%提出了一个基于ARM架构处理器和μC/OS-Ⅱ操作系统的远程数据采集监控系统的系统组成与结构,介绍了其μC/OS-Ⅱ操作系统的移值方法,并对数据采集/控制器的软件系统进行了分析与设计。
【期刊名称】《微型机与应用》
【年(卷),期】2012(031)011
【总页数】3页(P84-85,88)
【关键词】嵌入式系统;远程监控;系统结构
【作 者】王兵
【作者单位】海军计算技术研究所,北京100841
【正文语种】中 文防爆蓄电池
智慧珠拼盘【中图分类】TP302
无动力清扫器
嵌入式系统是计算机系统应用的重要发展方向之一。随着计算机技术的飞速发展,嵌入式系统的设计开发与应用已步入一个全面发展的阶段。由于嵌入式系统具有体积小、性能强、功耗低、可靠性高以及面向行业应用的特点,目前已经广泛地应用于军事国防、消费电子、网络通信、工业控制等领域。特别在数据采集与自动化控制领域,嵌入式系统更是显现了其得天独厚的优势与魅力。集通信
进行嵌入式系统应用开发,开发平台的选择非常重要。目前,基于ARM架构的硬件平台较为流行,产品资源非常丰富。而μC/OS-II是近年来发展迅速的开放源码实时操作系统,具有良好的可移植性,因此,基于ARM架构的处理器和μC/OS-II操作系统是进行嵌入式应用系统开发的理想平台。
1 系统组成结构
1.1 系统功能与组成
利用上述平台本文设计实现了一个远程数据采集控制系统,测量远程设备的环境温度变化情况和电池电量,并能启动温度控制器工作,在电池电量不足时,向数据采集控制中心发送报警信息。系统实现的主要功能有:
(1)定时检测、采集远程设备环境温度及供电电池电压,并将数据发送到监控中心;
(2)在环境温度超出预定范围时,启动温控器工作,以保持设备环境温度;
(3)在电池电量不足时,向监控中心发送报警信息;
(4)可本地设置、修改系统工作参数,也可由监控中心通过短信远程控制、设定系统工作参数;
(5)监控中心将数据信息保存于数据库中,并能对采集的数据进行统计分析,按预设参数决定是否需对远程设备进行人工维护;
(6)数据采集/控制器工作异常时,能向监控中心发送报警信息,请求进行人工维护;
(7)能将采集的温度数据信息本地存储,系统通信失败时,可通过USB设备进行转储。
系统组成关系如图1所示。其中数据库采用SQL Server 2000,用于存储采集到的数据信息和远程设备工作、维护情况信息;数据采集控制中心采用工控机服务器、Windows Server2003,运行数据采集控制软件系统,通过串口与GSM模块相连,采用短信通信方式完成对远程设备的信息采集与管理控制;GSM模块采用Siemens的TC35,通过短信实现远程信息的交互,可使系统建设与维护投资小,工作可靠;数据采集/控制器用以实现数据采集以及相应设备的控制。
1.2 数据采集/控制器硬件结构
系统中的数据采集/控制器是系统运行的关键设备,要求高性能、高可靠、低功耗、低成本,而LPC2100系列控制器是PHILIP公司推出的低功耗ARM架构的微控制器,可以很好地满足上述需求。其中的LPC2158控制器能支持实时仿真和跟踪,32位144引脚,40 KB静态 RAM,带有 512 KB高速片内 Flash存储器,片内 128位宽度的存储器接口和独特的加速结构使32位代码能够在最大的时钟频率下运行,内置32位定时器、实时时钟和看门狗,最大60 MHz的CPU操作频率,支持低功耗模式。基于此款微控制器设计了数据采集/控制档案管理方法
器的硬件结构,其硬件结构如图2所示。
图2 数据采集/控制器硬件结构如图
监控器核心板集成了2 MB SRAM和4 MB Flash存储器和4×4键盘,还集成了所需的外设接口模块,包括液晶显示接口、USB接口模块、A/D转换模块、2个RS232接口以及 DC/DC转换等模块。外接设备有GSM模块、128×64液晶屏,U盘、电池电源、温度传感控制器等,其中液晶屏和U盘为选配设备,为降低系统成本与功耗,只在需要时配接相应设备。
2 数据采集/控制器软件系统设计
在目前嵌入式实时操作系统中,μC/OS-II源码公开、结构简单、移植性好,采用C语言和汇编语言实现,其中绝大部分使用C语言,结构非常简单;能很容易被移植到各种微处理器上,移植过程中,用户只需做少量工作;支持实时多任务,可裁剪、可固化,是一款优秀的嵌入式操作系统,以其为平台,用户可以快速地开发出自己的应用系统。
2.1 μC/OS-II的移植
以μC/OS-II为软件平台开发应用系统,首先,要进行ARM硬件平台下的操作系统移植,对μC/OS-II与处理器有关的代码进行修改,主要工作有:
(1)在系统文件OS_CPU.H中要定义10个不依赖于编译的数据类型,以免与处理器类型产生关联,从而影响移植;定义OS_STK_GROWTH常量为1,指明堆栈的生长方向为自上而下;定义两个宏OS_ENTER_CRITICAL()、OS_EXIT_CRITICAL(),以禁止和允许中断,系统代码访问临界区前要先禁止中断,访问完毕后重新允许中断;定义宏OS_TASK_SW(),在任务级代码中调用,使系统从低优先级任务切换到高优先级任务。
(2) 在OS_CPU_C.C文件中编写6个C函数OSTaskStkInit()、OSTaskCreateHook ()、OSTaskDelHook ()、OSTaskSwHook ()、OSTaskStatHook ()、OSTimeTickHook ()。OSTaskStkInit()用来初始化任务的堆栈结构,OSTaskCreateHook()允许用户及使用特定移植实例的用户扩展 μC/OS-II的功能,OSTaskDelHook()用于任务删除时的系统调用,OSTaskSwHook()是发生任务切换时的调用函数。这些函数中只有OSTaskStkInit()是必需和函数,其余函数必须声明,但不一定需要包含代码。
(3)在OS_CPU_A.ASM文件中编写4个汇编函数:OSStartHighRdy()使就绪状态的最高优先级任务开始运行,OSCtxSw()用于任务级的任务切换,OSIntCtxSw()用于中断级的任务切换,OSTickISR为内核处理时钟节拍的中断处理函数。应注意运行OSStart()后,在系统启动的第一个任务中初始化节拍中断。
(4)主函数程序结构:在主程序中应包含头文件config.h,其中对最大任务数、信号量和邮箱等内核参数进行定制和配置,分配各任务的堆栈空间,主函数main()要先后调用 OSInit(),变量初始化,创建各任务,调用OSStart(),进入实时多任务运行状态。主程序结构如下:视频处理
2.2 系统任务划分与功能设计
数据采集/控制器的软件系统共划分为6个主要任务,按优先级顺序分别为控制任务、键盘任务、温度监测任务、串口通信任务、电量监测任务、显示任务。
(1)控制任务:启动系统各任务后,根据收到的键盘或短信命令,修改系统工作参数,控制系统工作状态,温度超过设定值时,控制温度控制器工作。
(2)键盘任务:通过键盘可以输入控制命令、设置系统工作参数。键盘任务循环读取键盘,将按键信息发送到控制任务,任务处理过程中应考虑到按键的抖动等特殊情况的处理。
(3)温度监测任务:监测环境温度,按设置参数定时读取经过A/D转换的温度值,进行本地存储,并向串口通信任务发送环境温度信息,由串口通信任务通过GSM模块向数据采集控制中心发送温度数据短信,供采集控制中心储存、统计和分析。该任务还要进行喂狗操作,将看门狗复位,然后进入循环等待下一次定时数据采集。
(4)串口通信任务:将采集的温度、电量等信息缓存至规定(可设置)的条数时,通过串口发送给GSM模块;对收到的报警信息则不进行缓存,直接通过串口发送给GSM模块。每次发送数据完成后,读取GSM模块的未接收短信,若为命令短信,则发送给控制任务进行相应控制。

本文发布于:2024-09-23 07:20:32,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/106438.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   任务   采集
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议