历史上的今天
返回首页

历史上的今天

今天是:2025年06月17日(星期二)

正在发生

2021年06月17日 | STM32F107VC的嵌入式远程监控终端设计

2021-06-17 来源:21ic

摘要:针对处于偏远地区或恶劣环境中的无人值守设备的运行状态的监控问题,本文应用嵌入式技术以及工业以太网技术设计了一种数据采集与监控系统的远程监控终端。围绕核心处理器STM32F107VC构建了终端的硬件系统,介绍了网络接口设计、输入/输出接口设计和本地存储电路设计。监控终端软件基于ARM公司的RL-ARM中间件,实现了多任务并行的网络实时通信、基于WebServer的远程配置服务和临时存储现场数据的文件系统。应用结果表明,系统可靠性高、实时性强,有效降低了远程监控系统成本。


引言

数据采集与监控系统是以计算机为基础的分布式控制系统与电力自动化监控系统,广泛应用于电力、冶金、石油、化工等诸多领域。数据采集与监控系统依靠其数量庞大的远程终端单元收集各终端站点信息和执行控制策略。远程终端单元的性能、成本、可靠性对整个系统而言举足轻重。数据采集与监控系统如图1所示。

STM32F107VC的嵌入式远程监控终端设计

对于终端站点现场环境恶劣或站点广泛分散的系统,要求站点长期无人值守,如电信公司的电话光纤网络交接设备、高速公路机电设备等。如何保证终端站点的信息高效、可靠地上传,并能对中心系统的命令及时响应,成为目前广泛研究的热点问题。参考文献提出了一种基于GPRS无线传输的无人值守低功耗远程终端的设计方案;参考文献设计了基于MODBUS协议的RS485通信方式的远程终端;参考文献设计了基于CAN总线的智能监控终端。但是基于以太网通信的无人值守远程监控终端的设计方案还较少。本文基于以太网通信方式,以STM32F107VC网络处理器为核心单元,实现了一种低成本、高效、稳定的远程终端单元。


1 远程监控终端硬件设计

对于电信公司EPON无人值守设备、高速公路无人值守机电设备等所处的远程站点,通常布设有可以利用的可靠光纤网络,基于网络通信并充分利用网络服务是监控终端设计时优先考虑的重点。作为现场环境的监控设备,远程监控终端应具备下述功能:稳定的工业网络标准接口;与现场信息采集设备和执行机构的输入/输出接口;本地大容量备份信息存储。


1.1 系统设计

系统结构如图2所示,采用STM32F107VC网络处理器作为系统核心单元,此芯片具备72 MHz运行频率和90DMIPS的处理性能,集成了以太网、CAN总线、RS485、RS232、USBOTG等各种高性能工业标准接口,其标准外设包括10个定时器、16路12位1 Msps采样速率的A/D模/数转换器、2路12位D/A数模转换器等,可以应用于多种工业场合。在核心处理器的基础上,充分利用其集成的外设单元,设计相应的外围接口电路,实现了需求功能,保证远程监控终端的稳定性,降低了系统成本。

STM32F107VC的嵌入式远程监控终端设计

1.2 网络通信接口设计

STM32F107VC核心处理器内部集成支持工业以太网标准IEEE1588的Ethernet MAC Interface,需要外部扩展PHY连接物理层网络。选用美国国家半导体公司的DP83848C芯片作为物理层接口芯片,该芯片是10/100Mb/s单路低功耗物理层接口器件,与核心处理器通过Media-Inde pendentInterface(MII)相接。以太网通信接口电路如图3所示。

STM32F107VC的嵌入式远程监控终端设计

1.3 输入/输出接口设计

输入/输出接口包括AI(Analog Input)接口、DI(Digital Input)接口和DO(Digital Output)接口。AI接口连接传感器获取现场连续变化的信号,如温度、湿度、烟雾等;DI接口连接传感器采集现场的开关量信息,如设备震动、开关门动作、水浸超标和系统断电等;DO接口输出数字信号控制执行机构动作,如继电器等设备。


STM32F107VC内部集成ADC,输入通道的幅值范围为0~3.3 V,传感器输出的模拟量数据需要经过滤波、放大的处理过程输入至ADC接口通道。ADC的精度很大程度上依赖于基准电源的精度,系统采用高精度参考电压源AD780为STM32F107VC提供基准电压。AD780是一款超高精度带隙基准电压源,可以通过4~36 V的输入电源提供2.5~3.0V输出基准电压。它具有低初始误差、低温度漂移和低输出噪声,非常适合用于增强高分辨率ADC的功能。系统的AI接口电路如图4所示。

STM32F107VC的嵌入式远程监控终端设计

STM32F107VC的GPIO引脚都可以由软件配置为输入/输出模式,并且输入可承受5 V TTL电平。系统采用PC817光电耦合器实现GPIO引脚与外围电路的电气隔离,提升终端的电绝缘和抗干扰能力。DO接口使用大电流三极管驱动继电器输出开关信号。


1.4 本地存储电路设计

远程监控终端系统的数据存储分为两部分:系统参数ROM,保证系统掉电后数据不丢失,选取8 KB存储容量的24LC64芯片,使用I2C总线接口对其进行读写操作。


选取SD卡作力现场数据的临时存储器。SD卡具有数据传输率快,移动灵活性好且具有较高的安全性等性能,当网络出现异常时暂时存储现场信息,以便网络恢复正常或现场检修时将数据信息取出。使用STM32F107VC处理器的SPI总线实现与SD卡的存储接口。


2 远程监控终端软件设计

远程监控终端的性能和效率由系统软件直接决定。远程监控终端将现场传感器采集的数据进行分类整理过滤,形成有效信息通过网络实时地上报给监控中心的通信服务器。接收通信服务器的指令控制执行机构的动作,根据现场数据进行预判,当数据达到报警条件时,立即将报警信息报送监控中心处理。由于远程监控终端位于数据采集与监视控制系统的最远端,经常处于环境恶劣、地理位置偏僻的站点,还应具备远程配置的功能。


系统软件应用ARM公司的RL-ARM中间件,实现了多任务实时处理、网络通信应用层程序及大容量文件系统。前文已述的物理层接口芯片(PHY)DP83848和STM32F107VC内部集成的网络控制器(MAC)分别实现了网络传输模型的物理层和数据链路层,通过RL-ARM中间件提供的TCP/IP协议栈实现了传输层的TCP、UDP通信以及HTTP服务。通过RL-RTX实时多任务操作系统实现系统任务的实时运行与任务间通信。系统软件结构如图5所示。

STM32F107VC的嵌入式远程监控终端设计

2.1 网络实时通信模块设计

为了保证数据与命令传输的可靠性和实时性,将网络实时通信程序分为三个子任务:数据实时采集与处理任务、信息智能上传任务、命令执行任务。


数据实时采集与处理任务扫描GPIO端口读取开关信号,完成状态监测任务;通过处理器内部集成的A/D转换控制器采集现场模拟信号,经过软件滤波、量化等处理之后,得到现场环境的数据;通知信息上传任务提取现场环境信息。


系统通信命令分为两类:一类命令为控制命令,用于控制智能终端控制执行机构动作,采用面向连接的TCP传输协议;另一类命令为查询命令,用于监控中心软件查询智能终端系统的配置信息,采用简单、轻量级的UDP传输协议。命令执行任务开启网络监听后,当收到TCP连接迹打开接收命令网络端口(系统设计使用9003端口),与监控中心服务器建立TCP连接,收到控制命令后,控制执行机构动作,如打开或关闭继电器;当收到UDP包时,打开端口,接收查询命令,根据命令读取配置信息,使用UDP传输协议发送给监控中心通信服务器。


网络实时通信模块依托RL-ARM中间件系统提供的Sockets底层库,基于传输层协议TCP和UDP,实现自定义网络数据帧通信协议的发送和接收。


2.2 远程配置服务模块设计

基于RL-ARM中间件系统提供的网络应用层HTTP服务,实现了通过网络对智能终端远程配置的功能。管理员使用任一台网络内部的计算机,通过网络浏览器即可访问智能终端系统的远程配置界面,经过密码认证后,就可以对智能终端的参数进行远程配置、查看系统状态、对远端站点进行手工控制等。


用HTML(Hyper Text Mark-up Language)和JavaScript语言设计了远程配置服务界面,包括主界面、控制参数配置界面、网络参数配置界面、通信参数配置界面、数字通道状态监控界面、模拟通道状态界面、用户登录管理界面、手动控制状态界面和数据文件上传界面。主界面如图6所示。

STM32F107VC的嵌入式远程监控终端设计

控制参数配置界面用于修改和查询系统预存储的现场环境临界参数;网络参数配置界面用于修改和查询智能终端系统的网络配置参数,如本机IP地址、子网掩码、网关IP地址等;通信参数配置界面用于修改和查询通信主机IP地址、各通信任务的端口地址等参数;数字通道状态监控界面用于对系统开关量输入通道的状态进行监测;模拟通道状态界面用于对系统模拟量输入通道的状态进行监测;用户登录管理界面用于设置和查询系统管理员ID和密码;手动控制状态界面用于对系统的执行机构进行手动操作和测试;数据文件上传界面可以将系统本地存储的临时数据文件上传至管理员计算机。


2.3 本地数据存储模块设计

数据存储软件设计分为24LC64(EEPROM)驱动程序设计和文件系统的实现。在ST公司发布的I2C总线驱动程序基础上,设计了24LC64驱动程序,包括单字节读/写函数,按页读/写函数和随机读/写函数。


本地数据存储程序的另一个重要任务是实现基于SD卡的文件系统,目的是将网络异常时的数据以文件格式保存,供网络恢复时或操作员现场读取。利用RL-ARM中间件系统提供的文件系统模块,建立SD卡文件系统,可以兼容FAT32格式文件,支持TFTP服务对文件的存取。由于系统硬件使用SPI总线连接SD卡,软件采取数据流方式对SD卡进行读写操作,文件系统依赖DMA(Direct Memory Access),所以在初始化程序中应加入DMA的参数设置。


结语

本文所设计的远程监控终端具有以下特点:

①以STM32网络处理器为核心,充分利用其集成的外设单元,实现了低成本的工业网络远程监控终端,能够对无人值守机电设备现场运行情况进行有效监测。

②基于RL-ARM的实时多任务操作系统,分别实现现场信息同步上传、智能报警信息上传、通信命令执行子任务的独立运行,保证了智能终端与远程主机网络通信的实时性和可靠性。

③设计了基于HTTP的WebServer远程配置服务和基于TFTP的网络文件传送服务,实现对智能终端的远程配置和管理。

④在SD卡上实现了智能终端的本地文件系统,为网络异常情况时的数据存储提供了保证。

推荐阅读

史海拾趣

CLAIREX公司的发展小趣事

为了进一步扩大市场份额,Clairex开始积极寻求与各大企业的合作。他们与多家知名航空公司、电子设备制造商等建立了长期稳定的合作关系,为其提供高质量的电子部件和解决方案。同时,Clairex还积极参加各类行业展会和交流活动,与业界同行分享经验、探讨合作。这些举措不仅提升了Clairex的品牌知名度,也为其带来了更多的商业机会。

General Dynamics SATCOM Technologies公司的发展小趣事

Clairex Technologies成立于1993年,当时的市场上,航空电子部件的供应存在着严重的质量问题。老David Catter和一位商业伙伴发现了这一商机,他们提议改进并供应财富500强公司通用航空航空电子部门所需的零件。然而,创业的道路并非一帆风顺。他们面临着资金短缺、技术难题以及市场竞争激烈等多重挑战。但凭借对技术的深入理解和不懈的努力,Clairex团队成功设计出了一款性能卓越的光电导体,并在得克萨斯州普莱诺开始了生产。这一创新产品很快便赢得了市场的认可,为Clairex的发展奠定了坚实的基础。

汇顶科技(GOODiX)公司的发展小趣事

Clairex Technologies成立于1993年,当时的市场上,航空电子部件的供应存在着严重的质量问题。老David Catter和一位商业伙伴发现了这一商机,他们提议改进并供应财富500强公司通用航空航空电子部门所需的零件。然而,创业的道路并非一帆风顺。他们面临着资金短缺、技术难题以及市场竞争激烈等多重挑战。但凭借对技术的深入理解和不懈的努力,Clairex团队成功设计出了一款性能卓越的光电导体,并在得克萨斯州普莱诺开始了生产。这一创新产品很快便赢得了市场的认可,为Clairex的发展奠定了坚实的基础。

Advanced Milliwave Laboratories Inc公司的发展小趣事

随着全球电子市场的不断发展和竞争的加剧,AML开始实施全球化战略布局。公司在全球范围内设立了多个分支机构和销售网络,进一步拓展市场。同时,AML还加强了与国际同行的交流与合作,共同推动微波技术的发展和应用。展望未来,AML将继续致力于技术创新和市场拓展,努力成为全球微波技术领域的领导者。

这五个故事展示了Advanced Milliwave Laboratories Inc公司在电子行业中的发展历程和成就,凸显了其在技术创新、市场拓展、质量管理以及全球化战略等方面的努力和成果。

EPSON公司的发展小趣事

随着业务的不断发展,EPSON开始积极拓展国际市场。公司先后在全球五大洲设立了多个生产和研发机构,以及销售和服务网点,以便更好地服务全球客户。通过不断拓展海外市场,EPSON逐渐实现了全球化战略,其产品和服务已经覆盖全球多个国家和地区。

捷茂微(GATEMODE)公司的发展小趣事

近年来,EPSON积极响应数字化时代的趋势,不断进行技术革新和数字化转型。公司加大了对人工智能、物联网等前沿技术的研发投入,推出了一系列智能化、数字化的电子产品和解决方案。这些创新产品不仅满足了客户日益多样化的需求,还进一步巩固了EPSON在电子行业的领先地位。同时,EPSON还积极推动数字化转型在内部管理、供应链等方面的应用,以提高企业的运营效率和市场竞争力。

问答坊 | AI 解惑

MIMO RF前端模块:开拓新的市场领域

对现有的无线局域网 (WLAN) 设备和芯片组制造商而言,最近获批准的802.11n 标准草案可谓一个新市场的催生力量。当这一标准完全制订时,这些企业的大量无线互联网存取产品将能达到更好的性能,并开创一个全新的音频和视频发送 (distribution) 市场。 ...…

查看全部问答>

51单片机鲜为人知的秘密...

51管脚的内部详细结构(几乎所有教材上都看不到的),也许你遇到的一些莫名其妙的问题也和它有关呵…

查看全部问答>

基于Web的嵌入式设备管理

随着互联网络硬件、软件的迅猛发展,嵌入式系统被广泛应用到工作和生活的各个领域中,如何对这些设备进行治理成为嵌入式系统软件开发中的一个重要方面。用户只有通过设备所提供的治理接口对共进行配置、治理和监控,因些治理接易用程度和效率成为衡 ...…

查看全部问答>

钳型电流互感器

SP系列钳型电流互感器属于精密电流互感器范畴,是一种高精度交流电流变换器。它可配合多种测量仪器,如:电能表现场校验仪、多功能电能表、记录仪、电力分析仪、示波器、数字万用表、电缆识别仪、电缆故障检测仪、双钳式接地电阻测试仪、双钳式相 ...…

查看全部问答>

急,wince5.0 pravite的无法编译

请问下大家有人修改过wince5.0 private目录的下的文件吗? 我的MULTI-Bin出了问题希望追踪下,但是发现在Private目录没办法被编译,在目录下也没有Dir文件。 eeworld无法贴图,先把LOG放上来。 --------------------Configuration: S3C2440: ARM ...…

查看全部问答>

关于EVC启动问题,急!!!

我装了evc,可是在建立工程时,到了 loading class information时, evc就没响应了,在任务管理器里,可以看到evc的内存在哪儿循环变换,请问为什么? 怎么解决?…

查看全部问答>

瑞萨M16C下的基于uC/OS-II平台的多线程TCP/IP设计

元旦放假了。终于可以放松几天,好好玩一下了。 这个帖子先前就做了申明,只不过最近一直没时间写,现在终于有空闲了。 前言: TCP/IP这个协议我想大家已经很熟悉了。比较有名的有BSD版本的标准协议,windows和linux下的都是基于BSD模型的,也就 ...…

查看全部问答>

维修支招:车用传感器的保养与维修

车用传感器现在应用得很广泛。它是汽车计算机系统的输入装置,能将汽车运行中各种工况信息转化成电讯号输给计算机,以便发动机处于最佳工作状态。车用传感器很多,判断传感器出现的故障时,不应只考虑传感器本身,而应考虑出现故障的整个电路。因此 ...…

查看全部问答>

帮忙解释一下程序,谢谢!!!主要是if()内的。跪求

void UART0_Init (void)                   //  串口初始化 {            SCON0 = 0x10;           ...…

查看全部问答>