引言
目前国内的随钻测量钻井压力工具大部分是引进国外设备,成本高、维修困难。已经使用的国内设备在体积、集成度和精度上有着明显的不足,并且老化程度高。基于此种情况,笔者开发了一个基于ADuC848微控制器的、可扩展采集通道的钻井压力数据采集系统。ADuC848是美国ADI公司最新推出的一款具有军品标准,单片最多可带8路模拟信号输入转换通道,扩展主机/从机模式最多可达16路模拟输入通道的微控制器。它具有单16位高精度A/D转换器、16位无差错编码,大容量64KBFlashROM、4KB片上Flash和2304字节片上RAM,高性能单循环内核,外部晶振32kHz可编程倍频至12.58MHz,ISP在线高速下载编程,另外还有24个I/O口、11个中断源(2个优先级)、双数据指针、内部节电模式、12位D/A转换器,以及UART、SPI和I2C串行通信模式、看门狗定时器WDT和电源监视器PSW等。ADuC848芯片的52引脚MQFP封装仅为14mm14mm,最高工作温度为125℃,正常工作最大电流为4.8mA且节电模式最大电流为20μA。所以ADuC848特别适用于开发在高温恶劣环境下长时问作业的小型数据采集系统。
1系统硬件设计
本系统主要分为5个模块,且所有主要元器件均选用ADI公司的模拟和数字军用标准产品,大大提高了系统的可靠性、耐高温性和抗震性。系统硬件设计总体框图如图l所示。
1.1模拟信号输入调理模块
此模块主要实现对压力传感器输入信号的放大、滤波功能。前端信号放大部分应用高精度、零漂移的AD8230轨至轨仪表运算放大器,经过电阻测算标定为放大增益200倍。放大后的信号经由一个OP07D运算放大器滤波输入至ADuC8d8模拟通道进行采集。钻压输入信号一般为O~15mV,经过放大滤波后输出至A/D采集的信号为0~3V。AD8230的工作温度范围为一40℃~125℃,最大漂移电压仪为lOμV,最大温漂也仅为50nV/℃。本系统由于试验需要仅对一路模拟信号进行放大,并留有扩展输入通道接口,可根据需要将单片增加至8路。本模块电路原理图如图2所示。
1.2系统供电模块
由于井下工作电源一般是由9~12V的锂电池提供,而系统所有元件的工作电压均在5V左右,所以需要对9V的电源进行整流至系统5V输入供电。供电部分所采用的ADP303电压变换器,是一款高精度、200mA低漂移的线性整流器,特别适合于小功率系统的电源整流供电。其工作电压范围为3.2~12V,可以解决由于外部电压不足而导致系统无法正常工作的问题。由于系统器件分为模拟器件和数字器件两部分,因此相应地分为模拟和数字供电。整流输出的5V供电经l00mH的电感和1.8Ω的电阻分别为模拟电源和数字电源供电,这样可以大大降低供电对数字器件的干扰。而模拟地和数字地也需要经过0Ω的电阻进行滤波才可以连接到一起,以便减小干扰,尤其是对精度高的数字器件应用时更应该注意这点。原理图如图3所示。
1.3SPI数据实时存储模块
按照系统的要求需要对数据进行实时的存储,采用ADuC848微控制器自带的SPI接口对外部Flash芯片进行读写,实现数据回放功能。考虑到钻井作业的特殊性,单次施工连续工作在100h以内,按每秒采集5组16位数据计算,单片Flash的容量至少应在6.86MB以上,因此本系统采用了AT45DB542D(简称AT45D)的64Mb串行SPI存储器。浚Flash芯片存储容量大,高速读写可至66MHz,10mA低功率串行工作,可擦写10万次,保存数据可达10年。可以根据现场的实际情况多片组合最大至256Mb以完全满足大量数据存储的需要。本系统采用单片存储器完成试验。原理图如图4所示。
1.4上位机通信
采集数据的上传接口采用的是RS-232串行通信模式,收发数据波特率设置为9600bps。微控制器的输入/输出电平为TTL电平,即UART串口,与PC机RS-232标准串行接口的电气规范不一致,因此控制芯片与PC机之间的数据通信必须进行电平转换。采用MAX232接口转换芯片可以很好地实现与上位机通信的功能。具体实现如图5所示。
1.5ADuC848接口、复位、PSEN与双机扩展
各个模块与MCU的接口连接均由ADuC848的I/O和通信口的外围电路设计完成。供电部分的接口均需接入0.1μF的电容滤波,中断部分由一个开关和10kΩ下拉电阻组成,保证在系统中断电平允许范围内及时响应中断;MCU自带的TXD、RXD口分别与RS-232模块的Tlin、Rlout相连接直接形成串行通信,系统留有8个A/D模拟输入接口(AINl~AIN8)供系统扩展。系统的复位电路由按键和RC电路完成,系统运行时确保REST口维持在低电平,需要复位时接通RC电路完成指定16个系统时钟周期的高电平复位。程序下载模式由PSEN口外接lkΩ,下拉电阻完成,当系统处于连续工作状态时PSEN为开路非下载模式;当需要更新系统程序时,只需将PSEN短接至lkΩ电阻后接通复位电路。系统便可以自动进入下载模式等待上位机下载程序。系统的双机扩展和外围存储器接口均由ADuC848的MISO、MOSI、SCLOCK、SS四线制的SPI接口完成。由它们设置主机、从机,并选择数据发送/接收传输时钟,可以完成对存储器的读写和MCU的功能扩展。具体框图如图6所示。
2软件编制与ISP下载
本系统的软件编制和仿真下载均在Keil公司最新推出的KeiluVision3环境下实现。Keil单片机应用开发软件支持多种不同公司的MCS51构架的芯片,集编辑、编译、下载和仿真等于一体;同时还支持PLM、汇编和C语言的程序设计,在调试程序和软件仿真方面也有很强大的功能。KeiluVision3支持ADuC8XX系列芯片的开发和在线下载,简单易用,能够满足系统软件开发环境的需求。
系统软件流程图如图7所示,包括两大主要功能:第一,实现无回放数据中断请求下的数据连续采集、存储及上传;第二,实现中断请求下的数据回放上传。
数据采集部分的示例代码具体如下:
数据存储器读取示例代码如下:
ADuC848的P2.O连接存储器的时钟SCLK,P2.1连接SI,P2.2连接SO.P2.3连接CS片选。
ISP即系统可编程,指可以对电路印制板上的空白器件编程写入用户代码,而不需要把芯片取下来烧录再放入系统中,已经编程的器件还可以通过ISP方式重新编程和擦除原有程序。ADuC848自带有ISP方式的串行下载模式,通过TXD、RXD、DVDD、DGND引脚四线制接入RS-232模块。当PSEN引脚通过一个1kΩ的下拉电阻至低电平并且把系统复位时,隐藏在芯片内部的下载核开始工作,芯片进入串行下载模式,可以对片内64KBFlash可擦写程序存储器进行串行在线下载编程。此种方式允许现场软硬件升级,高效、方便地提升系统功能。
3试验结果
经过系统硬件标定和软件测试:当外部参考电压Vref+设置为3.3lV,Vref-设置为0V,A/D转换模式设置为外部参考电压、编码方式为双极16位编码、量程范围为一3.389~+3.389V,且一路模拟传感器电压信号输入凋理电路为0mV电压时,转换结果为0x8000;当信号输入为4.56mv时,被放大为0.912V至A/D输入,转换结果为0xA270;当15mV输入信号被放大为3V至A/D输入时,转换结果为OxFl4B,数据及精度完全符合仿真标准。
4结论
本系统经过软硬件设计、硬件标定和软件测试等一系列过程,达到了预期的高精度数据采集、存储、传输的目的。系统体积小,仅为78mm22mm14mm,若去掉调试所需的接口、跳线、复位和调理电路标定电阻部分,体积可减小至50mm20mm6mm;耐高温、运行稳定、功耗低,经测算本系统的功耗仅为562.48mW,如果经过改进,本系统的功耗还可以降到400mW以下。 |