ADuC848和Keil实现钻井压力数据采集仿真

嵌入式设计应用

132人已加入

描述

应用ADuC848新型微控制器和Keil仿真下载软件,设计开发了钻井压力数据采集系统。本系统具有16位高精度A/D转换器,数据实时采集上传存储,最高作业温度为125℃,具有功耗低和集成度高等特点。使用ISP在线编程时,要针对现场需要及时调整系统软件,灵活应用。

  引 言

  目前国内的随钻测量钻井压力工具大部分是引进国外设备,成本高、维修困难。已经使用的国内设备在体积、集成度和精度上有着明显的不足,并且老化程度高。基于此种情况,笔者开发了一个基于ADuC848微控制器的、可扩展采集通道的钻井压力数据采集系统。ADuC848芯片的52引脚MQFP封装仅为14 mm×14 mm,最高工作温度为125℃,正常工作最大电流为4.8 mA且节电模式最大电流为20μA。ADuC848特别适用于开发在高温恶劣环境下长时问作业的小型数据采集系统。

  1 系统硬件设计

  本系统主要分为5个模块,且所有主要元器件均选用ADI公司的模拟和数字军用标准产品,大大提高了系统的可靠性、耐高温性和抗震性。系统硬件设计总体框图如图l所示。

  

keil

 

  1.1 模拟信号输入调理模块

  此模块主要实现对压力传感器输入信号的放大、滤波功能。前端信号放大部分应用高精度、零漂移的AD8230轨至轨仪表运算放大器,经过电阻测算标定为放大增益200倍。放大后的信号经由一个OP07D运算放大器滤波输入至ADuC8d8模拟通道进行采集。钻压输入信号一般为O~15mV,经过放大滤波后输出至A/D采集的信号为0~3 V。AD8230的工作温度范围为一40℃~125℃,最大漂移电压仪为lOμV,最大温漂也仅为50 nV/℃。本系统由于试验需要仅对一路模拟信号进行放大,并留有扩展输入通道接口,可根据需要将单片增加至8路。本模块电路原理图如图2所示。

  

keil

 

  1.2 系统供电模块

  由于井下工作电源一般是由9~12 V的锂电池提供,而系统所有元件的工作电压均在5V左右,所以需要对9V的电源进行整流至系统5V输入供电。供电部分所采用的ADP303电压变换器,是一款高精度、200mA低漂移的线性整流器,特别适合于小功率系统的电源整流供电。其工作电压范围为3.2~12 V,可以解决由于外部电压不足而导致系统无法正常工作的问题。由于系统器件分为模拟器件和数字器件两部分,因此相应地分为模拟和数字供电。整流输出的5V 供电经l00mH的电感和1.8Ω的电阻分别为模拟电源和数字电源供电,这样可以大大降低供电对数字器件的干扰。而模拟地和数字地也需要经过0Ω的电阻进行滤波才可以连接到一起,以便减小干扰,尤其是对精度高的数字器件应用时更应该注意这点。原理图如图3所示。

  

keil

 

  1.3 SPI数据实时存储模块

  按照系统的要求需要对数据进行实时的存储,采用ADuC848微控制器自带的SPI接口对外部Flash芯片进行读写,实现数据回放功能。考虑到钻井作业的特殊性,单次施工连续工作在100h以内,按每秒采集5组16位数据计算,单片Flash的容量至少应在6.86 MB以上,因此本系统采用了AT45DB542D(简称AT45D)的64 Mb串行SPI存储器。浚Flash芯片存储容量大,高速读写可至66 MHz,10 mA低功率串行工作,可擦写10万次,保存数据可达10年。可以根据现场的实际情况多片组合最大至256 Mb以完全满足大量数据存储的需要。本系统采用单片存储器完成试验。原理图如图4所示。

  

keil

 

  1.4 上位机通信

  采集数据的上传接口采用的是RS-232串行通信模式,收发数据波特率设置为9 600 bps。微控制器的输入/输出电平为TTL电平,即UART串口,与PC机RS-232标准串行接口的电气规范不一致,因此控制芯片与PC机之间的数据通信必须进行电平转换。采用MAX232接口转换芯片可以很好地实现与上位机通信的功能。具体实现如图5所示。

  

keil

 

  1.5 ADuC848接口、复位、PSEN与双机扩展

  各个模块与MCU的接口连接均由ADuC848的I/O和通信口的外围电路设计完成。供电部分的接口均需接入0.1μF的电容滤波,中断部分由一个开关和 10 kΩ下拉电阻组成,保证在系统中断电平允许范围内及时响应中断;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所示。

  

keil

 

  2 软件编制与ISP下载

  本系统的软件编制和仿真下载均在Keil公司最新推出的Keil uVision3环境下实现。Keil单片机应用开发软件支持多种不同公司的MCS51构架的芯片,集编辑、编译、下载和仿真等于一体;同时还支持 PLM、汇编和C语言的程序设计,在调试程序和软件仿真方面也有很强大的功能。Keil uVision3支持ADuC8XX系列芯片的开发和在线下载,简单易用,能够满足系统软件开发环境的需求。

  系统软件流程图如图7所示,包括两大主要功能:第一,实现无回放数据中断请求下的数据连续采集、存储及上传;第二,实现中断请求下的数据回放上传。

  数据采集部分的示例代码具体如下:

  

keil

 

  数据存储器读取示例代码如下:

  ADuC848的P2.O连接存储器的时钟SCLK,P2.1连接SI,P2.2连接SO.P2.3连接CS片选。

  

keil

 

  ISP即系统可编程,指可以对电路印制板上的空白器件编程写入用户代码,而不需要把芯片取下来烧录再放入系统中,已经编程的器件还可以通过ISP方式重新编程和擦除原有程序。ADuC848自带有ISP方式的串行下载模式,通过TXD、RXD、DVDD、DGND引脚四线制接入RS-232模块。当 PSEN引脚通过一个1 kΩ的下拉电阻至低电平并且把系统复位时,隐藏在芯片内部的下载核开始工作,芯片进入串行下载模式,可以对片内64 KB Flash可擦写程序存储器进行串行在线下载编程。此种方式允许现场软硬件升级,高效、方便地提升系统功能。

  3 试验结果

  经过系统硬件标定和软件测试:当外部参考电压Vref+设置为3.3lV,Vref-设置为0 V,A/D转换模式设置为外部参考电压、编码方式为双极16位编码、量程范围为一3.389~+3.389 V,且一路模拟传感器电压信号输入凋理电路为0mV电压时,转换结果为0x8000;当信号输入为4.56 mv时,被放大为0.912V至A/D输入,转换结果为0xA270;当15mV输入信号被放大为3 V至A/D输入时,转换结果为OxFl4B,数据及精度完全符合仿真标准。

  4 结论

  本系统体积小,仅为78 mm×22 mm×14 mm,若去掉调试所需的接口、跳线、复位和调理电路标定电阻部分,体积可减小至50 mm×20 mm×6 mm;耐高温、运行稳定、功耗低,经测算本系统的功耗仅为562.48 mW,如果经过改进,本系统的功耗还可以降到400 mW以下。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分