代码地址:【保姆级教程内附代码】电容转换器CDCAD7745/AD7746保姆级应用教程_ad7745驱动程序资源-CSDN文库
一、简介
AD7745、AD7746是一颗高分辨率,高精度的电容数字转换器(CDC,Capacitor digital conversion),具有24BitADC,最高可达到21Bit有效分辨率(ENOB)。AD7745、AD7746可测量电容的量程为-4.096~4.096pF,支持CAPDAC拓展,拓展后量程至少可达21pF。IC采用16脚TSSOP封装,支持宽电压工作(2.7V~5.25V),I2C通信接口。除此之外还集成了温度传感器,可实现对环境温度的采集与抓换。
其中AD7745具有一个电容输入通道(单通道),AD7746具有两个电容输入通道(双通道)。每个通道都支持单端输入或者差分输入。
二、功能特性介绍
2.1 引脚介绍
SCL | I2C 串行时钟输入 |
RDY | 逻辑输出。当该引脚信号的下降沿到来时表示在已经使能的通道转换已经完成,同时新的数据已经到达该通道 |
EXCA.EXCB | CDC激励输出。被测电容接在EXC 引脚和 CIN引脚之间 |
REFIN(+),REFIN(-) | 差分参考电压输入 |
CIN1(-) | 在差分模式下,CDC的负电容输入;在单端模式下,该引脚内部断开 |
CIN1(+) | 在差分模式下,CDC的正电容输入;在单端模式下,CDC的电容输入 |
VIN(+),VIN(-) | ADC 的差分电压输入。此引脚同时连接外部温度探测二极管 |
GND | 接地端 |
VDD | 2.7v~5.25V单电源供电 |
SDA | I2C串行数据线 |
2.2 典型应用电路图
- 单端模式:电路如下图所示,其中EXC可通过EXC SET-UP寄存器(0x09)的配置,使能EXCA或者EXCB作为激励信号,此模式下CIN(-)与内部断开。CAPDAC可用于调整输入的量程,初始默认为0(例如:当CAPDAC为4pF时,就可以测量最高8pF的电容)。则输入与输出的关系式如下:
CDC DATA = Cx - CAPDAC(+)
CDC输出结果:0x800000代表0pF,0xFFFFFF代表4pF
则实际电容值 Cx计算公式如下:
- 差分模式:差分模式输出结果为两电容的差值即为Cx-Xy,电路如下图所示。CAPDAC可用于调整输入的量程,初始默认为0。则输入与输出的关系式如下:
CDC DATA = (Cx - CAPDAC(+))- (Cy - CAPDAC(-))
此时CDC输出结果为:0x000000代表-4pF,0x800000代表0pF,0xFFFFFF代表4pF
三、使用说明
3.1 模块初始化
1.配置温度传感器、CDC的转换时间以及转换模式(按需配置)
寄存器地址:0x0A,CONFIGURATION REGISTER
写入数据:0b 0011 1001,选择连续转换模式(Continuous conversion)
2. 配置CDC激励信号源。
寄存器地址:0x09,EXC SET-UP REGISTER
写入数据:0b 0110 0011,使能EXCB
3.配置温度传感器。
寄存器地址:0x08,VT SET-UP REGISTER
写入数据:0b 1000 0001,使能并选择内部温度传感器
4.配置CDC。
寄存器地址:0x07,CAP SET-UP REGISTER(以下配置二选一)
写入数据:0b 1000 0000,使能CDC,并选择单端模式
0b 1010 0000,使能CDC,并选择差分模式
3.2 数据读取
1.判断数据是否准备完成。读取寄存器0x00,STATUS REGISTER,判断数据是否完成。例如当Bit0 RDYCAP=0时,代表电容通道转换完毕。
2.读取数据。电容AD值为3个字节,直接读取寄存器0x01~0x03。温度AD值也是3个字节,直接读取寄存器0x04~0x06.
3.数据转换公式。
电容实际值为:
温度实际值为: