杜 岗
作为水电站综合自动化控制系统中的一个组成部分,水文信息采集单元负责采集水位、水温及机组栅压差等参数并上传至综合集控中心[1]。目前针对水文信息采集单元的绝大多数设计方案均采用PLC实现对这些水文参数的采集与传输,根据采集对象的数据类型及传输方式选择不同的IO模块和通信模块,每次安装调试都需要花费大量精力放在一些重复性的工作上,同时由于水文信息采集单元功能相对单一,构建一套完整的PLC+上位机测控系统效费比太低。基于此,笔者设计开发了水电站专用一体化水文数据采集板,它集成了模拟量输入、数字量输入输出、高速计数脉冲输入输出等数据IO接口和RS232/485、工业以太网TCP/IP、USB等数据通信接口,非常方便地实现了对水位、水温、栅压差、编码器脉冲和开关量报警等信号的数据采集功能和串行、以太网及USB数据通信功能。
图1 一体化数据采集板功能分布
采集板按照实际需要基本可划分5个功能块,分别是高速计数器采集功能,模拟量、数字量的输入输出功能,数字脉冲输入输出功能,数据通信功能和数据存储功能等五个基本功能块,采集板功能分布如图1所示。
五个功能块基本能够满足水文数据采集过程中涉及的绝大多数接口和功能需求,诸如外接编码器、PLC控制器、各类传感器、各类通信总线等,基本的接口连接如图2所示。
图2 采集板硬件连接图
采集板的核心处理单元采用的是LPC2468,这是一款基于ARM7嵌入式处理芯片LPC2468NXP设计的开发板,最高频率可达72MHz,含有高达512KB的片内Flash和98KB的片内SRAM存储器,功能接口丰富,特别适合于工业控制、通信、汽车、医疗等系统的开发。
模拟量和数字量采集模块设计有8路数字量和24路模拟量输入输出通道,其中模拟量采集采用ADC芯片MAX1403,数字量采集采用具有高速光耦功能的芯片PC412S0NIP0F,同时为了便于实现多路通道并联使用,系统选用多路LVDS交叉开关MAX-9135实现多通道切换[2]。
信息采集板集成多种硬件接口,支持多种通信协议,在系统运行中必须建立多任务的实时数据处理机制。基于ARM7内核的嵌入式开发系统能够非常方便地实现多任务的软件调度处理[2]。这种多任务的数据处理过程,包含两个层面,一个是针对外接设备的接口数据采集和处理过程,也就是多任务功能模块调度。另一个是针对与远程控制单元或控制主机的数据通信过程,也就是协议栈调度[3-4]。实时数据处理机制原理图如图3所示。
图3 实时数据处理机制原理
实时数据处理机制设计的关键是多任务功能模块和协议栈的调度实现。多任务功能模块调度实现的关键是调度器的设计与实现,调度器原理如图4所示。
图4 调度器原理
调度器的组成及其功能详细说明如表1所示:
表1 调度器组成及功能说明
调度器其实质是以ARM7位核心单元的一系列Cache和寄存器组[3]。因此,这种基于嵌入式的多任务功能模块的调度过程或者说实时数据处理机制完全可以利用状态机机制来完成软件实现。
多任务功能数据处理机制实现的关键是设计调度器,相对硬件调度器,基于软件的调度器灵活性更高,可方便完成功能极其复杂的任务调度。在进行水电站水文数据采集单元集成化设计过程中,最重要的是进行数据处理机制的设计,采用基于ARM7核心的信息处理智能模板并通过嵌入式软件系统来实现调度策略,这种方式相比硬件调度器,设计方法、实现手段更加灵活。
[1] 杜岗,马小平.基于MC G S的水电站水文数据通讯的实现方法[J].电工技术,2007(5):60-62.
[2] 李守军,马小平,于红.基于W inC E的矿用信息采集板设计与协议栈调度实现[J].矿山机械,2013(2):114-117.
[3] 杨志家,王宏,宋岩.基金会现场总线高速硬件调度器设计[J].计算机工程,2012(5):230-232.
[4] 葛茜倩.嵌入式T C P/IP网络协议栈架构与效率研究[J].计算机与现代化,2011(12):17-19.学院教务处工程师,硕士,主要从事水利信息化和计算机控制方面的研究。