[STM32F4]

F429 DAC振荡

[复制链接]
303|37
手机看帖
扫描二维码
随时随地手机跟帖
chenjunt|  楼主 | 2023-1-7 23:14 | 显示全部楼层 |阅读模式
我最近用STM32F4 内部DAC读取数据,发现出现振荡严重问题,不知道一般该从哪些方面排查,我没有用任何DMA,或者中断触发DAC,只配置了简单的DAC

使用特权

评论回复
supernan| | 2023-1-7 23:16 | 显示全部楼层
具体配置看下

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:18 | 显示全部楼层

void DAC_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_Init(GPIOA,&GPIO_InitStructure);
  
}

void DAC_Config(void)
{
  DAC_InitTypeDef DAC_InitStructure;

//  DAC_GPIO_Config();
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_DAC,ENABLE);
  DAC_InitStructure.DAC_WaveGeneration = DAC_WaveGeneration_None;
  DAC_InitStructure.DAC_Trigger = DAC_Trigger_None;
  DAC_InitStructure.DAC_OutputBuffer = DAC_OutputBuffer_Enable;

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:21 | 显示全部楼层
7394363b98dc5b3359.png 7166463b98dc6a7344.png

使用特权

评论回复
juventus9554| | 2023-1-7 23:23 | 显示全部楼层
问题描述的不是太清楚。你的DAC设定是恒值还是变化?

使用特权

评论回复
supernan| | 2023-1-7 23:25 | 显示全部楼层
你说的震荡是指正弦波上叠加的小波?

使用特权

评论回复
juventus9554| | 2023-1-7 23:28 | 显示全部楼层
有可能是缓冲运放引起,你可以直接断开外部电路,测mcu输出波形,传一个几百欧电阻。

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:30 | 显示全部楼层
DAC设定的是一个正弦表,是一个储存了2000个数的正弦表,用查找表内容进行DAC输出的,测试用的是开发板,振荡指的是曲线不平滑,是因为STM32内部DAC用的是比较电压+软件滤波原理吗?

使用特权

评论回复
jiajs| | 2023-1-7 23:33 | 显示全部楼层
频率太高了吧,这东西是有响应时间的

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:35 | 显示全部楼层
啥频率 示波器上那个不是波形频率 不一样的 正弦波频率没那么大

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:36 | 显示全部楼层
正弦波频率多少呢

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:40 | 显示全部楼层
200Hz 和5Hz,做的测试,5Hz的波形都有如上的小震荡

使用特权

评论回复
xxrs| | 2023-1-7 23:41 | 显示全部楼层

这频率不高,我用5KHz,200个点都很好啊,你换个通道试试

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:43 | 显示全部楼层
您用了DMA吗?如果没用能看看我的配置是否有问题吗?

使用特权

评论回复
shimx| | 2023-1-7 23:45 | 显示全部楼层

我用DMA了,你这代码不全,看不出问题

使用特权

评论回复
zhanghqi| | 2023-1-7 23:47 | 显示全部楼层
我用HAL库,你这库太老了

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:48 | 显示全部楼层
我参考一下,因为我要测试的东西精度比较高的,测试为了方便用了DAC

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:50 | 显示全部楼层
如果DAC是用软件电压比较的方式而不是硬件实现的话可能之后还要换一个硬件DAC模块

使用特权

评论回复
zyf部长| | 2023-1-7 23:53 | 显示全部楼层
再测试看看

使用特权

评论回复
chenjunt|  楼主 | 2023-1-7 23:55 | 显示全部楼层
主要是想知道这个STM32内部DAC是个什么东西

使用特权

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

本版积分规则

718

主题

7868

帖子

5

粉丝