DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 652|回复: 0
打印 上一主题 下一主题

[安防] 基于ARM的城市供水站分布式监控系统

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-16 18:47:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                    ???? 城市供水系统担任着为整个社会提供安全的生活工业用水以及合理调度用水环节、保障用水合理性的重要职责,是整个社会正常运行的命脉。而各个供水站又是整个供水系统中最为核心的工作部分。因此,城市供水站监控系统就显得特别重要。
  当前城市供水站监控系统多以单片机为核心,将外部传感器数据进行A/D转换后接入单片机,其精度可达12位,数据经过处理后用点阵显示屏显示。单片机为8位中央处理器,这对于要求较高的领域显得稍有不足。下位机与上位机之间多采用串口进行通信。串行485接口采用差分方式传输,传输距离最大可达1 200 m,但此距离速率只能达到100 Kb/s,且485在任何时刻只允许一个下位机向上位机传递数据,使得这种通信方式受到了一定限制。
  嵌入式处理器和以太网技术的飞速发展为这些问题提供了解决的途径。
  嵌入式处理器处理速度快、精度高、扩展接口丰富,且具有良好的人机交互性。以太网通信技术则以其实时性强、通信速度快、兼容性强、网络布线方便的优点,越来越受到人们的青睐。本文以ARM嵌入式处理器为核心,搭载WinCE嵌入式系统,结合TCP/IP通信协议,设计出基于ARM和TCP/IP的城市供水站高速数据采集系统。并对下位机数据采集程序、上位机程序以及系统通信的实现进行了详细的叙述。
  1 系统的总体架构及硬件设计
  1.1 系统的总体架构
  数据采集与监控系统的下位机以ARM9系列的三星S3C2440A嵌入式处理器为核心,处理器的主频400 MHz,最高达533 MHz,处理速度快,内置8路10位A/D转换器,最高转换频率为2.5 MHz,数据采集速度和精度都很高。在ARM9的基础之上搭载WinCE嵌入式操作系统,该操作系统具有与Windows XP相似的界面和操作,操作起来更加简便快捷;支持多系列的微型处理器,包括ARM系列,使下位机在硬件和软件方面得到了完美的融合。下位机接收传感器采集的数据,然后通过TCP/IP协议与上位机进行通信,上位机得到下位机传来的数据后进行数据存储、显示、报警操作。上位机进行远程监控并完成对各个下位机信息的汇总和分析处理等功能,系统结构如图1所示。




  传感器采集的外部数据经过放大、滤波等消除干扰的操作后接入ARM内部A/D转换器,在嵌入式系统中进行处理,并在下位机显示屏上进行显示和相应地人机操作。下位机扩展在板64 MB SDRAM内存和在板128 MB Nand Flash存储并支持32 GB的外部SD扩展槽,满足本机运行以及存储要求。扩展的RJ-45接口作为与上位机进行通信的接口。IIC总线以及其他接口作为扩展和其他功能用。
  TCP/IP协议使用客户端/服务器(C/S)模式进行通信,其通信是点对点的,在网络中几乎可以实现无差错的数据传输,可靠性较高,速度快。由于与网络相关的路由和网关等技术的发展,使得多路通信的实现变得简单方便。
  下位机ARM扩展了网络RJ-45网络接口,使上下位机之间实现TCP/IP通信变得更加简单。
  每个供水站的下位机在将数据处理完毕之后,通过RJ-45网络接口与上位机相连,多处下位机通过路由器接入网络,然后再与上位机进行通信。其结构图如图1。
  2 供水站分布式监控系统的软件设计
  供水站分布式监控系统的软件设计包括下位机地址映射、下位机数据处理及显示、数据通信以及上位机程序的实现。
  2.1 下位机地址映射与实现
  下位机搭载WinCE操作系统,ARM数据采集是通过GPIO来操作相应的寄存器,WinCE系统则将GPIO的实地址映射到虚拟地址空间,通过对虚拟地址空间的操作来完成对GPIO及其他片内资源的控制。要在WinCE中操作ARM中的GPIO,就必须按照BSP中的基地址找到相应的虚拟地址。这就需要对其进行地址映射。图3为地址映射原理图。




  上位机作为服务器端,对设定的端口一直进行监控,因此运用多线程进行循环*,直到相应的操作使其停止。
  2.4 上位机显示报警及数据存储实现
  上位机是整个系统监视的核心,数据显示为了直观,采用动态曲线显示;并进行声音报警,采用数据库将数据进行存储,上位机系统显示界面如图5。




  上位机动态曲线显示利用画刷、曲线等函数进行绘制,当数据接收进来后绘制相应的曲线,并且随着数据的增多曲线进行移动,使显示的曲线一直为当前一段时间的数据。报警的实现比较简单,只需在数据超限的时候调用Beep??? 蜂鸣函数即可。
  上位机的另一个主要的功能就是对数据进行存储,以便在以后调用。数据存储利用ADO对数据库进行访问。
  ADO是一个用于存取数据源的COM组件,是微软最新的对象层次上的数据操作技术,它为操作OLE DB数据源提供了一套高层次自动化接口。从功能上来说,ADO又是一种OLE DB客户程序,它不依赖于特定的OLE DB服务器反而支持所有的OLE DB服务提供者。通过这些OLE DB服务提供者,ADO支持客户/服务器模式和基于Web的数据操作,尤其支持通过客户/服务器模式或者基于Web模式访问微软的SQL Server数据库服务器[9]。
  用ADO的Connection、Command、Recordset等一系列关键对象,在数据库中建立表格对当前日期、时间以及传感器数据进行实时的自动存储。
  为保证程序的运行状况,运用多线程实现对规定数据的储存操作。
  本系统实现了对下位供水站数据的精确和高速的采集,并能将下位数据在嵌入式下位机系统中进行显示,实现在现场对数据进行观测和处理,同时又可以将现场的数据传输到上位机中,将不同下位机中的数据传输到上位机中进行汇总和相应的操作,实现了远程的监控和管理。此系统对其他的数据采集和监控系统来说也具有很好的参考价值。
            
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-28 01:53 , 耗时 0.084330 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表