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条回答
正点原子
1楼-- · 2019-07-22 03:15
回复【3楼】等待烟花美:
---------------------------------
外设性能。
你可以自己测试下。8M的输出速度,外部就算你用最块的DAC,也只能8M的转换速度。所以要10个点,1M,最少得10M的速度。
等待烟花美
2楼-- · 2019-07-22 07:22
回复【8楼】正点原子:
---------------------------------
是的啊,而且还有一个问题就是数据是在CLOCK的上升沿读入DAC的,所以还要操作DAC的CLOCK引脚,每送一组数据给DA后还要在之后送一个高电平给DA,然后再送一个低电平给DA,为下一次做准备,这样等于1s要输出30M。你说的那个FSMC不是操作液晶的吗?我现在想通过DA转换得到示波器可以测得的波形。
正点原子
3楼-- · 2019-07-22 12:16
回复【9楼】等待烟花美:
---------------------------------
你可以找找并口的DAC嘛。。。
正点原子
4楼-- · 2019-07-22 13:01
 精彩回答 2  元偷偷看……
等待烟花美
5楼-- · 2019-07-22 16:48
回复【11楼】正点原子:
---------------------------------
恩,好的,感谢原子哥耐心解答。
JoshYoby
6楼-- · 2019-07-22 20:56
学习一波,走走看看~

一周热门 更多>