基于μC/OS—II操作系统的数据采集控制系统

发布者:巳午未最新更新时间:2010-02-24 来源: 电子技术 关键字:数据采集  ARM  RS485  Modbus  μC/OS-II  文件系统 手机看文章 扫描二维码
随时随地手机看文章

0 引言

    随着计算机技术、电子技术和控制技术的发展,智能化、自动化、精确化的灌溉和施肥技术正逐渐取代传统的灌溉方式。在施肥过程中,需要在线检测肥料溶液的酸碱度和电导率以及灌溉压力、管道流量等,然后根据这些参数来控制电磁阀和水泵的运行达到自动灌溉施肥的目的。目前,常用的数据采集控制系统都是为某一实际应用而设计的,通用性和可扩展性差、数据存储能力不足,价格昂贵。因此基于周立功公司的ARM7核心板设计了一种通用的数据采集控制系统,并且已经应用到自动灌溉施肥系统中,能够满足稳定性,实时性以及大容量的数据存储的要求。该数据采集控制系统采用模块化设计,可以很方便的扩展和剪裁模块,同时只要对软件进行少量修改就可以方便的移植到其它应用系统中。

1 系统总体设计

    系统总体结构框图如图1所示。系统采用LPC2220工业级ARM7微控制器,内嵌μC/0S—II实时操作系统,支持10M以太网(工业级)、CF卡接口、USB主机控制器、板载电子硬盘FOB(Flash On Board)、A/D转换、低功耗RTC等功能。核心模块与各采集控制模块之间采用具有光电隔离的RS485通讯接口。基于RS485总线的数据采集控制模块,可实现对电压、电流、脉冲/频率、状态量等各种类型信号的采集和开关量控制,以满足设施环境内各种传感器数据的采集和执行机构的智能化控制。通过系统硬件扩展和软件开发,可完整地实现数据采集、存储、报警、设备控制、智能管理、报表统计等通用功能,满足各种设施环境的智能控制与管理。

2 硬件设计

2.1 MiniARM工控模块

    MiniARM工控模块主要由LPC2220(ARM7TDMI)微控制器、程序存储器、数据存储器、工业级以太网控制器CS8900A、USB Host控制器和NAND F1ash存储器组成。MiniARM工控模块接口图如图2所示。

    同时工控模块有256M的板载电子盘,一个标准的外置RTC实时时钟(PCF8563),2个UART控制器,一路高速I2C总线以及一路高速SPI总线等硬件资源。同时工控模块内嵌μC/OS—II实时操作系统,TCP/IP协议以及FAT32文件管理系统等。工控模块上的这些软硬件资源,可以很方便的实现远程网络访问,以及大容量的数据存储,满足我们的需要。

2.2.1 数据采集/控制模块设计

    数据采集/控制模块的设计如图3所示,具有4个输入或输出通道,通过单片机实现数据采集与控制,与核心模块之间通过RS485总线实现通讯,采用光电隔离技术和内嵌工业标准的Modbus协议,有效增强通讯稳定性,通讯距离可延伸至1200米,总线驱动能力可达128个模块。

    采集控制系统中共设计了三种模块,模拟量采集模块、状态量/频率采集模块以及继电器输出控制模块。每个模块均以C8051F330单片机为核心。该单片机具有内部A/D和一个串口以及定时器,管脚较少,价格低廉很适合做采集模块的控制器。在模块中,C805lF330单片机的串口通过跳线实现复用,通过NAX3221电平转换芯片可以实现与PC机的通信,或者通过MAX485E转换芯片实现RS一485总线通讯。

3 软件设计

3.1 核心模块软件设计

    μC/OS—II是个实时操作系统。它是一个完整、可移植、可固化及可剪裁的抢占式多任务内栊适合小型控制系统具有执行效率高、占用空间小等特点。μC/OS-II系统内核的核心是任务调度机制。μC/OS-II下每个任务可以有休眠、就绪、运行以及中断等状态。μC/OS-II提供的任务间的通信力式有很多,如信号量、消息邮箱、消息队列和事件标志组等。

    核心模块内嵌μC/OS—II实时操作系统,根据数据采集控制系统所需要完成的功能和需求,将系统划分为5个任务:数据采集控制任务,数据存储任务,远程网络访问任务,用户界面任务以及用户应用程序任务。为了保证系统的实时性,必须合理的设定任务的优先级。为了简化设计,对于运行任务较少的数控系统可以采用静态任务优先级分配。根据任务对响应时间的敏感程度及重要性,任务的优先级次序如下:

    用户应用程序>数据采集控制任务>用户界面任务>数据存储任务>远程网络访问任务,每个任务实现一种相对独立的功能,系统任务流程图如图4所示。

    数据采集控制任务主要完成数据的采集和对开关量的控制。核心模块作为主机,采集控制模块作为从机。主机通过论询的方式,每隔1秒向从机依次发送Modbus读寄存器命令帧。从机收到命令后,向主机返回采集到的数据。当程序控制逻辑或用户通过触摸屏需要开关量动作时,主机向从机发送写寄存器命令帧,相应的从机响应并打开或关闭电磁阀。

    数据存储任务主要完成对采集到的数据的存储。当数据采集控制任务完成一次数据采集任务之后,数据存储任务会在电子盘上建立txt文件,并将数据存储到文件中。当数据存储任务检测到有U盘插入时,会将电子盘上的txt文件转存到U盘,并删除电子盘上的原文件。

    远程网络访问任务主要实现用户通过网页浏览器实现对数据的查看和对开关的控制。远程网络访问任务一直监控有没有HTTP请求,当有HTTP请求时任务会将数据以HTTP协议发送给浏览器客户端。用户对控制模块的远程控制是通过提交表单的形式来实现的。

    用户界面任务主要完成用户与系统的交互。通过大屏幕彩色液晶实时显示采集到的数据,并且可以显示数据的实时曲线。用户以通过触摸屏可以对系统进行设置和控制。

    用户应用程序任务主要是根据实际系统的要求,提取和处理有用的数据完成一些逻辑控制功能。

3.2 数据采集/控制模块软件设计

    RS一485标准只是一个物理的通信接口标准,要实现总线监控还要在此基础上建立自己的高层通信协议。Modbus协议是美国可编程控制器供应商Modicon公司制定的一种工业通讯协议,现在已经被许多工控厂商所支持,广泛的应用到只能仪表,总线监控等领域。

    Modbus协议采用主从结构的通信方式,适用于半双工的RS一485总线。协议规定总线上有一个主机,多个从机,每个主机分配唯一的地址。工作时可采用命令/应答的通讯方式,主机向要从机发出命令帧,地址匹配的从机进行响应,并向主机发出与命令帧对应的应答帧。Modbus有两种通信模式:ASCII模式和RTU模式。在相同的情况下,RTU模式比ASCII模式能够传送更多的数据,因此在本系统中采用RTU模式。RTU消息帧典型格式如表l所示。

    在本采集控制系统中,核心模块作为主机,各个采集和控制模块作为从机响应主机发出的命令帧。当主机发送Ox03功能码时,从机会把模拟量的值或者状态量/频率量的值返回给主机。当主机发送0x16功能码时,会使控制模块开关量通断,并且控制模块会返回当前的状态。每个数据采集/控制模块有4路输入或输出通道。因此在每个采集/控制模块内部定义了4个寄存器,每个寄存器占两个字节。采集/控制模块按字节接收数据,每接收一个字节就进入一次串口中断。进入串口中断之后,对接收到的数据进行解析。解析数据的流程图如图5所示。首先判断地址是否与本机地址匹配,地址不匹配则放弃本次接受。地址匹配之后再保存功能码。当数据帧接收完之后,对接收到的数据进行CRC校验,并于接收到的CRC校验码进行比较。若CRC校验错误,则放弃本次数据。若CRC校验正确,主程序则根据保存的功能码,寄存器起始地址以及寄存器个数来响应主机。当功能码为Ox03时,采集模块根据接收到寄存器起始地址及寄存器个数将采集到的数据发送给主机。当功能码为Oxl6时,控制模块根据接收到的寄存器值打开或关闭继电器,并且将继电器状态返回给主机。

4 结束语

    该数据采集控制系统可以对模拟信号、状态量以及脉冲量进行采集和处理,并且能够根据采集的数据来控制继电器的开关。主机和模块之间通过RS一485总线以标准的Modbus协议传输数据。因此可以很容易的实现扩展和与其它厂商的检测仪表进行集成。该系统采用了实时操作系统,使系统优先级明确,提高了实时性,同时实现了大容量的数据存储和远程网络访问。因此本系统有很好的实用性,已经被我们应用到灌溉施肥控制系统中。

关键字:数据采集  ARM  RS485  Modbus  μC/OS-II  文件系统 引用地址:基于μC/OS—II操作系统的数据采集控制系统

上一篇:MiniGUI在基于OMAP5912开发板上的移植
下一篇:QNX 发布智能家用能源管理系统的参考设计

推荐阅读最新更新时间:2024-05-02 21:00

基于FPGA与ARM进行遥测数据网络转发的流程剖析
以太网接口通信速度快,传输可靠,使用和配置方便,对于20 Mb/s以下的码速率,100 Mb/s的网卡可以进行不丢包转发,采用TCP包格式还可使设备小型化,便于数据的转发,因此有必要扩展设备的以太网功能。 1 整体模块设计 1.1 系统设计 系统设计框图如图1所示。其中,采编器或接收机解调输出的PCM信号及时钟输入到FPGA中进行帧同步,IRIG—B码信息也送到FPGA中进行解调,得到时间信息。数据与时间一起存入SRAM乒乓缓冲区中,达到一定大小后,FPGA向ARM处理器发器中断,ARM中运行的Linux系统,将数据取走,进行TCP/IP打包,发送给接收计算机。 在设备开始工作前,需要在计算机端进行参数设置,计算机TCP/
[单片机]
基于FPGA与<font color='red'>ARM</font>进行遥测数据网络转发的流程剖析
ARM Linker的使用——应用程序运行环境的初始化
一般的可执行程序都包括代码段、数据段。也可以简单的看作由两部分组成:RO段和RW段。RO段一般包括代码段和一些常量,在运行的时候是只读的。而RW段包括一些全局变量和静态变量,在运行的时候是可以改变的(读写)。如果有部分全局变量被初始化为零,则RW段里还包括了ZI段。 RO: Read Only 代码段 RW: Read Write 已初始化的全局变量 ZI: Zero Init 未初始化的全局变量 因为RO段是只读的,在运行的时候不可以改变,所以,在运行的时候,RO段可以驻留在Flash里(当然也可以在SDRAM或者SRAM里了)。而RW段是可以读写的,所以,在运行的时候必须被装载到SDRAM或者SRAM里。
[单片机]
<font color='red'>ARM</font> Linker的使用——应用程序运行环境的初始化
选购RS232转RS485所需注意事项
RS-485总线由于其成本低廉,设计简单而得到了广泛的应用,大量用于安防监控,智能交通,智能楼宇,机房监控,工业自动化等各个领域。RS- 485总线敷设线路比较简单,但是有一些相应的事项必须注意,否则会容易导致通信失败,后期维护工作非常浩大。以下是485(RS232转RS485)布线规范所需要注意的地方: ◇串口是通过转换器获得的,质量和性能存在问题 有些电脑,特别是笔记本是没有串口的。需要购买USB转串口转换器、PCI多串口卡等设备扩展串口,购买的需要注意建议购买有品牌的设备,因为这些设备虽然功能差不多,但是性能差别会比较大,有些转换设备有较大的滞后延时可能影响正常通讯。 ◇是否是使用无源的转换器? 我们认为门禁
[嵌入式]
ARM-Linux开发步骤
拿到一块YC2440(s3c2440)的开发板,经过几天的学习,我对arm-linux系统开发步骤有了一些认识。就以开发这个开发板为例,arm-linux开发工作大概分4个部分 1.硬件(hardware) 2.引导加载器(bootloader) 3.内核(kernel) 4.文件系统(file system) 硬件 我并不是硬件工程师,但我知道硬件的设计基本上是从性能,结构,可靠性等方面的需求方面来考虑。比如串口调试很常用,那么硬件就需要设计串口。在比如硬件需要接LCD,就必须提供LCD接口。 bootloader bootloader是什么? bootloader是一个引导程序,它最主要的功能是加载内核,所谓加载内核就
[单片机]
Silicon Labs与ARM共同推动低功耗ARM mbed IoT设备平台
在EFM32 设备上运行mbed将加速节能型物联网应用的部署。 中国,慕尼黑上海电子展-2015年3月16日-物联网(IoT)领域中微控制器、传感器和无线连接解决方案的领先供应商Silicon Labs(芯科科技有限公司,NASDAQ:SLAB)今日宣布与ARM公司合作,共同定义和发布用于ARM mbed 平台的第一个电源管理应用编程接口(API)。为mbed添加电源管理API将为基于标准的解决方案带来更佳的能源效率,进一步优化超低功耗、电池供电型可连接设备。新的API将帮助mbed论坛中的十多万名注册会员能够去优化其具备mbed功能的、基于ARM Cortex -M架构的设计,从而得到最佳的能源效率和更长的电池使
[嵌入式]
RS232转RS485电路图
本图为R232转RS485的通讯电路转换图 点击查看放大的图纸 自制无源RS232-485转换器 一、RS-232、RS-422与RS-485的简单介绍    RS-232、RS-422与RS-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的。RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。其传送距离最大约为15米,最高速率为20kb/s,并且RS-232是为点对点(即只用一对收、发设备)通讯而设计的。所以,RS232只适合于本地通讯使用。   RS-422由RS-232发展而来,它是为弥补RS-232之
[模拟电子]
RS232转<font color='red'>RS485</font>电路图
基于ADS7846签名认证的数据采集和预处理
由于触摸屏输入方便、轻薄、便于携带等优点,越来越多的电子产品用触摸屏作为人机界面的输入设备。在动态签名认证中,亦采用触摸屏作为输入设备对笔迹进行数据采集。本文主要从触摸屏工作原理、ADS7846的工作方式以及单片机89S51对ADS7846的控制等方面,分析如何实现三维数据的采集。 系统主要由四线电阻式触摸屏、触摸屏控制器ADS7846、单片机89S51以及相应软件程序组成。系统框图如图1所示。 1 四线电阻式触摸屏 电阻触摸屏是采用电阻模拟量技术。它是一层玻璃作为基层,上面涂有一层透明氧化金属(ITO氧化铟)导电层,再盖有一层玻璃或是外表面硬化处理的光滑的塑料层;内表面也涂有一层ITO导电层。它们之间有许多细小的透明隔离点把
[单片机]
基于ADS7846签名认证的<font color='red'>数据采集</font>和预处理
便携式动态心电信号数据采集器的设计
     摘 要 便携式动态心电信号数据采集器是现代动态心电图分析系统的重要组成设备。介绍以单片机为核心的智能心电数据采集系统的原理,详细论述了硬件设计的要点及数据预处理软件的有关算法。     关键词: 单片机 心电信号 数据采集      心电图是心脏疾病诊断的重要工具之一,然而在临床中一些心脏病患者在短时间内其心电图并无异常。这样就要花相当长的时间在医院中作观察诊断,从而给病人和医院都造成了不必要的麻烦。为此,动态心电图分析处理系统便应运而生,该系统可以分为两大部分,一是携带在被检查者身上的袖珍心电图信号采集器,另一为由微机系统组成的心电图处理诊断系统。被检查者配带了心电图数据
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved