基于VxWorks的油井数据采集远程终端的设计
0 引 言
目前,采油厂多以抽油机采油生产为主要任务,抽油机的分布点多面广,工作在条件恶劣的环境中,容易损坏和遭外力破坏,需要经常巡测,人员工作强度大。目前油井工作状态参数监控由于缺乏远程手段,对油井的生产状况均处于事后处理状态,油井出现异常或被盗破坏时不能及时处理,造成大量不明损失。基于CD-MA通迅信道的远程终端(Remote Terminal Unit,RTU)充分利用现有的计算机网络,通过对现场的监测和数据采集、传输,可以满足油井远程监控的需求。该远程终端可以对油井运行时的负荷、位移、油管回压、温度、冲次、工作电流、电压等参数进行实时全自动在线抄收;当现场有异常情况发生时,监控中心能自动发出相关报警信息,调度室可根据报警信息派相关人员去做现场处理。相关数据的采集,由传统的人力操作模式转变为计算机自动操作模式,无需人工干预,从而节省人力、提高了工作效率。
1 监控系统架构与远程终端的功能
监控系统(如图1)主要由监控中心和远程终端构成。远程终端负责对抽油机现场数据的采集与收发。监控中心对来自各个远程终端的数据进行集中监控。远程终端通过CDMA信道接入Internet,从而与监控中心服务器建立连接。监控中心是该系统的指挥中心,它可以向现场的远程终端发送多种命令和信息、可以对接收的数据做进一步处理,可以将必要的信息通过网络发给各部门。
远程终端监测抽油机三相电压值、三相电流值、以及抽油机负荷、井口油管回压、井口油管温度等。
2 远程终端的整体结构设计
如图2为RTU系统架构框图。根据应用需求,系统被设计为单片机加嵌入式处理器的构架。MSP430F149单片机是德州仪器(TI)推出的超低功耗16位RISC混合信号处理器(Mixed Signal Proces-sor)。该处理器具有丰富的硬件资源,较高的处理速度以及低功耗的特点,自带8路12 b ADC和双UART,使其非常适合作为该终端的数据采集处理器。$3C44.BOX为三星公司推出的一款以ARM7为核心的32位嵌入式处理器。它具有丰富的资源以及低功耗低成本的特点能够满足该终端的应用需要。
MSP430单片机在该系统中主要完成实时数据的采集。待采集的数据有:由电量传感器搜集的抽油机三相电压电流数据,采油机臂负荷,温度传感器模拟信号,压力、红外传感器信号。单片机将采集的数据按照要求的数据格式通过UART发送到S3C44BOX。
在该系统中S3C44BOX作一定的数据处理并且通过控制CDMA模块完成无线网络连接和数据收发。在开机后S3c44BOX控制CDMA模块首先与监控中心建立数据链路,监控中心收到链路信息后即可获得油井的运行信息,可随时接收单片机采集的数据信息。当S3C44BOX接收到单片机的信息后,通过CDMA网络将数据发送给监控中心,或将监控中心发来的信息传给单片机。在S3C44BOX上所实现的任务较多并且涉及到PPP(Point to Point,点对点协议)协议栈,为了满足系统的实时性,本终端采用vlxWorks嵌入式实时操作系统。S3C44BOX所要完成的任务有:
(1)接收来自MSP430的数据帧;向MSP430发控制指令。
(2)处理MSP430发送的数据并利用负荷传感器数据计算出采油臂的转动周期,提取抽油机示功图。
(3)连接CDMA网络,S3C44BOX通过向CDMA模块发送AT命令控制其进行PPP拨号建立Internet连接。
(4)建立了PPP连接后,远程终端和监控中心作数据交换。
(5)监测系统的供电情况。若远程终端产生掉电事件,在系统完全关闭前(由大电容维持使系统不会立即关闭),系统向主站发出停电报警。
(6)对系统看门狗的处理。包括软件看门狗和硬件看门狗,保证系统的可靠性。
(7)对网络的支持。有了对局域网的支持,调试时下载VxWorks应用程序镜像到FLASH存储器就变得方便和快速,方便了系统软件的升级。
远程终端选用AnyDATA公司的DTGS-800作为无线通信模块。该模块的主要特性有:采用Qualcomm公司的6050芯片;频段为800 MHz,支持CDMA2000 1XRTT标准;内建TCP/IP协议栈等。DTGS-800通过U_ART与S3C44BOX相连,S3C44BOX通过发送AT命令来实现对CDMA模块的控制。
3 远程终端的软件设计
远程终端的软件分为MSP430单片机程序设计和S3C44BOX的程序设计。
3.1 MSP430单片机程序设计
MSP430单片机负责多种数据采集,并将数据打包发送。MSP430单片机具有双UART。uART0用来向上位机ARM传输数据并接收ARM所给的指令;UARTl通过RS 485协议与电量传感器相连。两个红外传感器的数字输出端TELSIG1和TELSIG2分别连在MSP430的P5.0和P5.1通用I/O端口。温度传感器、压力传感器和负荷传感器输出的模拟信号量经过各自的信号调理电路后分别连接于单片机的A0,A1和A4端口。通过MSP430F149单片机自带的12 b ADC完成温度、压力和负荷信号的模数转换,模数转换以定时中断的方式采样,对原始数据的采样频率为50 kHz。
软件的设计思路采用进程快速循环,以进程标志为判断条件调用各个进程,执行相关控制。如图3所示,用一个循环计数器的计数值来设置所有进程的标志。在以10 ms为周期的定时中断服务程序中,该计数器值加1。每执行一次TimeFlag(),都将计数器的值与每个进程预定的执行时间所对应的计数值比较,得出进程的标志状态,从而使各进程得以有序执行。
3.2 S3C44BOX程序设计
对S3C4480x的程序设计涉及到VxWorks操作系统:BSP(Board Surpport Package,板级支持包)的修改、操作系统的裁剪和应用程序的设计几个方面。
BSP是介于嵌人式系统硬件和操作系统之间的一层,属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好地运行于硬件。BSP的编程过程大多数是在某一个成型的BSP模板上进行修改。根据本系统的硬件结构和软件应用需求,BSP的修改需要实现以下目标:
(1)实现操作系统对TFFS(True FLASHFile System)文件系统的支持。TFFS是Vx-works兼容的一种文件系统。他为种类繁多的FLASH存储设备提供了统一的块设备接口。有了TFFS,应用程序对FLASH存储设备的读写就好像他们对拥有MS-DOS文件系统的磁盘设备的操作相同。建立好文件系统后,远程终端运行的日志、系统配置参数、系统校准参数、CDMA用户名/密码等便可以以文件的方式保存。
(2)实现对RTL8019以太网控制芯片的支持;实现通过FTP访问远程终端的文件系统,这样可对系统应用程序在线升级,下载日志文件;实现Telnet,可通过Telnet修改远程终端的配置参数,对远程终端进行维护。
图4为VxWorks应用程序主程序流程。当Vx-Works完成启动后进人应用程序。应用程序主程序完成各种初始化和各任务的创建,以及任务级看门狗的创建。
系统初始化包括对系统参数初始化、用iosDrvIn-stall()函数将CDMA设备驱动添加到设备驱动列表、用iosDevAdd()添加CDMA设备到I/O系统设备列表、硬件看门狗初始化。其中系统参数初始化中又包括日志文件检查、系统配置参数加载、CDMA用户名/密码的检验等。若文件系统上没有相应的参数文件则按照默认参数创建文件。硬件看门狗芯片选用X5045。初始化设置看门狗的复位时间并启动,由于。X5045看门狗芯片的复位时间最长只能达到1.4 s,而VxWorks系统启动时间超过了1.4 s,为了不让X5045产生的复位信号中断VxWorks的启动,要在VxWorks启动前将X5045禁用,这就需要修改BSP。在bootIn-it.c文件的romStart()函数的开始处添加禁止X5045复位的代码。
- CDMA2000基带信号发生器的FPGA+DSP实现(05-29)
- 基于VxWorks的系统故障快速恢复设计(01-12)
- 数字WCDMA系统数字频域干扰抵消器方案设计,硬件架构(06-04)
- 基于S3C2410的CDMA无线数据传输方法(12-05)
- STM32 ADC与DMA多通道处理(12-03)
- STM32的ADC DMA USART综合学习(12-02)