打印
[AT32F407]

407vgt7的vref是3.03v,设置4095时DAC输出是3.16v?

[复制链接]
2427|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
twinkhahale|  楼主 | 2024-8-14 14:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
采用的是单独设计的基准源,应该是准确的,设置0时DAC输出0.18v,这种能通过程序解决吗?还是需要程序来做补偿才行?

使用特权

评论回复
沙发
ArterySW| | 2024-8-14 16:39 | 只看该作者
可以找一个最小系统板试试看这个现在还存在不。
具体排查的话,有以下几个思路
1.检查整颗芯片的所有模拟IO口(不管是否有使用)有无接入超过Vdd+0.3V的电压,因为模拟IO为非FT口,外接超过Vdd+0.3V的电压的话就会存在漏电情况;
2.检查代码配置,用于DAC输出的IO有无配置正确的模式,比如如果错误的配置为了上拉输入的话就会存在问题;
3.核对DAC口上的外部电路,因为DAC驱动能力有限,若外部电路负载过大,也有可能导致实际DAC输出电压出现异常。

使用特权

评论回复
板凳
zhizia4f| | 2024-12-4 22:26 | 只看该作者
你是不是没启动校准啊?

使用特权

评论回复
地板
su1yirg| | 2024-12-5 17:19 | 只看该作者
一般来说,可以自己补偿的,这样的话也可以

使用特权

评论回复
5
y1n9an| | 2024-12-5 19:49 | 只看该作者
你最好多测几组数据试试,看看是不是这方面的问题

使用特权

评论回复
6
w2nme1ai7| | 2024-12-5 21:24 | 只看该作者
分析可能的原因
DAC 输出在设置为 0 时不为 0,可能是由于 DAC 本身存在偏移误差。这可能是由于芯片内部的模拟电路元件(如放大器等)的特性不完全匹配导致的。当设置为 0 时,理论上输出应该为 0V,但实际输出了 0.18V,说明存在一个固定的偏移量。

使用特权

评论回复
7
lamanius| | 2024-12-6 07:37 | 只看该作者
设置 DAC 输出为满量程(4095)时,输出电压高于预期的 3.03V(达到 3.16V),这可能是增益误差。即实际的增益比理论增益稍高,导致输出电压偏高。

使用特权

评论回复
8
l1uyn9b| | 2024-12-6 08:48 | 只看该作者
可以在程序中进行偏移补偿。在每次设置 DAC 输出值之前,先减去偏移量对应的数字值。首先需要确定偏移量对应的数字值,假设 DAC 是 12 位的(0 - 4095),根据线性关系计算偏移量对应的数字值。

使用特权

评论回复
9
kaif2n9j| | 2024-12-6 10:22 | 只看该作者
对于增益误差,同样可以通过计算来补偿。已知当数字值为 4095 时,输出电压为,理论参考电压。实际增益,理想增益。

使用特权

评论回复
10
g0d5xs| | 2024-12-6 11:33 | 只看该作者
所以在设置 DAC 输出值时,实际写入 DAC 寄存器的数字值(需要将转换为整数,并且保证在 0 - 4095 范围内)。例如,如果要输出一个理论上数字值为 2000 对应的电压,实际写入 DAC 寄存器的值约为(转换为整数后)。

使用特权

评论回复
11
ex7s4| | 2024-12-6 13:22 | 只看该作者
在进行补偿后,需要对不同的输出值进行测试和验证。可以使用高精度电压表来测量 DAC 输出电压,检查输出是否符合预期。如果仍然存在误差,可以进一步调整补偿系数或者检查硬件电路是否存在其他问题(如电源噪声、布线不合理等)。

使用特权

评论回复
12
d1ng2x| | 2024-12-6 14:15 | 只看该作者
可以通过程序解决的,用补偿的方式就好了,但是需要多取几组数据,做个线性均衡,不然补偿也是有误差的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

198

帖子

0

粉丝