嵌入式监测系统

2024-07-07

嵌入式监测系统(精选10篇)

嵌入式监测系统 第1篇

二战结束以来, 为了繁荣国民经济, 各国无一例外地要发展国际贸易, 而国际贸易90%以上需要越洋[1] (P1) 。集装箱运输是二战后世界运输业兴起的一场技术革命。经过半个多世纪的发展, 集装箱运输在世界各国越来越得到普及, 成为世界贸易中一种十分重要的运输方式。港口是集装箱运输的接点, 港口的重要性随着集装箱的周转数量的持续增加而日益显现[2] (P254) 。这也带动了港口机械制造业的加速发展。各种高效率的起重机机上设备逐步被开发和应用, 这在很大程度上提高了码头的生产效率。这些产品包括全自动的轨道式起重机 (RMG) 、安装了GPS (Global Positioning System) 和PDS (Position Detective System) 定位系统的轮胎式起重机 (RTG) 等。

RTG (轮胎式起重机, 即轮胎吊) 虽然有转场灵活的优点, 却一直存在着位置不易监控的问题, 从而在实际操作中, 带来以下的弊端:管理人员不易实时掌握RTG的位置分布动态;码头采用的生产管理软件也无法得知当前集装箱的堆放位置, 因而不利于实现箱位自动管理;司机在实际作业中把集装箱放错位置也无法及时识别和纠正。如何监控RTG的大车位置, 已经成为箱位管理自动化中的重要课题。

嵌入式硬件及嵌入式操作系统的可靠性设计很大程度上决定了嵌入式起重机管理系统是高可靠的系统, 系统的平均无故障运行时间可以达到或接近嵌入式硬件本身的指标, 即50000小时。嵌入式的操作系统, 被病毒感染的几率很小, 大大降低了信息化生产管理系统因遭受病毒侵害而发生系统崩溃的可能性。

EPDS是一个结合了嵌入式技术的PDS系统, 很好地解决了RTG的定位以及起重机上信息设备的故障率高和效率低的问题, 为码头的高效率生产提供有力的技术支持。

二、嵌入式位置监测系统的结构设计

(一) EPDS的应用环境

1. 码头轮胎式起重机 (RTG) 设备位置监测系统

典型的码头轮胎式起重机 (RTG) 设备监控系统如图1所示。整个嵌入式起重机监控系统包括两大部分:GPS系统和PDS终端。GPS系统用于坐标定位;PDS用于坐标信息和堆场位置的转换以及同码头生产系统和PLC对接。

在起重机设备上, PDS终端同起重机控制器通过外部接口同PLC和GPS实现数据交互。而机上局域网又通过无线和光缆等介质连通码头局域网。而PDS服务器则是安放在码头办公室的应用服务器, PDS工作站 (相当于一个客户端) 通过PDS服务器可以监视码头所有的RTG设备。

由于控制站同监控站之间均采用以太网连接, 因此整个系统具有优良的扩展性。比如可以增加备用PDS服务器, 当主PDS服务器出现故障时, 备用PDS服务器可以主动切换成主PDS服务器, 使PDS监控网络能保持正常工作。

轮胎式起重机监控系统是码头信息化生产管理的一种行业应用实例。

2. 其主要实现的功能包括

(1) 实现起重机信息的采集。通过读取PLC数据获得起重机的各种信息。

(2) RTG位置跟踪:PDS终端会根据从GPS采集的到坐标数据, 并根据已定义的地图文件, 计算出起重机的箱位。

(3) 同码头生产系统的对接:PDS终端会及时将起重机位置信息反馈给PDS服务器和码头生产系统终端。

(4) 生产过程监视。在生产过程中, 码头生产系统会发送装箱、卸箱、倒箱和取消命令给PDS终端。

(5) 其他衍生功能。因不同码头对各自系统有不同要求, PDS会根据各用户的需求实现防撞、吊具封锁等功能。

(二) 开发环境

1. 操作系统

Windows CE是由微软公司基于WIN32 API自行开发的嵌入式操作系统, 其操作界面类似于Windows 95/98系统。Windows CE是一个32位、线程、多任务的操作系统, 与Windows 95/NT2000的API相比, Windows CE中的API是一个缩减的WIN32 API, 是桌面Windows系统API的一个子集[3]。Windows CE具有模块化、结构化和基于Win32应用程序接口等特点。

2. 开发工具

EPDS是使用Visual Studio作为开发平台, C#作为开发语言, 基于.Net Framework的系统。

C#是可用于创建要运行在.Net CLR上的应用程序的语言之一, 它从C和C++语言演化而来, 是Microsoft专门为使用.Net平台而设计的原生语言, 也是在移植到其他操作系统上的.Net版本中使用的主要语言, 它能使用.Net Framework代码库提供的每种功能。也就是说无论是什么操作系统, 只要.Net Framework兼容, C#开发的程序就可以在该系统上运行。从微软.NET的发展中可以看出, 其战略目的就是像JAVA一样的跨平台开发。

在VS.NET 2003中一个最大的新特性就是集成了.Net Compact Framework 1.0, 我们可以通过浏览ProgramFilesMicrosoftVisualStudio.NET2003Compact Framework SDK目录里的文件确认是否安装了.NET Compact Framework[4] (P450) 。.NET Compact Framework的中文名称就是.NET Framework精简版。简单来说, 如果Windows CE操作系统是嵌入式或移动电子设备上的Windows, 那么.NET Compact Framework就是这些设备上的.NET Framework。

(三) 系统结构

1. 系统结构介绍

系统结构如图2所示。由于EPDS无需用户操作, 不需要提供强大的人机交互界面, 所以采用控制台作为系统运行方式。

EPDSCommon Lib是一个公共方法的类库, 提供了程序中经常调用的公共方法, EPDS的EVENT (事件) 和PLC驱动的基类, 并提供RTDB (Real Time Database) 实时数据库, 方便数据的存储和查询。

程序运行时, 通过主程序EPDSRun Console, 根据XML配置文件, 启动EPDSData Server和EPDSEvent Server两个服务, 动态加载DLL, 生成各实例并启动相关线程。其中主要包括PLC驱动线程、获取GPS数据的GPSRead线程、码头作业系统 (VMT) 通讯、提供位置信息的Location Report线程, 以及维护RTG位置及状态的Location Update线程。

2. 动态加载DLL

EPDS的各个PLC驱动的数据通讯协议不同, 但每个驱动程序结构十分类似, 主要是一个驱动线程负责通讯并解析数据, 另外提供公共方法给外部程序进行PLC的数据写回。EPDS的各事件也类似, 主要每个事件负责一个外接设备的通讯或EPDS数据的维护。由于类似的结构设计, 就考虑需要寻找一种方使得EPDS程序的开发更简便, 程序伸缩性更强。而.Net Framework正提供了这样一种便捷的方法, 那就是动态加载DLL。

动态加载使用的是反射机制。One very powerful feature of.NET is that it allows you to write code to access an application's metadata through a process known as reflection.Put simply, reflection is the ability to discover type information at run time.[5] (.NET有一个强大的功能, 它可以代码通过一种称为反射的过程访问应用程序的元数据。简而言之, 反射就是在运行时查询类型信息的能力。) 正是由于动态加载是一个程序运行时发生的过程, 这给EPDS程序更多的灵活性、便利性和扩展性, 无论你需要新增或修改多少PLC驱动或事件, 只需将新增或修改的PLC驱动或事件重新编译 (无需重新编译整个程序) , 并在配置文件中填加需要新增的PLC驱动或事件就可以完成整个EPDS程序的更新。这为程序开发和维护提供了很大的方便, 也为EPDS提供了很好的程序扩展架构。

3. 数据存储与数据流程

从EPDS的数据流程图 (图3) 中可以看出, 无论是PLC驱动线程, 还是各个事件的线程, 它们之间的数据交互都是通过实时数据库RTDB来完成的, 可以说RTDB是数据EPDS的数据中心。RTDB以TAG作为存储单元, 每个TAG可以是一个PLC地址上的数据或是一个内存 (Memory) 变量的数据 (无论是PLC还是内存对RTDB来说都被当成是一个外围Devices设备) , 这种数据的类型是灵活的, 可以是int或string等。RTDB是使用哈希表来实现。哈希表是一种关联数组 (或可称为键/值组合的集合) , 具有便利的快速搜索功能, 可以用任意简单变量值来访问其元素。

三、结语

随着集装箱运输行业的不断发展, 面对码头扩建的高额费用, 通过高科技的信息化技术优化生产设备对码头的生产管理有着重要的意义, 也是一个迫在眉睫的问题。起重机嵌入式位置监测系统, 正是一种码头生产作业的辅助系统, 能很好地填补目前码头生产系统在起重机管理、堆场管理和作业调度中的不足, 提高码头的生产效率。本文从软件的设计方面入手, 描述了嵌入式位置监测系统的架构、实现方法以及软硬件的环境等因素。

到目前为止, 本文所描述的系统已经应用在国内外多个码头上 (主要包括:广州南沙二期码头、大连三期码头、美国Groble码头, 以及天津、厦门、巴基斯坦、巴林、约旦等多个码头) , 为企业创造了数百万的效益。

参考文献

[1]符敦坚.岸边集装箱起重机[M].武汉:湖北科学技术出版社, 2007.

[2]牛东来.现代物流信息系统[M].北京:清华大学出版社, 2004.

[3]周毓林, 宁杨, 陆贵强.Windows CE.net内核定制及应用开发[M].北京:电子工业出版社, 2005.

[4]Microsoft.用于Visual Studio.NET2003的Windows CE实用工具的自述文件V1.1[EB/OL].微软:官方网站, 2003.

嵌入式监测系统 第2篇

摘要:介绍应用UBICOM公司的SX52BD单片机构建用于远程电网监测的嵌入式系统的具体方案,使基于单片机的测控设备可以方便地连接到以太网,实行电网参数的远程网络监控。

关键词:电网监测 嵌入式系统

为了保证电网的安全运行,了解电网运行状况,需要对电网的各种运行参数(如三相电压、电流、有功功率、无功功率等)进行实时监测。嵌入式远程电网监测系统将现代计算机、通信、网络及自动化技术融为一体,对配电网进行远程监测、协调和控制,从而优化配电网络。利用以太网的丰富资源及UBICOM公司高速单片机SX52BD构建分布式以太网嵌入测控系统是一种低成本、高可靠且快捷的技术方案。

1 系统结构

系统结构如图1所示。监控中心工作人员可通过以太网直接访问分布在各监控现场的监测仪,了解各电网的运行状况,从而采取相应措施。电网远程监控系统的核心部件是嵌入式电网监测仪,与PC机+网卡+采集卡的以太网测空系统相比成本大为降低,实现了嵌入式系统的大众化、普及化。

图1 嵌入式电网监控系统结构

2 嵌入式电网监测仪的结构功能

电网监测仪对电网上的.电压、电流信号进行采样和数据处理,在一定时间要保存数据,具体功能如下:

(1)实时监测三相电压Va、Vb、Vc和四相电流Ia、Ib、Ic、T0;

(2)监测A、B、C三相功率因素;

(3)通过RJ45接口与以太网通信;

(4)保存整点时刻电压、电流数据、功率因素,保存月统计数据;

(5)用数码管显示,使用户可以在现场查看和设置仪表的运行参数及历史记录。

该电网监测仪结构如图2所示。主要由单片机、电压电流采样模块、功率因素监测模块、以太网接口模块等组成。完成对电网参数的监测,实现信号处理、数据显示及电网运行状态显示等功能。

2.1 单片机

单片机模块是整个电网监测仪的核心。主要完成两大功能:(1)数据采集处理;(2)实现以太网的接入。将经过电压电流监测模块得到的三相实时电压、三相实时电流和中线电流进行处理;实时监测数据可通过RJ45接口传送以太网,使监控中心及时得到电网的相关参数;同时电网监控软件根据测试参数判断电网运行状况,电压是否越限或老家低等。

单片机选用UBICOM公司8位超高速单片机SX52BD,每秒运行数据能力达1亿次。由于UBICOM单片机的速度极高,能够实现实时多任务操作,可以在MCU执行数据采集和控制功能的同时把数据打包并传送到互联网上。用8位微控制器通过ISP接入互联网,外围器件少,系统成本低。UBICOM单片机属RISC结构,芯片上有Flash程序存储器,可以在安装在系统后进行编程和调试。由于CPU采用并行流水作业方式,执行一条指令只需要一个时钟周期,工作在100MHz时指令执行速度可达100MIPS,所有I/O可以通过编程灵活配置。

(本网网收集整理)

SX52BD单片机可以轻松地实现虚拟外设的功能。CPU通过执行虚拟软件模块直接驱动普通I/O口实现硬件外设功能(如UART、I2C、SPI、Caller ID、FSK等)。即把许多需要硬件实现的功能接口,借助处理器的高速处理能力,通过编写相应的软件模块实现。UBICOM公司用汇编语言实现以太网TCP/IP协议栈。在外妆一个以太网控制芯片(RTL8019AS)的情况下还可以实现互联网(IEEE802.3)协议处理,使该单片机系统可以直接通过RJ45连到以太网上。

2.2 电压电流采样模块

根据采样信号的不同,可分为直流采样与交流采样两大类。直流采样是把交流电压、电流信号转化为0~5V的直流电压,再送到A/D转换器进行转换。即A/D转换器采样的模拟量为直流信号。它的主要特点是:数据刷新速度快,随着元器件技术的发展,稳定度、精确定大为提高。

交流采样是相对直流采样而言,直接对交流电压和电流波形进行采样,然后通过一定的算法计算出电压、电流的有效值、有功功率、无功功率等。

交流采样对环境温度有一定要求,同时对A/D转换器的转换速度和采样保持器要求较高;为了保证测量精度,一个周期内,必须保证足够的采样点数,而且采样计算程序相对复杂,对CPU要求较高,因此该仪器采用直流采样。其工作原理如图3所示。

2.3 功率因素检测模块

功率因素检测模块有两大功能:(1)判别电压是超前还是滞后电流;(2)判别功率因素大小。具体相关电路如图4所示。是当电压超前电流时,U15B输出为“1”;反之输出为“0”。电压、电流的正弦波形分别经过零比较器后(电路忽略)转

换为方波,输入2/4译码电路。译码电路只有当A、B信号为“01”或“10”时,X端口才输出Vref,对积分电流充电;当A、B信号为“00”或“11”时,输出端口为零。而A、B信号为“01”或“10”的时间正是电压、电流相位差的时间。时间越长,对电容C23充电的时间也越长。因此,电容上的电压反映了相位差的大小。CPU经过数据处理可确定功率因素的大小。

2.4 以太网接口模块

以太网接口模块选用RealTek公司的RTL8019AS全双工以太网控制器,主要功能是处理以太网协议。它自带16KB的SRAM,并通过RJ5接口与以太网通信。数据的流向为:请求信息从以太网来,通过RJ45送到RTL8019AS,处理后的数据包送入SX52BD协议栈,由协议栈对数据包进行解析,得到原始请求信息。请求信息再经过SX52BD的处理,产生回复信息。回复信息到以太网的过程与上述过程正好相比。

2.5 其它模块电路

EEPROM:CPU通过I2C总线访问EEPROM器件24C256。网页就存储在EEPROM中。EEPROM中的网页内容通过主CPU的读写操作可以实现网页的浏览、重新下载和更新。受容量的限制它不可能存储大量页面。

图4 功率因素检测模块电路图

时钟模块电路:选用了时钟芯片DS12B887。它可以产生秒、分、时、日、星期、月及年等七个时标。可以通过编程读取和修改这些时标,也可以编程产生定时中断。采用硬时钟,可以不占用单片机的定时器资源,减轻软件设计量。

嵌入式监测系统 第3篇

关键词:嵌入式系统;家居控制系统;研究;探讨

中图分类号:TP311文献标识码:A文章编号:1007-9599 (2011) 05-0000-02

Home Control System Research Based on Embedded System

Zhou Zuhua

(Vocational and Technical College,Guizhou University,Guiyang550003,China)

Abstract:At present,the rapid development of family intelligent technology,the family intelligent controller of home intelligent system is the key.Home control system based on embedded system has become one of our development focus of the study.Based on the study of a large number of home and abroad on the basis of the control system,a home control system to achieve:that is, the control module to combine with the operating system,plus a variety of sensors embedded home control system.

Keywords:Embedded system;Home control system;Research;Discussion

一、嵌入式系统家居控制系统的硬件设计及功能

对基于嵌入式系统家居控制系统的进行研究探讨,就需要我们对其硬件进行科学合理的设计,并充分实现其功能作用。因此,在设计嵌入式系统家居控制系统的时候,我们必须要充分考虑到控制系统的科学、稳定、扩展等特点。这样,就要求我们必须把嵌入式系统家居控制系统的硬件设计当作其中最为核心的组成部分来进行,尽量优化设计,最大限度地发挥其功能作用。一般情况下,我们可以把嵌入式系统家居控制系统设计成为核心模块和控制模块两个部分。在嵌入式系统家居控制系统中,核心模块主要用来构建嵌入式控制系统的,而控制模块则主要是一些位置处于外面环境的接口所组成的。实际上,嵌入式系统家居控制系统的硬件主要有:核心模块主要是由处理装置(如微处理器等)以及处于外面环境中的存储芯片等所组成的。就嵌入式系统家居控制系统的发展而言,三星公司所生产的S3C2440微处理器使用最多最广。这是因为,S3C2440微处理器被广泛应用到多媒体软件、便捷式通信产品等嵌入式系统内,同时还能够比较轻易地运行到Windows CE中。此外,因为整个嵌入式系统家居控制系统的实现要求比较高,所以采用三星公司生产的S3C2440微处理器则能够很好地满足了这些要求。处于外面环境中的存储芯片,即控制模块则采用芯片,通过串口信号线与微处理器相互连接,同时通过CPU进行控制。不过,这样需要增加相应的驱动线路。但是其触摸屏则采用了四线电阻式,直接把它同CPU相互连接起来。

二、嵌入式系统家居控制系统的软件设计及功能

通过Windows CE操作控制系统可以实现和满足嵌入式系统家居控制系统对实时性以及网络功能的具体要求。不过,我们也必须同时综合考虑开发成本以及难易程度等因素。此外,Windows CE操作控制系统具有比较好的用户界面,而且比较容易于操作、控制和管理等。同时,在嵌入式系统家居控制系统中,我们主要是应用层面的开发与研究。因此,选用Windows CE操作控制系统比较适合,也比较划算。但在Windows CE操作控制系统产品的开发过程中,有以下几个方面的重要内容值得我们重视:一是驱动程序的研究开发;二是内核定制;三是应用程序的研究开发等。以上几点在嵌入式系统家居控制系统极为重要与关键。而微软在这些方面都提供了比较好的开发工具,因而也就成为了内核定制以及应用程序研究开发的重要工具之一。

(一)嵌入式系统家居操作控制系统的平台定制

在嵌入式系统家居控制系统中,其硬件平台成功组建以后,我们必须结合具体的家居应用实际,针对特定的硬件定制嵌入式操作控制系统,这也是本文研究和探讨的重点。可以这么说,要想直接在嵌入式系统家居控制系统的硬件平台上编写相应的软件是相当困难的,因为嵌入式系统家居控制系统资源受到极大的限制。当前,人们通常是采用宿主机或者目标机等的方式进行,即就是首先在相应的电脑上编写控制程序,接着应用交叉编译方式,从而生成在目标平台上可以运行的二进制程序或文件,最后一个步骤是下载到相应的目标平台上运行,进而实现其功能与作用。但是,在进行嵌入式系统家居控制系统研究开发以前,我们必须首先要建立和配置好交叉研究开发的环境与条件。Windows CE操作控制系统作为一个很好的平台,其定制过程主要包括以下几个方面:一是确定并选择操作系统的基本配置,并且要为特定的操作控制平台确定和选择相应的微处理器以及支持包等。二是利用标准研究开发向导,并根据Windows CE操作控制系统的基本架构,结合目标硬件设备研究开发、添加适当的组件、设备驱动程序等,创建一个定制的平台。如果可以,就对一些配置文件进行修改之后,再培植所需要的功能模块中去,与此同时通过编译进而生成相应的镜像文件。三是应用串口、网络或USB等把编译生成的相应镜像文件下载到目标设备中,可以使用调试工具查看Windows CE操作控制系统的运行情况,并可以随时进行调试或修改。若有必要,可以重新进行配置、封装、调试以及修改等,直到达到用户的要求为止,从而更好地实现嵌入式系统家居控制系统的功能。四是最后需要导出相应的软件研究开发工具包,在运行后安装到系统中,从而使得系统可以进行特定硬件平台的应用程序研究与开发。

(二)嵌入式系统家居控制系统驱动程序的研究开发

通常情况下,由于嵌入式系统家居控制系统的驱动程序涉及到中断驱动程序和GPIO 驱动,因此可以采用单片驱动程序和分层驱动两种方式进行。在这里,单片驱动程序我们就不用多说了,而主要研究分层驱动程序。分层驱动程序主要由两个部分组成,即模型设备驱动程序依赖平台的驱动程序。微软为连接驱动程序提供了相应的设备驱动程序,模型驱动程序对于平台来说都是通用的,也就是同时都是源代码和库。总体上看,模型驱动程序主要执行以下任务:一是连接设备驱动程序提供器接口;二是把不同的操作控制系统连接在一起;三是负责与系统控制模块与内核之间的通信,与此同时,也包括诸如中断控制等一些复杂的操作。而设备驱动程序接口主要是供模型设备驱动程序调用,主要由模型设备驱动程序提供。而对于分层驱动程序方面,编写驱动主要就是要编写直接操作处理器中寄存器的相应数值和操作系统平台中传递的参数。通常,它们在操作控制系统的层面上,通过传递数值和返回参数,修改和获取S3C244的相应数值,并通过调用相关应用程序来实现需要的控制功能。

(三)嵌入式系统家居控制系统应用软件的研究开发

作为微软公司研究开发的Windows CE操作控制系统具有与Windows系统基本一致的功能与作用。当然,Windows CE操作控制系统的研究开发也有着自己显著的特征。对于Windows CE操作控制系统应用软件的研究开发,我们应当注意以下几点:首先,必须使用Unicode字符集的程序。其次,程序代码应当做到和最小,因为嵌入式设备一般都没有太大的空间容纳像台式电脑那样的内存,如果程序过大,运行的时间就会延长。再次,Windows CE操作控制系统应用软件的程序主要是通过驱动程序读取。直接获取与S3C2440端口相连的传感器的状态和数值后,把相关信息返回Windows CE操作控制系统应用软件的程序中,程序再根据传感器的状态及数值又把关联的信息通过调用串口驱动程序,发送相应的命令并传给有关功能模块,随后该模块发送信息到用户手机,用户就可以随时看到家中的变化。倘若用户要对家中的一些设备进行操作,就可以应用发送信息的方式把控制信息传给有关功能模块,该功能模块再将此信息又传到Windows CE操作控制系统应用软件的程序中,这时应用程序就可以控制相应的端口了,进而满足用户的具体要求。

三、结束语

在当今社会,随着家庭智能化技术的全面快速发展,家居控制系统的重要意义和作用越来越凸显在人们的面前,这也是嵌入式系统家居控制系统的关键所在。因此,我们必须结合实际,坚持以先进的现代科学技术和通信技术为前提与基础,尽力做到以嵌入式系统为技术核心,不断优化家居控制系统的结构与功能,保证其功能全面、性能稳定、耗能低下等特征,促进其全面快速健康发展,更好地为人们提供方便快捷的服务。

参考文献:

[1]赵静,梅军.嵌入式智能家居控制系统的研究与设计[J].今日电子,2010,2

[2]彭小军,李荣.基于ARM的嵌入式智能家居控制系统研究[J].低压电器,2009,18

[3]郭海杰,吴飞,雷必成.嵌入式智能家居控制系统的研究[J].福建电脑,2009,3

嵌入式监测系统 第4篇

关键词:电能质量,μC/OS-II,SD卡,DSP,多核

0 引言

电能是当前人类社会不可缺少的重要能源之一, 随着国民经济和现代科学技术的高速发展, 电力事业也得到了迅猛的发展。近年来, 随着农村电网改造的不断深入和农村电气化程度的不断提高, 在农村用电系统中投入了大量非线性、非周期性负荷, 使电网谐波含量急剧增加, 电能质量日趋恶化。而且, 农村地区专业技术人员比较少, 专家由于地域等实际原因不能及时赶到, 往往会产生经济损失。

如何提高和保证电能质量已成为农村电力系统面临的重要问题。通过对电能质量进行在线实时监测、记录和分析, 可以得到评估电能质量的各种数据, 为改善电能质量和制定相关电能质量治理措施提供依据。同时, 传统的电能质量监测设备已无法满足现代电力系统对电能质量监控的要求, 电力系统中迫切需要新型高精度、多功能的电能质量监测设备来替代精度低、功能单一的传统监测设备。另外, 随着电能质量理论的深入和电力电子技术、计算机技术、信息处理技术及微电子等技术的快速发展, 使得电能质量监测设备具有高精度、功能复杂等特点[1]。

该系统的设计研究把握了电能质量监测发展的最新趋势, 采用先进的技术手段, 在保证系统功能与性能的前提下, 提出了一种基于DSP+CPLD双核架构的嵌入式硬件平台的解决方案。该系统将操作系统和功能软件集成于硬件系统中, 具有软件代码小, 高度自动化, 响应速度快等特点, 特别适合于要求实时的和多任务的农村电网体系。

1 系统结构设计

基于DSP+CPLD双核的电能质量监测系统是以TI公司的TMS320F2812数字信号处理器为核心加上14位双极性高分辨率的A/D转换器和ALTERA公司的CPLD (EPM7128) 作为协处理器的基本架构组成。TMS320F2812 是美国德州仪器公司专门为解决工业应用方案而设计的新一代DSP处理器。该芯片采用32位中央处理器大大提高了系统运算处理能力, 主频可在150MHz下工作, 其性能远优于2000系列的其他DSP[2]。整个系统框图如图1所示。

其中, 由F2812 DSP芯片同扩展的256K×16位的SRAM和256K×16位的FLASH及系统电源复位电路设计一个高速数字核心电路来完成系统的信号检测、采样、电能质量指标运算、数据存储和同外设通讯管理等工作。由电压、电流互感器元件, 信号放大电路, 抗混叠滤波电路同A/D转换电路构成系统的前向通道电压、电流信号的模数转换。CPLD作为协处理器协助DSP完成系统的组合逻辑、外设地址译码、数据输入输出缓冲锁存、TTL/CMOS电平信号兼容匹配等工作。考虑到系统的复杂性, 将整个系统分成3个部分:DSP主模块板、系统功能模块板和电源模块板等部分。

2 硬件结构设计

2.1 SD卡存储单元设计

SD卡有两种总线模式:SD模式和SPI模式。由于F2812 DSP并没有SD卡和MMC卡接口的控制器, 而DSP内部的增强性SPI接口同SD的SPI总线模式的时序是完全兼容的, 因此本设计在扩展SD卡时采用SPI模式。DSP与SD卡的连接图如图2所示。

其中, SD卡同主机的SPI协议由以下4个信号所组成:

1) CS, 主机对SD卡的片选控制信号;

2) CLK, 主机同SD卡建立的时钟信号;

3) DataIn, 主机写入SD卡的数据信号;

4) DataOut, 主机读取SD卡的数据信号。

2.2 以太网单元设计

以太网接口电路主要由MAC控制器和物理层接口两大部分构成。DSP通过外接一片DM9000以太网芯片扩展了一个10M/100M自适应的以太网接口。该芯片是一款低功耗、高性能的CMOS芯片, 支持10M/100M的以太网传输, 物理层支持以太网接口协议, 支持IEEE802.3全双工流量控制模式和半双工CSMA/CD流量控制模式, 支持连接状态变化和远程唤醒。DM9000还集成4K的双字SRAM, 作为接收缓冲区, 用来暂时存储要发送或接收的帧。图3是16位数据接口的DM9000同DSP的硬件接口设计框图。

3 软件系统设计

在软件开发时应用了基于实时嵌入式操作系统的软件结构。在F2812 DSP处理器上移植了源码公开的μC/OS-II嵌入式操作系统, 在μC/OS-II下开发任务程序, 并在μC/OS-II内核下移植了LwIP TCP/IP协议实现以太网通信功能。这样不仅使得系统的实时性和稳定性得到保证而且也降低了软件开发的难度。软件的主体框架如图4所示。

3.1 嵌入式操作系统μC/OS-II的移植

μC/OS-II是一个源代码开放的嵌入式实时操作系统内核。μC/OS-II具有公开源代码、可移植、可裁剪、多任务、占先式等特点, 同时μC/OS-II具有可靠的稳定性[3]。

由于μC/OS-II充分考虑到对微处理器的可移植性, 大部分代码都用C语言编写, 因此在处理器满足条件的基础上, 移植μC/OS-II只需要改写以下几个文件的部分内容:

1) 在OS_CPU.H文件下定义与处理器相关的常量、宏和数据类型。主要是修改与编译器相关的数据类型、堆栈宽度以及定义与处理器相关的开、关中断的宏和堆栈的生长方式。

2) 在OS_CPU_A.ASM中完成几个汇编函数。涉及OSStartHighRdy () , OSCtxSw () , OSIntCtxSw () , OSTickISR () 这4个汇编函数, 主要是完成任务堆栈的获取, 完成任务级和中断级的任务切换并保存旧任务寄存器和恢复新任务寄存器, 时钟节拍中断等工作。

3) 在OS_CPU_C.C文件中编写这6个C函数:OSTaskStkInit () , OSTaskCreateHook () , OSTaskDelHook () , OSTaskSwHook () , OSTaskStatHook () , OSTimerTickHook () 。其中, OSTaskStkInit () 是必须要编写的用于初始化堆栈结构的一个函数, 其他几个函数可以只需要声明一下。

3.2 LwIP 轻型协议栈移植

LwIP (light weight IP) 是瑞士计算机科学院开发的一套用于嵌入式系统的开源代码TCP/IP协议栈。LwIP有以下几方面的特性[4,5]:支持多网络接口下的IP转发, 支持ICMP协议快速转发的TCP扩展的UDP等。LwIP可以移植到实时操作系统上运行, 也可以在无操作系统的环境下独立运行。为了适应低端嵌入式系统内存小的特点, LwIP在保护TCP/IP协议主要功能的基础上减少对RAM的占用, 一般仅需要几十K的RAM和40K左右的ROM就可以运行。

TCP/IP协议由地址解析协议ARP模块、网际协议IP模块、互联网控制报文协议ICMP模块、用户数据报协议UDP模块和传输控制协议TCP模块组成, 实现流程如图5所示。同其它TCP/IP协议的实现一样, LwIP由几个模块组成, 除了实现TCP/IP协议的各个模块, 同时提供许多支持模块, 这些支持模块有操作系统模拟层、缓冲和存储管理子系统、网络接口函数和处理数据校验和的函数模块。

LwIP协议栈充分考虑到对不同系统的移植问题, 因此把所有同硬件、编译器、函数库以及操作系统相关部分的代码独立出来, 放在/src/arch目录里。针对μC/OS-II和DSP的CCS编译器, LwIP的移植只需要修改与CPU及编译器相关的include文件和与操作系统相关的文件。/src/arch/include/arch目录下cc.h, cpu.h, perf.h中有与CPU和编译器有关的定义, 包括数据结构和大小端存储方式等, 这些定义需同μC/OS-II中的相应定义保持一致。

为了适应不同的操作系统, LwIP专门把与操作系统有关的数据结构和函数放在一起组成操作系统封装层, 为诸如定时、进程同步和消息传递等操作系统服务提供一个统一的接口, 移植时仅需针对不同的操作系统实现特定的操作系统封装层, 操作系统封装层的原代码在lwip/src/core/sys.c中, 而与具体的操作系统相关的代码在lwip/src/arch/sys_arch.c 中[6]。与具体操作系统相关代码由sys_arch.h和sys_arch.c两个文件实现。其中, sys_arch.h主要定义与操作系统相关的数据结构-信号量、邮箱和进程号, 这些在μC/OS-II中都有对应的实体, 要注意LwIP中的邮箱对应于μC/OS-II中的消息队列。

文件sys_arch.c中要实现和操作系统有关函数的定义, 包括系统的初始化以及信号和邮箱的操作 (创建、删除、投递和等待) , 这些功能只需要用μC/OS-II中相应的函数进行重新封装。另外, LwIP用sys_timeout结构体队列和相应的函数实现TCP/IP协议栈中需要的定时器 。每个sys_timeout结构体包括本线程的timeout时间长度, 以及超时后的回调处理函数。sys_arch.c中sys_arch_timeouts () 函数的功能就是返回当前进程所对应的sys_timeout结构体队列的头指针, 然后在系统初始化时根据最大的LwIP进程数创建一个sys_timeout结构体指针的数组, 以后每创建一个LwIP进程其优先级都从一个连续的已知区间进行分配, sys_arch_timeouts () 函数通过调用OSTaskQuery () 函数获得进程的优先级, 进而获得对应的sys_timeout结构体队列的头指针。

4 系统性能测试

在完成系统集成后, 选用陕西创威仪表制造有限公司生产的DK54三相精密测试电源对本系统进行了综合测试实验, 测量结果表明电压偏差小于0.5%, 电流偏差小于1%, 功率因素偏差小于1%, 有功/无功功率的偏差小于0.5%, 频率偏差小于0.01Hz。当频率变化从50~51Hz时, 测量数据的误差并未增大, 说明系统可以很好地跟踪频率实现同步采样而且能够基本实现对实时电能质量的监测。

5 结束语

该系统在硬件电路的设计方面, 采用高性能的32位DSP器件同兼容混合逻辑系统的CPLD的架构完成双核系统硬件的主体, 利用双极性的高分辨率A/D转换器完成模/数转换, F2812 DSP完成核心算法、数据计算、通信等功能。软件设计方面, 移植了源码公开的μC/OS-II嵌入式操作系统, 并在此基础上移植LwIP TCP/IP协议栈, 用软件方式实现系统的以太网通信。基于μC/OS-II下的软件开发大大简化, 减少了开发周期同时保证了代码的实时性和软件更加健壮, 适用于农村电网电能质量的检测。

参考文献

[1]张菁.新型DSP电能监测装置的研制[J].仪表技术与传感器, 2006 (9) :46-53.

[2]TMS320F2810, TMS320F2811, TMS320F2812, TMS320C2810, TMS320C2811, TMS320C2812, Digital Signal ProcessorsData Manual[Z].Texas Instruments, 2003.

[3]LABROSSE.J J.嵌入式实时操作系统μC/OS2Ⅱ[M].邵贝贝, 译.北京:北京航空航天大学出版社, 2003.

[4]RICHARD S W.TCP/IP III ustrated, Volume1:The Proto-cools[C]//AddIson2Wesley, 2002:1-20.

[5]DUNKELS A.Design and implementation of the lwIP TCP/IP Stack[C]//Swedish Institute of Computer Science, 2001:2-18.

嵌入式系统实验 第5篇

实验(实习)名称

电机转动控制及中断实验 实验(实习)日期

2016.5 得分

指导教师 谢胜东

学院 计算机与软件 专业 计算机科学与技术 年级

2013 班次 3 姓名

叶正舟 学号

20131308072 实验名称

电机转动控制及中断实验 实验目的

(1)熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置

(2)编程实现 ARM系统的PWM 输出和I/O 输出,前者用于控制直流电机,后者用于控制步进电机。

(3)了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。

(4)掌握带有PWM 和I/O 的CPU 编程实现其相应功能的主要方法。实验环境

(1)ADS1.2开发环境(2)PC(3)串口线 实验内容及要求

学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。学习ARM知识,掌握PWM 的生成方法,同时也要掌握I/O 的控制方法。

(1)编程实现ARM芯片的一对PWM 输出用于控制直流电机的转动,通过A/D 旋钮控制其正反转及转速

(2)编程实现ARM的四路I/O 通道实现环形脉冲分配用于控制步进电机的转动,通过A/D 旋钮转角控制步进电机的转角。

(3)通过超级终端来控制直流电机与步进电机的切换。实验设计与实验步骤

(1)新建工程,将“电机转动控制实验”中的文件添加到工程(2)编写直流电机初始化数(MotorCtrl.c)(3)控制直流电机与步进电机 实验过程与分析

(1)通过把从串口中得到控制信息的代码修改成从zlg7289芯片中读取小键盘信息,从而利用试验台的小键盘来控制步进电机和直流电机的切换

(2)A/D转换可以把电信号转换成数字信号来控制电机的转速。for(;;)

{ loop:

//if((rUTRSTAT0 & 0x1))//有输入,则返回

if(rPDATG&ZLG7289_KEY)//17键小键盘控制电机

{

*Revdata=RdURXH0();

goto begin;

}

Delay(10);ADData=GetADresult(0);

if(abs(lastADData-ADData)<20)

goto loop;Delay(10);count=-(ADData-lastADData)*3;

//(ADData-lastADData)*270/1024为ad旋钮转过的角度,360/512为步距角,//由于接了1/8减速器,两者之商再乘以8为步进电机相应转过的角度

if(count>=0)

{//转角大于零

for(j=0;j

{

for(i=0;i<=7;i++)

{

SETEXIOBITMASK(stepdata[i], 0xf0);

Delay(200);

}

}

}

lastADData=ADData;

} } 实验结果总结

利用A/D转换器实现了对直流电机和步进电机的控制,利用实验设备上自带的小键盘实现了A/D转换器对两个电机控制的切换。心得体会

嵌入式监测系统 第6篇

随着三网融合的不断推进, 广播电视新业务迅猛发展, 高清电视、视频点播、IPTV、手机电视等层出不穷, 电视台也从全模拟时代进入了数字压缩播出时代。特别是随着数字化网络化建设的不断深入, 基于流格式的数字电视信号在播控传输分发中的应用环节越来越多, 系统流程也越来越复杂, 而流格式的信号在系统中不再像原来模拟信号那样直观, 对其质量的控制也不能采用传统的手段。本系统以台内数字电视信号质量监控为例, 以硬件板卡为核心, 通过嵌入式系统架构对台内流格式的数字电视信号节点进行实时采样和分析, 提供相关的监测结果, 从而实现全面的节目质量监管自动化。

1 多层次监测的需求分析

1.码流层。对于数字电视信号的码流层, 主要是检查信号是否符合相关的协议和标准。如果信号不符合相关数字电视码流的各种协议和标准的要求, 那么在后续的节点上可能都会受到相应的影响, 甚至引起系统的不稳定, 对节目质量带来较大的危害。

2.内容层。内容层质量分析最接近于信号的最终表现分析, 目前这方面可以监测的主要包括黑场、静帧、单色、无声、台标错误等等。这些分析通常有两种方法:一是在流中直接检查相关的矢量、编码、变换系数等;二是将流格式信号还原成基带信号后再进一步分析。

3.高频/线路层。主要是对最终调制的高频或射频信号/线路信号技术参数进行分析, 通过信号的电平、信噪比、误码率、频偏等参数对比, 了解信号是否保持正常、质量是否有保障。

2 技术路线选择

目前常用的广播电视监测系统绝大部分基于PC机模式, 即由工控机、通用Windows操作系统、I/O板卡、专业测量板卡组成;或者以接收机堆叠方式, 即在各监测节点将信号引出, 通过接收机报警或输出图像的监看来获取监测信息。此类传统监测系统冗余庞大, 安全、有效性都存在隐患, 受限于PC机本身的不稳定性, 软件和系统的漏洞易受物理攻击和病毒入侵, 特别是设备板卡主要采用PCI、ISA、PC104等接口方式, 不支持热插拔, 而且报警信息需要通过SNMP协议巡检其他主机来获取, 有些设备甚至只能通过串口访问, 延时较大。

针对传统监测系统存在的种种缺陷, 我们采用嵌入式系统来实现对广播电视信号进行监测的方案。嵌入式系统以应用为中心, 以计算机技术为基础, 软硬件可裁剪, 适用于对功能、可靠性、成本、体积、功耗有严格要求的专用系统。

该嵌入式系统采用嵌入式处理器作为主处理设备, 采用嵌入式Linux操作系统, 用FPGA (现场可编程门阵列, Field Programmable Gate Array) 做码流缓冲与处理器的接口。监测设备中的监测处理和网络通信部分采用嵌入式软件实现。网络客户端的软件开发采用标准库屏蔽网络接口细节。

以电视台内应用为例, 系统采用嵌入式架构实现对台内各种流格式信号的质量监测, 可在数字电视中心、数字电视发射系统、数字电视有线传输系统和数字电视卫星传输系统等各个环节加入监测点, 包括基带信号、射频信号、中频信号, 如ASI信号以及CTTB、DVB-C、DVB-S、DVB-S2、ABS-S、CMMB信号等等。各监测点与多画面服务器、数据库服务器之间采用广播级数字化的Stream Net协议进行通信。同时嵌入板卡内置温、湿度监测模块, 可对工作环境参数进行实时监测和报警。通过对信号之间、设备之间、信号与设备之间、环境与设备之间的相互关系进行系统性的分析, 全面掌控系统运行状态。

如图1所示, 监测系统的核心是各种嵌入式板卡。根据需要监测的信号类型的不同, 选择不同类型的嵌入式监测模块。监测板卡分布在各个监测点机房内, 对各种监测信号进行采集、收录和实时分析。一方面, 将监测数据通过千兆网络传到数据库服务器中, 进行数据汇总、统计分析。另一方面, 监测板卡将数字电视信号进行TS over IP, 将打包后的电视节目信号通过网络传到多画面服务器以及存储服务器上进行画面内容监测以及存储。网络客户端是普通的PC机, 运行与数字电视监测设备相配套的软件包, 它从网络上得到各监测信号的情况, 还可以远程管理监测板卡, 实现更改监测频点、节目或对差错信号监测灵敏度调整等功能。工作人员可通过多画面、客户端实时掌握各监测点情况, 还可以通过客户端远程管理板卡。

3 硬件设计

数字电视信号如ASI信号是270Mbps, 采用LVDS电平。由于数据速率高, ASI信号的接收一般采用ASIC (专用集成电路, Application Specific Integrated Circuits) 芯片, 但这种专用芯片功耗大、功能单一、提供的信息不全面。随着FPGA技术的发展, 实现高速数据流的直接输入处理成为可能。通过数据缓冲接口, 实现数据恢复、解码和缓冲, 确保不丢数据的同时保证CPU资源的合理利用。

自动监测设备硬件电路设计如图2所示。

硬件系统采用嵌入式处理器+FPGA的方法, 即由嵌入式处理器完成操作系统、各模块控制、广播电视信号解调、CA接口、码流信号的分析处理等核心任务, 用FPGA完成信号输入处理、实时码流缓存、码流输出驱动等。

为了缓解CPU总线操作上的负担, 让CPU资源充分用于码流分析运算上, 保证监测信号输入不丢包, 采用在FPGA中加入一块实时码流缓存模块的方法来确保数据不丢失。实时码流数据最后经总线传到嵌入式处理器进行处理。

4 软件实现方案

嵌入式监测卡的软件主要由嵌入式操作系统、嵌入式驱动程序、测试分析处理、码流合成处理、嵌入式网络接口组成。其中操作系统和驱动程序属于操作系统层, 测试分析处理和码流合成处理属于应用层, 客户端网络接口和客户端监测接口库运行于客户端。参见图3。

基于Linux操作系统的开放性、稳定性和安全性, 监测板卡考虑到数字电视质量监测的实时性、可靠性要求, 采用嵌入式Linux内核设计。Linux采用单内核体系结构, 通过精细定制, 内核的所有部分都集中在一起, 这样能使系统的各部分直接沟通, 有效缩短任务之间的切换时间, 提高系统响应速度, 实时性好并提高了CPU的利用率。

嵌入式驱动程序作为硬件和系统之间的桥梁, 需要为各种监测模块板定制对应的驱动程序, 实现数据的正常输入输出和分析监测。监测点内数据流向如图4所示。

硬件接口读取FPGA缓存数据后交给CPU处理, CPU对数据进行高频分析、码流分析后, 监测数据和TS流通过网络发送到服务器。

高频分析和码流分析是监测点的核心部分, 按照相应的数字电视信号协议分析监测解调后的高频信息、码流数据。

CPU还可通过网络接口接收设置数据, 通过控制接口控制模块板。监测数据和TS流可根据用户设定的要求进行显示、报警等, 也可根据要求通过网络接口模块发向规定的网络。嵌入式监测设备允许通过网络连接客户端完成远程测试, 客户端网络接口一方面接收测试结果, 另一方面对嵌入端发送控制与请求, 实现交互。客户端监测接口库是一个标准C库, 可以方便地兼容各种测试平台, 与系统其它部分融合, 实现网络控制台集中管理, 形成完整的数字电视监测系统 (图5) 。

5 实现对流格式数字电视信号的多层次质量分析

1.数字电视信号传输过程中, 码流层各项指标的好坏直接反映了信号质量。嵌入式监测设备独立地对各设备的输入信号进行码流层的质量监测, 主要包括各个PID占用带宽监测、PCR分析、PSI/SI分析、TR101290监测等。

2.与传统的模拟电视相比较, 数字电视信号容易受到线路中噪声、畸变和干扰的影响。数字电视高频信息是反映数字电视信号质量的关键指标。高频信号一旦不正常, 需要及时报警并采取相应的措施, 因此需要对高频信号直接处理和分析, 认真研究各种状态下的高频信号的特性, 提高检测反应速度。

数字电视质量监测包括信号的频谱监测、功率监测、调制质量监测、误码率监测和基带监测。调制质量监测要求对数字电视信号进行解调, 分析其MER质量和信道估计质量等, 其中的难度在于精确解调各种数字电视信号, 输出星座图和MER等关键指标。

当监测射频信号时, 首先要经过高频调谐电路混频、锁相、滤波和放大, 这其中就要对输入信号的电平、频率偏移等指标进行相关的测试。射频信号经处理后成中频信号, 中频信号再经高速A/D处理, 进行数字信号的分析和解调。这里除按要求的信道编码标准解出码流外, 还要对信号的信噪比、误码率等参数进行测试分析, 从而得到信号传输的劣化情况。

系统在嵌入式监测设备中集成各种数字电视信号的解调电路, 对高频或射频信号/线路信号技术参数进行分析, 得到信号的电平、信噪比、误码率、频偏等参数。

3.在节目编辑制作过程中, 由于编辑人员疏忽, 可能会在节目中夹杂肉眼难以检查到的少量不正常画面。另外, 如卫星信号遭受非法信号攻击时, 由于TS流参数发生突变, 会导致数字卫星接收机解压缩输出的信号有静帧、黑场、台标丢失、视音频丢失等现象, 这些故障会一直持续到卫星接收机锁定到非法信号为止。因此通过监测信号的异常状态来抵制非法信号的攻击是一个非常可靠并行之有效的手段。

通过在嵌入式监测设备的视频检测模块中采用特殊的图像识别算法, 使得视频检测能够达到帧精度。检测模块中还采用独特的数学算法对被监测信号进行降噪处理, 使黑场、彩场等故障的漏报率大大降低, 提高系统检测的灵敏度和可靠度。同时设置台标屏蔽区域, 即使发生黑场、彩场、彩条等故障时有台标叠加其上, 故障也依然会被检测出来。

6 应用与实践

嵌入式监测系统以电视台内部局域网为依托, 共同协作, 可以为台内数字电视信号提供实时监测与报警, 以及故障的录制、回放、查询统计等功能。另外需要说明的是, 监测系统所使用的网络不需要与电视台的播出网络、非编制作网等连接, 所以不会对制播系统造成任何影响。

监测系统采用工业级控制的CPI架构设计, 与传统PC软件为核心的监测系统相比, 具有高兼容性、安全可靠、易扩展、易维护等优势。系统可实现多种实时信号的分析, 这种兼容只需要简单地在机箱中增加各类接口板卡即可, 系统结构和系统软件无需大的改变, 真正实现无缝升级, 最大化的满足监测需求。嵌入式平台多格式信号监测板卡采用高性能嵌入式设计, 支持热插拔, 板卡设置参数记忆在板卡的芯片上, 更换板卡不需手动重新设置任何参数 (如IP地址等) , 只需更换记忆芯片即可。

嵌入式监测系统 第7篇

近年来,嵌入式技术得到了广泛关注并获得了飞速发展,其应用范围越来越广。基于该技术的设备具有体积小、成本低和性能稳定等显著优点[2]。而GPRS技术是为无线数据传输服务量身定做的,该技术具有实时性强、设备成本低、维护费用低、价格便宜、适合不定期和长时间的数据传输等诸多优点[3]。

本文提出了一种基于嵌入式技术和GPRS技术的多参数微小型水质监测系统的设计方法。介绍了该监测系统的监测原理,给出了系统的总体方案,分析了系统的总体结构以及功能,设计了系统的控制硬件和软件。

1 系统测量原理

该系统水质参数的测量原理是以朗伯—比尔定律为理论基础的,其表达式为:

其中,A为介质的吸光度,I为入射光的强度,I′为光通过介质吸收后的透射光强,C为介质的摩尔浓度,l为光程长,ε为介质的摩尔吸收系数。在测量中,采用已知P物质的标准溶液和未知P物质的被测溶液比较特定波长吸收程度的方法,来获得P物质在被测溶液中的浓度。为了扣除蒸馏水在该特定波长处的吸光度值,选用蒸馏水为参比溶液。首先用仪器对P物质的N个不同浓度的标准溶液进行测量,得到吸光度值Ai(i=1,2,3…N)。以P物质的浓度Ci为横坐标、吸光度值Ai为纵坐标,利用最小二乘法便可得出P物质的标定曲线,其表达式为:

其中:A为P物质的吸光度,C为P物质摩尔浓度。由于光谱仪精度因素,实际计算出的标定曲线是一条不过原点的直线。当测量P物质在被测溶液中的未知浓度时,只需测出不含P物质时的杯空白吸光度A空白和含有P物质溶液的吸光度AP,即可将(AP-A空白)代入式(2),得出被测溶液中P物质的浓度。

2 水质监测系统总体结构

图1为多参数微小型水质监测系统的原理框图,分为单片机测量控制系统和ARM硬件控制系统。嵌入式ARM系统主要实现整体控制,通过对触摸屏菜单的操作,对单片机测量系统发出控制命令,可以实现对水中的铬、铅、A表面活性剂、化学耗氧量(COD)、氨氮、总磷和挥发酚的标定,单步测量和依次测量。然后嵌入式ARM系统通过微型光谱仪对光谱数据采集,经过数据处理,完成对水中各个参数含量的测试。而经过测试之后,可以通过GPRS网络,实时地将测量数据传输到远端管理人员的PC机上,从而实现对库区和大江大河环境水质状况的实时监测。

2.1 单片机测量控制系统

单片机控制系统主要由单片机处理器及钨丝灯光源﹑透镜﹑光纤探头、样品水池﹑清洗搅拌机构﹑直线导轨机构﹑蠕动泵阵列﹑反应测试室阵列﹑电磁阀阵列和控制电路等组成。光源、镜头、光探头、清洗搅拌针、注入清水及试样的管头等组装在直线导轨的移动滑块上。检测时,单片机首先控制直线导轨上的移动滑块至第一个反应测试室,控制蠕动泵抽取清水至测试室,然后控制清洗搅拌机构,使用搅拌针搅拌,待搅拌完成,打开相应电磁阀,排除清水;接着利用蠕动泵分别抽取适量的样品溶液和试剂溶液,使用搅拌针充分搅拌,待反应充分;最后,单片机控制点亮光源,由钨丝灯产生的可见光经过透镜聚光后穿过测试室,由微型光谱仪探测头把透射光导入光谱仪,记录光谱数据,然后将光谱数据传入ARM系统,进行水质参数浓度的分析。此时第一个参数测试完毕,按照上述步骤可完成水样中7种参数含量的测试。

由于水质中各个参数的吸收光波长不同,光谱的大致范围在400 nm~700 nm之间,因此,本系统中选择了体积小﹑寿命长﹑价格低的12 V 25 W的溴钨灯作为光源。

2.2 ARM硬件控制系统

ARM硬件控制系统的任务主要包括:光谱数据的接收与分析处理、控制单片机系统、测量数据发射、人机对话等,其结构框图如图2所示。水质参数开始检测后,首先通过LCD触摸屏对该系统的各个参数进行设定,ARM系统与单片机系统通信,通知单片机系统的各个模块准备测试。然后ARM系统向单片机系统发送测试第一个参数的命令,单片机系统按照制定好的步骤,完成试剂和样品溶液的充分反应,然后打开光源。这时,光谱仪的光线探头定位在第一个反应测试室的透射光孔处,透射光进入光谱仪的光纤探头,经过光纤传输,光谱仪开始采集数据,待采集完成后,通过光谱仪与ARM系统的连接并口传入ARM处理器S3C2440A中,然后ARM处理器对采集的数据进行处理,并存储处理结果以及在LCD触摸屏上显示该参数的吸光度曲线。待这些完成之后,ARM系统发送命令,通知单片机系统开始测试第二个参数,直至7个参数全部测试完毕为止。由于GPRS模块通过串口与S3C2440A相连接,ARM处理器通过串口发送AT指令对GPRS模块操作。测试完成之后,ARM处理器对已存储参数的浓度进行数据传输,通过GPRS网络将数据传输到远端的PC机端。

本系统采用三星公司生产的ARM9芯片S3C2440A作为处理器,它是一款低功耗的32位处理器。系统选用的光谱仪为重庆大学微系统研究中心自主研发的微型光谱仪,光谱范围330 nm~780 nm,光谱带宽≤2 nm,波长准确性+0.9,分辨率≤2 nm,符合系统的要求。GPRS模块采用西门子公司生产的MC35I,该模块支持GPRS Class 8级以及短信功能。

3 系统的软件设计和数据处理

多参数微小型水质监测系统的软件设计由参数标定部分、参数吸光度值采集和处理、GPRS无线传输和控制部分组成。

3.1 参数标定及吸光度值采集和处理的设计

参数的标定是基于朗-伯比尔定律和仪器的系统误差考虑的。在每次测量之前要进行参数的标定,首先是设置光谱仪的参数即积分时间和参考电压,接着ARM系统向单片机系统发送命令,单片机系统控制各个机构。测试第一个参数,ARM系统控制光谱仪从中读取该参数的吸光度值,并存储在FLASH中,直至第七个参数测试完毕。此时,处理器根据存储的数据作出7条标定曲线,并显示在LCD上。在采集被测溶液的参数吸光度值时,步骤和参数标定基本相同,只是在最后使用标定曲线计算出该参数的浓度值。参数标定及吸光度值采集和处理流程如图3所示。

系统测试时可能会存在随机误差,由误差理论可知,当测量次数无限增大时,随机误差趋向于零,测量的算术平均值趋向于真值。但当n>10以后,算术平均值的标准差变化缓慢,因此,测试10次数据比较适中[4]。从图3的流程图中可以看出,系统标定和测试都是10次测量,所以本系统已从软件设计考虑,减少了系统的随机误差。

3.2 GPRS无线传输和控制设计

GPRS无线传输和控制的实现是通过GPRS的收发短信实现的。在使用GPRS网络传输时,首先利用PPP拨号,使GPRS模块和GPRS网络的网关支持节点GGSN建立一条逻辑通路,从而实现与Internet的无线连接,连接完成之后就可以实现短信的收发[5、6]。本系统设置了一些可以供远程管理员进行远程控制的指令,在短信接收阶段,ARM系统通过判断接收的短信内容是回复内容还是远程控制。如果回复内容是1,则说明PC机端已经收到发送的数据;如果回复内容是3,则说明PC机端没有收到发送的数据,继续重发;如果回复内容是2,则说明PC机端向ARM系统发送命令,这样就可以使测试人员不在现场时也能进行实时测试。图4为GPRS短信收发流程图。

在以上设计基础上,对样机的各个模块进行了加工、装配和联合调试,并且用触摸屏控制各个系统进行了综合调试。测试结果显示,各个机构的控制精度很高且工作速度也符合设计要求。光谱仪采集数据和GPRS模块远程传输控制正常,系统运行状态较好,整机工作稳定。

多参数微小型水质监测系统采用了嵌入式技术和GPRS技术进行设计开发,有效实现了对环境水样中的铬、铅、A表面活性剂、化学耗氧量(COD)、氨氮、总磷和挥发酚的实时检测与远程监测,与目前国内外同类水质监测系统相比具有体积小、可靠性高、效率高、成本低、功耗低、实时监控等特点。不仅保证了监控人员能够及时准确地收到多参数微型水质监测系统发送的水质数据,而且保证了多参数微型水质监测系统也能够及时收到监控人员的反馈信息,使用者和监控中心能做到实时通信,从而实现了真正的实时监测,具有良好的应用前景。

摘要:结合嵌入式技术和GPRS无线网络技术,提出一种新型多参数微小型水质监测系统。采用ARM9处理器S3C2440A作为主控制器,控制单片机工作﹑采集光谱数据和GPRS数据传输。单片机作为辅助控制器,对7种水质参数指标实时测量。采用触摸屏作为人机交互工具。

关键词:多参数,微小型化,嵌入式技术,GPRS

参考文献

[1]柴红柳.基于GPRS的环境水质pH值自动监测系统的研制[D].长春:吉林大学,2007.

[2]桑楠.嵌入式系统原理及应用开发技术(第2版)[M].北京:高等教育出版社,2008.

[3]钟章队.GPRS通用分组无线业务[M].北京:人民邮电出版社,2001.

[4]费业泰.误差理论与数据处理[M].北京:机械工业出版社,2000.

[5]赵立权.在Linux下实现安全PPP连接[J].云南师范大学学报,2002,22(3):7-10.

嵌入式监测系统 第8篇

物联网就是利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联系在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络[1⁃3]。大型物联网设备涉及的数据量较多,易受到恶意节点入侵,因此,需设计一种有效的监测系统,以保证大型物联网设备的安全性[4⁃6]。

目前,有关智能监测系统的研究有很多,相关研究也取得了一定的成果。文献[7]提出一种模拟信号监测系统,该系统主要包括摄像机、监视器、视频矩阵等,以模拟信号的形式对图像信息进行输送,通常应用于小区域内的监测;但该系统受到传输距离的限制,不能入网,监测方式过于单一。文献[8]提出一种基于PC的监测系统,该系统在监控终端安装若干个摄像机和视频采集设备,通过视频压缩卡对采集到的图像信息进行处理后,传输至监测中心;该系统功能较多,适用于现场操作,然而其稳定性较低,视频前端较为复杂,可靠性不高。文献[9]分析了一种阈值监测方法,将随机采集的数据点作为基本单位完成对事件的监测,依据监测数据之间的关系对容错进行检测,避免错误数据产生的负面影响;但该方法需要监测对象的先验知识,且无法根据实际情况自适应调整检测状态。针对上述方法的弊端,设计了一种智能嵌入式监测系统,给出了系统的总体结构,详细介绍了S3C2440处理器、RS 232串口、蜂鸣器、SD卡、NAND FLASH存储器和传感器的硬件结构。软件设计时,给出了系统的程序开发流程和建立Qt/Embedded项目文件的详细代码。实验结果表明,所设计系统整体性能优越。

1 智能嵌入式监测系统总体设计

本设计将S3C2440处理器作为核心控制器,在嵌入式平台上,依据传感器采集的监测数据对大型物联网设备的异常进行监测。当传感器向处理器传输的数据值高于报警阈值时,处理器将利用LCD液晶屏对结果进行显示,同时发出蜂鸣报警,把高于阈值的数据保存至嵌入式数据库中。系统总体结构如图1所示。

2 系统硬件设计

2.1 S3C2440处理器设计

S3C2440处理器是整个系统的核心,系统主要通过S3C2440处理器对大型物联网设备中的数据进行接收、显示与处理,以达到实时监测的目的。S3C2440处理器的硬件结构如图2所示。

S3C2440是一种性能非常高的32位微控制器,外围设备接口充分,能够使系统能耗达到最低。S3C2440处理器外扩FLASH和64 MB存储芯片,通过I/O接口扩展LCD屏、蜂鸣器和存储卡等设备,和JNS121模块共同完成无线通信。

2.2 RS 232串口设计

为了提供一个良好的硬件平台,本文选用由三星公司提供的YC2440开发板。通过YC2440开发板的扩展串口,利用S3C2440处理器的内部寄存器与UART接口有效实现RS 232串口功能,RS 232串口电路图如图3所示。

图3中,S3C2440芯片的管脚电平C401是1.8 V,因此,I/O口的逻辑电平C402最大只能达到3.3 V。为了使RS 232串口实现通信,还需在硬件上添加TTL电平至RS 232电平的转换电路,YC2440开发板焊接了SP323EEN芯片以实现转换电路的添加。

2.3 蜂鸣器硬件设计

本设计采用YC2440开发板上的蜂鸣器进行蜂鸣报警,蜂鸣器电路如图4所示。

当传感器向处理器传输的数据值高于报警阈值时,蜂鸣器被开启,通过BUZZER发出各种频率的声音,实现蜂鸣器报警。

2.4 SD卡电路设计

S3C2440处理器带有一个SD主机控制器,其兼容了SD协会(SDA)的标准规范,能够将外部存储设备直接和主机相连。SD卡电路图如图5所示。

SD卡的接口性能很强,访问速率可达50 MHz,具有8位数据引脚,其外部存储功能主要是通过YC2440开发板焊接的SDMMC芯片实现的,有助于应用程序的开发。

2.5 存储电路设计

所设计的大型物联网设备中智能嵌入式监测系统的内部存储器选用FLASH存储器。FLASH主要用于对操作系统与应用程序进行保存,包括NAND FLASH与NOR FLASH两种。NAND FLASH不仅存储空间大,且所需费用较低,所以本系统选用K9F2G08U0A型号的NAND FLASH芯片,其电路图如图6所示。

K9F2G08U0A的存储容量是2 GB,能够满足系统要求,存储功能主要通过K9F2G08芯片实现。存储器输入电压为1.5~1.8 V。I/O0~3是芯片的数据输入/输出端,如果将其看作写入端,可输入数据与命令,如果将其看作输出端,可读取数据。CLE与ALE主要用于命令锁存使能端与地址锁存使能端。

2.6 传感器模块

传感器主要用于对大型物联网设备中的数据进行采集,选用SHT11传感器,其是一种单芯片传感器模块,具有很高的可靠性与稳定性,且抗干扰性强,成本较低。将传感器无缝耦合至一个14位模/数转换器中,发送至S3C2440处理器上的串行接口电路。SHT11具有2线串行接口与内部电压调节功能,对数据的变化敏感,采集精度为±0.4,完全满足系统要求。图7描述的是S3C2440和SHT11的接口电路,S3C2440利用I2C总线对SHT11进行管理。

3 系统软件设计

3.1 程序开发流程

Qt是一种依据C++的跨平台GUI系统,可为用户提供建立图形界面的强大功能。Qt/Embedded为Qt的嵌入式版本,更加适合嵌入式环境。建立Qt/Embedded开发环境后,需对其程序进行设计,所设计系统的程序开发流程如图8所示。

3.2 建立Qt/Embedded项目文件代码设计

分析上述系统程序开发流程可知,建立Qt/Embed⁃ded项目文件代码是整个软件设计的基础和核心,因此,对其实现代码进行设计:

4 实验结果分析

4.1 实验环境

为了验证本文设计系统的有效性,需要进行相关的实验分析。实验将模拟信号监测系统作为对比,在表1描述的环境下进行实验。

PC机配置如下:Window 8.0,CPU为Intel Pentium Dual Core。

4.2 监测精度测试

分别采用本文系统与模拟信号监测系统对大型物联网设备进行智能监测,对两种系统的查全率与查准率进行比较,结果如表2所示。

%

分析表2可知,随着监测数据量的逐渐增加,本文系统和模拟信号监测系统的查全率与查准率均逐渐降低,但和模拟信号监测系统相比,本文系统的查全率与查准率下降幅度较小,说明本文系统具有更高的监测精度。

4.3 监测实时性测试

为了验证本文系统的监测实时性,对本文系统与模拟信号监测系统的最大响应时间和最小输出延迟时间进行比较分析,结果如表3所示。分析表3可知,和模拟信号监测系统相比,本文系统的最大响应时间与最小输出延时均较优,说明本文系统不仅监测精度高,而且实时性较强。

s

为了进一步验证本文系统的有效性,对本文系统和模拟信号监测系统的运行数据进行比较分析,结果如表4所示。

分析表4可知,当监测数据量相同时,本文系统的CPU使用率、服务器响应时间、磁盘使用率和服务器响应均明显优于模拟信号监测系统,进一步验证了本文系统的有效性。

5 结论

本文设计了一种智能嵌入式监测系统,给出了系统的总体结构,将S3C2440处理器作为核心控制器,依据传感器采集的监测数据对大型物联网设备进行异常检测,当传感器向处理器传输的数据值高于报警阈值时,处理器将利用LCD液晶屏对结果进行显示,发出蜂鸣报警,把高于阈值的数据保存至嵌入式数据库中。详细介绍了S3C2440处理器、RS 232串口、蜂鸣器、SD卡、NAND FLASH存储器和传感器的硬件结构。软件设计时,给出了系统的程序开发流程和建立Qt/Embedded项目文件的详细代码。实验结果表明,所设计系统不仅监测精度高,且实时性强,整体性能优越。

参考文献

[1]刘佳.物联网技术的嵌入式矿下环境监测系统设计[J].单片机与嵌入式系统应用,2015,15(9):73-76.

嵌入式监测系统 第9篇

随着电力工业的发展,电力生产的供需矛盾的缓和,对电力网的电能质量的要求已提到议事日程上来。近年来,随着农村电网改造的不断深入和农村电气化程度的不断提高,在农村用电系统中投入了大量非线性、非周期性负荷,使电网谐波含量急剧增加,电能质量日趋恶化。同时,由于农网线路绝缘老化、电气维修误操作或触电等造成的漏电事故也屡有发生。而对于线路漏电发生的地点、故障时间、漏电流的大小同样缺乏监测。传统的电能质量监测仪价格昂贵、功能单一、用户维护升级比较困难,不具备数据远传和远程监控功能,农村地区专业技术人员比较少,当变压器等电力设备出现故障,专家又由于地域等实际原因不能及时赶到,往往会产生经济损失[1]。因此,迫切需要开发一种农村电网电能质量综合监测系统,对电网的关键参数进行实时监测。

目前电能作为一种使用最为广泛的能源,其电能质量已经成为供用双方共同关注的问题[2]。随着国家对电能质量监测设备通用要求的最新标准GB/T 19862-2005的出台(该标准已于2006-4-1开始实施),市面上能够符合要求的电能质量监测设备为之甚少,在测量参数上新标准已把闪变列入测量仪器的基本功能,而在记录存储功能上主要是对监测设备存储容量的要求有了较大提高,另外在电子设备日趋网络化的背景下,当前广泛使用的以太网以及TCP/IP协议已经成为事实上最常用的网络标准之一,它的高速、可靠、分层以及可扩充性使得它在各个领域的应用越来越灵活,很多情况下运用以太网和TCP/IP协议能够简化结构和降低成本,因此把以太网技术融入电能质量监测设备作为远程通讯的手段是将来的必然趋势。

嵌入式系统(Embedded System)是当前在消费类电子产品种被广泛应用的系统构成方式,它是单片机技术与传统消费类电子产品技术充分结合的一种表现形式,把操作系统和功能软件集成于计算机硬件系统中,具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。

1硬件设计

考虑到新标准对谐波及闪变的测量要求较高,本设计使用的DSP为德州仪器公司(TI)生产的TMS320F2812,该芯片的工作频率可达到150 MHz,是工业界首批32位面向自动控制、最优网络、工业驱动器、智能型传感器等领域的DSP,具有128K×16位的片上FLASH,18K×16位的片上RAM以及大量的片上外设[3]。整个系统的硬件结构如图1所示。

其中CPLD配合DSP完成对外围器件的地址译码及数据传输控制、锁存等逻辑功能,SRAM使用128K×16位的IS61LV12816,作为程序调试时使用,以太网控制芯片和SRAM共享数据总线和地址总线,它们的片选信号均由CPLD产生。

1.1DSP与SD卡的接口设计

SD卡SanDisk的一款容量为128MB的SD卡,它有两种工作模式,即SD和SPI模式,应用中可以任意选择其中的一种,本设计选用SPI模式, DSP与SD卡的接口连线如图2所示。

SD卡共有9根引线,当它用作SPI模式时只用到了其中的4个信号,CS:片选信号,在整个SPI操作过程中必须保持低电平有效,该信号由CPLD产生;SCLK:时钟信号;DI:主机到卡的数据信号,该信号线不但传输数据,还发送命令;DO:卡到主机的数据信号,该信号线除了发送数据外还发送应答信号。

1.2DSP与以太网的接口设计

以太网控制芯片使用的是SMSC公司推出的为嵌入式应用系统设计的第3代快速以太网控制器LAN91C111,该控制器集成了SMSC/CD 协议的MAC(媒体层)和PHY(物理层)。由于其灵活性和集成度高,具有较高的性价比。支持10Mbit/s~100 Mbit/s的自适应传输速率,遵循IEEE802.3以太网传输协议,充分支持全双工交换式以太网,其与DSP的接口如图3所示。

其中DSP所用到的外部数据总线和地址总线均为16位,LAN91C111的数据总线用到了低16位,而高16位悬空不用,它的片选信号由CPLD产生。由于LAN91C111内部集成EEPROM,所有内部寄存器的初始值可预先放在EEPROM中,系统上电时实现自动初始化。

2软件设计

DSP程序使用C和汇编混合编程的方式,并移植了μC/OS-Ⅱ实时嵌入式操作系统来实现对系统多任务的管理。在本设计中对于实时性要求高的关键运算使用汇编,然后再通过C来调用汇编函数,如FFT的程序设计。根据电能质量监测仪的功能要求,将系统分为交流采样模块、数字滤波模块、FFT模块、参数计算模块等共10个任务和2个中断来实现,每个任务根据其实时性的要求并参照单调执行率调度法RMS分配一定的优先级,任务及中断的定义如表1所示。

软件设计的第一步是在F2812上移植μC/OS-Ⅱ内核,需要分别修改和编写OS_CPU.H、OS_CFG.H、OS_CPU_A.ASM和OS_CPU_C.C这4个文件。限于篇幅, C/OS-Ⅱ内核的具体移植过程可参考文献[4]。

2.1SD卡接口程序设计

在SPI模式中,SD卡支持单多数据块的读写[5],其中底层的驱动主要由以下7个函数构成:

(1)SdWrite(unsigned char n) - 往SD中写1字节函数;

(2)SdRead( )- 读1字节函数;

(3)SdResponse( )-读SD卡响应函数;

(4)SdCommand(unsigned char command, unsigned long argument, unsigned char CRC) - 发送命令函数;

(5)SdInit(void) - SD卡初始化函数;

(6)SdWriteBlock(unsigned char *Block, unsigned long address)-往SD卡中写块函数;

(7)SdReadBlock(unsigned char *Block, unsigned long address) - SD卡读块函数;

此处以单块数据写入为例来说明DSP对SD卡的写操作,当SD卡接收到单块写命令CMD24后,卡将发送给主机一个应答令牌,并且等待主机发送一个数据块来,当应答为0时可以发送数据,一块的大小为512字节,卡对每个发送给自己的数据块通过一个应答令牌确认,当该令牌的低5位为'00101'时,数据块才被正确的写入SD卡。如果需要从SD卡中读一个数据块则需发送读块命令CMD17,当应答为0时就可读取一个块的数据了。

在SD卡的SPI模式中,命令的格式为6个字节,第一个字节的高2位为01,低6位为命令字,第2~5个字节为32位的数据写入地址,第6个字节的高7位是CRC校验,最低位是截止位1。在一个数据块的发送中,首先发送一个字节的数据令牌0xFE,随后是512字节的用户数据,最后是2个字节的CRC。

2.2 μC/OS-Ⅱ的移植及以太网接口程序设计

由于μC/OS-Ⅱ仅仅是一个实时的任务调度及通信内核,没有集成网络协议,因此本设计中引入了一种经过裁减的轻型TCP/IP协议栈-LWIP[6]。LWIP 是瑞士计算机科学院(SCICS)的Adam Dunkels 等开发的一套用于嵌入式系统的开放源码的下轻型TCP/IP 协议栈,具有较为完备的IP,ICMP,UDP,TCP 协议,LWIP重要特点是在保持协议主要功能的基础上减少对RAM 和ROM 的占用,一般它只需要几十KByte的RAM 和40KByte 左右的ROM 就可以运行,这使LWIP 协议栈很适合同μC/OS-Ⅱ相配合在嵌入式系统中使用。

在μC/OS-Ⅱ上移植LWIP需要修改/src/arch目录下与硬件、OS、编译器相关的文件。分以下步骤完成。

(1)修改/src/arch/include/arch 目录下cc.h,cpu.h,perf.h中有一些与CPU 或编译器相关的定义。

(2)修改sys_arch.c中与操作系统相关的一些结构和函数。包括把μC/OS-Ⅱ中OS_EVENT函数重新包装成sys_sem_t结构中的函数、实现消息队列结构sys_mbox_t以及相应的操作函数、实现sys_arch_timeout函数、实现创建新进程函数sys_thread_new。

(3)修改lib_arch中的库函数。包括u16_t htons(u16_t n); u16_t ntohs(u16_t n);//16 位数据高低字节交换、int strlen(const char * str);//返回字符串长度、int strncmp(const char * strl,const char * str2,int len);//字符串比较、void bcopy(const void * src, void * dest, int len);//内存数据块之间的互相拷贝、void bzero(void *data, int n); //内存中指定长度的数据块清零。

引入了TCP/IP 协议栈之后,为了实现以太网通信功能还必须完成相关网络设备驱动程序的添加。LAN91C111 工作流程比较简单,驱动程序主要包括初始化、发送数据包、接收数据包和以太网中断服务程序这四个部分,通过修改src/netif/目录下的ethernetif.c文件来实现。

(1)初始化函数void ethernetif_init (struct netif*netif),用于初始化网卡芯片,在程序启动之初调用,主要完成对网卡芯片的复位、寄存器赋值、确定工作方式等。

(2)发送数据包函数,void ethernetif_output(struct netif*netif, structpbuf*p, struct ip_addr*ipaddr),该函数对LAN91C111的寄存器进行设置并启动发送。在发送中断服务子程序中判断发送是否成功。流程如图4所示。

(3)接收数据包函数,void ethernetif_input(struct netif*netif),该函数的功能是设置接收控制寄存器中的RXEN=1,允许接收包。在接收中断服务子程序中读取包。

(4)以太网中断服务程序主要包括发送中断、接收中断、存储空间分配中断等子程序。

3系统测试

此处我们选用河南思达科技发展股份有限公司生产的精密测试电源JCD4060作为信号源,完成对下位机硬件的测试。表2给出了3~21次谐波含有率的测试结果,设定电压输出信号为:

uabc(t)=2202sin(2πft)+662sin(6πft)+552sin(10πft)+442sin(14πf)+332sin(18πft)+222sin(22πft)+152sin(26πft)+112sin(30πft)+92sin(34πft)+72sin(38πft)+42sin(44πft)

从表中测量数据可以看出,当谐波含有率<30%时,系统对谐波含有率测量的最大误差<2%,并且随着谐波含有率的减小,测量误差也会减小。根据国家标准GB/T14549.1993《电能质量共用电网谐波》中关于测量谐波的方法、数据处理及测量仪器的规定可知本系统的测量精度达到国家B级标准。

4结语

本系统以高性能32位DSP为核心,把SD卡和以太网技术应用于新型电能质量监测仪中,并移植了μC/OS-Ⅱ嵌入式实时操作系统,克服了以往监测仪存储容量较小、远程通信困难的缺点,具有运算速度高、数据存储量大、远程通信方便快捷等特点,通过远程实时监测电网各参数使农村电网配电自动化程度有了明显的提高。目前本系统已申报专利,专利名称:基于因特网的远程电网参数监测仪;专利类型:实用新型;专利号:200620074992.3。

参考文献

[1]朱孝勇,李正明.基于远程虚拟仪器的农村电网电能质量综合监测系统研究[J].中国农村水利水电,2005,(5):112-114.

[2]邓少军,张振川.电能质量监测设备的发展[J].电测与仪表,2005,42(473):7-9.

[3]TMS320F2810,TMS320F2811,TMS320F2812,TMS320C2810,TMS320C2811,TMS320C2812,Digital Signal Processors DataManual[Z].Texas Instruments,2003.

[4]刘幼林,姬劳.基于TMS320F2812+uc/OS-II的断路器智能控制单元设计[J].电气应用,2006,25(1):29-32.

[5]周燕艳.Secure Digital Card(SD卡)与LPC2210的接口设计[J].微型电脑应用,2006,22(2):48-49.

嵌入式监测系统 第10篇

2006年全国医疗大型医用设备使用情况调查统计显示,检查类设备收入占全院设备营业收入的69.1%以上。而在医疗设备的使用过程中存在着大量的私收、漏费、人情等问题,漏费额度是相当惊人的,给医院造成很大的经济损失和不良的影响。近10 a来,随着硬件技术的进步和嵌入式操作系统的飞速发展,采用嵌入式微处理技术应对医院大型医疗设备漏费问题成为可能。

本研究从改变大型设备的传统工作流程入手,将嵌入式系统融合进了大型设备的使用过程中,在此基础上开发出相应的大型设备漏费监测管理软件,可以有效地解决医院存在的少收、漏收、人情费等问题,完善了医院监督管理机制,从而大幅度提高了医院的经济效益。同时,本研究对嵌入式微处理技术在HIS上的深层应用进行了探索。

2 系统工作原理

医疗设备漏费监测系统的工作原理是通过特定的智能传感器检测患者在检查或检验过程中医疗设备所表现的电器特性和物理特性来区分不同的人次,并且详细记录医疗设备的使用信息,如:每次检查的操作人员、所使用的设备、检查项目收费金额、操作时间、检查人次、每次检查的耗时、患者的发票号码等。患者检查前首先需交费,通过医院HIS收费系统开交费发票,同时HIS服务器将发票号发给漏费控制服务器,患者进入检查室,在检查之前需输入发票号,该发票号将与系统服务器的发票进行比较。如两者一致,则可以进行正常检查;如果没有输入发票号或输入发票号不正确就做检查,系统将会报警并记录违规操作。为实现与目前最常用的医院收费HIS无缝通讯,控制器按TCP协议接收和发送数据。

工作流程如图1所示。

系统整体架构如图2所示。

3 系统的设计方案

3.1 系统软件架构模式

嵌入式系统的软件架构需要一种简捷、易于实现的设计模式,从而使程序代码易于读写、修改和维护。只有系统在清晰的逻辑控制下运行才能保证其可靠性与稳定性。软件系统原理如图3所示。

3.2 系统数据流

利用Linux系统的消息队列把输入/输出设备管理模块、图形界面和业务控制模块进行有效的解耦合。把输入/输出设备管理模块单独放置在一个进程中,采用I/O复用模型或多线程阻塞方式来处理每个设备的输入输出。从外设输入的数据通过输入消息队列发送给业务控制模块,输出设备从输出消息队列接收要发送到外设的数据。把业务控制模块放在另一个进程中,根据控制流程处理各种输入/输出数据以及更新图形界面显示,但不直接对外设进行操作(该操作由输入/输出设备的管理进程实现),只是对消息队列进行读写处理。通过消息队列可以可靠地传递各设备发送或接收的数据。由于消息队列具有缓冲功能,该实现方法可防止输入设备读取数据(如键盘按键信息)的丢失问题。同时,排除了没有解耦合的设计中,业务控制模块要同时处理外设,而外设的阻塞容易导致系统用户界面操作响应迟钝的问题。如图4所示。

3.3 信号采集方案和调制电路

该系统中的信号采集部分是系统设计的关键。对信号采集的方案进行研究,并着重阐述以称重传感器EB9172为信号采集源、以INA125仪表运放为信号放大器的信号采集方案。在应用中采取如下措施:将采样频率设置为50的倍数,每组数据采样时间设为20 ms,增设调零电路,将普通电阻换为精密电阻,解决了信号的干扰问题,较好地实现了系统中信号的采集。

3.3.1 信号采集方案

使用称重传感器,将传感器安装在医疗设备的检查床或检查椅的4条腿下面。当有检查者上床或坐椅检查时,称重传感器就能检测到信号。该方案通用性更好,安装更方便,对医疗设备的影响更小,成本也较低。

3.3.2 信号调理电路

从EB9172传感器输出的电压信号很微弱(mV级),不能直接送到后续电路处理。必须由合适的信号调理电路对信号进行放大和滤波处理。本系统拟采用的是INA125运放信号放大器,它是一种低功耗、高精度的差分运算放大器,对小信号放大具有很好的线性和稳定性。该运放还能输出高精度的2.5、5和10 V的基准电压,从INA125输出10 V基准电压直接给传感器供电,省去了电桥的电源设计,这样既方便了设计,也减少了电源之间的相互干扰。

4 嵌入式漏费控制相关设备开发

在软件开发方面,方式灵活多变,可根据医院的实际情况,采用多种不同的模式运行。既可独立运行,也可以与医院原有HIS联网运行。软件主要包括以下几部分:

(1)后台主控系统。后台主控系统是嵌入式微处理软件系统的指挥中心,它可向前端各管理控制器“发号施令”,指挥各管理控制器的开启与关闭。各管理控制器接不到指挥系统收费指令时不能开启。因此,被管理设备控制后的医疗设备也无法正常工作,从而实现了不交费不能做检查的目的。

(2)前端管理控制器。管理控制器在嵌入式微处理成本效益分析系统中是“执行者”。它受后台主控系统的指挥,在得到后台主控系统授权后可开启或关闭医疗设备。

管理控制器由主机和传感器两部分组成。主机实时对传感器采集到的医疗设备工作信息和患者的检查信息进行了分析判断,判断医疗设备是否正常工作、患者是否交费、检查过程中是否换人等信息,从而达到控制目的。在使用时首先把医疗设备显示器上的信号线拔下,插接到留有标准接口的管理控制器上的输入端,然后,将管理控制器的信号输出端再插接到显示器的输入端,连接完毕的医疗设备就必须通过管理控制器才能传输到显示器上,再贴上专用封签,这样就完成了医疗设备控制的第一步。对于无显示器或小功率的医疗设备,采取卡断操作开关,或电源进行控制;由于该设备功率和工作电流小,所以不会影响医疗设备使用寿命。

(3)人体探测、红外传感等精密传感器。在检查床和医疗设备上安装人体探测、红外传感等精密传感器,将医疗设备的工作信息和患者的综合信息,传输给管理控制器主机进行数据分析,实时判断医疗设备是否违规操作、是否换人检查等,从而达到控制的目的。

5 系统与HIS关联及安全性

5.1 系统与HIS的对接

要完成两者的对接,HIS供应商可以以文本文件或数据库的形式提供数据。如果依数据库形式提供,可以在对HIS数据库没有任何影响的情况下,通过现有的HIS数据库基本信息,建立一个新的数据库,由新的数据库同步完成存储患者的交费信息,这些信息包括:患者姓名、交费金额、检查类别、检查项目名称等。在HIS系统打印票据的同时,新数据库的信息会传输到检查科室的管理控制器上,管理控制器接到信息后一旦核对成功,该患者即可做检查,管理控制器把检查信息通过网络回传给管理系统的数据库,以便核对和查询。然后用网线把这些控制器连接到控制服务器,同时和医院原有的微机收费网络对接,能够准确地统计出每种医疗设备的收入。

5.2 安全性解决方案

为解决系统安全性,采用以下方案:

(1)系统设置多级口令,严格划分操作权限。未授权者不能进入系统操作,未授予子模块操作权限者也不能操作执行子模块。系统设置数据备份和数据恢复功能,重要数据在输入过程中自动备份。如果在操作过程中出现意外故障,可以自动进行数据恢复。不管发生任何故障,均能确保系统数据安全,保证正常运行。

(2)按照事务管理规律,整理出数据校验、纠错模型。从程序设计上实现计算机自动校验、纠错,并对用户输入的信息进行界限或逻辑上的核验,限制非法录入,做到迅速、准确、及时地纠正、提示数据输入过程中的错误。计算机自动验证处理设备编号,确保唯一性,避免重复;处理数据时每台设备同一数据只能一次输入,重复输入会被拒绝,并给出错误提示;有错漏时计算机会自动提示错漏数据的设备编号,只能修改,不能删除,保证数据的完整性;发生数输入为“0”时,须经过系统逻辑分析判断后,才确定接收,确保系统数据运算的正确性。对于用户错误操作可以进行必要的出错处理,使用FOXBASE+提供错误处理调用命令ON ERROR做一般的错误处理,再利用汇编语言编写一段错误处理程序,编译成.EXE文件后再转成.BIN调用,处理严重性错误,避免引发DOS的严重错误处理程序,保证系统在运行过程中的任何情况下不死机。

6 结论

我国是一个卫生资源相对贫乏的国家,但是在医疗设备的配置使用中由于缺乏有效的管理,资源的浪费非常惊人。该系统在实现功能的同时,采取灵活多变的运行模式,为医院医疗设备漏费控制提供了一套可行的解决方案,实现了患者不交费医疗设备不工作的目标,杜绝了人情检查和乱收费等不良现象,让长期以来医院管理者最头痛的问题变成了医院一个新的利润增长点。

参考文献

[1]吕雪峰,赵军芬.嵌入式系统软件设计模式研究与应用[J].单片机与嵌入式设备应用,2007(10):9-11.

[2]陈焱焱,孔晓玲,刘权,等.医疗设备漏费控制系统的信号采集方法及其实现[J].现代电子技术,2006(20):127-129.

[3]郁有文,常健,程继红.传感器原理及工程应用[M].2版.西安:西安电子科技大学出版社,2003.

[4]张青波,何加铭.基于ISP1760的嵌入式USB Host接口设计[J].宁波大学学报:理工版,2008(1):15-18.

上一篇:项目安全质量管理论文下一篇:计算荷载