阻抗测量芯片AD5933及其应用 联系客服

发布时间 : 星期日 文章阻抗测量芯片AD5933及其应用更新完毕开始阅读6ee52881d4d8d15abe234eec

阻抗测量芯片AD5933及其应用

1 AD5933芯片概述 1.1 主要性能

AD5933是一款高精度的阻抗测量芯片,内部集成了带有12位,采样率高达1MSPS的AD转换器的频率发生器。这个频率发生器可以产生特定的频率来激励外部电阻,电阻上得到的响应信号被ADC采样,并通过片上的DSP进行离散的傅立叶变换。傅立叶变换后返回在这个输出频率下得到的实部值R和虚部值I。这样就可以很容易的计算出在每个扫描频率下的傅立叶变换的模和电阻的相角。其中模=R2?I2,相角=Tan?1(IR)。

AD5933主要具有以下特性:

? 可编程的频率发生器,最高频率可达100KHz

? 作为设备通过I2C口和主机通讯,实现频率扫面控制 ? 频率分辨率为27位(<0.1Hz) ? 阻抗测量范围为100Ω到10MΩ

? 内部带有温度传感器,测量误差范围为±2℃ ? 带有内部时钟 ? 可以实现相位测量 ? 系统精度为0.5%

? 可供选择的电源范围为2.7V到5V ? 正常工作的温度范围-40℃到+125℃ ? 16脚SSOP封装

1.2 AD5933的引脚定义

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

图1 AD5933引脚排列

表1 AD5933引脚定义

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

AD5933可以广泛的应用在电化学分析、生物电极阻抗测量、阻抗谱分析、复杂阻抗测量、腐蚀监视和仪器保护、生物医学和自动控制传感器、无创检测、原材料性能分析以及燃料和电池状态监测等众多领域。为阻抗的测量提供了很大的方便,单片集成技术大大的减小了仪器的体积,使得仪器使用更加方便。简单的I2C通讯方式,方便用户操作,减小了用户编程的困难。由于它给出的直接是变换后阻抗的实部和虚部数据,大大的简化了用户编程过程,节省了开发时间。 2 AD5933工作原理 2.1 AD5933的参数设置

AD5933片上带有一个27位的DDS来提供输出特定频率激励信号。输入到DDS状态寄存器的数据由AD5933片上地址为82h、83h、84h的起始频率寄存器提供。尽管状态寄存器提供27位的精度,但其实起始频率寄存器的高三位是被内部置零的,所以用户可以控制的只有起始频率的低24位。AD5933可以实现0.1Hz的频率分辨率,频率分辨率是通过片上24位频率增量寄存器来控制的。频率增量寄存器的地址为85h、86h、87h。起始频率和频率分量寄存器的代码的计算方法为要求的起始频率值或者频率增量值除以四分之一的系统时钟再乘以227。系统时钟可以通过控制寄存器来设置是选择外部时钟还是内部时钟,AD5933的内部时钟为16MHz。还可以在寄存器88h和89h中设置频率点个数。例如,如果用户想测量150个频率点,则用户给88h和89h中分别存入00H和96H。当这三个参数都设置好之后,可以通过给控制寄存器写入起始频率扫描命令来实现扫描初始化。当完成每个频率点的扫描后状态寄存器的第二位将自动置位,可以通过查询这位来判断是否测量完成,用户可以自行控制实现跳到下一个频率点。测量结果的实部保存在94h和95h中,虚部保存在96h和97h中,这个结果应该在跳到下一个频率点之前读出。如果想要多次测量同一个频率点的值,以使得测量结果更加精确,只需在一次测量完成之后在控制寄存器中写入重复当前频率命令字即可。当所有的频率点都扫描完时,状态寄存器的第三位将被自动置位。一旦这位被置位后,将不能进一步实现频率扫描。

频率扫描的具体过程包括三部分:

(1) 进入标准模式,在写入开始频率扫描控制字到控制寄存器之前,首先要写入 标准模式控制字到控制寄存器,在这个模式中VOUT和VIN引脚被内部接到地,因此在外部电阻或者电阻和地之间没有直流偏置。

(2) 进入初始化模式。在写入开始频率控制字到控制寄存器后将进入初始化模式。 在这个模式下,电阻已经被起始频率信号激励,但没有进行测量。用户可以通过程序设置在写入频率扫描命令到控制寄存器来启动进入频率扫描模式之前的时间。

(3) 进入频率扫描模式。用户通过写入频率扫描控制字。在这个模式中,ADC在 设定时间周期过去之后开始测量。用户可以通过在每个频率点测量之前设置寄存器8Ah和8Bh的值来控制输出频率信号的周期数。

片上DDS输出的信号通过一个可编程增益放大器,通过控制增益可以实现四个不同范 围的峰峰值输出。这个输出范围的控制是在控制寄存器的第9和第10位实现的。

在接收过程中,从电阻上得到的信号首先进入电流电压转换放大器,后面紧跟的是一个可编程增益放大器,这个放大器的增益有5和1两个值,可以通过设置控制寄存器的第8

位来选择。经过可编程增益放大器之后的信号被ADC采样,采样得到的数据送DSP进行傅立叶变换。每个频率采样1024个点进行傅立叶变换,变换的结果存储在两个16位的寄存器中代表变换后的实部和虚部,每个16位的寄存器分别为两个8位的寄存器组成,这个将在下面的寄存器介绍中专门给出。

AD5933的系统时钟可以通过两个途径给出。用户可以在外部时钟引脚MCLK接入一个高精度稳定的时钟。另外也可以使用AD5933内部16.776MHz的时钟。具体选择哪个时钟可以通过设置控制寄存器的第3位来实现。系统上电默认为选择内部时钟。 2.2 内部寄存器定义及设置

AD5933片上有9个寄存器。这些寄存器分别实现不同的参数设置功能,表2中给出了它们的名称、地址和读写特性。

表2 内部寄存器 寄存器名称 控制寄存器 地址 80h 81h 起始频率寄存器 82h 83h 84h 频率增量寄存器 85h 86h 87h 频率点数寄存器 88h 89h 输出设定周期数寄存器 8Ah 8Bh 状态寄存器 温度数据寄存器 8Fh 92h 93h 实部数据寄存器 94h 95h 虚部数据寄存器 96h 97h 寄存器数据 D15到D8 D7到D0 D23到D16 D15到D8 D7到D0 D23到D16 D15到D8 D7到D0 D15到D8 D7到D0 D15到D8 D7到D0 D7到D0 D15到D8 D7到D0 D15到D8 D7到D0 D15到D8 D7到D0 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 读/写 只读 只读 只读 只读 只读 只读 只读 其中大部分寄存器已经在上面提到过了。首先主要介绍一下控制寄存器。控制寄存器主要实现AD5933各参数的设置以及工作状态的设定。表3给出了控制寄存器各个位的功能定义。控制寄存器由两个8位的寄存器组成,地址分别为80h和81h,在使用时,用户可以只改变其中一个寄存器的值,而另外一个寄存器的值不变。当给控制寄存器写入复位命令时不会使得已经编程好的和频率扫描有关的设置复位,和频率扫描有关的值为起始频率,频率增量和频率点数。在复位命令之后,必须写入开始频率命令到控制寄存器来重新开始频率扫描过程。上电之后控制寄存器的缺省值为A000H。

表3 AD5933内部寄存器位定义 位 D15 0 D14 0 D13 0 D12 0 没有意义 D11 D8 D7 D6 D5 D4 D3 0 0 0 0 1 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 D10 0 0 1 1 1 0 0 1 1 0 0 0 1 11 0 0 D9 0 1 0 1 1 0 1 0 0 1 0 1 0 1 用起始频率进行初始化 开始频率扫描 跳到下一个频率点 重复当前频率 没有意义 温度测量 掉电模式 标准模式 没有意义 没有意义 不做设置 输出电压范围 范围1(峰峰值2V) 范围4(峰峰值200mV) 范围3(峰峰值400mV) 范围2(峰峰值1V) 可编程增益放大器增益控制,0=×5,1=×1 置零 置零 置零 复位 为1时选择外部时钟 为0时选择内部时钟 D2 D1 D0 0 必须为0 置零 置零 除了控制寄存器外,需要注意的还有状态寄存器,状态寄存器的地址是8Fh。状态寄存器来标志测量的结束。D7到D0各位分别表示AD5933的不同功能状态,其中D0、D4、D7没有实际意义,不表示任何测量状态。D1表示一个频率点的阻抗测量,当完成当前频率点的阻抗测量时,这位被置1,同时表明实部和虚部数据寄存器中已经存入测量结果。在接到开始,跳到下个频率点,重复当前频率或复位等命令时该位被自动复位,在上电时这位也被复位。D2表示频率扫描完成,当所有的频率点都测量结束时该位被置1,当接受到复位命令或上电时这位被复位。

2.3 AD5933与控制系统的数据传输

AD5933与控制系统的通讯是用I2C实现的,作为I2C设备使用,遵守I2C通讯的时序。它有一个七位的设备地址0001101。当控制系统写入到AD5933时没有什么特别说明的,当从AD5933读数据时,首先要写入B0h到AD5933,然后写入要读出数据的寄存器地址,读出寄存器的值。

3 阻抗测量过程实现

3.1 AD5933测量阻抗模值计算

上面已经提到在频率扫描过程中,各个频率点上都可以得到实部值R和虚部值I两个值,通过它们可以计算傅立叶变换之后的模值,模值=R2?I2。计算之前先把实部和虚部值用