STM32 双通道DA

2019-07-21 03:59发布

求一个STM32 双通道DA产生一路正弦波与一路锯齿波,频率可调 的程序
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
iwater
1楼-- · 2019-07-22 04:50
回复【7楼】正点原子:
---------------------------------
恩,我已经知道了,现在用的是ad9851来做,使用FPGA产生30M时钟驱动可以产生10M正弦波,我用STM32产生的PWM波作为它的参考时钟,想要产生30M的PWM,但是STM32产生的这个时钟频率也达不到很高,因为参考板子例程用的是TIM14,这个时钟搭载在PCLK1上(低速外设(DAC,PWR,CAN,USART2/3/4/5,I2C,SPI,RTC,TIME2-7/12-14))最高的工作频率为42M,不理解例程程序为什么是用84M/84?
TIM14_PWM_Init(500-1,84-1); //84M/84=1Mhz的计数频率,重装载值500,所以PWM频率为 1M/500=2Khz.
system_stm32f4xx.c文件里面是这样设置的:
#if defined (STM32F40_41xxx) || defined (STM32F427_437xx) || defined (STM32F429_439xx)      
    /* CLK2 = HCLK / 2 ==84M*/
    RCC->CFGR |= RCC_CFGR_PPRE2_DIV2;
    /* CLK1 = HCLK / 4 ==42M*/
    RCC->CFGR |= RCC_CFGR_PPRE1_DIV4;
#endif /* STM32F40_41xxx || STM32F427_437x || STM32F429_439xx */
正点原子
2楼-- · 2019-07-22 08:52
回复【8楼】iwater:
---------------------------------
用MCO输出,可以达到36Mhz,如果要30Mhz,则MCU跑60M,2分频即可。

一周热门 更多>