stm32有可能产生1M任意波形吗?

2019-07-21 06:11发布

我用的是STM32+DAC908,希望产生1M的任意波形,并且波形的每一个周期需要10个电压值点来描绘。

由DAC时序图可以看出,STM32的IO口要先给DA数据端口数据,然后再给DA时钟端口一个高电平,然后再给DA时钟端口一个低电平,也就是说每转换一个电压值,stm32IO口要发出三组数据。我经过测试,发现当时钟配置成72M,即使用直接对寄存器操作,就是直接在while循环里编写GPIOA->0;GPIOB->=1;GPIOB->0;输出模拟电信号频率也只能达到3M左右,一个周期10个点的话,波形频率只有300K,而且波形波形波动不明显,毛刺特别多。

STM32到底有没有能力产生1M任意波形(波形的每一个周期10个电压值点来描绘)的能力啊,或者有什么别的好的方案产生1M任意波形啊?求指教!
以下是DAC908的操作时序和引脚图:


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
等待烟花美
2019-07-22 07:22
回复【8楼】正点原子:
---------------------------------
是的啊,而且还有一个问题就是数据是在CLOCK的上升沿读入DAC的,所以还要操作DAC的CLOCK引脚,每送一组数据给DA后还要在之后送一个高电平给DA,然后再送一个低电平给DA,为下一次做准备,这样等于1s要输出30M。你说的那个FSMC不是操作液晶的吗?我现在想通过DA转换得到示波器可以测得的波形。

一周热门 更多>