跳过主要内容

AN-CM-291 ADC电流检测

内容

术语和定义

ADC模拟数字转换器
DAC数字-模拟转换器
脉宽调制脉冲宽度调制

参考文献

有关文件及软件,请浏览:

//www.xmece.com/configurable-mixed-signal

下载我们的免费GreenPAK软件设计师(1]以打开。gp文件[2],并查看所提出的电路设计。使用GreenPAK开发工具(3.可以在几分钟内将设计冻结到您自己定制的集成电路中。yabo国际娱乐Dialog Semiconductor提供完整的申请资料库[4],包括设计实例,以及对Dialog IC的功能和模块的解释。

  1. GreenPAK设计软件,《软件下载及用户指南》,Dialog Semiconductoryabo国际娱乐
  2. AN-CM-291 ADC Current Sense.gpGreenPAK设计文件,Dialog半导yabo国际娱乐体
  3. GreenPAK开发工具GreenPAK开发工具网页,对话半导体yabo国际娱乐
  4. GreenPAK应用笔记GreenPAK应用笔记网页,Dialog半导体yabo国际娱乐
  5. SLG46855V, Datasheet, yabo国际娱乐Dialog Semiconductor。
  6. 一个- 1177, Flexible Range ADC with I2C Interface, Application Note, yabo国际娱乐Dialog Semiconductor。

作者:吉诺卡斯蒂略

介绍

在本应用笔记中,我们将描述如何在SLG46855V中实现一个8位模数转换器(ADC) [5],可检测负载电流,并通过I2C与单片机接口。该设计可用于各种电流传感应用,如电流表、故障检测系统和燃油表。亚博国际官网平台网址

ADC架构

ADC主要由模拟比较器和数模转换器(DAC)组成。比较器感知输入电压和DAC输出电压,然后控制DAC输入码是增加还是减少,这样DAC输出就会收敛到输入电压。得到的DAC输入码成为ADC数字输出码。

在我们的实现中,我们使用脉宽调制(PWM)控制电阻网络创建了一个DAC。我们可以很容易地创建精确的数字控制PWM输出使用GreenPAK.滤波后的PWM成为我们的模拟电压,因此作为一个有效的DAC。这种方法的一个明显的优点是,只需简单地调整电阻器的值,就可以很容易地设置对应于零码和满量程(等效偏移和增益)的电压。例如,用户希望从没有电流(0µa)的温度传感器读取零码,对应4.3 V,而在1000µa的全尺寸码对应3.9 V (表1).这很容易实现,只需设置几个电阻器的值。通过使ADC范围匹配感兴趣的传感器范围,我们最大限度地利用ADC分辨率。

表1:当前比较的示例代码
代码(12月)
当前(µ)
V感觉(V)
0
0
4.3
125
500
4.1
255
1000
3.9

这种架构的一个设计考虑是,内部PWM频率需要比ADC更新速率快得多,以防止其控制回路的欠阻尼行为。至少它应该比ADC数据计数器时钟长除以256。在本设计中,ADC的更新周期设置为1.3312 ms。

内部电路

flexible ADC是基于Dialog Semiconductor AN-1177的设计[yabo国际娱乐6].时钟速度从1 MHz增加到12.5 MHz,以时钟ADC计数器,因为SLG46855有一个25 MHz的时钟可用。这允许为更好的样本分辨率提供更快的更新速度。ADC数据时钟的LUT时钟被改变,所以当PWM DFF低时,它将通过12.5 MHz信号。

P91 # yIS1
图1:外部电路原理图

外部电路

外部电阻和电容网络用于将PWM转换为模拟电压,如图中的电路原理图所示图1.这些值是为设备将感知的最大电流的最大分辨率计算的。为了实现这种灵活性,我们将电阻R1和R2并联到VDD和地。电阻分压器将VBAT划分到电压范围的低侧。期望最小VBAT的分割器比可以用下面的方程求解:

方程1:

I2C读指令

表1描述了读回存储在CNT0中的数据的I2C命令结构。I2C命令需要一个起始位、控制位、字地址、读位和停止位。

表2:I2C结构
信息
数据(十六进制)
起始位
控制字节/奴隶地址
0 x10(写);0 x11(阅读)
字地址/CNT0计数值
0 xa5
读一些
R
停止位

I2C命令读取CNT0计数值的示例如下:

[0x10 0xA5] [0x11 R]

被读回的计数值将是ADC代码值。例如,Dialog网站上的这个应用程序注释的ZIP文件中包含一个Arduino代码。

结果

为了测试ADC电流传感器设计的准确性,将给定负载电流和VDD水平下的测量值与理论值进行比较。理论ADC值计算公式如下:

方程2:

我的负载与ADC值相关的值用下面的公式计算:

方程3:

对于以下结果,我使用了这些组件值:

表3:测试电路的元件值
组件
名义价值
测量值
R感觉
400Ω
381Ω
R1
10 kΩ
11.87 kΩ
R2
100 kΩ
89.94 kΩ
R负载
50 kΩ(电位计)
N/A
C1
10 nf
9.26 nf
C2
10 nf
9.47 nf

ADC值到I的分辨率负载转换可以通过公式3计算,表2中的测量值和ADC值设为1。用V蝙蝠在3.9 V时,分辨率为4.96µA/div。

为了优化ADC电流检测电路,使其最小VDD水平为3.6 V,最大电流为1100µa,检测电阻为381 Ω,根据式1,理想的分压器系数为0.884。用给定的值表2,实际除法器的除法器系数为0.876。由于这个值略小,它将允许略大的负载电流范围,因此ADC值接近全范围,但不会溢出。实际除法器值计算公式如下:

方程4:

以下是在4.3 V、3.9 V和3.6 V三种电压水平下测量的电路。每一级显示一个图表,显示测量和理论ADC值之间的差异。理论值四舍五入到最接近的整数。有一个总结图来比较三种电压水平的差异。然后有一个图表显示了理论ADC值和负载电流在不同电压水平之间的相关性。

图2:实测ADC值与理论ADC值的差值,VDD = 4.3 V
表4:VDD = 4.3 V时的测量值
负载电流(µ)
ADC测量代码
ADC编码理论
区别
预计V感觉
One hundred.
18
18
0
4.2619
200
37
37
0
4.2238
300
55
55
0
4.1857
400
74
73
1
4.1476
500
93
92
1
4.1095
600
112
110
2
4.0714
700
130
128
2
4.0333
800
149
146
3.
3.9952
900
167
165
2
3.9571
1000
186
183
3.
3.919
图3:实测ADC值与理论ADC值的差值,VDD = 3.9 V
表5:VDD = 3.9 V时的测量值
负载电流(µ)
ADC测量代码
ADC编码理论
区别
预计ACMP VIN
One hundred.
20.
20.
0
3.8619
200
40
40
0
3.8238
300
61
61
0
3.7857
400
81
81
0
3.7476
500
101
101
0
3.7095
600
121
121
0
3.6714
700
142
141
1
3.6333
800
162
161
1
3.5952
900
183
182
1
3.5571
1000
203
202
1
3.519
图4:实测ADC值与理论ADC值的差值,VDD = 3.6 V
表6:VDD = 3.6 V时的测量值
负载电流(µ)
ADC测量代码
ADC编码理论
区别
预计ACMP VIN
One hundred.
23
22
1
3.5619
200
45
44
1
3.5238
300
67
66
1
3.4857
400
88
87
1
3.4476
500
110
109
1
3.4095
600
132
131
1
3.3714
700
155
153
2
3.3333
800
177
175
2
3.2952
900
199
197
2
3.2571
1000
221
219
2
3.219
图5:ADC实测值与理论值差值汇总图
图6:ADC理论值与负载电流的相关性图

结论

该设备在3.6 V、3.9 V和4.3 V三种电压水平下进行测试。这些电压的范围模型一个完整的锂离子电池放电到它的标称水平。在三个电压等级中,可以观察到,对于所选的外部电路,该器件通常在3.9 V时更加精确。在负载电流为700 - 1000 μ A时,测量值与理论ADC值的差值仅为1个小数。在给定的电压范围内,在最坏的情况下,测量的ADC值比标称条件高出3个小数点。进一步调整电阻分压器可以优化不同的VDD电压水平。

附录A

P391 # yIS1
图7:在GreenPAK设计器中查看