基于电容检测芯片的电容检测系统设计
2012-04-17 来源:维库开发网
引言
电容式传感器一般是将被测量的变化量转换为电容量的变化。目前,基于这种原理的各种类型的传感器已在测量加速度、液位、几何孔径等方面得到了广泛的应用。但以电容为变化量的传感器(尤其是MEMS传感器),其电容变化范同往往只有几个pF,甚至几个fF。这便对电容检测的精度提出了很高的要求,尤其是在传感器的研发过程中,往往需要极高精度的电容检测设备对传感器进行测试与调校。但是一直以来国内外都缺乏能够对微小电容进行实时检测的专用仪器,普遍的做法是针对所研发的传感器自行设计、制做专门的电容检测电路,这无疑增加了传感器设计的难度与工作量。针对这一问题,我们设计了通用的电容式传感器检测系统。该系统能够对微小电容进行实时检测,并可以通过上位机实现实时显示、存储等功能。
1 总体设计
电容式传感器的检测方法主要有:设计专用ASIC芯片;使用分立元件通过电容桥、频率测量等原理实现测量;使用通用电容检测芯片将电容转换为电压或其他量等。从技术难度、测量精度等多方面考虑,本系统采用集成电容检测芯片来完成对电容式传感器的检测。系统结构框图如图1所示。电容检测芯片选用Irvine Sensor公司的MS3110。MS3110将电容量转换为电压量输出(量程为0~10 pF)。单片机MSP430F149集成的12位A/D转换器对输出电压进行采样,并通过I/O端口对MS3110内部寄存器进行设置。数据经采样后通过串口传送到上位机进行处理、实时显示、存储等。上位机由普通微机构成。
2 系统硬件设计
2.1 MS3110简介及寄存器设置
MS3110是Irvine Sensor公司生产的具有极低噪声的通用电容检测芯片。它采用CMOS工艺,工作电压为+5 V,测量灵敏度为,集成的补偿电容等参数均可以通过寄存器控制。其基本测量原理为:对被测电容与参考电容同时以相反时序充放电,通过电流积分、低通滤波、放大等将被测电容与参考电容差值转换为电压输出。MS3110内含一个60位的寄存器和100位的EEPROM。可通过单片机MSP430F149的I/0口对其EEFROM编程,或使MS3110工作在测试状态直接对寄存器进行编程。通过这些设置可对MS3110内部各个模块的参数进行精确的调节。
MS3110原理框图如图2所示。MS3110主要由电容补偿电路、电荷积分电路、低通滤波器以及运算放大器组成。
其中,CSlIN、CS2IN为被检测电容,CSl、CS2为MS3110内部的可调电容。通过对内部寄存器进行设置,CS1可在O~1.197 pF范围内调节,CS2可在0~9.709pF范围内调节。CF为电荷积分器的积分电容,可在O~19.437 pF范围内调节。以上3个可调节电容的调节步进均为19 fF。低通滤波器的带宽可在O.5~8 kHz范围内调节,可调增益GAIN可选择2或4。
另外,参考电压VREF、空载输出电压Vout等也可以通过寄存器进行精确调节。其空载输出电压的计算公式如下:
Vout=GAIN×V2P25×1.14×(CS2T-CS1T)/CF+VREF (1)
式中:CSlT=CS1IN+CSl,CS2T=CS2IN+CS2;本系统中可调整的内部增益GAIN取2;V2P25为芯片参考电压输出,默认值为2.25 V;参考电压VREF可选O.5 V与2.5 V两个值,本系统中选取O.5 V。由于烧写EEPROM需要额外的16 V电压,本系统中将TEST引脚拉低使芯片处于测试状态,通过I/O即可直接更改其寄存器。由于掉电后寄存器数据将丢失,所以每次上电后都需要对所有的寄存器进行初始化。需要特别指出的是,MS3110数据手册中给出的写寄存器时序图中,将数据输入时钟SCLK周期标为固定值2μs。在实验中我们发现,周期大于2μs时均可成功设置。
2.2 MSP430F149简介及通信接口设计
系统使用MSP430F149集成的12位A/D转换器进行A/D转换。MSP430F149在1 MHz的时钟频率下运行时,芯片的电流在200~400μA左右;在等待方式下,耗电仅为O.7μA;在节电方式下,电流最低可达0.1 μA。集成的12位A/D转换器具有较高的转换速率,最高可达200 kbps,能够满足大多数数据采集应用,为系统的单片解决方案提供了极大的方便。
MSP430F149集成的A/D转换器可采用内部2.5 V参考电压或外部参考电压,但其内部参考电压准确性较差,在本系统中将MS3110的2.25 V参考电压输出作为A/D转换器的参考电压。低功耗单片机与集成A/D转换器的采用保证了系统拥有较低的功耗。
与上位机的通信接口采用MSP430F149集成的串行接口,通过MAX3232芯片转换为三线RS232接口与计算机串口直接相连。
3 系统软件设计
系统软件包括单片机软件与上位机软件两部分。
3.1 单片机软件设计
采用IAR Assembler for MSP430集成开发环境,使用C语言编写了单片机部分的程序,主要包括系统初始化、测量芯片寄存器初始化、测量与数据传输等。单片机软件流程如图3所示。
单片机初始化包括单片机I/O初始化、串行口参数初始化、A/D转换器初始化,以及与上位机通信接收系统参数等。MS31lO初始化是通过单片机I/O对MS3110内部寄存器进行初始化,包括参考电容值、可调增益、初始电压等参数。采样开始后,单片机按照设定采样率进行采样;采样结束后,将数据经转换后传送给上位机进行处理、显示与存储。
3.2 上位机软件设计
采用VC++6.0软件和C++语言编写系统的上位机软件。软件功能主要包括设置参数,与下位机通信,数据实时图形化显示、存储和读取等。上位机软件界面如图4所示。
4 精度测试与分析
进行测试前,首先应对电路的初始输出进行校准。方法如下:将CSl、CS2设置为O,使用用高精度电压表对MS3110芯片输出电压进行测量,输出为O.497 192 V,将式(1)中的VREF修正为0.497192 V。
在电路板CS2IN位置上焊接一个1.8 pF多层陶瓷电容,用于模拟外部电容式传感器;芯片内部可调电容CS2由O逐步步进到342 fF,以模拟传感器电容的变化,步进值为19 fF。具体寄存器参数设置如下:CSl设为O,为CF设9.728 pF,可调增益GAIN设置为2,V2P25设为2.25 V,其他参数均取手册推荐值。通过实验测得,当CS2取O时,测量值为1.960 021 pF。与电容标称值的差异主要是由电容本身容差与电路的分步电容引起的。由式(1)可得:
CS2=(Vout-VREF)CF/(GAIN×V2P25×1.14) (2)
代入具体数值可得:
CS2=(Vout-0.497 192)×9.728/5.13 (3)
其中,Vout=(A/D采样值/4 095)×2.25。精度测试实验结果如表1所列(实测容值为10次测量的均值)。
测试结果表明,该电容式传感器检测系统具有较高的检测精度,平均误差仅为0.879 fF,最大绝对误差小于1.6 fF。由于MSP430F149集成的A/D转换器为12位,当CF取9.728 pF时,系统对电容的分辨率只有1.042fF。可见,A/D转换器的分辨率是制约检测精度的重要因素。在对系统进行改进时,可考虑采用更高位数的A/D转换器。
结语
本文基于电容检测芯片MS3110设计了一款电容式传感器检测系统,给出了设计要点和需要注意的问题。该系统具有较高的测试精度,可用于电容式传感器检测与研发。
上一篇:智能传感器接口在数据采集中的优势