单芯片AD593/4提供完整的传感器激励和测量解决方案
扫描二维码
随时随地手机看文章
引言
当今的许多工业和仪器仪表应用都涉及传感器测量。传感器的功能就是监视系统中的变化,然后将此数据反馈给主控制器。用于简单的电压或电流测量的传感器可能是电阻性的。但是,有些传感器系统可能是电感性或电容性的,就是说在传感器频率范围内阻抗变化是非线性的。
这类复阻抗传感器的典型例子就是接近传感器——用于检测一个运动物体的相对距离;另外,容性传感器或感性传感器——在医用设备中用于测量血流或者分析血压或血质。
为了用这些“复阻抗传感器”实现测量,必须提供一种交流(AC)激励频率源在传感器的频率范围内进行扫描。本文试图说明如何采用单芯片数字波形发生器轻松实现这种高达10 MHz的频率扫描。还介绍了一种带集成激励、响应和数字信号处理器(DSP)功能完整的单芯片传感器解决方案,它适合要求高达近50 kHz激励频率的应用。
传感器:工作原理
通过传感器的激励频率信号会根据传感器的L或C瞬时值表现出相应的幅度、频率或者相位的改变。例如,超声波液流计会表现出相位偏移,而接近传感器会引起幅度改变。
跟踪这种变化阻抗的最常用方法就是监视电路的谐振频率。谐振频率就是电容值等于电感值所在的频率点。这也是频率曲线上最大阻抗值对应的频率点。在正常情况下,例如在静态条件下,传感器的L,R和C都具有一个唯一值,在谐振频率Fo处具有最大阻抗值。当一个运动物体接近传感器时,那么传感器的L和C值就会改变,并且产生一个新的谐振频率。通过监测谐振频率的变化(从而导致阻抗的变化),就有可能推测出运动物体相对传感器的移动距离。
计算谐振频率
计算电路的谐振频率需要测量频率和阻抗的关系,尤其是需要一个能够在一定频率范围内具有扫描能力的波形发生器。一种简单、低成本的实现方法就是采用AD5930波形发生器。AD5930具有在一组预设置的频率范围内提供线性扫描的能力。一旦条件设定,就无需进一步的控制,除了一个用于启动频率扫描的触发器。
AD5930具有许多优点:输出频率的分辨率为28 bit,所以用户能以小于0.1 Hz的控制精度输出频率。其输出频率范围为0~10 MHz,从而对选择传感器具有很大的灵活性。例如,有些传感器的频率范围很窄,但是要求在此频率范围内具有很高的分辨率。还有些传感器可能需要很宽的调频范围,但是分辨率要求较低。
采用这种方法很容易计算出传感器的谐振频率。
系统框图
这种系统的典型框图通过BF-535 DSP处理器设置AD5930数字波形发生器。需要对从AD5930产生的正弦波输出电压波形进行低通滤波和放大以便消除主时钟(MCLK)、镜像频率和高频噪声产生的馈通。经过滤波的信号可用作传感器的激励频率源。根据传感器的阻抗响应信号可能需要进行放大以便使其进入模数转换器(ADC)的动态范围内。传感器的输出和激励频率源都输入到AD7266——一种12 bit、2 MSPS的同步采样双ADC。将ADC输出的数据保存在存储器中以便做进一步的分析以计算出传感器的相位和幅度偏移。
完整的集成传感器解决方案
上面介绍的分立解决方案是一种常用的传感器阻抗测量解决方案。该方案可能需要许多分立元件,所以是一种高成本的传感器分析解决方案。这些单独的元件还会增加自身的误差源。设计中的有源元件还会增加相位误差,这也是需要校正。另外,还需要DSP处理一些复杂的数学计算,这样可能需要外部存储器来存储原始的ADC数据,从而会进一步增加成本。
解决上述低频率传感器分析问题的解决方案是AD5933/4器件,它将上述主要处理模块都集成到一颗芯片中。该芯片的内核包括3个主要单元:用于提供频率扫描的直接数字频率合成器(DDS)波形发生器; 用于测量传感器的响应的12 bit、1 MSPS ADC;以及最后能够对ADC测量数据进行1024点离散傅立叶变换(DFT)运算的DSP引擎。
DFT运算结果提供一个实部(R)和一个虚部(I)数据,从而可以方便地计算出阻抗。采用下面的公式很容易计算出阻抗的幅度和相位:
为了确定实际的实数阻抗值Z(ω),通常需要进行频率扫描。可以计算出每个频率点的阻抗,从而可以得出一条频率与幅度的关系曲线。这样就很容易测量出100 Ω~20 MΩ范围内的阻抗。该系统允许用户设置一个2 V峰峰值(PK-PK)的正弦信号作为外部负载的激励频率源。输出范围还可以设置为1V,500 mV和200 mV。频率分辨率可以达到27 bit(< 0.1 Hz)。
实现频率扫描:
为了实现频率扫描,用户必须首先设置频率扫描所需要的条件:需要一个起始频率、频率间隔和扫频点数。然后需要一个启动命令开始扫描。在每个扫描频点,ADC先完成1024个采样,然后进行DFT计算以便提供该波形的实部和虚部数据。此实部和虚部数据通过I2C接口以两个16 bit字形式提供给用户。片内DSP处理单元的优点是用户不必进行复杂的数学计算,也无需存储ADC原始数据,只需提供两个16 bit的数据。因此,它还允许选择更便宜的DSP解决方案,因为大大降低了对最终处理能力的要求。