用AD5933做的阻抗测量仪设计--带完整程序(2)

2019-02-17 17:36

基于AD5933的阻抗测量仪

2.2 阻抗测量电路设计

2.2.1 AD5933 芯片简介

AD5933是一种高精度阻抗数字直接变换系统,主要由一个12位、1MSPS的片上频率发生器和一个片上模拟数字转换器(ADC)组成。频率发生器可以产生特定频率的信号激励外部复阻抗。复阻抗的响应信号由片上模数转换器ADC采样后,再通过片上上数字信号处理器进行离散傅立叶变换(DFT)。在每个输出频率,DFT运算处理后都会返回一个实值(R)和虚值(I)。校正后,扫频轨迹上的每个频点的阻抗幅值和阻抗相对相位很容易计算。

图2.1给出了AD5933的封装图,表2.1给出了AD5933的引脚定义。图2.2为AD5933内部框图。建议在使用时把所有的电源脚9、10、11都连到一起,统一连接到电源上,同样所有的地引脚12、13、14也都连接到一起,统一连接到系统地上。

图2.1 AD5933引脚排列

表2.1 AD5933引脚定义

引脚标号 1,2,3,7 4 5 6 8 9 10 11 12 13 14 15 16 引脚名称 NC RFB VIN VOUT MCLK DVDD AVDD1 AVDD2 DGND AGND1 AGND2 SDA SCL 2引脚描述 空引脚,没有定义 外部反馈电阻,连接在4和5之间来设置接受端电流电压转换放大器的增益 输入到接受阻抗转换放大器,存在VDD/2的参考地 激励电压输出脚 芯片外部时钟输入,由用户提供 数字电源 模拟电源1 模拟电源2 数字地 模拟地1 模拟地2 IC数据输入口,需要10kΩ的上拉电阻连接到VDD I2C时钟输入口,需要10kΩ的上拉电阻连接到VDD

基于AD5933的阻抗测量仪

图2.2 AD5933内部框图

2.2.2 AD5933工作原理

用AD5933来实现阻抗测量,这种测量方法实质上是一种软测量方法,即在待测变量难于直接测量的情况下,进行与之相关的易测变量的测量,并依据易测变量与待测变量之间的数学关系,建立数学模型,运用各种数学计算和估计方法,实现待测变量的测量[10]。

AD5933有一个电压输出引脚Vout (图2.2)。它能发出一定频率的正弦扫描信号对外部阻抗 Z(ω) 进行激励。信号通过被测样品后,再经放大、滤波后被模数转换器取样,并进行离散傅立叶变换,最终计算出待测阻抗值。

AD5933是通过芯片内部的DDS(直接数字合成器)来产生正弦扫描信号,该信号具有小于1Hz的分辨率。为DDS提供时钟频率的,既可以是外部时钟,也可以是内置的振荡器,可通过软件进行设置。DDS合成的信号经过数模转换和放大后,即可变为测试需要的扫描激励信号。该正弦激励信号有四个幅值可供选择,其值分别为2v,1v,400mv,200mv。而这些信号的起始频率,频率的增加量,和增加的次数,必须预先确定,它们都可通过软件进行设定。

扫描激励信号通过被测物后,再经过放大、滤波、模数(AD)转换,使其变为数字信号。在这个过程中,反馈电阻RFB的选取至关重要,必须保证输入到AD转换器的电压,即Vout×(Rf / Z)×PGA(放大倍数),既不能超过模数转换器的最大电压,也不能太小(见图1)。这是因为电压太大AD转换器则会饱和,从而使信号失真。太小信号所含信息又不能够被充分利用。这两种情况都会使AD转换器不能工作在线性区域。我们必需通过选取合适的反馈电阻Rf,使Vout×(Rf / Z)×PGA的数值处在一个适当的范围内以避免上述情况发生。AD转换器输出的数字信号,直接进入数字信号处理器进行离散傅立叶变换(DFT),傅立叶变换在每

基于AD5933的阻抗测量仪

个扫描频率点上进行,其公式如下:

X?f????x?n??cos?n??n?01023jsin?n???

其中f是扫描点的频率,x(n)是AD转换器输出值,而cos(n)和sin(n)是在频率f下由DDS计算产生。计算的结果

X?f?一般是一个复数。它的实部用R,虚部用I来表示。 这些就是

我们建立被测阻抗数学模型所需的易测变量值。以下是详细计算过程。 (1) 幅值计算

阻抗测量的第一步是在每个扫频点,计算傅里叶变换的幅值,计算公式如下: 幅值=

R?I22

上式中R为存储在地址为0x94和0x95寄存器中的实数;I为存储在地址为0x96和0x97寄存器中的虚数(注)。例如:实数寄存器中的十进制数值为907,虚数寄存器寄存器中的十进制数值为516,则幅值= 907?516(2) 增益系数计算

增益系数的计算是在VOUT引脚和VIN引脚之间连接一个未知阻抗,进行系统校准计算完成的。该系数被确定后便可以测量计算任何阻抗值。下面是一个计算增益系数的例子:假设输出激励电压为2V(峰峰值),校正阻抗值为200K,PGA放大倍数是1倍,电流电压转换放大器增益电阻为200K,校正频率为30KHz。该频点经DFT转换后实数和虚数寄存器中的内容为:

实数寄存器=0xF064=-3996; 虚数寄存器=0x227E=8830 ;

幅值= ( ? 3996 ) 2 ( 8830 ) 2 =9692.106 ?

1 = (1/200K)/9692.106=515.819×10-12 增益系数= 校正阻抗值?幅值

下面再给出一个已知增益系数、被测电阻的实部和虚部值计算被测电阻阻值的例子。假设被测电阻为510kΩ,激励频率为30kHz,测量得到的实部和虚部值分别为-1473和3507,则计算得到的模值为3802.863。

1 阻抗值= 幅值?增益系数

22 =1043.506。

=1/(515.819E-12×3802.863) =509.791kΩ。

对于不同的测量频率点增益系数是不同的,所以在不同的频率点上要分别计算增益系

基于AD5933的阻抗测量仪

数。在测量过程中可以通过限制电阻的测量范围来优化测量性能。

(3)相角计算及校准

在阻抗测量过程中不仅仅要关注电阻的模值,还要知道相角的大小,相角值=arctanI/R。和模值一样相角也要进行校准。首先对标定电阻进行测量,得到标定电阻的相角,测量电阻的实际相角等于测量计算得到的值减去标定电阻的相角值。值得注意的是测量时通过arctanI/R得到的相角是在-90o到+90o之间的,所以要根据R和I所决定的象限来把相角变换到所在象限内。如果R<0,I>0则说明在第二象限,所以计算时要把相角加上180o;如果R<0,I<0则是在第三象限,计算时要把相角减去180 o。

2.2.4 测量电路

电路由3.3V稳压器Lm1117提供电源,为实现不同量程范围内阻抗的测量,外接模拟开关CD4051来实现量程转换。电路原理图见附录图1,图2所示。由于外接模拟开关的导通电阻在300Ω左右,通过测试,当采用运放来实现小阻抗测量时,效果并不明显,故该电路中没有采用运放来实现小阻抗测量。

3. 软件设计

3.1编程环境介绍

基于ARM公司最新内核Cotex-M3 的Luminary615处理器,可以采用IAR编程环境,IAR编程环境风格简易方便,功能齐全,支持JTAG仿真。

IAR EWARM Embedded Workbench for ARM 是IAR Systems 公司为ARM 微处理器开发的一个集成开发环境(下面简称IAR EWARM)。比较其他的ARM 开发环境,IAR EWARM 具有入门容易、使用方便和代码紧凑等特点。EWARM 中包含一个全软件的模拟程序(simulator)。用户不需要任何硬件支持就可以模拟各种ARM 内核、外部设备甚至中断的软件运行环境,从中可以了解和评估IAR EWARM 的功能和使用方法。

3.2 IC通行协议简介

控制AD5933是通过支持串行接口协议的I2C总线完成的,AD5933作为一个由主控设备控制的从设备连接到总线上。AD5933有一个7位串行总线从地址。当设备通电后,默认的串行总线地址为0001101(0x0D)。

图3.1给出了I2C接口一般读写操作的时序图。主设备先进行传输数据初始化,包括:建立一个起始条件,定义串行数据线为自高位到低位传输,串行时钟线保持为高电平时,数据

2

基于AD5933的阻抗测量仪

流传送。从设备响应起始条件,传送一个8位数据,其中包括7位从地址和一个决定数据传输方向的读写控制位,即数据是由从设备读取或写入(0:写入,1:读取)。

图3.1 I2C控制时序图

在第九个时钟脉冲的前一个低电平时刻,从设备将数据线的电位拉低(称为应答信号)并在该时钟脉冲的高电平阶段保持为低。所选设备等待数据进行读取或写入,而总线上的其他所有设备保持空闲状态。如果读/写位为0,那么主机内容写入从器件。如果读/写位为1,主机由从器件读取数据。串行总线上的数据传送在九个时钟脉冲后传送一个序列,包括八位数据位,一个应答信号位。这数据可以是主设备发出的,也可以使从设备发出的。数据线上的数据传送是在时钟信号为低并保持稳定的时刻进行的,因为当时钟信号为高电平时,若一个上升沿出现,则该信号为停止信号。如果该操作是一个写操作,从地址的第一数据字节,是一个指令字节。该字节会通知从器件接下来的工作是什么。它可能是一个指令,告诉从器件进行块写操作;也可以是一个寄存器地址,告诉从器件随后的数据将写入什么地方。因为数据流被定义为一个单方向的读/写位,从设备在读操作事是不可能向其发送指令的。在执行读操作之前,有时需要先进行写操作告诉从存储器读操作的类型,或数据读取的地址。当所有字节数据读或写完毕后,会建立停止条件。写模式下,在第十个时钟脉冲声明停止条件期间,主设备将数据线电位拉高。读模式下,在第九个时钟脉冲之前的低电平段,主设备释放数据线的占用,但从设备并不会把它拉低,这就是所谓的非应答。在第十个时钟脉冲之前的低电平段,主设备把数据线电位拉低,然后在第十个时钟脉冲到来时又将其拉高,以形成停止条件。

3.3 软件设计

AD5933是I2C接口的器件,满足I2C控制条件,LM3S615通过I/O口模拟I2C协议实现对AD5933的读写操作,通过参数修正便可以得到正确的结果,通过对CD4051的控制,实现了量程自动转换。

系统主程序设计流程图如图3.2所示,图3.3中给出单个阻抗测量软件流程图。测量后得到的实部和虚部结果都是十六进制表示。通过I2C通信将数据传至Luminary615进行处理并由


用AD5933做的阻抗测量仪设计--带完整程序(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:海沧区关于赴福州学习考察情况的报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: