@[TOC](STM32G474QE 高速DAC(34)+DMA+OPA踩坑记录)
前言
众所周知,STM32G474最高具有4路DAC,其中DAC34是高速可到(15MSPS)但受限于片内运放(13MHz增益带宽)。但是好巧不巧STM32G474QE型号具有片内电压基准2.048V或2.5或2.9V。本文主要记录一次实验,如果没有在REF引脚上使用外部电容的情况下,使用片内电压基准可能会造成高速波形失真的情况。如果REF上没有去耦电容,建议直接使用LDO作为基准。
驱动DAC的配置
1.配置DAC
2.配置OPA
3.配置定时器
4.代码记录:
//在全局变量
uint16_t dataS[100] ={1024,1152,1278,1401,1517,1625,1724,1812,1888,1950,1997,2029,2045,2045,2029,1997,1950,1888,1812,1724,1625,1517,1401,1278,1152,1024,896,770,647,531,423,324,236,160,98,51,19,3,3,19,51,98,160,236,324,423,531,647,770,896,1024,1152,1278,1401,1517,1625,1724,1812,1888,1950,1997,2029,2045,2045,2029,1997,1950,1888,1812,1724,1625,1517,1401,1278,1152,1024,896,770,647,531,423,324,236,160,98,51,19,3,3,19,51,98,160,236,324,423,531,647,770,896};
//在main函数
/* USER CODE BEGIN 2 */
//1.先开启运放
HAL_OPAMP_Start(&hopamp1);
//2.再开启DMA
HAL_DAC_Start_DMA(&hdac3,DAC_CHANNEL_1,(uint32_t *)dataS,100,DAC_ALIGN_12B_R);
//3.最后定时器启动
HAL_TIM_Base_Start(&htim6);
/* USER CODE END 2 */
实验
1.使用LDO电源作为VREF的情况,波形十分完美,注意模拟地的星星接地
2.但是如果使用内部VREF作为DAC参考,波形干扰较大,这种波形我在模拟电路调试中经常出现,注意这不是工频干扰,工频干扰频率低,而这个干扰频率显然超过了信号本身,它的特征是:时域上,接近地的区域波形干净,接近电压轨的波形成分复杂,这是因为电源电压(或参考电压)不稳造成的,通常在电源没有并联去耦电容的运放输出端可以见到这种波形。