F429 DAC振荡
我最近用STM32F4 内部DAC读取数据,发现出现振荡严重问题,不知道一般该从哪些方面排查,我没有用任何DMA,或者中断触发DAC,只配置了简单的DAC具体配置看下
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;
问题描述的不是太清楚。你的DAC设定是恒值还是变化?
你说的震荡是指正弦波上叠加的小波?
有可能是缓冲运放引起,你可以直接断开外部电路,测mcu输出波形,传一个几百欧电阻。
DAC设定的是一个正弦表,是一个储存了2000个数的正弦表,用查找表内容进行DAC输出的,测试用的是开发板,振荡指的是曲线不平滑,是因为STM32内部DAC用的是比较电压+软件滤波原理吗?
频率太高了吧,这东西是有响应时间的
啥频率 示波器上那个不是波形频率 不一样的 正弦波频率没那么大
正弦波频率多少呢
200Hz 和5Hz,做的测试,5Hz的波形都有如上的小震荡
这频率不高,我用5KHz,200个点都很好啊,你换个通道试试 您用了DMA吗?如果没用能看看我的配置是否有问题吗?
我用DMA了,你这代码不全,看不出问题 我用HAL库,你这库太老了
我参考一下,因为我要测试的东西精度比较高的,测试为了方便用了DAC
如果DAC是用软件电压比较的方式而不是硬件实现的话可能之后还要换一个硬件DAC模块
再测试看看
主要是想知道这个STM32内部DAC是个什么东西
页:
[1]
2