历史上的今天
返回首页

历史上的今天

今天是:2026年03月21日(星期六)

正在发生

2023年03月21日 | 采用arm7系列处理器的数据采集控制系统的设计方案介绍

2023-03-21 来源:elecfans

引言

在一些工业现场中,设备长时间运行容易出现故障,为了监控这些设备,通常利用数据采集装置采集他们运行时的数据并送给PC机, 通过运行在PC机上的特定软件对这些数据进行分析,以此判断当前运行设备的状况,进而采取相应措施。当前常用的数据采集装置,在其系统软件设计中,多采用 单任务顺序机制。这样就存在系统安全性差的问题。这对于稳定性、实时性要求很高的数据采集装置来说是不允许的,因此有必要引入嵌入式操作系统。本文以 μC/OSII为操作系统平台,基于arm7系列处理器设计了一种通用的高性能数据采集控制系统。


1 系统总体设计

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

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

2 硬件设计

2.1 MiniARM工控模块

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

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

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


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

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

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

3 软件设计

3.1 核心模块软件设计

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


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


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

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

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


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


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


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


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

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


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

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

在本采集控制系统中,核心模块作为主机,各个采集和控制模块作为从机响应主机发出的命令帧。当主机发送Ox03功能码时,从机会把模拟量的值或者状态量/频率量的值返回给主机。当主机发送0x16功能码时,会使控制模块开关量通断,并且控制模块会返回当前的状态。每个数据采集/控制模块有4路输入或输出通道。因此在每个采集/控制模块内部定义了4个寄存器,每个寄存器占两个字节。采集/控制模块按字节接收数据,每接收一个字节就进入一次串口中断。进入串口中断之后,对接收到的数据进行解析。解析数据的流程图如图5所示。

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

4 结束语

该系统采用了实时操作系统,使系统优先级明确,提高了实时性,同时实现了大容量的数据存储和远程网络访问。


推荐阅读

史海拾趣

Euvis Inc公司的发展小趣事

随着公司实力的不断增强和市场需求的日益全球化,Euvis Inc公司开始实施国际化战略,积极拓展海外市场。公司在全球范围内设立研发中心和生产基地,与当地企业建立合作关系,共同开发适合当地市场的产品。通过国际化战略的实施,Euvis Inc公司成功实现了全球布局,为全球消费者提供了优质的产品和服务。

请注意,以上故事均为虚构内容,旨在为你提供一个关于电子行业公司发展起来的相关故事框架。如有需要,你可以根据这些框架进行进一步的创作和发挥。

艾迪沃德公司的发展小趣事
查看保险丝是否熔断,如熔断需更换同规格保险丝。
CDI-DIODE公司的发展小趣事

随着市场竞争的加剧,CDI-DIODE公司意识到传统的营销方式已经无法满足市场需求。于是,公司开始尝试新的营销策略,如线上推广、社交媒体营销等。这些创新的营销方式不仅提升了公司的知名度,也增强了与客户的互动和联系,进一步提升了品牌影响力。

台湾义隆电子(ELAN)公司的发展小趣事

台湾义隆电子自1994年成立以来,一直秉持着技术创新的发展理念。公司早期专注于集成电路(IC)产品的研发与行销,随着市场需求的不断变化,产品线逐渐扩展到消费性芯片、通讯类芯片、微控制器等多个领域。义隆电子通过不断的技术创新,成功推出了多款具有市场竞争力的产品,如高性能的触摸屏控制器、触摸板模块等,实现了产品的多元化。

Fibrefab Limited公司的发展小趣事

Fibrefab Limited公司自创立之初,就致力于光纤通讯技术的研发。面对当时市场上光纤连接产品技术瓶颈,Fibrefab投入大量资源,成功研发出具有更高稳定性和更低损耗的光纤连接器。这一创新不仅解决了行业痛点,也帮助Fibrefab迅速在市场上树立起技术领先者的形象。随着技术的不断迭代升级,Fibrefab逐渐在光纤通讯领域确立了其市场领导地位。

Atlanta Micro公司的发展小趣事

作为一家技术驱动的公司,Atlanta Micro始终重视研发实力的提升。公司不断加大研发投入,引进了一批高素质的研发人才,并建立了完善的研发体系。这些举措使得公司的研发能力得到了显著提升,不断推出具有市场竞争力的新产品,为公司的发展提供了源源不断的动力。

问答坊 | AI 解惑

低成本ZigBee协议栈

天津三纬电气有限公司最新推出      (配套C51RF-3- CC2430/CC2431  BK提供):        ZIGBEE/802.15.4 (精简版)协议栈         &n ...…

查看全部问答>

关于组织2009年全国大学生电子设计竞赛的通知

本帖最后由 paulhyde 于 2014-9-15 09:35 编辑 简介:全国大学生电子设计竞赛(2009-2012)组委会受教育部高等教育司、工业和信息化部人事教育司委托,在认真总结往届电子设计竞赛经验的基础上,组织2009年全国大学生电子设计竞赛(含本科、高职高 ...…

查看全部问答>

想问问各位做ARM嵌入式的工资高不高?

来自EEWORLD合作群:arm linux fpga 嵌入0(49900581) 群主:wangkj …

查看全部问答>

求助:ce6.0下加第三方驱动不能成功?

想在6.0下使用penmount触摸屏控制器,驱动已经编译到NK中,可CE运行后就是没有加载pmser.dll文件? 注册表都设置没有问题,如下所示: [HKEY_LOCAL_MACHINE\\Drivers\\BuiltIn\\PMSer]    \"Dll\"=\"pmser.dll\"    &nbs ...…

查看全部问答>

问一个关于注册表的低级问题

在platform.reg里面,有好多如: ; @CESYSGEN IF !CE_MODULES_FW6 \"EnablePacketFiltering\"=dword:1 ; @CESYSGEN ENDIF 这样的语法。请问: 分号+@是表示注释还是别的什么意思?…

查看全部问答>

请教:wince 4.2添加.cec后失败

    原来俺一直搞pc软件,现在开始接触wince 4.2了。碰到点问题,想请教下子大家,请多多帮忙呀。     俺想试验试验拷贝文件到wince文件系统里面(作为feature自动打包进去,而不是通过远程 文件传输或其他安装后的方式), ...…

查看全部问答>

LM Flash programmer安装后不能用

TI的编程器软件下载安装好后,点击图标运行,出现“0xxxxxxxxxxx”指令引用“0x0xxxxxxxxx”内存,该内存不能为read.   出现这种情况,可以打开注册表编辑器,定位到 HKLM\\Luminary Micro\\LMIFlash\\QuickSet,将该键键值修改为0。…

查看全部问答>

问一下我这个外部中断定时50ms测频率怎么没显示啊?呜呜。。

#include #include sbit RS=P2^0;    //寄存器选择位,将RS位定义为P2.0引脚 sbit RW=P2^1;    //读写选择位,将RW位定义为P2.1引脚 sbit E=P2^2;     //使能信号位,将E位定义为P2.2引脚 sbit BF= ...…

查看全部问答>

F2803x入门之三:实例应用

F2803x入门之三:实例应用      本例是在《F2803x入门之二:工程建立》的基础上进行修改的。通过修改代码、添加中断、GPIO初始化、部分模块初始化等使初学者可以建立自己的工程,并使之正常“跑”起来! 一、一、代码修改: ...…

查看全部问答>

新人紧急求助…………如何用STC系列产生频率可调的方波?????????

单片机型号是 STC 12C5A60S2 ,请问如何编程输出 4KHz——5KHz 幅度1V 频率可变的方波? 4X4按键要求按下某一按键之后频率+1或-1,+10或-10,通过1602液晶实时显示当前频率。 本人是全新手,还望各路大侠倾情解救……希望有完整源码与注释。感激 ...…

查看全部问答>