电容传感器适合小尺寸和低功耗应用,例如压力检测和位置检测,可实现高精密测量。它们具有极高的鲁棒性、度和灵敏度.但实现起来成本和难度都很大。在传统电容数字转换器设计中,系统设计工程师必须先将电容容量转换成电压,接着再用一个高ADC把该电压转换成数字信号。复杂的电路设计、冗长的原型评估流程和要求很高的系统测试通常会使设计工程师转而寻求不同的传感器。他们常常选择较昂贵或者稍低的传感器。ADI公司将先进的信号处理技术和高集成度制造工艺相结合,从而以单芯片实现了以前需要大量分立元件支持的,传统模拟电压数字转换器才能达到的水平,并且相比传统的多芯片解决方案.大大降低了成本。从而解决了从电容到数字直接转换的复杂而困难的信号处理难题,非常适用于工业、医疗仪器以及自动传感器。
2 AD7746引脚及内部结构
2.1 AD7746引脚及其定义
电容数字转换器AD7746具有I2C兼容的串行接口,可以方便用户使用和进行参考设计。该器件采用单电源供电,供电范围为2.7 V~5.25 V。
2.2 AD7746内部结构及功能
AD7746内部主要包括:24 bit的高性能∑-△ADC,精密低噪声、低漂移基准电压源,温度传感器,时钟,多路复用器,校准寄存器,数字滤波器,2线(I2C兼容)串行接口。非常适合于要求以的功耗和印制电路板(PCB)面积实现高的工业过程控制、汽车电子设备以及医学应用。
待测量的电容可直接在其输入端进行测量。AD7746具有24位分辨率,有效分辨率达到21位;整体线性度好于0.01%;度可达4fF;更新率为10 Hz~9 Hz。
3 AD7746基本工作原理
AD7746内部转换结构的工作原理主要采用∑-△技术。∑-△技术是一种成熟的技术,标准∑-△ADC是通过切换片上固定的电容,并平衡可变电压输入和固定的电压基准输入之间电荷来实现的。电容器CIN和CREF周期性地切换到电压输入VIN和参考输入VREF,它们将电荷存储到积分器CINT中。比较器检测积分器的输出,并控制输入开关的相位以构成闭环反馈环路,从而使它通过电压输入路径和参考输入路径的电荷流动保持平衡。所有闭环反馈环路系统都是为达到平衡,或者换句话说是实现零误差。这就是∑-△ADC要尽力实现的目标。
因为电荷与电压和电容都成正比,可以使用固定的电压来代替固定的电容,固定输入电压可以看作电压激励源,被移至芯片外的可变电容器可以看作一个电容传感器。结果,输出数据将表示传感器电容相对CREF变化的比率。输入端的电荷是不变电容和可变电容之和。其中,要测量的电容是可变电容。通过芯片内的CAPDAC,可从电荷反馈环路中减去由不变电容产生的电荷。
4 基于单片机的设计
本文根据AD7746内部可编程结构特点,以AT89C4051单片机为例,给出AD7746电容数字转换器与单片机的接口及其软件设计方法。
4.1 硬件设计方案
AD7746有两个外接电容通道,即通道和第二通道。该器件采用两线制。即时钟线SCL和数据线SDA。只需将AT89C4051单片机P1口的任意两位与SCL或SDA相连,然后进行相应的串口模拟编程即可。RDY引脚的状态变化标志着电容、温度转换完成的情况,属于状态位,与P1口除了时钟和数据相连的两位之外的任意一位连接都可以。本设计采用P1口的2~4位。AD7746和AT89C4051单片机都采用5 V电源供电,但对AD7746来说,需要使用外接低阻抗电容的办法来减少电源对地的耦合作用,在图2中,采用并联C1和C2 (C1=0.1 pF,C2=10 pF)的方法来解决此问题。Cx、Cy为两通道外接的可变电容,工作模式为单相。
另外,每个通道还可以按差分模式工作。需要指出,不管是差分模式还是单相模式,两通道不能同时工作。通道以及工作模式的选择都要通过软件编程。对器件内部寄存器参数进行设置。AD7746通道下的差分模式接法简图如图3所示,第二通道差分模式接法与之类似。
对于AT89C4051单片机.外围电路需接晶振电路、看门狗电路(如MAX5045)和与PC机进行通信的电平转换电路(如MAX232)。
4.2 软件设计实现
软件设计的主要任务是通过AT89C4051单片机对AD7746进行编程控制,读写器件内部各寄存器的数值,然后再与上位机进行通信。
4.2.1 寄存器的读写
寄存器的读写应严格按照器件的读写时序进行。本文采用单片机语言C51编写。读写时序如图4所示。在数据传送中,SDA携带数据,SCL与之同步。不管是读还是写,发送到SDA线上的每个字节必须为8位,每个字节后必须跟一个应答位。但每次传输可以发送的字节数量不受限制。被传送的数据主要由启动信号、地址码、若干数据字节、应答位以及停止信号等组成。在数据传送过程中,当SCL线是高电平时,必须保证SDA线上的数据稳定;传送一个字节的数据。必须由接收机发出一个应答信号。
另外,对于数据线SDA和时钟线SCL的高低电平,上升沿、下降沿以及数据建立和保持时间也有一定的限制,在编程时需要按器件说明书进行。
读操作包含写的过程,下面只对读操作进行说明。在进行读时,单片机首先应发出启动信号(S),然后向AD7746写入写地址(SLAVE ADDR),单片机收到应答信号(A(S))后,就可写入内部所需寄存器的地址(SUB ADDR)。当单片机再次收到应答(A(S))后,再发起启动信号(S),然后即可写器件读地址(SLAVE ADDR)。单片机第三次收到应答信号(A(s))以后,主机、从机之问的握手信号就完成了,之后从机就会源源不断地将器件内部的数据传送出来。在传送数据的过程中,无须再写内部寄存器地址。如果不是专门需要某个寄存器的值,那么内部寄存器的数值就会被依次输出,因为内部寄存器的地址指针具有自动加1功能。
4.2.2 寄存器的设置
AD7746内部共有19个8位寄存器。前7个为只读型:第1个为转换状态寄存器,后面6个用于存放电容和温度/电压的转换值。其他11个寄存器的功能依次是:电容设置,温度/电压设置,激励源EXC设置,转换/更新速率配置,电容偏移量设置。电容偏置校准以及电容/电压增益校准。每一个寄存器都有自己特定的地址,如果想对某可写寄存器进行参数修改,只需根据它的地址进行写操作,将待修改的数值写进去即可。
通过对电容设置寄存器(见表2)进行配置,可以有效确定电容的工作通道和工作模式。电容设置寄存器默认值为0x00,将CIN1置1,可以启动电容第2通道,为0时,只能使用第1通道。如果外接电容工作于差分模式,CAPDIFF必须置为1。单相模式下工作,CAPDIFF=0。如果CAPCHOP=1,可以使电 容通道的转换时间变为原来的两倍,但通道噪音也会提高。
AD7746内部具有可编程的偏移量设置寄存器,偏移量为0 pF~17 pF。通过软件编程,可改变此转换器的输入量程范围。一般下,芯片电容输入量程为4 pF,通过设置偏移量后,量程可达到21 pF。电容偏移量设置寄存器(CAPDAC)见表3。后面7位为偏移量的值,0x00=0 pF,0x7F=17 pF。
从电容、温度/电压寄存器读出的数字代码与电容、温度/电压都具有一定的关系,二者可进行换算。其他寄存器的配置情况与以上设置寄存器类似。
5 结束语
AD7746度很高,分辨率可达24 Bit,适合微小形变的测量。与单片机配合,可以用于要求高度、适合微形变测量的位移传感器中。因为电容器为敏感元件,可以将机械位移量转变为电容变化量。可以考虑一个极板固定不动,由于外界或人为原因,另一个极板相应距离变化。从而引起电容量的变化。因此只要能够测出电容的变化量,就可以测出极板间距离变化量,从而达到设计者想要实现的目的。需要指出,此器件外接电容接法中,差分接法与单项接法相比不仅误差减小很多,而且灵敏度也提高了不少。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。