datasheet
超过460,000+ 应用技术资源下载
pdf

基于ARM的通信电源监控系统的研究

  • 1星
  • 日期: 2014-03-05
  • 大小: 2.51MB
  • 所需积分:1分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 基于ARM的通信电源监控系统的研究

通信电源监控系统是一个分布式计算机控制系统,它集中并融合了传感器技术、现代计算机技术、通信技术、网络技术和人机系统技术的最新成果,能够实现遥测、遥信和遥控三遥功能,对实现现代化的通信电源维护和科学管理有着重要的意义。随着嵌入式技术近年来的发展,嵌入式系统在传统的工业监测、机械控制,及新兴的移动通讯、数字娱乐方面的应用越来越广泛。在工业领域,传统的监控系统主要以单片机为硬件载体进行设计,功能相对单一,可视化及扩展性有限。随着Linux系统的不断升级换代,现在出现了以ARM芯片为载体,以Linux系统为软件平台的新一代监控系统。它除了能实现原有单片机的功能外,还具备网络通信功能,其设计过程及界面更加人性化。 本文以基于ARM构建的嵌入式系统为软硬件平台,探讨了其在电源监控领域的应用。首先,本文讨论了通信电源监控系统的功能、组成、体系结构、组网方案、监控对象及监控点的选取等内容。在此基础上重点对局站中心SU作了设计,包括整体结构、设备、组网等,并给出前置单元嵌入式系统硬件结构、系统软件和监控软件的实现。最后,介绍了嵌入式WEB服务器和嵌入式数据库在嵌入式系统中的应用,并给出本系统使用的BOA服务器和SQLite数据库的实现方法。

武汉理工大学 硕士学位论文 基于ARM的通信电源监控系统的研究 姓名:成小霞 申请学位级别:硕士 专业:控制理论与控制工程 指导教师:罗惠谦 20090501 武汉理工大学硕士学位论文 摘要 通信电源监控系统是一个分布式计算机控制系统,它集中并融合了传感器 技术、现代计算机技术、通信技术、网络技术和人机系统技术的最新成果,能 够实现遥测、遥信和遥控三遥功能,对实现现代化的通信电源维护和科学管理 有着重要的意义。 随着嵌入式技术近年来的发展,嵌入式系统在传统的工业监测、机械控制, 及新兴的移动通讯、数字娱乐方面的应用越来越广泛。在工业领域,传统的监 控系统主要以单片机为硬件载体进行设计,功能相对单一,可视化及扩展性有 限。随着Linux系统的不断升级换代,现在出现了以ARM芯片为载体,以Linux 系统为软件平台的新一代监控系统。它除了能实现原有单片机的功能外,还具 备网络通信功能,其设计过程及界面更加人性化。 本文以基于ARM构建的嵌入式系统为软硬件平台,探讨了其在电源监控领 域的应用。首先,本文讨论了通信电源监控系统的功能、组成、体系结构、组 网方案、监控对象及监控点的选取等内容。在此基础上重点对局站中心SU作了 设计,包括整体结构、设备、组网等,并给出前置单元嵌入式系统硬件结构、 系统软件和监控软件的实现。最后,介绍了嵌入式WEB服务器和嵌入式数据库 在嵌入式系统中的应用,并给出本系统使用的BOA服务器和SQLite数据库的 实现方法。 关键字:电源监控, ARM,Linux, SQLite, 嵌入式web服务器 武汉理工大学硕士学位论文 ABSTRACT Communication Power Supply Monitoring System is a kind of distributed computer control system,and it focus on the integration of sensor technology,modem computer technology, communications technology, network technology and human.machine system of the latest achievements of technology.It can achieve telemetry.remote and remote control three remote functions.It has an important significance to realize the modernization of Maintenance and scientific management power to maintain communication. With the development of embedded technology in recent years.embedded systems are gradually having more and more extensive applications。whether in the traditional industrial monitoring,machine control,or the emerging mobile communications,digital entertainment.In the industrial field。the traditional monitoring system mainly used single—chip vector for the hardware design.and it features of Simple function.1imited Visualization and limited expansibility.With the Lmux system continuous upgrading and now appears next。generation momtonng system which uses ARM chip as a carrier system to Linux software platform.In addition to the achievement of its ori2inal function of SCM,it strengthens Network communication function,and makes designing process and interface more user—friendly. In my paper,it explores the applications in the power monitoring applications area of the ARM.based embedded systerns built for the platform.First of all-this article introduces the contents of components,architecture,function,network programs,and the selection of monitoring obj ects and point of the communication power supply monitoring and control system.On this basis,it Focus on the design of SU centers. including the overall structure.equipment.network.It also gives the structure of software and hardware,and the realization of system software and monitor software of embedded system which acts as pre—module unit there.Finally,it introduces the application of the embedded、忱B server and embedded database in the embedded systems,and giyes the actualized means of the BOA server and the SQLite database which the system uses. key words:Power Monitoring,ARM,Linux,SQLite,Embedded Web Server Ⅱ 独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 关于论文使用授权的说明 本人完全了解武汉理工大学有关保留、使用学位论文的规定j即学校有权 保留、送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 (保密的论文在解密后应遵守此规定) 签名:成·l、霞 导师签名: 日期: r.弓/ 武汉理工大学硕士学位论文 第1章绪论 1.1课题研究背景和意义 随着我国国民经济的快速发展,通信网络的建设也得到了迅速的发展。信 息产业不仅成为我国国民经济发展的支柱产业,也成为与全国人民日常生活休 戚相关的民生基础。通信电源系统是通信网络的核心组成部分之一,通信电源 给通信设备提供交、直流电能源,在通信网中的位置极其重要,被喻为通信网 和通信设备的“心脏”。作为通信网络动力基础的通信电源,其供电质量的优劣和 可靠性的高低直接影响着通信设备的运行质量和可靠性,进而影响到整个通信 网络的运行质量和可靠性。为了保证整个通信系统的畅通,必须对电源设备进 行监控,通信电源监控系统应运而生。 通信电源监控系统是对分布的通信电源设备和机房空调、照明等设备设置 必要的监控点,进行实时监控,自动监测和处理系统内各种设备的故障,实现 人工方式无法实现的不间断自动巡检、发生故障自动报警,值班人员在监控中 心能实时查看到电源设备的运行情况,提高维护工作效率。 通信电源集中监控的指导思想是实现对通信网上供电系统的监测和早期预 警(如过压、欠压)。监控系统最核心和最重要的功能是故障报警和实时监测, 监控系统的关键,主要是看其能否长年不问断、稳定、可靠、实时地对通信电 源设备进行监测与预警。因此,我们需要建立一个实用、稳定性强、界面友好、 维护量相对小、性价比高、能够切实被通信值班人员使用且能充分发挥最大效 用的监控系统。采用通信电源监控系统具有以下现实意义: (1)提高对通信电源设备的维护管理水平。 (2)提高通信电源供电质量,使供电系统具有更高的可靠性和经济性。 (3)充分发挥计算机技术优势,使电源设备管理向自动化、智能化方向发展。 (4)实现通信电源设备少人、无人值守和集中维护。 (5)提高维护效率,降低了维护成本 武汉理工大学硕士学位论文 1.2通信电源监控系统研究现状 在国内,监控系统起源于上世纪90年代,当时这些系统都是由电源设备生 产厂家进行开发的,只能接入单一类型的电源设备,这就造成了一个监控中心 要运行开关电源、油机和空调等多套监控系统,甚至单开关电源就包括了不同 品牌的多套监控系统。多系统难以进行统一管理和集中监控,且各系统的功能、 机制、协议、接口也存在较大差异,很难进行互联。针对这种情况,建设通信 电源集中监控管理系统的思路和要求就相应的被提出来了。 我国电源设备集中监控系统的发展经历了十几年,无论在技术上、系统建 设规模上,还是在系统运行维护上,都有了长足的进步,监控系统建设数量不 断增加,系统规模不断扩大,监控技术日趋成熟,系统模式日趋稳定,相关电 子网络技术与监控技术不断发展相互促进,使得监控系统相关标准规范日趋完 善,监控市场逐步走向规范化。 通信电源集中监控技术在发展过程中也暴露了许多问题,归纳起来主要有 以下几个方面11】: (1)可靠性问题。按照要求,通信电源集中监控系统的采用不应影响被监 控设备的正常工作,但在监控系统的建设中却有相反的情况发生。另外监控系 统的软硬件质量不过关,也影响了监控系统的使用。 (2)可维护性问题。监控系统必须是一个“可持续发展”的系统,这就要求 系统的软硬件必须采用模块化设计,软件平台采用性能优越的通用平台,硬件 和布线合理设计。 (3)智能化问题。监控系统的功能不断完善并趋于稳定,但作为计算机系 统的重要优势的故障诊断分析、预告警、数据处理统计等智能化特性并没有得 到很好的发挥。 监控系统发展到今天,无论是系统的组成、结构还是功能,都日渐完善, 系统规模逐渐扩大。纵观现代相关技术发展,可以看出通信电源集中监控系统 的发展趋势如下: (1)综合化。综合化是通信电源集中监控系统发展的一个必然趋势。监控 系统应由传统意义上的电源监控转向以电源监控为主,包含局站环境、消防、 安防管理以及基础、配套设施监控管理在内的通信电源及机房综合监控系统。 (2)网络化。网络化是监控系统发展的另一个必然方向,这也同时是实现 2 武汉理工大学硕士学位论文 综合化的前提。监控系统本身就是一个网络化管理系统,在完善本地网监控中 心的前提下建设省监控中心,更有利于通信电源的监控和监管。 (3)智能化。智能化最能体现计算机的优势,而这恰恰是目前通信电源集 中监控系统最为薄弱的环节。积极开发监控系统的潜能,加强自动化,可提高 监控系统实用性,减轻维护人员的负担,提高电源维护的效率和可靠性。 (4)WEB技术。近些年,许多网络软件和网络管理软件都运用了浏览器技 术,并采用了浏览器方式的界面。这种方式下,系统软件结构变得非常简单。 这种结构在理论上可以无限制地扩充,而不会影响全网的实时性。因此有人预 计浏览器技术将成为未来监控系统软件的主流。但这种方式也存在以下不足: 大量页面文件的交换使通信数据量增大、软件实时性差、组态功能难以实现、 与传统的软件结构模式不兼容等,因此浏览器技术要在监控领域大规模应用还 有待时日。 (5)永无止境的技术革新。各种新技术、新器件的运用将使监控系统功能 和性能更加优化,如集成化、智能化传感器和变送器的运用简化了系统底层硬 件结构,提高了可靠性;DCN广域网的建设是的监控网络的组织和传输简单化; 极低码率图像压缩标准的开发成功使得DCN网上传输图像成为可能等。 1.3论文的主要研究内容 传统的电源监控系统前端单元大部分基于单片机设计,随着技术的进步及 对监控系统的性能和功能越来越高,单片机系统不能很好的满足监控现场的要 求:局站中心主机都是基于工业控制计算机构建的,工控机工作稳定、性能优 越,但对于一些小的基站,监控对象少,数据量不大,继续使用工控机就会在 一定程度上造成浪费。选用合适的微处理器构建嵌入式系统取代单片机完成较 大局站的fj{『端处理单元任务,或在较小局站中完成主机功能成为可能。本论文 讨论的就是嵌入式系统在这两种情况下的使用,具体论述了监控系统的体系结 构,并重点给出局站部分的硬件设计、系统软件、应用软件的实现方法等内容。 本课题的具体研究内容如下: (1)监控系统的整体结构设计,包括监控系统的功能、组成、体系结构、 组网方案、监控对象的选取等内容。 (2)本文的重点部分是局站中心前置单元的的设计。前置单元是基于ARM 武汉理t大学硕士学位论文 构建的嵌入式系统,并对其软硬件平台作了说明,包括器件选型、整体结构、 嵌入式操作系统和监控软件的实现。 (3)在软硬件平台的基础上完成应用软件的开发。考虑Nd,的局站不设置 上位机的情况,完成了嵌入式Web服务器的功能实现,并对系统的应用开发方 法作了说明;在嵌入式系统上完成嵌入式数据库的移植实现,使前置单元具有 部分数据处理功能,减轻上位机或上级监控中心的压力。 4 武汉理工大学硕士学位论文 第2章通信电源监控系统整体结构设计 2.1通信电源系统概述 通信电源是通信网络的动力基础,在对监控系统的结构进行设计之前,先 对通信局站电源系统做简单的说吲21。 传统的通信局站电源系统一般都采用集中供电方式,它由交流供电系统、 直流供电系统和相应的接地系统组成。交流供电系统有专用变电站、市电油机 转换平、低压配电屏、交流配电屏、备用发电机组以及交流不问断电源系统(UPS) 等组成;直流供电系统包括整流设备、蓄电池组和直流配电设备,有的局站为 了兼容不同的通信设备,还采用了直流一直流转换器以提供不同标准的直流电压; 接地系统按功能可分为工作接地、保护接地和防雷接地。 虽然集中供电系统便于维护管理,但也存在可靠性差、投资大、电能耗损大 等缺点,因此分散供电方式将是通信电源系统的发展趋势。这种方式为每一个 通信机房甚至通信设备都配置了小型电源系统,包括整流模块、交直流配电和 蓄电池组。如图2.1所示是分散供电方式电源系统的组成方框图。 图2-1分散供电方式电源系统的组成 武汉理工大学硕士学位论文 通信局站一般由大院和机楼以及其他辅助基建设施组成,机楼中又包括程 控机房、传输机房、数据机房、七号信令机房、测量室、电力室、电池室、低 压配电室、高压配电室、油机室等若干机房,许多模块局或接入网点则通常只 是租用一个或几个房间作综合通信机房和电力机房。这些机房要实现少人值守 或无人值守,就必须要有可靠运行的设备和可靠的远程集中监控管理。各种通 信设备通常都己随机建设了本专业的集中监控管理系统,如交换、传输、接入 网设备的网管系统,而电源设备、空调设备则必须通过通信电源监控系统进行 远程集中监控管理。 2.2通信监控系统功能及性能指标 2.2.1监控系统的功能 从应用的角度来看,监控系统的功能可以简单的分为监控功能、交互功能、 管理功能、智能分析功能以及辅助功能等5个方面,其中管理功能包括数据管 理功能、告警管理功能、配置管理功能、安全管理功能、自我管理功能和档案 管理功能等,如图2.2所示。 图2.2监控系统功能说明 (1)监控功能 监测功能指对设备的实时运行状况和影响设备运行的环境条件进行不问断 6 武汉理工大学硕士学位论文 的监测,获取设备运行的原始数据和各种状态,以供系统分析处理。控制功能 指把维护人员在业务台上发出的控制命令转换成设备能够识别的指令,使设备 执行预期的动作或是参数调整。 (2)交互功能 交互功能是指监控系统与人之间,及监控系统之间进行相互对话的功能, 包括人机交互界面所实现的功能和系统间互联通信的功能。 (3)管理功能 管理功能是监控系统最重要和最核心的功能,它包括对实时数据、历史数 据、告警、配置、人员、设备以及档案资料的一系列管理和维护。 1)数据管理功能主要包括数据显示、存储、查询、备份和恢复、处理和统 计等功能。 2)告警管理功能包括告警显示功能、告警屏蔽功能、告警过滤等3项。 3)配置管理功能包括参数配置功能、组态功能和校时功能等3个方面。 4)安全管理功能包括用户管理、操作记录管理、遥控操作的安全保障等功 能。 5)自我管理功能主要包括系统自诊断功能和系统日志管理功能。 (4)智能分析功能 智能分析功能是采用专家系统、模糊控制、神经网络等人工智能技术,来 模拟人的思维,在系统运行过程中对设备相关的知识和以往的处理方法进行学 习,以提高维护质量的各项功能的总称。 (5)帮助功能 包括系统帮助、在线帮助等【3】。 2.2.2监控系统的性能 评价一个监控系统的好坏,除了要看它所能实现的功能外,还要看它的性 能是否优越,是否能让维护人员得心应手而又放心的来使用它。下面将从系统 的实用性、准确性、可靠性以及可维护性等方面来对系统的性能指标加以论述。 (1)实用性 成为一个实用的系统是监控系统最基本的要求。系统的实用性主要从几个 方面来理解,包括功能齐备,界面友好和智能化等。 7 武汉理工大学硕士学位论文 (2)实时性、准确性和精确性 实时性是衡量监控系统及被监控设备对来自对方的各种事件响应快慢程度 的性能指标,它包含监测的实时性和控制的实时性。准确性是衡量监控系统与 被监控设备能否正确接受对方发来的信息的性能指标。精确性是衡量监控系统 所采集到的设备运行数据与真实数据之间的误差大小的统计性能指标。 (3)可靠性 按照要求,监控系统的可靠性应高于任何被监控设备的可靠性,其硬件可 靠性指标MTBF应大于10万h,MTTR应小于O.5h,整个系统的可靠性指标 MTBF应大于2万h。除了可靠性指标外,监控系统的可靠性还具体表现在以下 几方面:监控系统的使用不应影响被监控设备的正常工作,不应改变或破坏被 监控设备原有的功能;系统局部故障不应影响这个监控系统的正常工作;监控 系统故障不应影响被监控设备的正常工作和手动控制功能;监控系统应具有自 诊断和自恢复功能;监控系统应具有良好的电磁兼容性、绝缘性能、容错能力。 (4)可扩充性 可扩充性用来衡量监控系统对电源系统规模变化的适应能力。为了提高监 控系统的可扩充性,系统的软、硬件均应采用分层的模块化结构,硬件设备本 身应具有较好的可扩充性,软件应提供灵活的组态功能。另外,系统的硬件配 置、通信线路带宽等应留有一定的余量。 (5)开放性 开放性是指监控系统与各种不同设备、监控系统与其他类型的监控系统之 间互相联系、互相通信的能力。要求监控系统必须能够适应不同的接口标准和 通信协议,各级监控系统之间采用统一的系统间互联通信接口和协议。 (6)可维护性 可维护性是反映监控系统能否在其发生故障时及时准确地予以排除,能否 方便地进行系统扩容、升级以及性能优化等系统维护工作的性能要求。监控系 统结构上软硬件采用分层的模块化结构有利于系统的维护,功能上应具有自诊 断、自恢复功能,工程施工上要求尽量采用结构和的综合布线系统。 8 武汉理-f=大学硕士学位论文 2.3监控系统的组成、体系结构 2.3.1监控系统的基本组成和结构 (1)监控系统的基本组成 监控系统首先利用现代传感器技术获得设备的实时运行数据并实现数据的 采集和转换问题;接着由于设备分散在各个局站的不同机房,因此需要利用总 线技术、现代通信技术和计算机网络技术实现数据的传输和系统的组网,将采 集到的数据及时送往监控中心;利用先进的计算机技术、高速率大容量的存储 器、性能优越的操作系统、功能强大的数据库系统以及定制的监控软件实现数 据的处理、管理和维护;最后,通过人机界面把计算机处理的内容翻译成人们 所习惯的、形象直观的表现方式,把鼠标、键盘的简单操作转换成计算机所能 识别的命令。监控系统的基本组成部分如图2.3所示。 设备 =刮数据的采集/转换净 与 环境 辱爿控制命令的执行b一 数据的传 输和系统 组网 ,1 八 \厂—]/ 数据的处 理、管理 和维护 /L——j\ 人机交 /L—^ 互界面 \厂———∥ \r———/ 维 护 人 员 图2.3监控系统的基本组成部分 (2)监控系统的基本结构 工业计算机控制系统经历了从集中式控制系统向分布式控制系统的发展过 程,如图2-4所示。集中式控制系统面临可靠性和处理速度两大发展瓶颈,所以 后来发展出分布式控制系统。分布式控制系统是发展的趋势。 集中控制计算机 /:\ 主控计算机 集中监测l l集中控制 被控设备l lI被控设备2 I…I被控设备N l前端计算机I 3 I被控设备l 前端计算机2 7 被控设备2 前端N 算机l 7 I 被控设备N (a)集中式控制系统 (b)分布式控制系统 图2-4集中式控制系统和分布式控制系统 分布式控制系统的最大特点就是管理的集中和控制的分散,因而又被称为 9 武汉理工大学硕十学位论文 集散控制系统。具体地讲,它把对全局的管理和协调工作集中在主控计算机上, 而把具体的对设备的监测和控制、局部的管理、阶段性的数据处理等工作交给 分散在不同地点的前端计算机来实现。这样做使得监控过程条理清楚,层次分 明,既分散了系统故障的危险,提高了系统可靠性,又分担了系统负担,使多 项工作协调并行处理,提高了系统的实时性。同时这种结构具有一定的灵活性, 有利于系统的扩展。 2.3.2监控系统的层次化结构、功能及配置原则 按照各级通信电源设备维护管理单位的不同职能,在一个省的范围内,可 以将整个监控系统划分为省监控管理系统、地区监控管理系统、县监控管理系 统以及局站监控管理系统四个管理层次,其中局站监控管理系统还可以分出一 个直接与设备打交道的监控模块SM。这些不同层次的系统分别被赋予不同的功 能,它们协调工作,交换信息,共同完成整个监控系统的监控和管理任务。 (1)监控模块SM 监控模块是监控系统中最低的监控层,它直接与设备相连接,用于对被监 控设备的工作状态和运行参数进行监视、采集和处理,形成规范化的状态、数 据和告警信息向上传送;同时接受和执行局站中心下发的各种监测和控制指令, 对设备进行控制和参数调整。监控模块的核心部分一般由单片机充任,它通过 一定的接口芯片和外围电路,设置一定数量的模拟量输入、开关量输入、数字 量输出、开关量输出和计数输入等接口和通道,与安装在被控设备上的传感器、 变送器和触点等连接,直接对被控设备进行实时的监测和控制。同时还设置有 用于与上级局站中心进行通信的串行通信接口,如RS一232、RS.422/485等。监 控模块内包含有一定容量的存储芯片、或闪存等,保存着监测设备运行状态以 及执行控制命令所必须的一些参数。 (2)局站中心SU 局站中心是一个通信局站电源设备的集中操作维护管理点,实现对局站内 各设备监控模块的监控管理。它的功能主要侧重于监控,包括向监控模块发送 监测和控制命令(包括参数的设置和调整汇总各监控模块采集的数据),进行进 一步的处理和存储;定时或按照县中心的要求向上级传送实时数据、历史数据、 设备参数、状态信息、告警信息以及统计信息,并接受上级下发的设备遥控命 10 武汉理工大学硕士学位论文 令。 (3)县中心SS 县中心是用以对一个县级区域内的所有局站进行监控管理的集中操作维护 点,它在整个监控系统中功能最强大、性能最完善,县中心的主要功能包括: 实时接收并显示各局站电源设备的运行数据、工作状态和告警信息;向局站中 心下达对各局站被控设备进行遥控操作的命令;与上一级的地市中心进行通信; 对设备运行数据进行统计处理;进行告警确认和处理;查询、显示和打印历史 数据、告警记录、操作记录、统计报表和曲线,进行数据存储管理;对系统进 行安全管理,设置和检查用户密码和权限;对人员、设备等辅助信息进行管理; 对系统内所有计算机、通信路由等进行自诊断。 县中心通常是一个由数据服务器、通信机、磁盘阵列、操作业务台以及打 印机等计算机设备组成的一个局域网,它具有与局站中心和地市中心连接的通 信接口。 (4)地市中心SC 地市中心包括县中心的所有功能,尤其是在管理功能方面有所加强。由于 电源设备的分散性,在地市中心一般不直接对设备进行遥控操作,不对下级系 统内的配置参数进行设置和修改,但在必要的时候应能够完全接管下级系统。 地市中心对数据的存储要求也有所加强,且更偏重于统计数据。同县中心类似, 地市中心通常也是一个局域网,具有同县中心和省中心互联的通信接口。此外, 为了便于纳入综合电信管理网,地市中心还应具有同本地网管中心互联的通信 接口。 (5)省中心PSC 省中心是一个省范围内最高层次的管理级,它负责对全省范围内的各个县、 市、区的电源设备进行集中监测与管理。省中心的功能和下级中心相比,更侧 重于管理,对数据响应的实时性等监控性能的要求较低。省中心所保存的数据 基本上都是统计数据,同地市中心类似,省中心也需要具有与省网管中心相连 接的通信接口。 在监控系统各监控、管理级的配置上,应遵循以下原则: (1)各通信局站根据智能设备和非智能设备的具体情况配黄监控模块。 (2)一般情况下每一个通信局站配置一个局站中心。无人值守的或设备较 少的局站也可以不设局站中心,其设备监控模块可通过一定的传输方式连接到 武汉理工大学硕士学位论文 附近的局站中心,或直接连接到县中心的前置机上。 (3)县级的行政区、市、县一般配置一个县中心。对于较小的区、县,也 不设县中心,而将其区域内的局站中心连接到附近大的县中心,或直接连接到 上一级的地市中心。 (4)地市级的行政区地区、市配置一个地市中心,并将其与本地区网管中 心相连接。 ‘ (5)省级的行政区省、自治区、直辖市,配置一个省中心,并将其与本省 网管中心相连接。对于没有地区级行政区的直辖市,可以省略地市中心,而将 县中心直接连接到省中心。 2.3.3监控系统的网络结构 在最底层,也就是设备监控系统中,电源、空调设备及环境的监测参数通 过各自的或公共的监控模块上传至局站中心。监控模块和采集点及控制点之间 的对应关系是一对多,与设备之间的对应关系也是一对一或一对多。而从监控 角度来讲,这些监测点或设备之间显然是互不相关的。因此在监控模块这一层 可以采用星型的网络拓扑结构一对一可以看成是最简单的星型结构。 在一个通信局站内通常有许多的设备,需要通过不同的监控模块来进行数 据采集和控制,智能设备还自带有监控模块,这些监控模块只需要与局站中心 计算机进行通信,而它们之间一般没有相互传送信息的必要,不需相互连接。 因此局站监控系统的网络拓扑结构也是星型结构。 县监控系统包括一个县中心和若干个局站中心以及其所连接的各个监控模 块。各局站中心将本局站内各监控模块传送上来的数据信息加以处理后向县中 心传送,县中心要向各局站中心下发监测和控制命令而各局站中心之间一般也. 不需要互访,无须相互连接。因此县监控系统也采用星型网络拓扑结构。 同理,从县中心到地市中心,从地市中心到省中心,也就是地市监控系统 和省监控系统也都采用星型的网络拓扑结构。综上所述,整个监控系统的网络 拓扑结构是一个由多层次的星型结构的计算机网络逐级汇接而成的一个树型结 构,如图2.5所示。 12 武汉理工大学硕士学位论文 图2—5监控系统的网络结构 目前各省电信公司在建设DCN(综合数据通信网),许多发达地区已经延伸 到了SU省级。在这种情况下,监控系统可以直接通过DCN进行组网,使得组 网结构得到大大的简化,各级组成部分可以看成逻辑上完全对等的单元,简化 了设计思路,如图2-6所示。 图2-6采用DCN连接的监控系统网络结构图 2.4监控对象及监控点的确定 要构建一个监控系统,首先要确定监控对象和内容,也就是明确监控的目 的。监控对象即被监控的设备、机房和环境等,监控内容即监控点,是指监控 对象中具体被监控的物理量。 武汉理工大学硕士学位论文 2.4.1监控对象 (1)被监控设备 通信电源监控系统的监控对象包括通信局站所有的电源、空调设备以及环 境量等。通信电源系统的主要设备包括高压变配电设备、低压配电设备、市电 油机转换屏、整流配电设备(整流设备、电力室交、直流配电设备及蓄电池组)、 变流设备(UPS、逆变器及DC—DC变换器)和电站设备等;环境系统包括空调、 局房环境、安全护卫系统等。 监控对象按被监控设备本身的特性可分为智能设备和非智能设备。其中智 能设备本身能采集和处理数据,并带有智能通信接口(RS.232,RS.422/485), 可直接或通过协议转换的方式接入监控系统,每台智能设备作为一个监控模块 SM;非智能设备本身不能采集和处理数据,没有智能通信接口,需要通过数据 采集控制设备(数据采集器)才能接入监控系统,每个数据采集控制设备作为 一个监控模块。 (2)被监控信号 被监控信号可分为电量信号和非电量信号。在监控系统中,对被监控信号 的处理一般要经过传感、变送、转换过程,才能转换成为计算机内的数字信号。 非智能设备和环境量不能直接接入数据采集器的采集通道进行测量,需要通过 传感器/变送器先将这些电量信号或非电量信号变成标准的电量信号,方可接入 数据采集器。 传感器将非电量信号变化成标准电量信号,通常由敏感元件和转换元件组 成。监控现场遇到的非电量模拟信号有:温度、湿度、液位等,监控现场需要 测量的开关量有:红外感应、烟感、门磁、水浸等。这些非电量信号和开关量 信号需要通过相应的传感器(如温度传感器、湿度传感器、液位传感器、红外 探测器、烟感探测器、门磁开关、水浸探测器等)转换成标准电量信号后,才 能被数据采集器采集。 变送器将非标准的电量信号转换成数据采集器可以直接测量的标准电量信 号,通常由隔离耦合元件和电路变换元件组成。监控现场遇到的模拟电量数值 较大、范围较宽,如交流电压220V、380 V,交流电流0,-.-200A,直流电压24 V、 48 v,直流电流O~1000A,频率50Hz等,需要通过变送器将标准电量信号变换 成标准电量信号如直流4--20mA或肛5 V等才能被数据采集器采集。常用的变 14 武汉理工大学硕士学位论文 送器有三相电压变送器、三相电流变送器、有功功率变送器、功率因数变送器、 频率变送器、直流电压变送器等。 2.4.2监控点选取 监控项目可按遥测、遥信、遥控来进行划分:遥测指对连续变化的模拟信 号进行数据采集;遥信指对离散状态的开关信号进行数据采集;遥控指由监控 系统发出的离散的控制命令。监控系统的监控内容见表2.1所示。 序号 设备大类 设备子类 进线柜 出线柜 l 高压设备 母联柜 直流操作 电源柜 变压器 进线柜 低压配电 2 设备 主要配电 柜 电容器柜 3 柴油发电机组 4 , 不间断电源(UPS) 5 逆变器 表2-1监控内容 类型 内容 遥测 =相电压,三相电流 开关状态,过流跳闸告警,速断跳闸告警,失压跳闸告警, 遥信 接地跳闸告警 开关状态,过流跳闸告警,速断跳闸告警,失压跳闸告警, 遥信 接地跳闸告警 遥信 开关状态,过流跳闸告警,速断跳闸告警 遥测 储能电压,控制电压 开关状态,储能电压高“氐’控制电压高/低,操作柜充电 遥信 机故障告警 遥信 过温告警 遥测 三相输入电压,三相输入电流,功率因数,频率 遥信 开关状态,缺相,过压、欠压告警 遥控 开关分合闸 遥信 开关状态 遥控 开关分合闸 遥信 补偿电容器』=作状态 三相输出电压,三相输出电流,输出频率/转速,水温, 遥测 润滑油油压,润滑油油温,启动电池电压,输出功率,油 箱液位 -1:作状态,工作方式,主备用机组,自动转换开关状态, 过压,欠压,过流,频率/转速高,水温高,皮带断裂, 遥信 润滑油油压低,润滑油油温高,启动失败,启动电池电压 高“氏,过载,紧急停车,试点故障,充电器故障 遥控 开/犬机,紧急停车,选择主备用机组 遥凋 输出电压、频率 遥测 三相输入电压,直流输入电压,三相输出电压,三相输出 电流,输出频率,标示蓄电池电压,标示蓄电池温度 同步/不同步状态,UPS/旁路供电,市电故障,整流器故 遥信 障,逆变器故障,旁路故障,蓄电池放电电压低 遥测 直流输入电压,交流输出电压,交流输出电流,输出频率 遥信 输出电压过压/欠压,输出过流,输出频率过高/过低 武汉理T大学硕士学位论文 序号 设备大类 设备子类 交流屏 整流配电 整流屏 6 设备 直流屏 7 蓄电池组 8 直流.直流变换器 9 普通空调设备 10 专用空调设备 11 防雷器件 12 环境量 类型 遥测 遥信 遥测 遥信 遥控 遥调 遥测 遥信 遥测 遥信 遥测 遥信 遥测 遥信 遥控 遥调 遥测 遥信 遥控 遥调 遥信 遥测 遥信 遥控 内容 ■相输入申.乐.=相输入申l流。输入频率 三相输入过压/欠压,缺相,三相输出过来,频率过高/过 低,熔丝故障,开I:状态 输出电压,模块单体输出电流 模块单体状态(开/关机,限流/不限流),模块单体故障/ 正常;系统状态(均/浮充/测试)系统故障/正常,监控模 块故障 开/关机,均/浮充,电池管理 均充/浮充电压设置,限流设置 直流输出电压,总负载电流,主要分路电流,蓄电池充/ 放电电流 直流输出过压/欠压,蓄电池熔丝状态、主要分路熔丝/开 T故障 蓄电池组总电压,每只蓄电池电压,标示电池温度,每组 电池安时量 蓄电池组总电压高/地,每只蓄电池电压高/低,标示电池 温度高,充电电流高 输出电压,输出电流 输出过压/欠压,输出过流 温度 空调一r=作状态、工作模式(通风/N冷/力口热/除湿) 空调开/关机 温度设置 空凋主机rT作电压、工作电流,送风温度,回风温度,送 风湿度,同风湿度,压缩机吸气压力,压缩机排气压力, 压缩机累计T作时间 空调开/关机,电压、电流过高/低,送风温度过高/低,同 风温度过高/f氏,过滤器正常/堵塞,风机正常/故障,压缩 机正常/故障 空凋开/关机 温度设置,湿度设置 故障告警 温度,湿度 烟感,水浸,门禁,红外,玻璃破碎,视频监控 开/关门 2.5系统组网方案 2.5.1 SM和SU组网 对监控系统底层SM的互联,其主要工作就是接口连线。实际中可能遇到的 16 武汉理工大学硕士学位论文 SM种类繁多,如智能设备、专用和通用采集器等,由于它们都来自不同的生产 厂家,因此接口通常很难统一。接口连线的目的就是要把这些SM通过特定的通 信线缆,按照规定的连接方法组织在一起,形成一个现场通信网络,以便与上 级主机进行通信。 SM的互联一般使用的都是串行通信,常用的通信接口有RS.232、RS.422、 RS.485以及CAN、LonWorks等现场总线接口,通过它们可以很方便的组成各 种实用的现场通信网络。RS.232用于点对点的异步通信中,RS.422、RS一485既 支持异步通信,也支持同步通信;既可以实现点对点通信,也可以用于一点对 多点的通信。当用于多点网络时既可以连接成总线型,也可以连接成星型。在 监控系统中一般多采用异步通信的模式,且都是多点网络。现场总线组成的网 络中,CAN通常接成总线型网络,LonWorks则可以支持各种拓扑结构。 (1)RS.232接口组成的通信网络 RS.232接口只能用于点对点通信,所以不适合组成大的通信网络。但由于 它具有全双工的通信方式,而且计算机一般都提供RS.232接口,所以仍大量出 现在智能设备监控模块的通信接口中与计算机互联通信。在局站的监控主机端, 常常根据需要通过多串口卡或串口服务器来扩充RS.232接口,以与多台设备或 多条总线相连。 两个数据终端设备之间可以通过3根线(T)①、RXD和Qo)进行简单的 直连,包括计算机与智能设备之间、计算机与RS一232接口转换器之间,如图2.7 所示。 TXD RXD RS.232 ≥×< TXD RXD GND GND TXD RXD GND :≮ RS-232 TXD Tx+ RXD Tx. Rx+ GND Rx. 计算机 监控模块 计算机 接口转换器 (a)计算机与监控模块连接 (b)监控模块与接口转换器连接 图2.7 RS.232用于现场联网的接线图 当智能设备与监控主机距离较远时,常通过接口转换器将RS.232接口转换 成RS.422、RS.485等可以进行稍远距离传输的接口形式,再进行传输。 (2)RS.422接口组成的通信网络 17 武汉理工大学硕士学位论文 RS.422总线由于传输距离远,可靠性高,并且可以并联的挂接多个设备, 所以在监控系统中应用较多。常用的做法是通过RS.422总线将各监控模块连接 在一起,并与监控主机的RS.422卡相连,组成RS.422监控网;或在监控主机 端通过接口转换器转换成RS.232后再与主机的RS.232串口(多串口卡、串口 服务器)相连。 RS.422由4根通信线,分别对应计算机卡的发送端口TX+、TX.和接收端 口RX+、RX.,在连接时需要将它们分别与智能设备监控模块的接收端口RX+、 RX.和发送端口TX+、TX.相连即可(不同厂商生产的模块对端口的命名可能略 有差异),如图2.8所示。 接 计算机 下 ,一 个 模 块 lI I H H…H (_)RS-422网络接线图 (b)RS.422网络拓扑图 图2.8 RS.422网络的连接及拓扑图 (3)RS.485接口组成的通信网络 RS.485总线是由RS.422简化而来的, RS.485是将RS.232的全双工方式 改为半双工方式,将4根通信线简化为两根线,分别叫做DAlrA+和DATA.,其 传输特性与RS一422相同。它可以用最少的线数实现最完善的通信功能,因而在 监控系统中应用广泛。RS.485接口的接线方法与RS.422类似。 (4)CAN、LonWorks现场总线组成的通信网络 现场总线使用最多的通信介质是双绞线,它们的连接与网络拓扑无关。总 线通常接成总线型网络,其连接方式与RS.485类似【14】。如图2-9所示是由研华 公司ADAM4000/5000系列模块组成的总线网络,图中接口转换器实现RS.232 与CAN的接口转换。 武汉理工大学硕士学位论文 娅鲍垃 CAN.H 计 CAN.L Rs-232 算 机 接口 转换器 CAN-H CAN.H CAN·L CAN-L ADAM5删肌AN CAN.H CAN.H CAN-L CAN-L ADAM5000,CAN CAN.H CAN-L 智能变送器 终端 电阻 图2-9 CAN总线接线图 2.5.2 SU、SS、SC、PSC组网 SU系统是监控系统中最繁琐的一级子系统,它主要运用接口和总线技术直 接与各种各样的监控设备打交道,在本文的第三章将对SU组网部分进行详细说 明,这里就不再叙述。SS、SC、PSC系统都是计算机系统之间的互联,运用的 主要是计算机网络技术,SS.SU、SC.SS、PSC与SC系统的互联组网非常相似, 这里主要以SS.SU系统的组网为例,并结合传输网络来进行讲述。 SU与SS之间以及SS与SC之间的连接目前可采用的传输方式很多,有 PSTN(公共交换电话网),DDN(数字数据网),ISDN综合业务数字网,E1/2M 数字传输电路,X.25分组交换网,帧中继,“九七网”,数据通信网,等等,应 依赖用户已有的传输条件灵活选择,可用多种方式混合组网,但为了保证安全, 应采用主备两种方式,并能自动切换。 根据电信部门的网络实际情况,最方便的是利用现有的“九七网”和DCN网, 达到资源共享、节省投资的目的【21。“九七网”和DCN都是计算机广域网,其拓 扑结构都是由路由器和各种广域传输链路组成的网状网络,在每个用户节点上 由局域网交换机接入不同的VLAN用户。监控系统使用“九七网”和DCN十分方 便,只需将各级监控中心和监控端局的局域网(以太网)用网线接入所在局的“九 七网”和DCN的交换机即可。采用这种组网方式,监控系统的网络结构变得非 常简单,各级监控中心和端局都可以看作是网络上平等的主机,通过权限设置 可以灵活组织各级的功能。 19 武汉理丁大学硕士学位论文 第3章局站监控中心SU的设计 3.1局站监控中心SU结构设计 3.1.1局站监控中心SU整体结构设计 早期的局站监控中心的监控模式是集中监控,一级管理。方法是在设备端 直接采集数据及信号,由前置预处理板对这些信号进行整形、放大后送往中心 控制室,在中心控制室采用一台微机进行监控管理操作。送来的采集信号需要 隔离、分路,送至计算机的总线上供计算机读取;而系统发出的控制信号则由 中心控制室送至预处理板来控制设备的动作。这种集中控制模式易于控制和管 理,但也正由于集中的缘故,对系统的可靠性提出了很高的要求。一旦中心计 算机出现故障,影响的将是整个电源监控系统的工作。 本设计采用一种较优化的监控方案,即分散与集中控制的二级管理方式。 它由二级进行控制,第一级为前置监控单元,除完成前置预处理的工作外,还 必须具备对设备的全部控制管理功能以及简单的统计功能。第二级为上位机, 主要从各前置单元中提取设备的运行数据进行处理及统计,并把用户的控制命 令传递给相应的设备,它完成的是管理工作而不参与信号提取。这样做的好处 是各设备与上位机相对分离,即使在上位机脱机或者发生故障的情况下,也可 以由前置单元独立完成一些监控工作,不致影响整个系统。分散与集中的二级 管理模式可以极大的提高系统的稳定性及可靠性。 局站监控中心SU中的前置监控单元主要实现对电源设备的交流/直流电压、 电流、整流器模块输出电流及备用蓄电池的输出电压、电流等模拟量进行采集, 通过A/D变换为数字量,并与用户预设值进行比较,若超出正常值范围则告警。 而对于某些类型的电源设备,还可对其输出电压值进行动态调控,使之满足系 统要求。同时对于市电的有/无,整流模块的开/关,蓄电池均充、浮充、快充等 各种充电状态进行监控。此外,监控系统还对环境温度、设备温度等环境数据 进行采集,对柴油机、空调等外围设备进行管理。 上位机主要是不断的对前置机发出传送数据的命令或由前黄监控单元定期 20 武汉理工大学硕士学位论文 发送数据来完成实时监控、显示及统计,一般采用工控机充任。而前置单元由 于增加了对数据的处理、存储功能,以及设备的管理操作功能,现在一般使用 的单片机系统性能有点薄弱,不能很好的胜任这些任务,所以本文设计了基于 ARM处理器的嵌入式系统来代替单片机系统。后面的章节将对的嵌入式系统的 设计作详细说明。 SU中心的主要设备包括计算机系统、各种接口转换器、协议转换器、智能 采集器、多串口卡、路由器、Hub、DSU/CSU、Modem等网络设备,其中计算 机系统包括上位PC机和前置监控单元。网络结构如图3.1所示,当需要通过路 由器与上级监控中心进行通信时,SU中心的计算机和路由器等设备组成一个局 域网;当不用路由器时,则通过计算机的串口与特定的网络设备直接与上级监 控中心通信。 图3.1 SU中心网络结构图 3.1.2 SU系统组网设计 SU系统是监控系统中最底层的监控子系统,它是由局站监控主机与各种监 控模块构成的一个分布式网络系统,直接参与对通信电源设备的监测控制和管 理。SU系统的功能是通过监控现场的通信网络,将各监控模块(SM)与SU工 作站连接起来,以使SU工作站能够采集到各被监测设备的监测数据和告警信 息,同时将SU工作站的监测和控制命令下传到各个监控模块以及被监控设备, 并实现对监控网络的管理。 2I 武汉理工大学硕士学位论文 二]卫 前置监控单元 多串口卡 接口转换器 南南俐由南南南融 l Rs.232 l 协议l l协议转 转换器l l换器 1盯丁]n虱再网l蓄电池l r画网厂遁再。粟藁 转换器I|造接口板l l监测仪I I送器|I 器 图3.2以RS.232和RS一422/485为主的局站组网方案 图3.2是系统常用的一种组网方案。该方案采用多串口卡、RS.232和 RS.422/485总线进行组网。图3.2中列出了通信端局中常见的一些设备,包括智 能设备、非智能设备,以及烟雾、水浸、门磁等环境量。当智能设备的通信协 议与监控主机的协议一致时可以直接接入(如图3.2中的智能空调),不一致时 则需通过协议转换器来进行协议转换(如图3.2中的开关电源);协议转换器还 具有接口转换的功能,以适应那些接口和协议都不一致的设备(如图3.2中的智 能配电屏);非智能设备采用通用或专用数据采集设备进行监控,每一个数据采 集设备作为一个监控模块;电池组由于监控量多,类型单一,要求特殊,因此 通常采用专门设计的蓄电池监测仪来进行监控如图中的蓄电池组;非智能的配 电柜、屏可以通过智能变送器来获取所需要的各种监测电量(如图3.2中的非智 能配电屏);环境量通常视为非智能设备,通过通用采集器(如ADAM4000、5000 系列模块等)来接入各种环境量传感器(如图3.2中的烟雾、水浸等)。前置监 控单元通常放置在电力室或值班室,对于距离比较近的智能设备,尽可能通过 多串口卡上的RS.232接口直接接入;对于距离比较远,超出了RS.232通信范 围的设备,可以通过RS.422或RS.485总线接入,汇集后再通过接口转换器转 换成RS.232,接入多串口卡(如图3.2中的智能柴油发电机组)。 3.2前置监控单元的硬件设计 智能前置监控单元是由若干个监控模块SM和中央控制单元CPU组成。不 武汉理rI=大学硕士学位论文 同的监控模块可以完成不同的功能,比如模拟量的输出/输入、数字量的输出/输 入,脉冲记数频率、控制量等,并对现场需要采集的数据完成转换后送到中央 控制单元。中央控制单元采用ARM芯片,通过串口接收监控模块送来的数据, 并与现场的监控计算机保持通信。 本文的硬件平台由核心板和底板组成,核心板上使用三星公司的¥3C2410X 处理器,底板上提供了丰富的外设接口:Ethemet网卡、2个与PC机通信的UART, 1个LCD接口,触摸屏接口电路、PS2鼠标键盘接口,JTAG接口,64MB的 NAND Flash存储芯片等。核心板和底板配合即构成了一个完整的应用系统,其 硬件平台体系结构如图3.3所示。 上位PC机 LCD LQoaoV3DCOl ARM920T 等 S3C2410 祟一 以太网卡 Ax88796 ~嘉 图3.3基于ARM的硬件平台结构图 本设计选用¥3C2410X作为嵌入式硬件平台的处理器。¥3C2410X是三星公 司推出的基于ARM920T核的16/32位处理器,它主要面向高性能、低功耗通信 设备,这是一款目前在市面上用的比较多的嵌入式芯片。它内部集成了微处理 器和一些常用外围组件,大大减少了整个系统的成本,消除了系统配置额外器 件的需要,为嵌入式系统提供了一个高效的硬件平台。 Flash主要用来存储断电非易失性的数据。本系统中,需要将引导启动程序、 内核映像和根文件系统保存在中,从而使得在系统开发调试阶段每次系统上电 的时自动运行。¥3C2410X支持从NAND Flash启动,NAND Flash具有容量大、 比NOR Flash价格低等特点,采用N妯岫Flash与SD黜蝌结合,可以获得很高 的性价比。最终选定的是的三星公司的64M NAND Flash存储器芯片K9F1208。 K9F1208程序存储器芯片容量为64M,8 bit数据宽度,工作电压为2.7~3.6V, 带有硬件数据保护功能,支持上电自动引导,块擦写时间为2 ms,数据存储时 武汉理1二大学硕士学位论文 间可达lO年以上。无论是读操作还是擦除和写操作,该芯片都较~般Flash省 电。 SDRAM具有容量大、存取速度快、成本低的特点,主要用于存放可执行 代码和变量。本设计中SDRAN是用来运行Linux内核和根文件系统的。选定的 是两块现代公司生产的HY57v561620AT-H。每块HY57V561620AT-H都是 4M*16Bit的同步DRAN,其工作电压为3.3V,兼容LVTTL(Low Voltage TTL, 3.3V及其以下的电平)接口,支持自动刷新(Auto.Refresh)和自刷新 (Self-Refresh)。SDRAM的起始地址为0x30000000,每片数据宽度为16 bit, 容量为32M,两片16位的SDRAM HY57V561620AT-H并联构成32位64M的 SDRAM存储器系统,可满足嵌入式操作系统及各种相对较复杂操作的要求。 SDRAM的操作都是由时钟作为同步,因此操作速度更快,数据吞吐量更大。可 与¥3C2410X(带存储控制器与刷新逻辑)直接接口。 由于¥3C2410X并不直接支持网卡接口,因此需要自己设计网络接口并将。其 挂接到微处理器的扩展总线上。最终选定的网卡芯片是Ax88796。Ax88796是台 湾Axis公司推出的NE2000兼容快速以太网控制器,其内部集成有10/100 Mb/s 自适应的物理层收发器和8Kxl6位的SRAM。它提供了本地MCU总线接口, 可直接和MCS50系列、X86系列、ARM等微处理器进行连接。Ax88796的地 址总线SA[9:0]与数据总线SD[15:0]分别与CPU的地址/数据总线相连。MCU通 过I/O读写NE2000寄存器来控制Ax88796的工作状态,通过远程DMA FIFO 与Ax88796的内部缓存SRAM进行数据交换。 本设计中RS.232收发器选用的是美信公司的工作电压为3.O.5.5V的 MAX3232芯片,该芯片具有低功耗、传输速率可到1Mbps的特点,采用16pin 的TSSOP封装。MAX3232电平转换器可以同时驱动2路串口信号,本系统中 只设计了l路串口信号,故只需要将MAX3232的TIlN和R10UT分别与CPU 的串口信号RXD和TXD相连,CPU的串口信号选择的是第一路串口信号。 LCD选用的是Sharp公司的TFT-LCD器件LQ080V3DG01,该器件的分辨 率为640x480。¥3C2410内部自带一个LCD驱动控制器,其接口可以与单色、 灰度、彩色STN型和彩色TFT型的LCD直接相连,只需要根据所连接的LCD 的类型设置相应寄存器中的显示模式。LQ080V3DG01要求其电源电压Vdd典型 值为3.3V/5V,并且LCD数据和控制信号的高电平输入电压Vih在2.3.5.5V范 围内,低电平输入电压Vii则在.O.3.0.9V范围内,故可以直接与¥3C2410相连。 24 武汉理工大学硕士学位论文 在对嵌入式系统进行调试的时候,可以利用嵌入式系统的UART串口通讯 作为控制台,并与主机的串行通讯接口连接,通过PC串口完成嵌入式系统相关 信息的显示和控制。¥3C2410内部具有3个独立的通用异步串行端口,每个控制 器都可以工作在Interrupt(中断)模式或DMA(直接内存访问)模式。 3.3前置监控单元的系统软件设计 3.3.1嵌入式操作系统选择 嵌入式操作系统种类繁多,按照实时性能分为两类:实时嵌入式操作系统 和非实时嵌入式操作系统;其中实时又可分为硬实时和软实时。嵌入式操作系 统还可以分为商用型和免费型两类,商用型的嵌入式操作系统功能稳定、可靠, 有完善的技术支持和售后服务,但往往价格昂贵,如VxWorks。免费的嵌入式 操作系统一般开放源代码,在价格和资源等方面有很大优势,目前主要有嵌入 式LILJX系统。 目前几种主要的嵌入式操作系统有: (1)VxWorks:VxWorks是美国风河公司(Wind River System)的一个实 时操作系统。它的操作系统内核专门为实时嵌入式系统开发而设计,可以为程 序员提供高效的实时多任务调用、中断管理,实时的系统资源管理以及任务间 通信。良好的持续发展能力,高性能的内核以及友好的用户开发环境,使它在 嵌入式实时操作系统领域占据一席之地,被广泛应用在通信、军事、航空航天 等高精尖技术以及实时性要求极高的领域中。 (2)Windows CE: Microsoft Windows CE为微软针对个人电脑以外的计 算机产品所研发的嵌入式操作系统,它将一个先进的实时嵌入式操作系统同功 能强大的开发工具集合在一起,用于快速开发下一代智能互连小型设备。 Windows CE有一个完整的操作系统特性集和功能全面的开发工具,包含有供开 发者构造、调试和布置定制型设备所需的全部特性。Windows CE现在广泛的应 用于多媒体设备和无线通讯领域。 (3)嵌入式Linux:Linux是一个成熟而稳定的操作系统,但它并非专为实 时系统而设计。嵌入式Linux就是将目前流行的Linux进行剪裁、修改,使之能 应用于实时系统的一类操作系统。目前有很多种嵌入式Linux,比较主要的有 武汉理工大学硕士学位论文 RT-Linux和uCLinux (4)uC/OS.Ⅱ:uC/OS.II是一种免费、公开源代码、结构小巧的具有抢占 式剥夺实时内核的实时操作系统,采用占先式的任务管理机制,总是执行就绪 队列中优先级最高的任务,可以管理64个任务。具有执行效率高、占用空间小、 可剪裁、实时性性能优良、移植性好和可扩展性强等特点。 满足本系统功能要求的嵌入式操作系统有很多,但综合多种嵌入式操作系 统的特点和一些其他因素,本系统采用Linux作为平台操作系统,主要是因为它 具有以下几个方面的优势和特点 (1)开放源码,免费,有强大的技术支持,完整的文档和丰富并且同样开 源的软件资源,是理解和学习嵌入式操作系统很好的选择。 (2)适用于包括ARM在内的多种CPU,如X86、PowerPC、MIPS、Alpha 等,支持多种体系结构。 (3)Linux内核采用模块化设计,各功能模块可以独立地加载或卸载,提 供图形化的定制和配置工具,可在编译系统内核时进行定制。 (4)嵌入式Linux继承了Linux网络操作系统的优势,集成完整的TCP/Ⅲ 协议栈,并且驱动丰富,ARM芯片的驱动集支持本系统需要的外围硬件设备, 此外能够提供完善的GUI和嵌入式X.Windows,满足我们开发嵌入式界面应用 程序的要求。 (5)提供集成开发工具和SDK,并且有PC上的开发版本,本系统采用GNU 开发套件来完成应用程序的开发工作。 (6)Linux的内核与用户空间的内存管理分开,不会因为用户的单个程序 错误而引起系统崩溃,因此系统安全可靠性高。 与其他嵌入式操作系统相比,LINUX是一款性能优良,源代码开放且被广 泛应用的免费操作系统。 3.3.2系统软件的开发环境 嵌入式系统软件的开发,必须建立起一个配套的开发环境,开发环境包括 操作系统配置工具、编译环境、下载工具和调试环境,通常由主机系统和目标 系统两部分组成,宿主机系统需要通信接口和目标系统进行交互。 由于嵌入式系统是一个受资源限制的系统,故而直接在嵌入式系统硬件上 武汉理工大学硕士学位论文 进行编程现实是不合理的。一般采用的方式是先在通用PC上进行编程,然后通 过交叉编译环境连接,将程序做成目标平台上可以运行的二进制代码格式。最 后程序下载烧写到目标平台的flash中,在目标板上启动代码运行这段二进制代 码,运行起嵌入式系统。目标系统在这里就是由ARM芯片¥2C241 0及其软件 系统构成的嵌入式应用系统。主机系统一般是指由PC机及其软件开发平台。 目标平台采用ARM9TDMI系列的处理器,要使在主机上编译成功的目标代 码移植到目标板上后成功地在目标板上运行,就必须在主机上用交叉编译工具 编译。交叉编译环境的源代码可从 邱://邱.arm.1inux.org.uk/pub/arm.1inux/toolchain上下载,主要包括以下内容: (1)Bin utilities Bin utilities里面主要包含了一些辅助开发工具,包括G】灯的链接器ld、汇 编代码编译器as、用来将文件打包重组的ill"以及为al"打包的文件建立符号表的 ranlib等工具。 (2)ARM-Linux C compiler and linker ARM.Linux C compilerand linker是编译内核代码的工具,利用它可以编译 汇编语言和C语言程序,生成可以在ARM上运行的代码。 (3)glibc Library glibc Library包括编译器使用的C函数库和针对Linux的线程库。 分别解压各工具包并进行安装,完成交叉编译环境的建立。交叉开发环境 建立后,即可用来编译生成可在目标板上运行的可执行代码。 一般的嵌入式Linux的宿主机软件开发平台也选用Linux,使交叉编译环境 使用的主机系统和目标系统的操作系统保持一致,这在编译Linux内核的时候比 较有利,可以直接利用交叉编译器对通用的Linux内核进行编译,编译完毕之后 就能直接在目标系统上运行。但考虑到在Linux系统下,一些软件如代码编辑工 具和FTP服务器软件等没有Windows下的方便易用,而频繁的重启切换操作系 统也很麻烦而且浪费不少时间。因此我们选择在开发过程中使用了虚拟机,即 在Windows下安装虚拟机,再在虚拟机中安装Linux操作系统。 3.3.3 BootLoader移植 引导加载程序是系统加电后运行的第一段软件代码。从PC的体系结构可以 27 武汉理工大学硕士学位论文 知道,PC机中的引导加载程序由BIOS(一段固件程序)和位于硬盘中的 BootLoader一起组成。而在嵌入式系统中,通常并没有像BIOS那样的固件程序, 因此整个系统的加载启动任务就完全BootLoader完成。BootLoader的主要运行 任务就是将内核映象从硬盘上读到RAM中,然后跳转到内核的入口点去运行, 也即开始启动操作系统。BootLoader的总目标就是正确地调用内核来执行。由 于BootLoader的实现依赖于CPU的体系结构,因此大多数BootLoader都分为 两大部分。依赖于体系结构的代码,比如设备初始化代码等,通常都放在第一 部分中,而且通常都用汇编语言来实现,达到短小精悍的目的。而第二部分则 通常用C语言来实现,这样可以实现复杂的功能,而且代码会具有更好的可读 性和可移植性。 Vivi是韩国MIZI公司为ARM9系列硬件平台开发的BootLoader,目前它支 持SA.1110、¥3C2410这两种类型的微处理器。vivi具有结构清晰、功能丰富的 特点。它支持图形化的用户配置界面,提供对Flash分区、下载文件等一系列命 令。系统采用了韩国三星公司的¥3C2410处理器,而且选择的是从NAND Flash 启动的方案,所以本论文采用Vivi作为Linux的BootLoader。因为已经提供了 基于¥3C2410开发板的基本设置,VⅣI的移植相对较简单: (1)首先正确设置编译环境,将以下三行: ARCH:=? L删X.INCLUDE—DⅡWusffinclude/ CROSS.COMPILE=ann.1inux. 改为: ARCH:=ann LINUX·-INCLUDE--DIR=/opt/host/armv41/include/ CROSS-COMPILE=/opt/host/armv41-unknown—linux一 (2)然后正确设置NAND Flash分区,修改Vivi/arch/s3c2410/smdk.c,将 相应部分改为: Mtd_partition_t default.mte__partitions[】---{ { Name:’'Vivi”, O凰et:0, Size:0x00020000, 28 武汉理工大学硕士学位论文 Flag:0 }, { Name:’'param”, O仃set:o】【00020000, Size:0x000 1 0000, Flag:0 ) { Name:’'kemel”, Offset:0x00030000, Size:0x000c0000, Flag:0 ), { Name:’'root”, Offset:0x001 00000, Size:Ox00 1 40000, Flag:MF_BONFS ) ); 修改内核Linux启动命令行,此命令行也可以在Vivi启动后使用param set 命令设置。 Char linux cmd[]=’'root=/dev/mtdblock2 noinitrd init=/linuxrc console--ttySo,1 1 5200”; 最后make menuconfig进行配置,make进行编译,完成后在VⅣI文件夹下 生成Vivi二进制文件,通过JTAG下载到NAND Flash中,重启开发板就可以在 超级终端中看到Vivi的启动信息了。 29 武汉理工大学硕士学位论文 3.3.4内核的配置和编译 内核移植是基于三星公司¥3C2410 kernel2.6.16版本linux的内核,它支持 ¥3C2410目标板。从LINUX2.6.11开始,¥3C2410已经成为linux的一个标准支 持平台,无需任何parch就可以在¥3C2410的目标板上运行的很好了。 (1)修改Makefile 内核的编译根据Makefile文件的指示进行的,Makefile 文件来组织内核的各模块之间的关系,记录了各个模块之间的相互联系和依赖 关系。首先修改linux 2.6.16的根目录下的Makefile文件,改的主要内容是目标 代码的类型和为编译内核指定一个编译器。注释掉以下内容: ≠}ARCH?=¥(SUBARCH) jfj}CROSS—COMPILE?= 增加以下内容: }}ARCH?=arm #CROSS—COMPILE?=/usr/local/arm/3.4.1/bin/ann—linux一 (2)linux 2.6.16对¥3C2410的板极支持是SMD勉410,板子用的是NAND Flash,SMDK2410正好支持。所以只需要增加NAND Flash分区信息。 Linux 2.6.16/drivers/mtd/maps目录下的文件具体的MTD原始设备的相关信息, 包括该MTD原始设备的起始物理地址、大小、分区信息、读写程序、初始化和 清除程序。在这个文件中需要实现以下几点: 1)定义Flash的分区,典型的分区是引导区,内核区,文件系统区; 2)定义Flash的读写操作; 3)Flash的初始化函数。 (3)使用make menuconfig来配置内核。 在配置的过程中需要注意以下几点: 1)尽量裁减内核,可以舍弃的部分都先去掉。 2)在SYSTEM TYPE目录中选择正确CPU的型号,这里选择¥3C2410。 在¥3C2410 Implementations选项中选择SMDK2410/ARM2410。 3)在General setup目录下default kernel command string选项中填入正确 的command string,在这里设置串口名和波特率。 4)在character devices目录下的选项中选择S3C2410 Serial port support选 项,保证内核对串口的支持。 武汉理工大学硕士学位论文 5)在配置过程中要增加对MTD,eramfs,ya凰文件系统的支持,文件系 统将使用这些功能。 (4)做完以上修改,再进行内核编译,就可以在¥3C2410开发板上运行了。 打开终端窗口,切换到linux 2.6.16目录下,输入命令: make smdk24 1 0_defconfig make menuconfig严选择NAND Flash模块·/ make 等编译完成以后,会生成镜像文件arch/amffboot/zlmage,把这个文件下载 到开发板上,就会看到linux2.6的内核启动信息。 3.3.5建立根文件系统 嵌入式文件系统的任务是对逻辑文件进行管理,包括提供对逻辑文件的操 作(复制、删除、修改等)接口,方便用户操作文件和目录。Linux启动时,第 一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则 系(D统R会 AM出,错SD而洲退)出 和启RO动M(。常在采嵌用入F式LALSinHu存x应储用器中),,主 常要用的的存基储于设F备LA为SHR存AM 储设备的文件系统类型包括:jffs2,yaffs,cramfs,romfs,ramdisk,ramfs/tmpfs等。 yaffs/yaffs2全称Yet Another Flash System,它的出现较JFFS/JFFS2晚,但 是发展很快,是专为嵌入式系统使用NAND型闪存而设计的一种同志型文件系 统,适用于大容量的存储设备,且提供了损耗平衡和掉电保护,可以有效地避 免意外掉电对文件系统一致性和完整性的影响。与jffs2相比,它减少了一些功 能(例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。 yaffs/yaffs2自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系 统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。 本次移植使用YAFFS文件系统,它的源码可以从http://www.alephl.GO.uk/ 下载。移植步骤如下: (1)在内核中建立YAFFS目录fs/yaffs,并把下载的YAFFS代码复制到该 目录下面; (2)修改fs/Kconfig,使得可以配置YAFFS; (3)修改,添加如下内容:obj。¥(CONFIG YAFFS FS)+=yaffs/ 武汉理工大学硕士学位论文 (4)在生成的YAFFS目录中生成Makefile和Kconfig文件。 Makefile文件的内容为: Ya凰-obj s:=yaffs_fs.O yaffs—guts.O yaffs_mtdif.o ya仃S—ecc.o EXTRA_CFLAGS+=¥(YAFFS—CONFIGS)一DCONFIG—KERNEL一2—6 Kconfig文件中主要是配置一些宏,在MTD上面挂接YAFFS,以及一些辅 助配置。配置如下: config YAFFS-FS,N config YAFFS_MTD_ENABLED,Y eonfig YAFFS_RAM_ENABLED,N config YAFFS—USE_OLD_MTD,N config YAFFS_USE_NANDECC,Y config YAFFS_ECC_WROND_ORDER,N config YAFFS——USE_GENERIC_RW,Y config YAFFS_USE I-IEADER_FILE_SIZE,N eonfig YAFFS_DISABLE_CHUNK_ERASED_CHECK,Y config YAFFS——DISABLE_WRITE_VERIFY,N config YAFFS—SHORT_NAMES IN RAM,Y (5)修改NAND分区。此分区要结合VⅣI里的分区进行设置: struck mtd_partition smdk_default_nand_part[]={ [O】一{.name=’'Vivi”,.size=0x00020000,.offset=0x00000000,}, [1】={.name=’'param”,.size=0x00010000,.offset=0x00020000,), [2].{.name=’'kernel”,.size=0x00100000,.offset=0x00030000,}, 【3卜{.name=’'root'’,.size=0x0190000,.offset=0x00100000,}, [4】={.nanle=”user'’,.size=Ox025d0000.offset=-0x01a30000,} }; (6)配置内核时选中MTD支持和YAFFS支持: 上述工作完成后,将Boot Loader、Linux内核、文件系统烧写到目标机的 FLASH中,目标机就能运行Linux系统了。 linux在装置上移植成功后,就可以看到图3.4所示的启动信息: 32 武汉理1=大学硕士学位论文 5t…“Ⅲe辅…oL^月∞^目心…崎*t# : pm”NP…amnf……thj’:rh…n…Jlj?d……●f¨…-…)B∞…11《"m ro…-'…㈣……',,…l’i_】…JT 。 c…le‘……… Xt,l口…uonnngo。…I{∞n2}…,:忡RBf"1。l9oz’Po’日口一,k~m…&n…1t:tIvs0 u‰一 一 E…chad‘■lte00…^f…¨] T|8…………f●) e.1}1,一¨I”d±……td, …一一…t●I kallh—E delw l唧 ∞∞∞"■Irs mfM1~ut…n日u●~Ⅲ·rctct……LE£^·eh……e£blI……_hh……i4tl…h.mnk…1bll口tPz……n∞ 1,t·n“∞…圳¨(~a¨ Te』1=H:1,d2tr’a lⅡ口7…6h¨‘£·h’l“n’) _oIgj…………k……J嘣jv●绑…|ttdv咄…3…一,㈣2r…'vDl"-_' pfntIIn%±¨ull…………i {t…I……0fIT…hor……t…l“l-…2t‘c"ld●lHt"I F¨ I‘’jr’ins^…d }…_I…一…I = 图3_4Linux的启动信息 3.4前置单元监控软件的设计 3.4 1监控软件任务介绍 前置单元监控软件的主要任务包括以下几点: (1)周期性的采集各SM传送来的实时数据、告警等信息; (2)根据监控的要求对采集到的各种数据进行处理、存储、 显示,判断电 源的运行状奄; (3)对各监控点固定时间段内的数据按设定方式进行统计, 并保存一段时 间的历史数据和统计数据: (4)能够根据实际需要或是上级命令对系统内各个监控点以及监控模块 通信接口等在内的各种参数进行增、删、修改等配置: (5)能够同时与上级监控中心和下级的监控模块进行通信; (6)能够发现系统中存在的一些故障,并采取相应的措旌(如复位等)。 武汉理工大学硕士学位论文 3.4.2监控软件模块划分 为了软件结构清晰,也为了方便软件的维护,监控软件采用模块化设计。 按功能的不同,整个软件划分为以下几个主要模块: (1)初始化模块 初始化模块负责硬件端口的初始化、系统初始化两部分工作。硬件端口初 始化主要各个输出端口的初始化、内部寄存器等的初始化。系统初始化包括监 控系统液晶和系统数据初始化两部分。其中系统初始化数据包括初始化系统报 警数据,初始化系统数据记录,初始化通讯数据缓冲区。 初始化模块该模块与其它模块之间没有数据交换,仅和控制模块发生关系。 (2)数据采集管理模块 数据采集管理模块是系统中的重要模块,负责系统数据的采集、处理、统 计、存储、转发等工作,并在处理基础上做出报警判断,分为模拟量采集与处 理模块、数字量采集与处理模块、报警处理模块三个部分。处理后的结果是联 系人机界面模块、通讯模块等的纽带,通过数据共享,实现系统信息的传递。 数据采集管理模块的各个功能模块运行要靠控制模块来调度,数据采集模 块向其它模块提供系统运行的实时数据和报警信号。 (3)控制模块 控制模块是整个系统的核心,系统的其它模块之间通过它才能建立起联系。 控制模块在功能上包括任务电源管理子模块、调度子模块两大部分。电源 管理子模块根据数据采集模块的结果,负责电源的运行管理;任务调度子模块 负责在通讯模块、数据采集模块、人机界面模块之间进行任务的管理,根据每 种任务的申请标志调用不同的模块。 (4)人机界面模块 人机界面模块负责处理系统液晶显示和键盘操作。人机界面的功能包括: 实时数据的显示,报警数据显示,报警参数设置、电池参数设置,充电状态控 制,模块开关控制,下电参数设置,系统时间设置,操作密码设置等。 人机界面和数据采集管理模块通过报警标志、实时数据发生关系,和通讯 模块之间没有关系。 (5)通信模块 通讯模块负责系统和外界的信息交换,在系统上仅和控制模块发生关系。 武汉理工大学硕士学位论文 具体包括两个方面:一是分析并执行上级的控制、查询命令,根据要求上传监 控数据,当有告警发生时,向监控主机或上级监控中心报警;二是实现与下级 监控模块的通信,进行协议转换。 (6)系统维护模块 系统维护模块实现对系统的自检、故障自诊断、程序复位、系统安全等方 面的功能。它和控制模块、初始化模块有关系。 3.4.3监控主程序设计 系统一开始进入初始化部分,先加载系统数据并初始化运行数据和任务标 志,初始化硬件端口和寄存器,启动系统的任务(采样、通讯和人机界面)。在 系统初始化模块处理完毕后,就进入控制模块。在第一次采样结束,数据采集 模块将运行数据交给人机界面模块显示。控制模块根据运行数据和系统数据的 关系决定系统的工作状态,并启动下一次数据采集。控制模块不断巡检各项功 能模块的标志,如果有按键或有新的报警则立即调用相应的人机界面模块。如 果是模拟通道转换结束或数据采集循环结束,则调用数据采集模块,并在数据 处理结束后启动下一次采样:同时检查是否有通讯任务发生,如果有则进行通 讯处理。当数据采集模块判断出系统在报警状态,分别置报警显示标志,控制 模块在读到标志时启动相应的程序完成报警信息的显示和报告。系统维护管理 模块在控制模块的管理下定时对系统实现自检,若发现故障或死机,经确认后 做出相应的处理,包括重启、软件复位等操作。 监控系统主程序流传如图3.5所示。 武汉理T大学硕士学位论文 图3.5前置单元监控程序流程图 36 武汉理工大学硕士学位论文 第4章监控系统WEB服务器的实现 嵌入式Web技术由于具有良好的用户界面、统一的客户端软件、方便的远 程交互能力而成为嵌入式系统网络化、信息化的重要途径。本章在深入分析嵌 入式Web服务器工作原理的基础上,提出本系统中嵌入式web服务器的实现 方法。 4.1系统体系结构说明 监控系统可采用多种模式来实现,如客户机/服务器(Client/Server)模式和浏 览器/JJ艮.务器(Browser/Server)模式,这两种技术各有特剧211。 (1)Client/Server模式 Client/Server模式也可以缩写为C/S模式,也称客户机/服务器模式。 Client/Server模式是在网络基础上,以数据库管理系统为后台服务器(Sewer),以 微机或工作站为客户机(Client)的一种系统结构。其优点有: 1)Client/Server模式的应用程序形式上分为服务器端和客户机端,二者通 过TCP/IP协议来通信和传递数据,逻辑上是彼此独立的,因此,可以 分别采用不同的编程语言和软件平台来开发设计; 2)由于客户端实现与数据库服务器的直接相连,没有中间环节,因此客户 端响应速度快,实时处理能力强,系统运行性能高; 3)由于Client/Server方式必须安装客户端软件,系统相对封闭,这反而使 它的保密性能优于Web方式。 然而,Client/Server结构更新和维护的工作量大,扩展性和灵活性很差,开 发与维护的成本也较高。 (2)Browser/Server模式 B/S(Browser/Server)结构即浏览器/服务器结构,是随着Intemet技术的兴 起,对C/S结构的一种变化或改进的结构,其本质是三层结构C/S模式。在 这种结构下,客户端不需要安装专门软件只要有标准的浏览器即可。以Web服 务器为中间层,采用TCP/IP技术,以HTTP为传输协议,客户端通过浏览器访 37 武汉理工大学硕士学位论文 问Web服务器以及与其相连的后台数据库。这样大大简化客户端软件的复杂性, 减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。 Browser/Server模式具有很大的优越性【23】: 1)该模式中Web服务器承担了传接任务中的很大一部分,在服务器端安 装了Web服务器软件和数据库管理系统,只需开发和维护服务器端应 用程序,无需开发维护客户端程序,大大减少了工作量,因此有更好的 扩展性,也便于维护管理,能够降低软件开发维护开销。 2)服务器上所有的应用程序都可通过Web浏览器在客户机上执行,对于 各种资源,无论文本还是图形,都采用相同的界面,从而统一了用户界 面,用户的操作也变得十分简单。 3)改善系统的开放性。三级B/S模式的远程监测系统在可以使所有的入网 用户通过被赋予不同的权限,方便地通过Intranet或Intemet在任何地方 访问和操作数据库,有更好的开放性,可以方便地构造一个异地远程监 测环境。 B/S结构采用点对多点、多点对多点开放的结构模式,其中一个重要用途 是Web应用。在嵌入式设备的管理和交互中,采用B/S结构做基于WEB方式 的应用,在嵌入式设备上运行一个支持脚本或者CGI功能的WEB服务器,能够 生成动态页面,客户端在WEB浏览器中设置嵌入式设备工作参数,通过局域网 或广域网访问和控制嵌入式系统设备,灵活地监控设备的运行状态,实现对设 备的管理和监控。本文的网络系统结构选用B/S。 在这种模式中,客户端运行浏览器软件,浏览器以超文本形式向服务器提 出请求,Web服务器接受客户端请求后,将这个请求利用CGI程序进行解析, 并进行数据处理,然后将处理后的结果返回给Web服务器,Web服务器再将 得到的结果进行转化,变成HTML文档形式,转发给客户端浏览器以友好的 Web页面形式显示出来,其交互关系如图4.1所示 客户端浏览器 ,丫1【..—...—....—....—....—...叫...J Web服务器 ,1..............—、 、r—————叫 CGI接口 图4-1 B/S结构的数据交互模式 武汉理工大学硕七学位论文 4.2嵌入式WEB服务器介绍 UNIX/LINUX系统下常用的WWW服务器有CERN,NCSA,Apache三种, 其中Apache是最流行的WEB服务器端软件之一。由于嵌入式设备的处理器能 力和有限的存储容量,而且一般不需要同时处理多用户请求,所以不使用Apache 等这样的服务器。解决方法是使用功能相对简单、体积更小、消耗资源更少的 简单Web服务器,它们专门为嵌入式系统设计,需要的存储空间和运行时所占 内存空间都比较小。 嵌入式Web服务器(EW S,Embedded Web Server)是指将WEB服务器引 入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统 的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的 基于互联网的网络测试和控制设备。EWS系统与传统的Web应用相比,简化了 系统结构,将信息采集和信息发布都集成到现场的测控设备中。而有了标准的 接口形式和通信协议,内嵌于设备的Web服务器同样可以向任何接入它所在网 络的合法用户提供统一的基于浏览器方式的操作和控制界面,浏览器成了设备 的前端控制板【221。 在嵌入式LINUX环境下,比较常用的WEB服务器有Boa、Thttpd和Httpd 等。其中,Httpd是最简单的一个W曲服务器,它的功能最弱,不支持认证,不 支持CGI。Thttpd和Boa都支持认证和CGI等,功能都比较全。如果web服务 器仅需提供一些静态页面,例如系统介绍、简单的在线帮助等,完全可以用静 态服务器Httpd来实现。但若需要与用户进行交互,例如数据查询、实时状态查 询等,则必须使用动态web技术,可以选用Thttpd或是Boa来实现。但是在Thttpd 运行过程中所需要的资源远远大于Boa。为了实现动态技术,这里我们选择实现 一个支持CGI的、非常适合于嵌入式系统的Web服务器Boa。 4.3嵌入式WEB服务器BOA的实现 4.3.1 BOA WEB服务器的实现原理 Boa是一款单任务HTTP的WEB服务器,与其他传统的WEB服务器不同 的是:当有连接请求到来时,它并不为每个连接单独创建进程,也不通过复制 39 武汉理-丁大学硕+学位论文 自身进程来处理多链接,而是通过建立HTTP请求列表来处理多路HTTP连接 请求,同时它只为CGI程序创建新的进程。这样就在最大程度上节省了系统资 源,这对嵌入式系统来说至关重要,同时它还具有自动生成目录、自动解压文 件等功能。因此,Boa具有很高的HTTP请求处理速度和效率,在嵌入式系统中 具有很高的应用价值。 Boa和普通WEB服务器一样,能够完成接收客户端请求、分析请求、响应 请求、向客户端返回请求结果等任务。它的工作过程主要包括: (1)完成Web服务器的初始化工作,如创建TCP环境变量、创建套接字、 绑定端口、开始侦听、进入循环结构,以及等待接收客户浏览器的连接请求。 (2)当有客户端连接请求时,Web服务器负责接收客户端请求,并保存相 关请求信息。 (3)在接收到客户端的连接请求之后,分析客户端请求,解析出请求的方 法、目标、可选的查询信息及表单信息,同时根据请求做出相应的处理。 (4)Web服务器完成相应处理后,向客户端浏览器发送响应信息,关闭与 客户机的TCP连接。 嵌入式Web服务器根据请求方法的不同,做出不同的响应。如果请求方法 为HEAD,则直接向浏览器返回响应首部;如果请求方法为GET,则在返回响 应首部的同时,将客户端请求URL的目标文件从服务器上读出,并且发送给客 户端浏览器;如果请求方法为POST,则将客户发送过来的表单信息传送给相应 的CGI程序,作为CGI的参数来执行CGI程序,并将执行结果发送给客户端浏 览器。Boa的功能实现也是通过建立连接、绑定端口、进行侦听、请求处理等来 实现的。Boa的整体工作流程如图4.2所示。 武汉理工大学硕七学位论文 图4.2 Boa的工作流程图 其初始化部分的源代码如下: int servers; server—s=socket(SERVER_PF,SOCK STREAM,IPPROTO_TCP); if(server—s=1) { DIE("unable to set server socket to nonbiocking'’); } if(fcntl(servers,F—SETFD,1)一一1) { 41 武汉理工大学硕士学位论文 DIE("can’t set close!on!exec on server socket!”): ) if((setsockopt(server—s,SOL SOCKET,SO_REUSEADDR,(void}) &sock_opt.sizeof(sock_opt)))一1) { DIE("setsockopt”); ) if(bind—server(servers,server_ip,server_port);1) { DIE("unable to bind”): ) if(1isten(server_s,backlog)一1) { DIE("unable to listen”); ) 上述代码主要用于打开一个有效的socket描述符,然后将其转换为无阻塞 套接字。函数bind()用于建立套接字描述符与指定端口间的关联,并通过函 数listen()在该指定端口侦听,等待远程连接请求。当侦听到连接请求时,BOA 调用函数get request(int server sock)获取请求信息,通过调用函数accept() 为该请求建立一个连接.在建立连接之后,接收请求信息,同时对请求进行分析。 当有CGI请求时,为CGI程序创建进程,并将结果通过管道发送输出。 4.3.2 BOA服务器的移植 移植工作共分三步进行: (1)完成Boa程序的安装。 从WWW.boa.org下载Boa源码,当前最新版本为boa.0.94.13.tar.gz,将其解 压并进入源码目录的src子目录。 撑tar xzf boa-0.94.1 3.tar.gz j[j}cd boa.0.94.1 3/src 42 武汉理工大学硕士学位论文 生成Makefile文件 }|}./configure 修改Makefile文件,找到CC=gcc,将其改成CC=arm.1inux—gcc,再找到CPP =gcc—E,将其改成CPP=Rrm-linux-gcc-E,并保存退出。 然后运行make进行编译,得到的可执行程序为boa,将调试信息剥去,得到 的最后程序只有约60KB大小。 ≠≠make }}arlTl—linux-strip boa (2)完成Boa的配置,使其能够支持CGI程序的执行。 Boa需要在/etc目录下建立一个boa目录,里面放入boa的主要配置文件 boa.conf'.在BOA源码目录下已有一个示例boa.conf,可以在其基础上进行修改。 具体修改如下: Port 80 User root Group 0 ServerName www.mymonitor.com DefaultVHost BOArd.mymonitor.corn DocumentRoot/host/BCIA/web UserDir/host/BOA/public-html Directorylndex index.htm index.html DirectoryMaker/host/BOA/BOA——indexer KeepAliveMax 1 000 KeepAliveTimeout 1 0 MimeTypes/host/BOA/mime.types DefaultType text/plain CGIPath/etc/BOA:/host/BOA/cgi—bin ScriptAlias/cgi·-bin/host/BOA/web/c#·-bin 最后将修改好的配置文件boa.conf存放于嵌入式系统根文件系统/etc/boa 目录下,根据boa.conf中的设置在根文件系统中建立相应的目录,如:创建HTML 文档的主目录/host/boa/web,将HTML网页存入该目录下,创建CGI脚本所在 目录/host/boaJcgi—bin,将cgi的脚本存放在该目录下,还要将mime.types文件复 43 武汉理工大学硕士学位论文 ¥1J/host/boa目录下。将编译好的可执行文件放到root根文件系统里,将根文件 系统烧进开发板即完成移植。 (3)其他相关文件设置 在文件系统的/usr/etc/目录下有一个I'C.10cal脚本文件,是根文件系统被引导 之初要执行的脚本,包含一些希望自动启动的服务和程序。在里面添加一行 /bin/boa.c/var/www这样就可以在系统启动时自动运行了。 (4)测试运行 测试Boa能否正常工作,静态HTML页面能否正常访问,CGI脚本能否正 常运行,一般采用NFS方式来进行测试工作。可以将嵌入式目标系统上的/etc 目录拷贝到主机的NFS共享目录下然后将NFS共享目录下的etc目录重新NFS mount为目标系统上的/etc目录。这样就可以在主机上对etc目录下的各种配置 文件进行且立刻在目标系统上生效。 假设主机/nfs目录为共享目录,在其下面建立一个m^w r子目录作为Web站 点的主目录,其内容如下: index.html images cgi—bin index.html为测试主页面,images为存放各种图片的子目录,c百.bin为CGI 脚本的存放目录。根据示例boa.conf的配置,目前HTML文档的主目录为 /var/www,CGI脚本目录为/var/www/cgi—bin,则运行以下命令将主机的/nfs/www 目录mount成目标板上的/var/www目录。然后就可以运行Boa了: }}mount.t nfs 192.168.67.1:/nfs/www/var/www.O nolock jf}boa 在宿主机上运行浏览器进行测试,在地址栏输入目标系统Ⅲ,即 http://192.168.0.16,可以看到相关页面,表示Boa可正常获取页面,静态HTML 页面测试通过。 写个最简单的Hello World程序来测试CGI脚本,示例代码如下: #include<stdio.h> void main() · { printf(”Content-type:text/html\nXn”); 武汉理工大学硕士学位论文 printf(”<html>kn”); printf(”<headxtitle>CGI Output</title></head>\】n”); printf(”<body>\Il”); printf("<hi>Hello,world.</111>Ⅵ”); printf("</body>\n”); pfintf(”</html>kn”); exi。t(O); ) 然后进行交叉编译,将得到的helloworld.c百拷贝到主机的/nfs/www/cgi—bin 目录下。 #arm-linux-gcc-O helloworld.cgi hellowodd.c #cp helloworld.cgi/nfs/www/cgi·bin 在浏览器地址栏输入http://192.168.0.16/cgi—bin/helloworld.cgi,可以看到相关 页面,表示CGI脚本测试通过。 现在我们已经可以让Boa在嵌入式目标系统上正常工作了,嵌入式Web服务 器移植成功。 4.4 WEB应用开发 目前Web技术中生成动态Web页面的方法有CGI和服务器脚本,如JSP,ASP 等,但后者需要Web服务器具有这些脚本的运行支持模块。在嵌入式Web服务 器中,考虑到资源限制问题,一般都只提供CGl支持,因此在嵌入式设备中Web 方式应用实际上就是基于CGI的程序开发。 4.4.1 HTML网页设计 HTML是Hyper Text Markup Language(超文本标记语言)的缩写,是一种标 记语言,通过各种标记元素(或者说标记符)来定义文档内容的格式。通过在 网页中添加标记符,可以告诉浏览器如何显示网页。纯粹HTML格式的网页通 常被称为“静态网页”,通常是以.htm、.html、.shtml、.xml等为后缀,被保存在 服务器上,供浏览器进行访问。在HTML格式的网页上,可以嵌入图像、小程 45 武汉理1=大学硕士学位论文 序、视频剪辑、音乐和其它内容,产生各种动态的效果;也可以出现客户端脚 本,它是一种可由浏览器解析执行的简单程序,可以与客户交互,常用的网页 脚本语言主要有VBScript和JavaScript。 生成一个HTML文档主要有以下三种途径: (1)手工直接编写,如用ASCII文本编辑器、记事本或其它HTML的编 辑工具。 (2)通过网页制作工具Dream weaver制作网页,自动生成HTML文档。 (3)由Web服务器(或称HTTP服务器)一方实时动态地生成,如使用 CGI、ASP、JSP等动态网页技术生成的HTML页面 4.4.2 CGI介绍 CGI(Common Gateway Interface)是外部应用扩展程序与Web服务器交互 的一个标准接口,按照CGI标准编写的外部扩展程序能够处理客户端浏览器输 入的数据,从而完成客户端与服务器的交互,实现动态Web技术。其主要功能 是在Web环境下,从客户端传送一些信息给web服务器,Web服务器把接收到 的有关信息放入环境变量,然后再去启动所指定的CGI脚本以完成特定的工作, CGI脚本从环境变量中获取相关信息来运行,最后以HTML格式输出相应的执 行结果返回给浏览器端。由于用户能传递不同的参数给CGI脚本,所以CGI技 术使得浏览器和服务器之间具有交互性。CGI在整个数据传送的过程中,要从 Web服务器传递有关数据给CGI脚本,因此Web服务器先将从浏览器接收到的 有关数据转换为各种环境变量,然后CGI脚本就可以从这些环境变量中读取所 需要的内容。环境变量是Web服务器和CGI脚本进行数据传递的途径。CGI工 作示意如图4.3所示。 图4-3 CGI工作示意图 武汉理工大学硕士学位论文 CGI的跨平台性能极佳,几乎可以在任何操作系统上实现。在CGI技术的 基础上,ASP、JSP、PHP等动态网页脚本语言发展起来,在PC平台上应用越 来越广泛。但对于系统资源有限的嵌入式系统而言,CGI仍然是最简单、有效 的动态网页实现技术。 CGI实际上是一种由Web服务器进行解析的脚本语言,可以用任何程序 设计语言编写,Shell脚本、Perl、Fortran、Pascal、C语言等。本系统中选用C 语言来编写CGI程序,通过arm.unknown.1inux.gcc交叉编译生成CGI脚本, 在Web服务器上运行。 4.4.3 CGI程序的开发 CGI程序的工作一般就是接受表单数据,根据应用需求进行数据处理,最后 根据处理结果生成新的页面返回给浏览器。表单数据一般是以POST方法交给服 务器,由CGI程序获得,持续根据元素名字/值中的元素名字来区分数据,完成 数据处理后,再读取相应得模板文件,根据注释标记将对应的数据填充到HTML 文本中去,生成最后的页面返回给浏览器。 程序的一般逻辑为: (1)安全性检查,是否允许运行脚本; (2)处理用户提交的数据,根据元素名字/值中的元素来区分数据,然后根 据应用需求进行数据处理: (3)将处理结果填充表单,根据注释标记将对应的数据填充到HTML文本 中去,生成最后的页面返回给浏览器。 47 武汉理工大学硕十学位论文 第5章嵌入式数据库的研究与实现 随着嵌入式系统中应用程序日益复杂,嵌入式软件中对数据存取和查询功 能的要求越来越高,原来主要用于桌面系统和服务器领域的数据库也被用到了 很多嵌入式产品中。传统的用于PC机种的大型关系数据库对于硬件受限的嵌入 式系统来说并不是非常合适,只有简单小巧而又高性能的小型嵌入式数据库才 比较适用。本章就是对嵌入式数据库的实现开发作一些研究。 5.1嵌入式数据库选择 在嵌入式领域,早期的数据存储采用系统自定义的数据结构和文件格式来 进行存取和查询,但近年来随着各种嵌入式系统规模的逐步扩大,带有数据库 功能的应用程序逐渐在嵌入式系统上运行,这就是嵌入式数据库。 通常,我们所指的嵌入式数据库并不是特指用于嵌入式系统的数据库,而 是指与操作系统和具体应用集成在一起,无需独立运行,而由程序直接调用相 应的API去实现对数据的存取操作的数据库引擎。嵌入式数据库的本质就是一 种具备了基本数据库特性的数据文件。与传统数据库的相比,嵌入式数据库采 用程序方式直接驱动,而非传统数据库采用的引擎响应方式驱动;嵌入式数据 库的体积通常都很小,编译后的产品可能不过几十KB。 基于Linux平台的数据库非常多,大型的商用数据库有Oracle、Sybase、 Informix、Informix、ⅢM DB2等;中小型的更是不胜枚举,以下是常见的几种。 (1)PostgreSQL PostgreSQL是世界上最优秀的开放源码的数据库之一,是完全免费的数据库, 不需要任何版权费用和购买费。因此,它是许多Linux发行版本的首选,例 女l:Redhat、TurboLinux都预装了PostgreSQL。PostgreSQL兼容性很强,如果是 SQL92兼容的,移植PostgreSQL非常简单和快捷。 (2)MySQL MySQL是多用户、多进程的SQL database server。MySQL包括一个server daemon(mysqld)和client pro.grams与libraries的client/server实现工具;比较 48 武汉理工大学硕十学位论文 适合小而简单的数据库,对复杂的操作要求支持不是很好。如果你是普通的最 终用户,使用MySQL不需要付钱;但如果是直接或间接地出售MySQL的服务 程序或相关产品,或是在一些客户端维护MySQL server并收取费用,或是在发 行版中包括MySQL,就需要获得许可。 (3)mSQL(mini SQL) mSQL是一个单用户数据库管理系统,由于它的短小精悍,使其开发的应用 系统特别受到互联网用户青睐。mSQL并非是完全的免费,若是在大学中使用此 软件,或是为了学术研究与慈善等非营利性目的,才能免费得到使用权,否则 就得付费注册才能得到正式的版权。 (4)Berkeley DB Berkeley DB是一个开放源代码的嵌入式数据库管理系统,能够为应用程序 提供高性能的数据管理服务。程序员应用它只需要调用一些简单的API就可以 完成对数据的访问和管理。与常用的数据库管理系统(如MySQL和Oracle等) 有所不同,在Berkeley DB中并没有数据库服务器的概念,应用程序不需要事先 同数据库服务建立起网络连接,而是通过内嵌在程序中的Berkeley DB函数库来 完成对数据的保存、查询、修改和删除等操作。 (5)SQLite SQLite支持绝大多数标准的SQL92语句,采用单文件存放数据库,速度又 比MySQL快上1.2倍(官方的数据),存储量也不是问题。在操作语句上更类 似关系型数据库的产品使用,非常方便。SQLite的版权允许无任何限制的应用, 包括商业性的产品。 上面介绍的数据库技术中,Oracle、Sybase、Informix、mM DB2等功能强大, 系统体积庞大,要求付费使用,仅适用于作为大型商业数据库。MySQL在保持中 等体积的情况下提供了较为适用的功能,已经成为中小规模数据库应用的首选, 但商业应用也要收费,而且对于嵌入式开发来说空间占用仍然太大,目前还不 适用。mSQL是一种简化的SQL数据库,短小精悍,开发方便,适用于嵌入式 开发,但mSQL只有30天的使用期限,并非完全的开源。余下的开放源码数据 库中,PostgreSQL是Linux下最完善的开源SQL数据库,但体积也较大。Berkeley DB作为完全开源的嵌入式数据库速度极快,可靠性高,但学习起来有一定难度, 必然会加大开发成本。 SQLite则简单易用,速度也很快,同时提供了丰富的数据库接口,功能虽 49 武汉理工大学硕士学位论文 较Berkeley DB略有逊色,但在开源社区的推动下差距正在缩小。它的设计思想 是小型、快速和最小化的管理,这对于需要一个数据库用于存储数据,但又不 想花太多时间来调整数据性能的开发人员很适用。由于SQLite具有功能强大、 接口简单、速度快、占用空间小、可升级等一些特殊的优点,因此特别适合于 应用在嵌入式环境中。 综合考虑本监控系统的软硬件及功能要求等具体情况,选用SQLite作为嵌 入式系统的数据库。 5.2 SQLite的移植实现 5.2.1 SQLite的功能特点 SQLite是一种嵌入式数据库。SQLite的目标是尽量简单,因此它抛弃了传 统企业级数据库的种种复杂特性,只实现那些对于数据库而言非常必要的功能。 尽管简单性是SQLite追求的首要目标,但是其功能和性能都非常出色。下面是 SQLite几个重要的功能特点: (1)支持绝大多数的SQL92标准的关系型数据库,包括索引、限制、触发 和查看;原子的、一致的、独立和持久(ACID)的事务;通过数据库级的独占 性和共享锁实现独立事务处理;但不支持引用完整性的外键限制。 (2)建立的每个数据库分别存储在一个独立的不依赖于其他文件的单一数 据库文件中,这符合嵌入式数据库的文件数据库要求,也便于数据库的发布。 (3)官方网站上的源程序提供了C和TCL语言接口,可通过第三方的接 口驱动程序实现对其他语言的支持,如通过JDBC接口可以实现对Java接口程 序的支持。 (4)数据库最大可以达到2TB(241Bytes),最小可以是几百KB,甚至更 小。 (5)提供了对事务功能和并发处理的支持。 (6)SQLite不同于Server数据库,它和程序运行在同一进程,运行过程中 没有进程问通信,所以速度快、体积小、易于分发,适合运行在单机环境和嵌 入式环境。 武汉理工大学硕士学位论文 5.2.2 SQLite的体系结构 SQLite的体系结构如图5.1所示,包括内核、SQL编译器、后端/后台以及 附件4个部分。其中内核和SQL编译器完成SQL语句的接收、提取、执行;而 后台分别完成SQL指令对系统函数的调用,进而执行这些指令;附件包括常用 内存定位和哈西表等工具和部分Assert和MD5测试代码。 顶层是标记处理器(tokenizer)和分析器(parser)。SQLite有自己高度优化 的分析生成器,可以快速地生成高效率的代码。在底部是经过优化的B树,这 样可以运行在可调整的页面缓冲(page cache)上,有助于将对磁盘的查找减到最 小。再往下是页面高速缓存,它作用在OS的抽象层之上,这样的安排有助于数 据库的移动【l引。 图5.1 SQLite的体系结构 体系结构的核心是虚拟数据库引擎(vDBE)。VDBE完成与数据操作相关 的全部操作,并且是客户和储存之间信息进行交换的中间单元。从各个方面来 看,它都是SQLite的核心。在SQL语句被分析之后,VDBE开始起作用。代码 生成器将分析树翻译成一个袖珍程,随后这些袖珍程序又被组合成用VDBE的 虚拟机器语言表示的一系列指令。如此往复,VDBE执行每条指令,最终完成 SQL语句指定的查询要求。 武汉理_下大学硕士学位论文 5.2.3 SQLite的安装移植 由于嵌入式开发的交叉编译特性决定了嵌入式开发一般是在安装在计算机 上的开发环境下进行编译,编译的结果在嵌入式系统上运行,嵌入式数据库的 开发也是一样。本设计的开发环境主要指Windows上使用VMwal'e虚拟机实现 的Linux平台。 首先到SQLite的官方网站下载源代码。目前最新版本是3.5.5版,下载地址 为:http://www.sqlite.org/sqlite一3.5.5.tar.gz。 (1)将源文件夹sqlite.3.5.5.tar.gz放在/usr/local目录下,解压源文件。 ¥tar—xzvf sqlite一3.5.5.tar.gz 解压完成之后将会在/usr/local目录下生成一个sqlite一3.5.5/子目录,在该目 录中包含了编译所需要的所有源文件和配置脚本。Sqlite3的所有源代码文件都 位于sqlite.3.5.5/src/目录下。 (2)执行下面命令,根据所使用的主机和平台配置源文件,生成Makefile 和sqlite3.pc文件。 ¥./configure·-disable·-tel (3)执行下面命令,指明编译的工具链路径。命令执行完后可通过”Se—cho ¥PATH”命令查看。 ¥export PATH=/usr/local/armtools/bin/:¥PATH (4)依次执行下面的命令,进行编译和安装。 ¥make ¥make install (5)安装完成后输入¥sqlite3 test.db进行测试,键入.help应该得到命令的 介绍,正常就说明安装成功。 至此,虚拟机上已建立了SQLite开发环境。在该环境上可以进行SQLite的 指令、SQL语句编程、操作等。 在宿主机上完成SQLite的开发后,可将SQLite程序烧写到ARM板上,方法 类似内核程序的烧写过程,在此不再叙述。 52 武汉理工大学硕七学位论文 5.2.4 SQLite开发技术 SQLite的API极其易于使用,只需要三个用来执行SQL和获得数据的函数。 它还是可以扩展的,允许程序员自定义函数然后以callback的形式集合进去。C 语言API是脚本接121的基础,如已经发布的(TCL接口)。开放源码团体已经扩展 了众多的客户接口、适配器、驱动等,这就使得其他语言对SQLite的使用也成 为可能。 SQLite中常用的API函数如下: (1)打开数据库:打开一个数据库,如果不存在则自动创建。第一个参数 指定文件名,第二个参数则是自己定义的sglite3宰奉ppDb结构体指针,结构体就 是相当于一个数据库句柄。 hat sqlite3_open( const char*filename,/*数据库文件名·/ sqlite3·木ppDb严SQLite数据库句柄·/ ); (2)关闭数据库:参数就是sqlite3 openO获得的数据库句柄。 int sqlite3_close(sqlite3木); (3)执行SQL-这个函数的功能是执行一条或者多条SQL语句,SQL语 句之间用“;”号隔开。在执行一条或者多条SQL语句的时候,指定第三个参数回 调函数,在回调函数中可以获得执行SQL的详细过程,如果所有SQL执行完毕 则应该返回0,否则,则说明这次执行并没有完全成功。第五个参数:如果执行 失败(没有返回o)贝11可以查看第五个参数的值,来获得详细错误信息。 int sqlite3一exec( sqlite3宰’/幸已经打开的数据库句柄宰/ const char木sql,产要执行的Sql语句★/ sqlite void·, 幸/传递给回调函数的参数木/ char木木e肌ls∥宰保存错误信。g*/ ); (4)取当前插入位置:返回前一次插入的位置,从1开始,参数为打开数 据库所得到的句柄。 武汉理下大学硕士学位论文 int sqlite3一last_insert_rowid(sqlite3幸); (5)执行Sql查询:执行一次查询Sql并且返回一个记录集。 int sqlite3__get_.table( sqlite3幸,严己经打开的数据库句柄·/ const char*sql,产要执行的Sql语句幸/ char·宰木resultp,产保存返回记录集的指针·/ int*nl'OW,产返回记录数木/ int*ncolumn,产返回字段数木/ char木奉emnsg/宰返回错误信息宰/ ); 利用SQLite提供的与C语言接口的API函数,可以编写程序代码生成 数据库和表,及访问数据库。首先通过提供文件名和访问模式等参数来调用 sqlite_open0连接数据库。然后执行一个SQL查询,可以调用sqlite_exec0。 由于SQLite通过对每个记录执行callback函数获得从数据库那里得到的结果, 因此可以根据需要构造自己的callback函数用来实现具体的功能。最后以 “sqlite_close(p_db);”语句关闭数据库即可。 利用移植成功的Web服务器和数据库可以编写CGI程序来实现远程监测功 能。 武汉理工大学硕士学位论文 第6章总结 通信电源集中监控技术在通信电源的应用,标志着通信电源的维护和管理 从人工看守式的维护管理模式向计算机集中监控和管理模式转换。从90年代初 福州电信局的第一套通信电源监控系统开发实验作为电源监控起步标志,到现 在有lO个年头了,在此期间,电源监控系统无论在技术上,还是在系统实施的 规模上都有了很大的发展,可以说,目前通信电源集中监控技术发展与监控系 统的实施已进入一个新时代。各项新技术的日新月异、各种新器件的层出不穷, 必将使得通信电源监控系统的功能和性能更加优化;高度综合化、网络化、智 能化是监控系统未来发展的方向。可以预见,在不久的将来,通信电源监控系 统一定会发展成为一个性能卓越、功能强大、操作简单的全智能化计算机网络 管理系统,为通信电源的科学维护管理,为保障通信网络的畅通,发挥更大的 作用。 本文研究了嵌入式系统在电源监控系统中的应用,在监控系统整体结构设 计的基础上构建了基于ARM9芯片的嵌入式系统代替传统的单片机系统,使监 控系统的功能和性能整体提高了一个层次。完成基本的软硬件设计后,本文尝 试探讨在嵌入式系统中实现数据库和Web服务器功能,增强电源监控系统的数 据处理能力和网络功能。该系统既可以作为局站监控中心的前置监控单元,也 可以应用于不设监控中心的小局站中来完成监控主机的任务。 由于精力和水平的限制,本系统只是实现了基本的监控功能。要想成为一 个商业级的产品,显然还有许多工作要做,这里对本系统下一步的工作提出以 下几点展望: (1)在本系统的设计中对具体现场环境下系统安全性和可靠性的考虑不够 充分,有待进一步改进。 (2)系统功能扩展方面有所不足。本设计只是完成了基本结构、功能的设 计,没有在此基础上利用QT实现监控画面的制作,且系统只能实现静态页面的 显示,没有综合CGI程序设计技术和Flash技术完成嵌入式动态网页技术的应用 开发。 武汉理下大学硕士学位论文 参考文献 【1】陈燕昌,张树治.通信电源监控系统发展情况及若干问题的探讨.通信电源论文集,1999 【2】贾继伟,蔡仁治,杜珉等.通信电源的科学管理与集中监控.北京:人民邮电出版社 2004.135.140 【3】祝秋波.通信电源监控系统的研究:【硕士学位论文】.武汉:武汉理工大学,2005 [4]龚成.通信电源集中监控系统的设计与实现:【硕士学位论文】.四川:西南石油大学,2006 [5】刘国安.通信电源远程监控系统的研究与开发:【硕士学位论文】.武汉:武汉理工大学, 2006 【6】戴世谨.通信电源集中监控系统的优化设计与实现:【硕士学位论文】.四川:西南交通大 学,2002 [7】申小玲.通信电源集中监控技术的研究与开发:【硕士学位论文】.西安:西安理工大学, 2003 【8】何震.通信电源机房动力环境集中监控系统:[硕士学位论文】.辽宁:辽宁工程技术大学, 2004 【9】9张志文,李家兴.通信电源及机房环境集中监控系统维护方法.武汉洲际鸿翔公司,2003 【10】徐小杰,侯振义.通信电源集中监控系统的现状与发展.空军工程大学电讯工程学院, 2003 【ll】李坚,陈兵,谢伟成.基于LonWorks技术的通信电源监控系统的设计.微型电脑应用, 2000,16(4):21"24. 【12】刘福峰.ARM携手Linux推动嵌入式领域的发展.电子设计应用,2004,(7).22—25 f13】杨继华,严国萍.基于嵌入式Linux与¥3C2410平台的视频采集.单片机与嵌入式系 统应用,2004,(11).18.19 【14】刘露,王竹萍,刘炬.基于嵌入式Linux的视频网络实时监控系统的实现.电测与仪 表,2004,(12).34—36 【15】王成,刘金刚.基于Linux的嵌入式操作系统的研究现状及发展展望.微型机与应用, 2004,5.13-15 【16】张晓华,黄布毅,杨存祥.基于ARM.Linux的SQLite嵌入式数据库技术.电子设计应 用,2005.06.1 15.117 【17】班建民,陆卫忠,付保川等.嵌入式数据库在监控系统中的应用与实现.计算机工程 与应用,2005.14(31):219-222 【18】杜俊俐,王东云.基于C/S与B/S模式混合架构的远程监控系统的研究.中原工商学 院学报,2003,14(1):1.3 56 武汉理工大学硕十学位论文 【19】陈新,高风梅,曹玲芝等.嵌入式数据库SQLite在电梯B/S监控中的应用.电子技术应 用,2006,32(5):59—61. 【20】张曦煌,柴志雷.嵌入式Web服务器中CGI的特点及实现[J】.小型微型计算机系统, 2003,24(1 1):2046-2048. 【21】宋江贵.基于ARM9的基于的嵌入式web server研究应用与通信实现:【硕士学位论文】. 北京:北京邮电大学,2008 【22】吴军霞.基于ARM的嵌入式Web服务器的研究.【硕士学位论文】.武汉:武汉理工大 学,2007 【23】朱其慎.基于ARM-Linux嵌入式系统C/S、B/S模型研究:【硕士学位论文】.云南: 昆明理工大学,2007 【24】夏婷.嵌入式一体化远程检测装置设计:【硕士学位论文】.武汉:武汉科技大学,2008 【25】李艳峥.基于嵌入式web服务器的心电远程监护系统的研制:【硕士学位论文】.北京: 北京工业大学,2008 【26】孙磊.基于的嵌入式数据库SQLite的移植开发:[硕士学位论文】.云南:昆明理工大学, 2008 【27】颜庭柏.基于的嵌入式数据采集和发布系统:【硕士学位论文】.南京:南京信息工程大学, 2007 f28】Hirsch; Marc,Johnson; Mark,Smith;Darwin.Communication architectures for centralized monitoring and control of power equipment.DqTELEC, International Telecommunications Energy Conference(Proceedings), 1996,P 76—81 【29】Hassan A Artail,Mackram Raydan.Device—aware desktop web page tramformation for rendering on handhelds[J].Personal and Ubiquitous Computing,2005,9(6):101-116. 【30】Su, C.L.;Chen, C.F.;Lu, C.N.;Liu, E.Communication network performance study of a high·tech park power quality monitoring system。Institute of Electrical and Electronics Engineers Inc.2000 【3 1】Gunawardena, Sanjecv;De Haag, Maarten Uijt;Van Graas, Frank;Zhen, Zhu. Remote-controlled,continuously operating GPS anomalous event monitor.Proceedings of the Institute of Navigation-19th International Technical Meeting of the Satellite Division, ION GNSS 2006,2006,P 381-392 【32】Albert MK Cheng,Zhang Zhubin.Improving web server per—formance with adaptive proxy caching in soft real—time mobile applications[J].Joumal of VLSI Signal Processing,2007,47(2):1 1 2-1 27. 【33】Chu,w.Y;Chan,John K.w.;Lin,Dennis J.H.TETRA Technology for Power Systems Control and Monitoring.Transactions Hong Kong Institution ofEngineers, V 10, n 4, December, 2003,P 22·26 【34】Zhang, Ying.Design of real time monitoring system for telecom power supply based on 57 武汉理工大学硕+学位论文 intemet.Wuhan Ligong Daxue Xuebao(Jiaotong Kexue Yu Gongcheng Ban)/Joumal of Wuhan University of Technology(Transportation Science and Engineering), V 3 1, n 4, August, 2007,P 676—679 【35】Bingham, Richard P.Recent advancements in monitoring the quality of the supply. Proceedings of the IEEE Power Engineering Society Transmission and Distribution Conference,V2,n SUMMER,2001,P 1106-1109 【36】Zhu,Changqing;Liu,Shanghe.The Control and Communication of Distributed Test and Control System.Proceedings of the International Symposium on Test and Measurement,V 6,2003,P 4741—4744 【37】Feng,Li-Fang;Sun,Jun;Zhou,Jun-Hua;Chen,Wei-Jun.Network video monitoring system based on ARM9.Diardi Zidonghua Shebei/Electric Power Automation Equipment, V 26, n 10, October· 2006,P 95-97+1 16 【38】Ma,Honglian:Lu,Liangxim Li,Long.Design and implementation ofthe shipping anchor monitored system based on ARM configuration.Yi Qi Yi Biao Xue Bao/Chinese Journal ofScientific Instrument,V 28,n SUPE 4,April,2007,P 134—136 【39】Tian, Jingwen;Gao, Meijuan;Li, embedded Jin.Intelligent window based on system. Proceedings-SNPD 2007:Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, 2007,P 395.399. 【40】Peng, Guo-Sheng.Design of ARM and Ethemet based vibration signal collector.Dianli Zidongh眦Shebei/Electric PowerAutomation Equipment,V 27,n 1,January,2007, P 87—89 58 武汉理T大学硕士学位论文 作者在攻读硕士学位期间发表的学术论文 [1】罗惠谦,成小霞,谈春艳. 嵌入式通信电源监控系统.仪表技术,2009.04 59 武汉理j亡大学硕七学位论文 致谢 首先感谢我尊敬的导师罗惠谦副教授,本论文是在他的悉心指导和关怀下完 成的。在这三年的研究生学习期间,罗老师严谨的治学态度、渊博的专业知识 以及忘我的工作热情对我的一生都有着非常深远的影响,激励我不断努力学习 和工作,向着更高的人生目标奋斗。罗老师在学术上给予我很多指导和帮助, 为我们创造良好的学习氛围,正是在这种环境下我才能够顺利完成学位论文。 此外,罗老师在为人,科研方面的态度让我受益匪浅:我懂得了做人要积极乐 观,正直,乐于助人;做科研要严谨认真、脚踏实地、勤于动手、思考。这些 成为我以后工作及生活方面的目标。 我还要感谢石道生老师,在我选题的时候给了方向性建议;与此同时,我 还要感谢帮助过我的师弟师妹们,他们给我提出了许多宝贵的意见,拓宽了我 写作的思路。在此表示最深的谢意! 感谢父母的多年养育之恩!感谢家人的理解与支持!感谢自动化学院2006 级硕士研究生同学的帮助! 最后,对评审论文的各位专家、学者表示衷心的感谢! 成小霞 2009年5月于武汉理工大学 基于ARM的通信电源监控系统的研究 作者: 学位授予单位: 成小霞 武汉理工大学 相似文献(10条) 1.期刊论文 罗红波.韩冬生.LUO Hong-bo.HAN Dong-sheng 通信电源集中监控系统的实现方案 -电力系统通信 2005,26(5) 通信电源对于保证整个通信系统的畅通是极其重要的,通信电源监控系统能对分布的通信电源设备和机房空调进行遥测和遥控,能实时监视和显示其 运行参数,自动监测和处理系统内各种设备故障.文章通过对电源监控通信方式原理的具体描述,提出了微波带外传输方案和基于高端的以太网VPN解决方 案,同时对SDH带外业务的应用和VPN的实现做了详细的介绍.同时,文章也对山西省SDH网通信站电源集中监控问题进行了详细论述. 2.会议论文 杨树敏 电源监控的简述及应用实例 2004 电源监控系统的实用研究从上个世纪70年代开始,随着电子技术的飞速发展,计算机技术的应用,为实现电源监控提供了优良的技术保障。通信电 源集中监控技术在通信电源的应用,标志着通信电源的维护和管理从人工看守式的维护管理模式向计算机集中监控的管理模式转换。 3.期刊论文 钱志根.王红传.QIAN Zhi-gen.WANG Hong-chuan 区域级通信电源监控系统的实现及发展 -通信电源技 术2008,25(3) 叙述了监控系统的结构及发展情况,说明了智能设备接入监控系统情况及接入方案,同时叙述了通信电源监控系统发展面临的问题及趋势,使监控系统 向高智能化方向发展,根本上改变传统维护模式,有效利用监控技术及通信协议的开放性等问题的看法. 4.学位论文 王伟 通信电源及环境集中监控系统 2005 随着科学技术的突飞猛进,我国的通信事业有了飞速的发展,通信网本身随着基础技术和系统技术的发展走向更高的层次,相应地对电源系统和空 调系统的要求越来越高。通信事业和科学技术的迅速发展,使通信设备的自动化性能有了很大提高,为通信系统的集中监控管理提供了可行性。通信电 源设备的迅速分散,大量电源设备和空调设备分散在各个模块局内,通过集中监控系统,维护人员可以发现设备故障,如果有必要,可以派人到现场处 理,从而使通信局站不必配备一定的维护人员昼夜值守在机房内,进行巡视、抄表等日常维护工作和必要的设备维修、故障处理等。 本论文详细介绍了电源监控的各项知识,包括集中监控的设计原则、集中监控的监控内容、集中监控的结构组成及硬件的功能,详细论述了监控设 备的网络结构,并结合潍坊通信公司情况,详细介绍了通信电源集中监控软件PowerDCS的设计和调测过程。 通信电源监控内容包括:高压配电、变压器、低压配电、柴油发电机组、不间断电源UPS、开关电源、蓄电池、空调、环境(包括温度,湿度,水浸 ,烟雾等)。集中监控一般应有日常维护、故障分析、告警管理和维护提醒等功能。监控系统数据采集根据不同的电源设备设置若干设备监控单元SU(监 控模块SM),构成若干相对独立的数据采集系统,智能设备的监控模块本身自行构成数据采集子系统。通过电话网或“97工程网”将监控采集数据传送到 电源监控管理中心SC,电源监控管理中心SC通过监控软件PowerDCS实现动态数据画面监视、实时/历史趋势图、实时/历史数据报表/统计/打印、报警与 报警打印、实时/历史数据库、设备的遥测、遥信、遥控。 通信电源集中监控技术在通信电源中的应用,标志着通信电源的维护和管理从人工看守式的维护管理模式向计算机集中监控和管理模式转换,为实 现电总要求的少人或无人值守奠定了基础。而且,由于采用集中监控,实现了通信电源设备的科学化管理,提高了供电质量,各种测试记录、维护资料 可定时打印,自动记录存档。如蓄电池充放电电压的特性曲线、柴油发电机组的开关机时间、电压、电流等,满足了通信生产的需要,值得各电信经营 商应用。 从我公司的电源集中监控系统正式投入使用以来,从未发生过影响通信供电或中断监控的情况,且所有的告警都能实时上报,工作稳定可靠,而且 使用操作直观方便。我中心维护人员都能熟练的掌握操作监控系统。 5.期刊论文 郭凯东.张东来.苏光明.GUO Kai-dong.ZHANG Dong-lai.SU Guang-ming 嵌入式操作系统μC/OS-Ⅱ在 通信电源监控中应用 -电力自动化设备2005,25(4) 对嵌入式操作系统μC/OS-Ⅱ在AVR单片机的移植做了简要介绍,用一个通信电源监控系统的实例,介绍了监控系统的硬件结构和软件设计,说明了如何 有效地将μC/OS-Ⅱ应用到目标系统中,叙述了监控系统的可靠性保证措施及系统调试中需要注意的问题.嵌入式实时操作系统μC/OS-Ⅱ的应用改变了传 统的嵌入式开发过程,使系统有足够的通用性、实时性、可扩展性. 6.期刊论文 罗惠谦.成小霞.谈春艳.LUO Hui-qian.CHENG Xiao-xia.TAN Chun-yan 嵌入式通信电源监控系统 -仪 表技术2009,""(4) 介绍一种基于ARM嵌入式技术的通信电源监控系统.首先论述了监控系统的体系结构,在此基础上重点对局站部分的硬件设计,系统软件,应用软件的实 现方法作了详细地说明. 7.期刊论文 薛运.罗汉文 小型电源监控系统软件的设计和实现 -计算机工程2004,30(4) 介绍了一套监控系统的软件结构的设计与实现,从软件角度介绍了各个模块从设计到实现的全过程,并针对电源监控的特殊要求给出了具体的解决方 法. 8.会议论文 张小军.董希泉.卜凯利 通信电源集中监控系统的构建 2008 本文阐述了监控系统的发展情况、构成情况、监控系统软件特点及监控系统的功能,分析了通信电源设备的接入监控系统情况、接入方案以及监控系 统的可靠性问题,同时就充分发挥已有设备的优势,使监控系统向高智能化方向发展,从根本上改变传统维护模式,有效利用监控技术及通信协议的开放性 等问题阐述了看法。本文着重阐述和分析了单位电源监控系统升级的必要性和实施中一些具体的方法。 9.期刊论文 孟博 浅谈通信电源监控系统及其应用 -江苏通信2008,24(1) 传统的维护管理模式已很难满足现代化通信网络发展的需要,采用新的维护管理模式对电信网的安全稳定运行就显得尤为重要.根据通信电源集中维 护、统一管理基本模式,监控系统在结构上是-个多级的分布式计算机监控网络,一般可分为城市监控级、区域监控级、局站监控级以及前端现场部分.介 绍了铁通某市分公司通过对56个无人值守机房安装电源集中监控系统后,机房电费总计同比减少,机房设备故障率同比明显下降,设备维护劳动生产率得到 了提高. 10.学位论文 王志萍 CAN总线技术在通信电源监控中的应用研究 2005 随着我国通信业和电力电子技术及开关电源技术的逐步发展,通信设备对开关电源的要求更加严格了,同时对其监测、控制以及维护管理的要求也逐 渐提高.而计算机技术在电源领域中的广泛应用,进一步对电源设备提出了统一监控、少人或无人值守的要求.通信电源对其系统中监控单元的监控能力要 求也越来越高,不断地对所监控模块的数量、被监控量的数目以及监控告警实时性等方面提出更高的要求.现场总线是安装在工业现场并且配置在主要自 动化装置之间的一种串行通讯方式,CAN总线是一种典型的现场总线,它以高性能、高可靠性、实时性及独特的设计等特点,得到广泛的应用,遍及了从高速 网络到低成本的多线路网络.这些优点都使得CAN总线通讯能够更好地满足电源监控的需要.结合通信电源监控的具体需求,本文完成了电源系统中基于 CAN总线网络的监控单元与受控模块之间通讯软件的开发,以及CAN总线的硬件接口电路的设计.首先,为了更好的实现电源监控所需数据的实时传输,在透 彻分析CAN总线技术规范的基础上,开发了专用于电源监控的CAN总线通讯上层协议.其中融入了TTCAN通讯方式的思想以及组群和对象字典的概念,使通讯 更为灵活,并大大提高了数据传输的效率.其次,在CAN总线硬件接口电路的设计中,采用了正交试验的方法对通讯电路参数进行优化,使硬件的延时达到最 小.通过研究CAN总线位定时设置的容差能力,获得了硬件延时以及晶振偏差对位定时参数设置的约束关系,设计出了具有很强容差性能的CAN通讯网络,不 仅保证了正常的通讯,同时提高了系统通讯部分的抗干扰能力.最后,利用UML统一建模语言从静态和动态两个方面建立了监控单元中CAN通讯部分的软件实 现模型,并以所建立的模型为指导设计了符合电源监控的实时性要求的通讯软件.利用CAN总线网络通讯的电源监控单元实现了对电源系统中四种不同模块 高效可靠地实时监控.CAN总线技术在电源系统中的成功应用,解决了传统监控方式只能监控单一对象且数据传输速度低等问题. 本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1475289.aspx 下载时间:2010年5月25日
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })