0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于LPC2220微控制器和嵌入式系统实现数据采集控制系统的设计

电子设计 来源:单片机与嵌入式系统应用 作者:姜天华,谭功全 2021-03-19 14:26 次阅读

引言

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

1 系统总体设计

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

基于LPC2220微控制器和嵌入式系统实现数据采集控制系统的设计

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消息帧典型格式如表1所示。

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

4 结束语

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

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7482

    浏览量

    151014
  • 控制器
    +关注

    关注

    112

    文章

    16185

    浏览量

    177336
  • 嵌入式
    +关注

    关注

    5068

    文章

    19008

    浏览量

    302989
收藏 人收藏

    评论

    相关推荐

    推荐:AT91RM9200嵌入式核心控制器模块

    功能,可广泛应用于数据采集控制系统、现场检测与监控系统、生产过程控制系统等场合。 方案总结: — 气象信息数据采集方案
    发表于 05-07 14:37

    基于嵌入式微控制器LPC2214的远程图像监控系统

    基于嵌入式微控制器LPC2214的远程图像监控系统摘要:针对传统图像监控系统所存在的缺陷,综合应用嵌入式
    发表于 12-01 10:23

    基于ARM9微控制器怎么实现上层控制算法?

    在很多嵌入式控制系统中,系统既要完成大量的信息采集和复杂的算法,又要实现精确的控制功能。采用运行
    发表于 08-19 06:29

    基于微控制器的现代嵌入式系统

    通常是基于微控制器(如含集成内存和/或外设接口的中央处理单元)的,但在较复杂的系统中普通微处理器使用外部存储芯片和外设接口电路。与个人计算机这样的通用计算机系统不同,嵌入式
    发表于 07-30 07:49

    时间触发嵌入式系统设计模式(使用8051微控制器开发可靠应用

    时间触发嵌入式系统设计模式:使用8051微控制器开发可靠应用主要关注使用软件模式迅速地开发时间触发嵌入式系统的软件,涉及的
    发表于 10-28 23:20 688次下载
    时间触发<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>设计模式(使用8051<b class='flag-5'>微控制器</b>开发可靠应用

    基于LPC2114的农用种子包衣机嵌入式控制系统设计

    基于LPC2114的农用种子包衣机嵌入式控制系统设计
    发表于 03-28 09:50 23次下载

    基于uCLinux的嵌入式实时远程数据采集系统

    提出一种基于嵌入式操作系统的可远程监测的新型数据采集系统的设计方案. 本系统嵌入式处理
    发表于 04-24 10:45 22次下载

    基于M CORE微控制器嵌入式系统

    基于M CORE微控制器嵌入式系统从应用的角度出发,全面介绍了构成嵌人系统微控制器的结构和
    发表于 10-09 16:35 36次下载
    基于M CORE<b class='flag-5'>微控制器</b>的<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>

    基于ARM和GPS的数据采集模块的设计

    本文主要介绍了基于ARM 和GPS 的数据采集记录仪中的数据采集模块的设计与实现。该数据采集记录仪以32 位ARM7 微处理
    发表于 01-06 15:45 43次下载

    基于CPLD和嵌入式系统的高速数据采集系统的设计与实现

    基于CPLD和嵌入式系统的高速数据采集系统的设计与实现 介绍一种基于CPLD和嵌入式
    发表于 10-15 23:46 722次阅读
    基于CPLD和<b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>的高速<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的设计与<b class='flag-5'>实现</b>

    基于LabVIEW和ARM嵌入式数据采集与远程传输控制系统

    基于LabVIEW和ARM嵌入式数据采集与远程传输控制系统  基于嵌入式网络的远程数据采集系统
    发表于 03-10 11:33 4570次阅读
    基于LabVIEW和ARM<b class='flag-5'>嵌入式</b><b class='flag-5'>数据采集</b>与远程传输<b class='flag-5'>控制系统</b>

    基于LPC2220的POS机开发实例

    广州致远电子公司推出的高性价比的M22A 系列MiniARM 工控板以32 位飞利浦ARM芯片LPC2220 作为核心主控芯片,将ARM 最小系统、以太网控制器、USB 控制器、低功
    发表于 06-02 17:51 285次下载
    基于<b class='flag-5'>LPC2220</b>的POS机开发实例

    LPC2220数据手册

    LPC2220数据手册,感兴趣的小伙伴们可以瞧一瞧。
    发表于 11-08 18:13 27次下载

    基于ARM7 LPC2210的触摸屏触摸点数据采集系统设计

    本文提出了基于ARM7系列 LPC2210 微控制器嵌入式操作系统 μC / OS—II 来实现 触摸屏 触摸点
    发表于 04-01 11:01 2282次阅读
    基于ARM7 <b class='flag-5'>LPC</b>2210的触摸屏触摸点<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>设计

    采用arm7系列处理数据采集控制系统的设计方案介绍

    MiniARM工控模块主要由LPC2220(ARM7TDMI)微控制器、程序存储数据存储、工业级以太网
    的头像 发表于 11-01 09:40 2605次阅读
    采用arm7系列处理<b class='flag-5'>器</b>的<b class='flag-5'>数据采集</b><b class='flag-5'>控制系统</b>的设计方案介绍