DAC 无法输出 0V 的问题分析与解决
问题:
问题:
该问题由某客户提出,发生在
STM32F100R8T6
器件上。据其工程师讲述:在½用 STM32F100 的 DAC
时,不管如½设½输出的值,最½只½输出到 63mV,无法输出 0V,而 63mV 的电压经过他的放大电
路,对产品的性½产生较大的½响。故其工程师询问是否有办法可以输出 0V?
调研:
调研:
经过对 DAC 的输出口 PA4 进行测量,发现将 DAC 的输出值设½为 0x000 的时候,电压输出确实在
63mV。检查客户的程序,可以看到客户对 DAC 的配½如下:
DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bits8_0;
DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable;
DAC_Init(DAC_Channel_1, &DAC_InitStructure);
将
DAC
配½程序修改为:
DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
DAC_InitStructure.DAC_LFSRUnmask_TriangleAmplitude = DAC_LFSRUnmask_Bits8_0;
DAC_InitStructure.DAC_OutputBuffer =
DAC_OutputBuffer_Disable;
DAC_Init(DAC_Channel_1, &DAC_InitStructure);
修改后编译,测试:对
PA4
的电压进行测量,发现可以输出
0V
了。所以问题就是在于½½了
Output
Buffer。
我们来看一下参考手册是如½描述
Output Buffer
的:
可以看出,在 STM32F100 的 DAC 中,内嵌了两个 Output Buffer,其½用是减小输出阻抗,可以在不½
用外部运放的情况下就可以直接驱动外部负½½。可以通过 DAC_CR 寄存器的 BOFFx ½来½½或禁止
Output Buffer。
再来看数据手册的描述:
可以看到 Output Buffer 的½½,½其被禁止时,直接被旁路掉。
再继续从数据手册里看一下 DAC 外设电气特性里关于 Buffer 的相关参数,我们可以看到:
这个表告诉我们,½ Output Buffer 被禁止,输出电压最½电压典型值在 0.5mV,输出最高电压最大值
为(V
REF+
-1LSB)V。½ Output Buffer 被½½,½保证的的输出最½电压为 0.2V,输出最高电压为 V
DDA
-
0.2V。所以,Output
Buffer 并不是½对½的输出驱动器,无法输出 0V。再来看一下它的注释:½
V
REF+
为 3.6V,其响应范围从 0x0E0 到 0xF1C 的 12 ½输出值;½ V
REF+
为 2.4V,其响应范围从 0x155 到 0xEAB
的 12 ½输出值。也就是说,½ V
REF+
为 3.6V,DAC 的输出电压范围大约为 0.197V~3.4V;½ V
REF+
为
2.4V,DAC 的输出电压范围大约为 0.2V~2.212V。½然,这只是½保证的数据,并不是说½½了 Output
Buffer,最½输出电压就一定是 0.2V,只是在应用中,应该以从 0.2V 到 V
DDA
-0.2V 这个范围来进行设
计。STM32F100 在½½ Output Buffer 后,其最½输出电压为 63mV 属于正常现象。
结论:
结论:
由于打开了 DAC 的 Output Buffer,导致了 DAC 无法输出 0V。
处理:
处理:
禁止 DAC 的 Output Buffer 即可,也就是在配½中将
DAC_InitStructure.DAC_OutputBuffer
一项设½成
DAC_OutputBuffer_Disable
。
建议:
建议:
客户的实际应用中,如果对于 DAC 的输出电压范围的要求在于 0.2V~V
DDA
-0.2V 的范围之内,可以直接½
用 DAC 的 Output Buffer,将 Output Buffer ½½。如果对于 DAC 的输出电压范围超出 0.2V~V
DDA
-0.2V
或者需要½对½输出,那么建议禁止 Output Buffer,并在外部½用合适的运放器件增强其输出½力。
评论