基于ARM的井口RTU测控系统设计

2013-08-11 07:12翁惠辉长江大学电子信息学院湖北荆州434023
长江大学学报(自科版) 2013年34期
关键词:板卡井口测控

胥 昕,翁惠辉 (长江大学电子信息学院,湖北 荆州434023)

近年来,随着以计算机技术、通信技术为主的信息技术的快速发展和Internet的广泛应用,嵌入式系统得到了越来越广泛的应用。随着采油工艺技术的发展,对井口RTU (远程测控终端)提出了处理速度快、兼容性好和可靠性高等要求,尽管以可编程逻辑控制器 (PLC)为处理器的测控系统具有较完善的功能,但其只适用于室内环境,难以适应采油井所在的野外环境。为此,笔者基于ARM芯片设计了井口RTU测控系统。

1 系统总体架构设计

基于ARM的井口RTU测控系统整体框架采用模块化结构设计,以 AT91SAM10-G45为主处理器,通过以太网接口以及RS-485串口完成与上位机的通信[1]。其中,AT91SAM9M10-G45、2片SDRAM芯片、FLASH储存器、电源系统以及时钟系统组成ARM芯片的嵌入式基本体系结构。根据井口RTU现场信号测控要求,对温度、压力、悬点载荷、抽油杆位移、井口流量、上下冲程脉冲信号等工艺参数设计相应的I/O模块输入,以实现对现场信号的采集、调理、校对、放大以及控制等功能 (见图1)。

图1 系统总体架构图

2 系统硬件设计

2.1 CPU模块

CPU处理器主要完成数据处理、运算与外设通讯等功能[2]。AT91SAM9M10-G45芯片内部资源以及外围扩展接口都非常丰富,利用该芯片可以扩展外部存储器、静态存储器、EEPROM、DDR2 SDRAM、电源控制单元、串行外设接口 (SPI)、I/O控制器 (模块)、定时器、以太网接口、USB接口和UART接口等 (见图2)。

1)CPU电源模块 由于AT91SAM9M10-G45芯片内核工作电压在0.9~1.1V之间,内存接口的供电电压在1.65~1.95V之间,I/O口电压在1.65~3.6V之间,模拟DC电压在3.0~3.6V之间,因而在电源电路的设计中,直接将电源模块提供的5V电压经过DC-DC模块压降成芯片内部所需电压。其中,静态RAM工作所需的电压由3.3V电源和后备电源共同供电,此外选用ADM691电源监控芯片对静态RAM工作电源进行检测,以保证静态RAM工作电源不会掉电。

2)CPU存储电路 基于AT91SAM9M10-G45芯片的嵌入式系统共有2种存储器接口电 路, 即 SDRAM (Static RAM)接口电路和静态RAM接口电路。SDRAM接口电路根据ARM的CPU计时时间同步设计,这样ARM的内存控制器能够准确掌握所要求的数据以及所需要的准确时钟周期,CPU不需要延时到下一次的数据存储。因此,不仅要正确选用SDRAM芯片,还要正确配置ARM处理器中DRAM控制寄存器的控制参数。

图2 CPU模块结构图

2.2 I/O模块

I/O模块结构图如图3所示。采用美国微芯公司的dSPIC30F4013作为I/O模块处理器,I/O模块提供驱动现场设备的+24V电源接口、控制信号接线端子、I/O模块工作状态灯等。采用智能板卡的形式设计I/O模块,将其插到板卡插槽后能主动上报板卡号、板卡类型、板卡冗余以及自动分配板卡地址等信息。此外,针对I/O模块的通道设计了全隔离电路。

图3 I/O模块结构图

2.3 以太网接口

AT91SAM9M10-G45芯片内部EMAC模块中集成了一个和IEEE802.3标准相兼容的以太网EMAC。该模块内部集成了统计和控制寄存器、接收和发送堆栈及DMA接口,采用地址监控方式进行工作。地址监测器可以识别4个特殊的48位地址和包含64位的散列寄存器多播和单播匹配地址,可以识别所有地址为1的广播地址并复制所有的帧,还可以报告外部地址的匹配信号。以太网接口驱动器件选用DAVICOM公司的DM9161AEP芯片,该芯片支持RMII接口,具有10~100Mbit/s自适应功能,支持全双工或半双工功能,能完全满足工业以太网的功能要求。

3 系统软件设计

基于ARM的井口RTU测控系统运行过程中处理的任务十分复杂,包括以太网通信、扩展总线通信。信号采集与处理、自检等。为此,选用以UNIX为基础发展而来的Linux操作系统[3],其对硬件要求低,可以支持多处理器芯片,并且源代码是公开的,这样便于升级和修补内核,因而可以实现各任务之间的通信以及与系统下位机的通信。基于ARM的井口RTU任务流程图如图4所示。井口RTU的各任务间通过信号量和消息队列来实现通信,即使用计数器信号量解决多个任务读写互斥的问题,利用消息队列来解决任务间的数据交换。串口通信通过串口驱动实现,以太网通过套接字实现,从而实现对任何一个文件的操作。

基于ARM的井口RTU测控系统下位机底层程序设计思路是在主程序中调用各个子模块程序,从而减少模块间的相互耦合性[4]。子模块程序主要包括初始化程序、模拟量输入程序、开关量输入程序、开关量输出程序和高速脉冲程序等 (见图5)。

图4 基于ARM的井口RTU任务流程图

图5 系统下位机底层程序图

4 结 语

根据数字化油田中采油工艺技术的实际要求,设计了由ATMEL公司AT91SAM9M10-G45型微控制器为处理器的新型PLC,其具有效率高、成本低、性能稳定、可靠性强等特点。通过模块化的设计来实现系统整体架构,并根据各个模块的作用实现整个井口RTU系统的数据采集、传输以及处理的功能,使得该系统更利于维护和升级。此外,ARM芯片处理器所使用的嵌入式Linux操作系统平台十分便于程序的编写和调试。

[1]宋万里 .基于嵌入式平台的双目主动测距系统 [D].杭州:浙江大学,2012.

[2]肖红翼,翁惠辉,毛玉蓉 .采油场井口RTU测控系统 [J].石油仪器,2007,21(6):67-69.

[3]封景刚,吴宝江.ARM嵌入式系统完全入门与主流实践 [M].北京:电子工业出版社,2008:78-79.

[4]孙延岭,赵雪飞,张红芳,等 .基于ARM嵌入式系统的微型智能可编程控制器 [J].电力系统自动化,2010,34(10):101-103.

猜你喜欢
板卡井口测控
基于LabWindows/CVI与TekVISA的Tek示波器远程测控软件设计
基于PCI9054的多总线通信板卡的研制
基于FPGA的多通道模拟量采集/输出PCI板卡的研制
基于现代测控技术及其应用分析
CO2驱油系统的井口预警系统设计
向着新航程进发——远望7号测控船首航记录
一种基于光纤数据传输的多板卡软件程序烧写技术
井口之蛙
基于USB2.0协议的通用测控通信接口设计
裸眼水平井分段压裂施工中井口压力预测