一种高分辨率数据采集系统的设计
2011-07-05张家田吴银川
张家田,吕 军,吴银川
(西安石油大学光电油气测井与检测教育部重点实验室,西安710065)
0 引言
在石油电法测井系统中,需要对响应信号进行数据采集。数据采集技术主要研究信息数据的采集、存储、处理以及控制问题[1],从而获得对应的地层电阻率信息,确定目标地层的含油情况[2]。本文以C8051F020单片机和ADS1271模数转换器为核心,设计了一种数据采集系统。该采集系统具有24位高分辨率,可以方便的通过计算机控制,实现数据采集控制、数据处理以及数据文件存储等功能,满足实验室环境下常见测井信号的采集要求。
1 采集系统的设计
采集系统的总体设计框图如图1所示,单端信号从输入端子输入,信号调理电路对输入信号进行放大、滤波以及单端转差分转换,满足ADS1271对信号幅度、频率以及输入方式的要求;ADS1271完成24位高分辨率数据采集[3];C8051F020实现数据采集的控制、数据暂存以及上位机的通信;计算机通过USB接口实现数据的接收、处理以及保存二进制数据文件,整个采集系统在计算机的控制下工作。当C8051F020接收到计算机发出的采集命令时,ADS1271在C8051F020控制下,不断将采集的数据按一定的格式暂存单片机中。单片机接收到上位机发出采集命令后,将一定量的数据发送给计算机,计算机将数据处理后存储成二进制文件。
2 接口设计
2.1 接口电路设计
ADS1271数据输出采用串行接口方式[4],通过管脚FORMAT配置,当FORMAT为0时,可将芯片配置为SPI串行接口方式,FORMAT为1时,可将芯片配置为帧同步串行接口模式。ADS1271工作模式通过管脚MODE进行配置,当MODE为0时,工作为高速模式,转换速率可达105kS/s;MODE为1时,工作为低功耗模式,芯片耗散功率仅为35mW;MODE为悬空时,工作为高分辨率模式,转换速率为52kS/s,输出信噪比可达109dB。ADS1271和单片机的接口电路如图2所示,ADS1271设置成高分辨率模式,采用SPI串口方式与单片机连接。单片机SPI口设置成主模式,MISO为采集数据的输入,SCK为串行时钟输出端。
图1 采集系统的总体设计
图2 ADS1271和单片机的接口电路
2.2 SPI接口时序
SPI接口时序[2]如图3所示,ADS1271每次转换结束,/DRDY由高电平变为低电平,单片机通过程序不断扫描P2.0的电平变化,从而确定转换是否结束。如果结束,单片机自动接收24位数据,接收结束后单片机处于等待状态。该系统中ADS1271和C8051F020晶振均采用16.384MHz。在AD高分辨率模式下,采样速率为32ksps,SPI接口最小数据传输速率为768kbps。单片机SPI口主模式下最高通信速率为晶振的一半[5]即为8192kbps,完全可以满足通信的要求。
图3 SPI接口时序
2.3 数据存储设计
硬件上通过给单片机外扩128K×8bit的SRAM,提高单片机的数据暂存能力。数据采用循环存储结构[6]设计,每三个存储单元(8bit×3=24bit)存储一个采样数据,存放最新的1s中的数据(32k×24bit)。当采集系统上电后,不断顺序采集数据,暂存到SRAM,当采集系统接收到上位机取数命令后,依次将数据发送到上位机,上位机利用VB软件的文件操作[7]将数据写入二进制文件,以便后续相关软件对信号的方便处理。
3 软件设计
3.1 控制界面设计
上位机控制软件采用VB6.0设计,其界面如图4所示。其中工程名即为二进制数据文件名的一部分;通信控制设置通信接口以及通信速率;参数设置部分设置采集时间以及超前时间,超前时间最大为1s;当参数设置完成后,点击应用控件,上位机将采集相关命令发送到单片机,单片机将接收到的命令解析后,执行相应的数据传输任务。为便于后续信号处理,二进制数据文件名的命名规则为:工程名+年月日+当前时间 +采集时间 +超前时间。文件名为“ceshi 20110603 204106 10 1”,可理解为数据采集在2011年6月3日20点41分6秒时采集10秒的信号,其中超前时间1秒。
3.2 控制指令设计
上位机控制指令如表1所示。指令有16位(2个字节)构成。其中FLAG为命令标志,FLAG=1时,表示采集命令,FLAG=0时,指令忽略;POSTTIME(由 PT0~PT2共3位构成)为超前控制,POSTTIME对应值为超前时间,具体解析如表2所示。SAMPLETIME(由SAMT0~SAMT11共12位构成)为采样时间控制,SAMPLETIME对应值为共采集数据的时间,SAMPLETIME的范围为0~600(对应12位二进制数),对应时间为0~600s。整个指令由单片机负责解释,从而实现数据的精确采集。例如当采集指令要求超前1s,采样时间20s,采集指令为 0xC0,0x14。
图4 上位机控制界面
表1 上位机控制指令
表2 超前控制指令POSTTIME
4 结论
本文以C8051F020和ADS1271为核心,设计了24位高分辨率数据采集系统,给出了单片机与ADS1271的接口设计和上位机控制软件设计。结果表明:该采集系统采样最大频率为32Ksps,可超前采集1s。采集命令可由上位机控制,最终采集数据以二进制文件形式保存。该系统采样频率的改变可以通过更换AD1271的晶振频率,超前采集时间的延长,可以通过容量更大的存储芯片实现。该采集系统已成功用于过套管电阻率测井室内试验研究项目中,获得满意的实验效果。
[1]吴银川,严正国,苏娟.基于DAQBench的数据采集系统的设计[J].仪器仪表用户,2008,15(3):32-33.
[2]张建华,刘振华,仵杰.电法测井原理与应用[M].西安:西北工业大学,2002:1-11.
[3]严正国,张家田.高分辨同步数据采集处理系统设计[J].中国计量学院学报,2006,17(3):192-195.
[4]TEXAS INSTRUMENTS INCORPORATED.24Bit,Wide Bandwidth Analog-to-Digital converter,ADS1271[EB/OL].http://www.ti.com,2007:2-6.
[5]潘琢金,施国君.C8051Fxxx高速 SOC单片机原理及应用[M].北京:航空航天大学出版社,2002:169-171.
[6]林占江.电子测量技术[M].北京:电子工业出版社,2009:190-194.
[7]刘新民,蔡琼,白康生.Visual Basic6.0程序设计[M].北京:清华大学出版社,2004:168-183.