嵌入式水位雨量数据采集系统设计与实现.doc_第1页
嵌入式水位雨量数据采集系统设计与实现.doc_第2页
嵌入式水位雨量数据采集系统设计与实现.doc_第3页
嵌入式水位雨量数据采集系统设计与实现.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文章编号 :1001 - 4179 (2007) 10 - 0114 - 04嵌入式水位雨量数据采集系统设计与实现余 德 华刘 泽 文张 国 学(长江水利委员会 荆江水文水资源勘测局 ,湖北 荆州 434020)摘要 :水位雨量采集系统为防汛测报提供及时的水雨情信息 ,随着应用需求的增加 ,原有的以 8 位单片机为核心的控制系统 ( RTU) 满足多任务 、多信道方面已经显得有点力不从心 ,采用嵌入式系统可以实现除了现有的卫 星 、电话 、GSMGPRS 等通信方式外 ,还可以实现基于网络的数据传输方式 ,实现对水位 、雨量进行实时在线监 测 ,从而实现测报系统的网络化 。介绍了嵌入式系统的基本原理 ,分析了 ARM 微处理器的体系结构 、指令系 统 、操作系统 、开发软件等嵌入式开发技术 ,给出了基于 ARM 的嵌入式系统的解决方案 ,并对水位雨量采集 、存 贮 、传输和数据安全措施进行了分析设计 。关 键 词 :ARM ; 嵌入式 ; 数据采集中图分类号 : P332 : TP274文献标识码 : A大的优势 :(1) 系统稳定可靠 、功耗低 、存贮容量大 ;(2) 运算速度快 ,可以快速处理较复杂的算法和协议 ;(3) 可以接入 Internet 网 ,利用公用网进行数据传输 ,完全实 现数据的在线监测 。实现嵌入式系统的技术难点主要是根据水位雨量采集的要 求 ,设计硬件电路及外围接口电路 ,在软件上要移植嵌入式操作 系统及利用操作系统提供的 API 函数实现操作系统功能调用 , 编写硬件驱动程序 , 移植 GUI 软件 , 实现友好的 人 机 界 面 。另外 ,实现 TCPIP 协议 ,接入 Internet 网也是一个重要的难点 。实现嵌入式的水位雨量采集系统的途径主要是选择嵌入式微处理 器和嵌入式操作系统 ,首先搭建硬件平台 ,在硬件平台上移植操 作系统 ,然后实现 TCPIP 等协议 ,最后开发应用软件 。1问题的提出1. 1嵌入式系统应用背景嵌入式系统是可精简的专用计算机系统 ,它是以应用为中 心 ,以计算机技术为基础 ,软件硬件可剪裁 ,适用于开发对功能 、 可靠性 、成本 、体积 、功耗要求严格的应用系统 。它主要由嵌入 式微处理器 、外围硬件设备 、嵌入式操作系统以及用户应用软件 等部分组成 。用于实现对其它设备的控制 、监视和管理等功能 。 随着 Internet 网的广泛普及应用和各种多媒体设备以及无线网 络的发展 ,嵌入系统的应用越来越广泛 。它涉及面广 ,技术难度 较大 ,目前在国内属于比较前沿的技术 。1. 2水位雨量采集系统存在问题水位雨量采集系统的主要功能是对水文站 、水位站的水位 、 雨量进行数据采集 ,并向水情中心传送信息 。目前国内使用的 系统设备多以 8 位单片机为核心的数据终端 ,外接水位 、雨量传 感器 ,配以 FLUSH、EEPROM 等作为存贮媒介 ,实现了对水位 、雨 量信息进行采集 、存贮 、传输 。随着自动测报技术的发展 ,采集 的信息内容更多 ,信息量更大 。例如 :ADCP 实时在线流量监测 , 泥沙 、水质在线监测等 ,还有使用网络传输等 。使用目前的设备 难以胜任 ,主要存在如下问题 :(1) 单片机的运算速度和内存容量有限 ,有限的资源已成 为其发展的障碍 ;(2) 大数据量信息的现场处理困难 ; (3) 难以实现网络传输 。1. 3嵌入式系统的优势和技术难点针对上述存在的问题 ,嵌入式系统在水文信息系统中有很2 嵌入式水位雨量采集系统分析与设计水位雨量采集系统集数据采集 、存贮 、传输于一体 ,随着计 算机和通信技术的发展 ,嵌入式系统开发技术已经成熟 ,把嵌入 式系统应用到水位雨量采集上是完全可行的 。2. 1系统需求分析2. 1. 1水位雨量采集系统基本原理水位雨量采集系统由遥测站和中心站组成 ,它的基本组成 如图 1 所示 。遥测站主要是数据采集和发送站 ,中心站则是数据接收和 处理站 ,它还具有发送指令的功能 。水位雨量采集系统按数据传输方式大体可分为 3 种运行体 制 :即自报式 、应答式 、混合式 。收稿日期 :2007 - 08 - 08作者简介 :余德华 ,男 ,长江水利委员会水文局荆江水文水资源勘测局 ,工程师 。2. 1. 2水位雨量采集系统的要求要实现水位 、雨量自动监测 ,系统应满足下列要求 :(1) 采用 定 时 自 报 、事 件 自 报 、加 报 和 召 测 兼 容 的 工 作 方 式 。(2) 能自动采集 、存贮水位 、雨量等参数 。采样 、存贮间隔 可编程 。(3) 能自动按定时自报方式向中心站发送水情信息 ,定时 间隔可编程 。(4) 具有“加报”功能 。当水位 、雨量超过设定值时自动向 中心站发送水位雨量数据 ,水位雨量设定值可编程 。(5) 具有多种信道接口 ,能通过不同信道自动传输水情数 据 ,当主信道故障时 ,自动切换到备用信道发送 。(6) 中心站能对所辖站点进行参数设置 、读取数据 。(7) 水位 、雨量数据能按时间存贮和按变率存贮两种方式 存贮 。2. 3. 1 系统存储器设计存储器采用 Flash 存储器 ,线性 Flash 用于固化程序 ,非线性 Nand - Flash 用于存贮数据 ,随时存储器 SDRAM 作为系统的内 存 。(1) 线性 Flash 。线性 Flash 与 44B0X 的硬件 ,接口中主要有 地址线 、数据线和控制线 。(2) 非线性 Nand - Flash 。非线性 Nand - Flash 与线性 Flash有不同的特点 ,其内部采用非线性宏单元模式 ,容量较大 ,改写 速度 快 , U 盘 就 采 用 Nand - Flash 存 储 器 做 的 。它 由 块 页 构 成 ,每块由 32 页组成 ,读与写都以页为单位进行操作 ,擦除是基 于块进行操作的 。(3) SDRAM 存储器 。S3C44B0X 具有与 SDRAM 控制信号线 一一对应的接口信号 ,因此 S3C44B0X 扩展 SDRAM 存储器是十 分方便的 。图 2 嵌入式水位雨量采集系统硬件框图2. 3. 2 显示与键盘设计LCD 的接口 ,44B0X 内部含有一个 LCD 驱动控制器 ,能自动 产生 LCD 驱动控制所需的控制信号 ,因此 44B0X 能与 STN 型的 彩色 LCD 屏直接连接 ,不需要外加控制器 。在这种方式下 ,LCD 显示缓冲区映射在系统的存储空间上 ,程序只需要将像素点的 内容写入存储器对应地址就可以实现对应 LCD 屏上像素点颜 色的显示 。本系统采用松下 L78C64 的液晶屏作为水位 、雨量显 示和参数设置用 。键盘作为系统的输入接口 ,完成各种参数设置 、控制数据显示等 。键盘采用触摸屏与 LCD 相对应 ,对触摸屏的控制有专门 的芯片 ADS7843 ,它完成电极电压的切换 ,采集接触点处的电压 值 ,并进行 AD 转换 ,CPU 读取 AD 转换的数值并计出触摸点的 位置 。2. 3. 3 以太网接口设计以太网控制器的接口 ,在本系统中采用 RTL8019 网络控制 器 。RTL8019 有 3 种工作方式 : 第 1 种为跳线方式 , RTL8019 的 IO和中断由跳线决定 ; 第 2 种为即插即用方式 ,由软件进行自 动配置 plug and play ;第 3 种为免跳线方式 , RTL8019 的 IO 和中 断由外接的 93c46 里的内容决定 。在嵌入式应用中一般采用第1 种跳线方式 。2. 3. 4 串行接口设计串行接口 ,44B0X 有两个串口 ,通过 MAX232 电压转换电路 实现标准的串口电路 。2. 3. 5 电源和看门狗的设计整个系统需要多种电压 ,必须进行电压转换 ,由 12 V 输入 ,转换成 5 、3. 3 、2. 5 V 。RTL8019 是 5 V 供电 ,44B0X 的 IO 接口供图 1 数据采集系统的基本组成2. 2总体方案设计(1) 处理器的 选 择 。ARM 具 有 体 积 小 、功 耗 低 、存 储 容 量 大 ,运行速度快等特点 ,测站数据采集终端采用具有 ARM 内核 的 CPU ,它能克服原来单片机系统的缺点 ,能满足现代水文监测 的要求 ,提高系统的稳定性和可靠性 。处理器采用三星公司的 S3C44B0X 微处理器 (简称 44B0X) ,它不仅具有 ARM 内核 ,而且 还提供了全面的通用片上外设 ,大大减少了系统中除处理器以 外的元器件配置 ,从而使系统成本大为降低 。(2) 接口设计 。雨量计接口 :开关信号输入 ,可接翻斗式雨 量计 ;水位计接口 : RS232C、RS485 、SDI - 12 ;流量泥沙水质传感 器接口 : RS232C RS485 ;通信接口 : RS232C 可接卫星终端 、电话调 制解调器 、GSM、GPRS。2. 3硬件系统设计根据应用要求对嵌入式系统进行裁剪 ,设计基于 ARM 的硬 件框图如图 2 所示 。系统由 ARM 内核的 CPU 、存储器 Flash 、随机存储器 RAM、LCD 液晶显示器和触摸屏等组成 ,水位接口采用 SDI - 12 接口 连接水位编码器 ,雨量是开关量信号 ,采用 IO 口与之连接 ,通信模块接入 RS232 口 ,网络接口通过隔离变压器与外部交换机连接 。116人民长江2007 年电是 3. 3 V ,ARM 内核是 2. 5 V 供电 。看门狗电路 ,外部看门狗电路是嵌入式系统必不可少的部 分 ,可在程序异常 、干扰出现情况下使系统重新复位 ,保证系统的正常长期运行 。2. 4软件系统设计2. 4. 1软件系统结构系统关键技术实现在实现嵌入式水位雨量采集系统中 ,关建技术主要是嵌入 式系统的软硬件环境的建立和水位 、雨量采集处理 ,软硬件环境3主要包括 硬 件 平 台 的 构 建 、COS - 实 时 操 作 系 统 的 移 植 、TCPIP协议和 FAT16 文件系统的实现 。只有通过实践掌握了这些技术后 ,才能全面实现嵌入式水位雨量采集系统 。3. 1硬件平台的构建硬件系统设计是基于 ARM 的最小系统 ,通过制作实验板 ,验证电路设计的正确性和合理性 ,实验板上的资源如下 : (1) Samsung S3C44B0X 66MHz (ARM7 内核) ;(2) 8M SDRAM ;(3) 2M Nor FLASH ;(4) 16M Nand FLASH ; (5) 10M 以太网接口 ; (6) 实时系统时钟 ;(7) LCD 接口 ;(8) 触摸屏接口 ;(9) 2 个 RS232 串行口 ;(10) 14 针 J TAG 调试端口 ; (11) 通用 IO 接口 ;(12) 1 个 SIO 接口 。其中通用的 IO 口 用 于 雨 量 采 集 , SIO 接 口 与 水 位 编 器 的 SDI - 12 口连接 ,RS232 口与 GPRS 模块相联 ,通过 10M 以太网接 口与交换机或路由器 。主要的 IO 口分配如下 :嵌入式操作系统主要有COS -,Linux 和 Windows CE ,其中 Windows CE 是商业软件 ,存在版权问题 ,Linux 系统很大很复杂 ,内核不断升级 ,还不具备实时性 , COS - 是实时多任务操 作系统内核 ,源代码公开 ,稳定可靠 。它可以移植到不同的 CPU 体系结构中 ,它只是一个内核 ,实现了任务调度 ,各个任务之间 通过信号量 、邮箱 、消息队列进行数据通信 。因此本系 统 选 用 COS - 作为操作系统内核 ,但它没有网络功能和文件系统 ,在此内核基础上设计实现 TCPIP 的部分协议和 FAT16 文件系统 ,就可组成嵌入式系统的软件环境 。数据传输采用 UDP 协议发送水位 、雨量数据 , 接收参数设 置和查询命令等 ,其数据通信量不大 ,在 UDP 协议上加上自已 定义 应 答 信 号 处 理 协 议 , 可 以 正 确 传 输 数 据 。系 统 中 有 了 FAT16 文件系统 ,雨量 、水位数据就能以文件的形式存贮 ,便于 查看和读写 。系统中除COS - 外还有几个应用模块 ,主要是 :LCD 显 示模块 、触摸屏模块 、TCPIP 模块 、SDI - 12 模块 、雨量接口模块 、FAT16 模块 、GPRS modem 控制和 PPP 协议模块等 。各个模块与COS - 相互配合 ,协调工作 ,软件系统结构如图 3 所示 。(1) GPC0 - GPC3 与 Nand FLASH 的控制信号 RB 、CE、CL E、AL E 分别连接 ;(2) (3) (4) (5)(6)GPC8 为 LCD 显示控制信号 nDISP ON ;GPC9 为 LCD 背光控制信号 nEL ON ;GPE7 为雨量接口信号 ; GPE6 为电源指示灯信号 ;GPG2 - GPG7 为触摸屏接口信号 。3. 2实时操作系统COS - 的移植3. 2. 1 COS - 概述COS - 是源代码公开的嵌入式实时操作系统 ,它具有如 下特点 :(1) 可移植性 ( Portable) :绝大部分COS - 的源码是用移 植性很强的 ANSI C 写的 。和微处理器硬件相关的部分是用汇编语 言 写 的 。汇 编 语 言 写 的 部 分 已 经 压 到 最 低 限 度 , 使 得COS - 便于移植到其他微处理器上 。(2) 可固化 ( ROMable) :COS - 是为嵌入式应用而设计 的 ,嵌入式系统的程序一般需要固化 ,COS - 可以嵌入到用户的产品中成为产品的一部分 。(3) 可裁剪 ( Scalable) :COS - 是可裁剪的系统 ,通过条 件编译来实现选择用户所需要的部分功能 ,将不要的功能去掉 ,这样可以节省存贮空间 。(4) 占先式 ( Preemptive) :COS - 完全是占先式的实时内 核 。也就是说COS - 总是运行就绪条件下优先级最高的任 务 。大多数商业内核也是占先式的 , COS - 在性能上和它们 类似 。(5) 多任务 :COS - 可以管理 64 个任务 。应用程序最图 3 软件系统结构2. 4. 2通讯协议和数据格式在 TCPIP 协议中 ,TCP 和 UDP 是传输层中的协议 ,TCP 是面 向连接的可靠的传输协议 ,但是协议之间的握手要耗费很多系 统资源 。UDP 是无连接的传输协议 ,但并不意味着用 UDP 传输 数据不可靠 ,UDP 协议灵活 ,快速 ,主要用于 DNS、SNMP 和 TFTP 中 ,本系统中采用 UDP 传输数据 ,在 UDP 协议上增加自定义的 通讯协议 ,完全可以做到正确有效地传输数据 ,自定义的通讯协 议的发送格式为命令代码 + 数据 , 接收格式为应答码 + 数据 。 系统发送完命令后 ,等待对方的回答信息 ,根据回答信息判断命 令功能是否完成 , 没有完成则重发命令 , 重发次数根据需要设 定 。2. 4. 3程序流程初始化硬件设置 ,包括 IO 、主频 、串口等设置 ,以及对网络 控制器 RTL8019 、TCPIP 协议 、文件系统 FAT16 、COS - 初始 化 。然后建立系统中的各个任务 , 最后启动COS - 。主程 序的流程如下 :初始化硬件设置 ( IO 、主频 、串口等) ; 网络控制 器初始化 ; TCPIP 初始化 ; FAT16 初始化 ; 设置时间 ; 初始化C OS - ;建立各个任务 ;启动COS - 。多可以有 56 个任务 。赋予每个 任 务 的 优 先 级 必 须 是 不 同 的 。COS - 不支持时间片轮转调度法 ,该调度法适用于调度优先 级平等的任务 。(6) 可确定性 :全部COS - 的函数调用与服务的执行时 间具有其可确定性 。也就是说 ,全部COS - 的函数调用与服务的执行时间是可知的 。进而言之 , COS - 系统服务的执行时间不依赖于应用程序任务的多少 。中在多任务切换的实现上 ,因为保护现场和恢复现场的代码只能使用特定的处理器汇编语言完成 。移植COS - 的工作大都集中在 OS CPU A. S 文件的移植 ,这个文件的实现集中体现了所要移植到处理器的体系结构和COS - 的 移 植 原 理 ; 移 植 这 个 文 件 , 最 困 难 的 工 作 是 在OSIntCtxSw 和 OSTickISR 这 两 个 函 数 的 实 现 上 。这 是 因 为 这 两 个函数的实现是和移植者的移植思路以及相关硬件定时器 、中 断寄存器的设置有关 ,且比较容易出错 。COS - 的全部源代 码量大约是 6 0007 000 行 ,一共有 15 个文件 。将COS - 移植到 ARM 处理器上 ,需要修改 3 个和 ARM 体系结构相关的文件 。分别是 :(7) 任务栈 : 每个任务有自己单独的栈 ,COS -允许每个任务有不同的栈空间 。以 便 压 低 应 用 程 序 对 RAM 的 需 求 。使用COS - 的栈空间校验函数 ,可以确定每个任务到底需 要多少栈空间 。(8) 系统服务 :COS - 提供很多系统服务 ,例如邮箱 、消 息队列 、信号量 、块大小固定的内存的申请与释放 、时间相关函数等 。(9) 中断管理 : 中断可以使正在执行的任务暂时挂起 。如 果优先级更高的任务被该中断唤醒 ,则高优先级的任务在中断 嵌套全部退出后立即执行 ,中断嵌套层数可达 255 层 。(10) 稳定性和可靠性 :COS - 在一个航空项目中得到 了美国联邦航空管理局对商用飞机的符合 RTCA DO - 178B 标准的认证 ,这一结论表明 ,该操作系统的质量得到了认证 ,可以在任何应用中使用 。为了表明COS - 具有足够安全性与稳 定性 ,能用 于 与 人 性 命 攸 关 的 、安 全 性 条 件 极 为 苛 刻 的 系 统 ,COS - 的每一种功能 、每一个函数及每一行代码都经过了考 核与测试 。3. 2. 2 COS - 的移植COS - 实际上是一个多任务的调度器 ,在任务调度器 上实现了多任务操作系统的一些系统服务 ,如信号量 、邮箱等 。 它绝大部分代码都是用 C 语言写的 ,只有与处理器有关的代码 是用汇编写的 。移植工作就是修改与处理器有关程序 ,主要集(1) OS (2) OS(3) OSCPU. H 文件 ;CPU C. C 文件 ;CPU A. S 文件 。参考文献 :1于明 ,范书瑞 ,曾

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论