当前位置: 华文世界 > 数码

ADuC845的模拟通道

2024-01-21数码
视频加载中...

01ADuC845核心板

一、前言

这款基于 ADuC845 单片机组成控制和信号采集板,下面对 ADuC845 的模拟通道,包括 ADC,DAC 的性能进行基本测试,为后面软件开发打下基础。

二、DAC输出

测量 ADuC845的DAC输出。数据手册给出了它的输出电压范围,一个是内部的2.5V的参考电压,一个是外部模拟电压3.3V。这是设置DAC输出 0xfff 时,输出的最大电压,是对应的模拟工作电压。这是设置内部2.5V参考电压,输出2.5V左右。具有一定的误差。

从0到 0xfff ,设置DAC,使用数字万用表DM3068测量DAC的输出,可以看到输出具有非常好的线性特性,输出最大值在2.5V 左右。假设Vref=2.5V,可以计算出输出理论值与实际输出之间的误差。除了 0 之外,其它的误差具有一个 13mV 的系统误差之外,随机误差在 正负 3mV 之间。

▲ 图1.2.1 设置数值与输出电压

▲ 图1.2.2 不同设置下的误差曲线

三、ADC测量

在电路板上设置了两路AD输入,输入的信号经过分压,连接单片机的AIN1,AIN2。这样可以扩大输入信号的范围。下面对输入电压信号采集功能进行测试。将输入信号通过扁平电缆连接到面包板上,利用数字电源 Dp766 提供可调的测试电压。

这是输入电压从0V到2.5V变化,读取 两路ADC的数值,读取的格式为16bit。在电压比较小时,似乎出现了非线性。两路输入电压是来自于同一个信号源,但在高端,可以看到两个ADC输出数据具有一些偏差。下面对这两个问题分别检查一下。

▲ 图1.3.1 输入不同电压与采集数值之间的关系

重新测量 150mV之内的电压与转换数值。由于电压源的问题,实际输出电压无法小于20mV。正常可以看到输出数值在小信号下呈现非常好的线性。另外,两个ADC转换的数值还是有差别。

▲ 图1.3.2 150mV之内的电压 与测量数值

使用ADC0 分别切换到AIN1,AIN2测量同一个模拟电压,这次测量有两个变化。一个是电压源的电压可以从0开始,这也说明了ADC转换可以从0开始。另外,转换数值与电压之间呈现非常好的线性特性。两个测量结果还是有一定的差异。这方面的原因还是不太清楚的。

▲ 图1.3.3 利用ADC0分别测量两个通道

通过检查发现,前面在切换通道之后,没有设置一个延迟。在切换通道之后延迟100ms,可以看到两个通道读取的数值是相同的了。之所以出现这种台阶,具体原因还不太清楚。

▲ 图1.3.4 输入电压与转换数值

利用ADC1 分别测试两个模拟通道 AIN1,AIN2 输入电压。可以看到转换的数值基本上是相同的。

▲ 图1.3.5 使用ADC1同时测量到两个输入模拟通道结果

※总 结 ※

本文测试了 ADuC845 中的DAC和ADC的基本功能。这为后面的软件开发提供数据支持。

参考资料

[1]

创界uVision下的ADuC845的工程文件 : https://zhuoqing.blog.csdn.net/article/details/109399638