我用的是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的操作时序和引脚图:
103的FSMC最快是8Mhz左右,所以没办法。
407倒是没问题,FSMC最快可以33M。
---------------------------------
请问原子哥,数据输出速度不是受限于时钟频率吗?FSMC提高就能加快数据输出速度了吗?请问我现在的之所以达不到预期要求的受限因素到底是STM32的输出数据的速度太慢还是外部DAC908的转换速度太慢啊?求指教!
---------------------------------
我也在网上看过这种方法,但是好像比较复杂,一套做下来要不少钱,而且我也不是很了解那些知识。我现在就想看看有没有什么方法让STM32系列芯片+外部DAC达到效果。不过还是谢谢你。
---------------------------------
我不是想在液晶屏上显示波形,而是通过DAC转换得到示波器可以测出来的波形
一周热门 更多>