基于DSP和USB的三维感应测井数据采集系统
扫描二维码
随时随地手机看文章
引 言
数据采集是DSP最基本的应用领域,本文设计的数据采集系统利用TI公司的TMS320F2812 DSP芯片。该芯片的主要特点有:150 MI/s(百万条指令/秒)的执行速度使得指令周期减小到6.67ns,从而提高了控制器的实时控制能力;采用哈佛总线结构,具有高性能的32位的CPU,在一个周期内能够实现32位×32位或两个16位×16位的乘法累加操作,具有快速中断响应与处理能力;TMS320F2812应用大量外设接口简化了电路设计;提供了足够的处理能力,使一些复杂的实时控制算法的应用成为可能。
USB是现在应用广泛的一种高速通用串行总线协议。本文利用Philips公司的PDIUSBD12芯片。将USB协议应用于以DSP为核心的嵌入式系统,可以大大提高DSP系统与计算机的通信能力,从而拓宽DSP的应用范围。本文利用DSP和USB设计的数据采集系统,符合三维感应测井多通道数据采集的需要。
数字采集系统设计
数据采集系统的结构框图如图1所示,主要包括DSP、前置放大电路、信号调理电路、USB通讯接口,由于三维感应测井有3个Z轴向接收线圈和7组三分量接收线圈构成,所以采用了7组多路开关。在一个数据采集系统中,A/D转换器是采集系统的核心。在基于TMS320F2812的数据采集系统中,选用了芯片嵌入式的ADC模块。
图1 三维感应测井数据采集系统结构框图
信号调理电路
由于本采集系统用于三维感应测井中,它对信号采集的精度要求高,因为被采信号频率较高,采样通道多,所以结果分析对原始数据的依赖性强。本设计信号调理电路分为前置放大器、带通滤波器、程控增益放大器、陷波器四部分。
前置放大器设计
前置放大器的噪声系数对整个采集系统的噪声特性具有重要的影响。因为它所产生的噪声会被后续各级放大器逐级放大,所以在选择放大器时低噪声指标非常重要。在研制低噪声放大器时,应该抓住低噪声这个关键指标来分析、计算并设计电路。目前,可用噪声指标比较好的集成电路来设计低噪声放大电路。
由于测井时被采信号一般为微伏级,因此本设计采用INA128仪用差分放大器,它的最大输入失调电压为50μV,温度系数为0.5μV/℃,最大输入失调电流为5nA,同时还有很宽的电源电压范围,可以在±2.25V到±18V的供电电压范围内稳定工作。电压增益可以通过外接电阻改变,在1脚和8脚之间外接不同的电阻R,电压增益可以在0-10000的范围内变化,其计算公式为。当电压增益大于100时,INA128的输入共模抑制比达到120dB,对输入信号的共模干扰起到了很好的抑制作用。
用MAX267 设计带通滤波器
在三维感应测井中所设定的有用信号的带宽为20kHz到250kHz,因此选用MAX267设计一种带通增益放大器。MAX267内部含有2个独立的二阶开关电容带通滤波器,它有12个可编程输入端,其中F0~F4为滤波器中心频率设置输入端,分别接低电平或高电平,可以将中心频率设置为时钟频率的1/10,另外Q0~Q6为品质因数设置输入端,分别接低电平或高电平,可以在0.5~64 之间设置滤波器的品质因数。因此,不需要外加任何元件,而仅需外部时钟就可以实现带通滤波功能,使用极为方便。带通特性曲线如图2所示。
图2 带通特性曲线
其传递函数 G(S)为:
在上式中,HOPB是ω=ω0时的输出带宽值,且ω0 =2πf。
fL和fH分别为:
其中
程控增益放大器设计
程控放大器是在DSP的控制下,将初级放大的信号放大到ADC的转化区间内,以提高仪器的动态范围和灵敏度。考虑到器件的低频噪声特性和提高共模抑制比等因素,选择了PGA204、PGA205组合,其共模抑制最高可达120dB。本设计采用了两级程控反向差分的方法,并且两级程控放大采用直接耦合差动连接的方式。原理如图3示。
图3 两级程控放大级联原理图
其中两个级联的第一级程控差分放大器由两片PGA205实现,两片PGA205的输出分别作为PGA204的正负输入端,于是就构成了第二级程控差分放大器。PGA204的可控放大倍数为1,10,100,1000;PGA205的可控放大倍数为1,2,4,8。所以,级联后程控放大部分的可控放大倍数可有16种组合方式。
陷波器设计
50Hz的工频干扰是数据采集系统中不可避免的,它会严重影响到前方和主放的稳定性。所以此处利用高性能器件MC33171构成50Hz陷波器,MC33171具有宽频带和较高的转换速率。图4为基于MC33171的50Hz陷波器电路,在图示的元件数值下,通过改变两个电阻R的值和一个电容C的值,可获得陷波频率,其数值为:f=1/4πRC。取R=16K,C=0.1μF可得陷波频率为50Hz。
图4 陷波器电路
A/D采样设计
TMS320F2812的ADC模块
TMS320F2812芯片中集成了一个12位A/D转换模块。为了满足系统多传感器的需求,F2812的A/D转换模块有16个通道,可配置为两个8通道模块,这样就形成了两个A/D转换器。在内部逻辑的控制下,用户可同时启动这两个或是其中某一个A/D转换模块。
F2812的ADC模块是嵌入式的,它与传统的A/D相比具有以下特点:A/D模块的硬件资源配置好了之后,用户可以用软件指令随时启动A/D采样,并获得A/D转换的结果。同传统A/D不同的是,采集功能单元的硬件资源配置还有一部分是通过软件完成的。
在TMS320F2812芯片中,A/D转换单元的模拟电路包括前向模拟多路开关(MUX)、采样/保持(S/H)电路、A/D转换内核以及其他模拟辅助电路。A/D转换单元的数字电路包括可编程转换序列器、结果寄存器、与模拟电路的接口等。图5为ADC模块的构成框图。
图5 ADC模块构成框图
ADC模块功能包括:
1)内置双采样/保持(S/H)的12位A/D转换模块,模拟输入为0-3V。
2)同时或顺序采样模式。
3)快速转换时间,可运行在25MHz的数模转换时钟或12.5MSPS。
4)多输入通道达16通道。
5)自动排序能力。一次可执行多达16通道的“自动抓换”。
6)两个独立的可选择8个模拟通道的排序器(SEQ1和SEQ2)可独立工作于双排序器模式,或级联后工作在可选择16个模拟转换通道的排序器模式。
7)可分别访问的16个结果寄存器用来保存转换结果。
输入模拟电压转换为数字值可由下式得到:
其中,ADCLO是A/D转换低电压参考值。
8)使用多个触发信号启动数模转换(SOC),比如:
? S/W:软件立即启动。
? EVA:时间管理器EVA(在EVA中有多个时间源可以启动转换)。
? EVB:时间管理器EVA(在EVB中有多个时间源可以启动转换)。
9)在双排序模式下,EVA和EVB触发器可各自独立的出发SEQ1和SEQ2。
10)中断控制方式灵活,可在每次转换结束或每隔一次转换结束发出中断。
数据采集系统A/D采样设计
本系统信号输入设计为24路。DSP本身的A/D输入通道是16路,所以要外接多路模拟转换器进行扩展。在电路设计中,使用3条DSP的A/D输入通道ADCINA0- ADCINA2,每一通道挂接一片8输入1输出多路模拟转换器4051,这样就可以扩展为24路模拟信号输入。为了减小信号通道之间切换带来的串扰,需在通道切换后加放大器减小信号输入阻抗,为了减小A/D转换产生的误差,用两路己知信号电平输入引入信号参考,提高采集精度。图6展示了TMS320F2812内嵌的A/D转换模块与输入信号之间的接口。
图6 A/D模块与信号接口
对于每一个转换,CONVxx位确定采样和转换的外部模拟量引脚。使用顺序采样模式时,CONVxx的4位都用来确定输入引脚,最高位确定采用哪个采样并保持缓冲器,其他3位定义偏移量。例如,如果CONVxx的值是0001b,ADCINA1就被选为输入引脚。如果CONVxx的值是1111b,ADCINB7被选为输入引脚 。
TMS320F2812 ADC的精度校正
理想情况下,F2812的ADC模块转换方程为y =x ? mi,x=输入电压×4095/3,y为输出计数值。在实际中,ADC的误差不可避免,定义有增益误差和失调误差的转换方程为y=x ? ma±b,式中ma为实际增益,b为失调误差。F2812的ADC理想状态与实际转换精度较差的主要原因是存在增益误差和失调误差,因此必须对这两种误差进行补偿。校正方法如下:选用ADC的任意两个通道作为参考输入通道,分别提供给它们已知的直流参考电压作为输入(两个电压不能相同),通过读取相应的结果寄存器获取转换值,求得校正增益和校正失调,再利用这两个值对其他通道的转换数据进行补偿,从而提高了ADC模块转换的精准度。图7显示了如何利用方程获取ADC的校正增益和校正失调。
图7 理想转换与实际ADC转换
TMS320F2812与PDIUSBD12接口设计
TMS320F2812与PDIUSBD12之间采用并口连接方式,并且都工作在3V电压下,给PDIUSBD12分配一个片选,可以通过读写地址对其进行操作,它们之间的电气连接不需要特殊处理,按照管脚功能一一对应连接即可。图8是TMS320F2812与PDIUSBD12的硬件连接图。
图8 TMS320F2812与PDIUSBD12的硬件连接图
系统软件设计
该数据采集系统可以通过USB接口直接与PC机相连,在CCS集成开发环境下通过JTAG接口来调试、烧写程序,可使用C语言来实现。
主程序流程
图9是系统主程序流程图。在系统上电之后,先对DSP的时钟等系统参数进行初始化,然后对片上A/D、I/O、存储器设备等进行初始化,再对USB设备初始化,之后程序进入循环等待主机通过USB口发送命令,然后对命令进行相应处理。
图9 系统主程序流程图
A/D转换流程
在使用TMS320F2812的内嵌A/D转换器进行数据采集时,首先对A/D进行初始化,并且设置中断程序入口地址,通过Timer中断的配置控制采样频率。在开启中断后,程序进入中断服务子程序,它将A/D转换结果读入数组Ad_data1[ ]中,并重新启动A/D,进行数据转换,如此循环往复。流程图如图10所示。
图10 系统程序流程图
结束语
本文利用TMS320F2812与PDIUSBD12相结合,设计了一套三维感应测井探测器的数据采集系统。其接口电路简单,采集精度高,可完成对24路通道的同时采样和顺序采样,并且能对单通道实行多次采样。系统还采用了USB接口,采集到的数据经过处理后,通过USB上传到主机,由上层软件进一步处理,从而能够更有效地测得油井中的油气分布。