[活动专区] 【AT-START-F407测评】+ FFT效率测试

[复制链接]
1546|6
 楼主| 纪国圣 发表于 2021-1-31 12:58 | 显示全部楼层 |阅读模式

抽空对240MHz运行的AT32F407VG做1024点FFT。DSP使用CMSIS DSP的arm_cortexM4lf_math.lib。无任何优化。通过TMR1对其运行时间测量,得到运行时间为589us。注意,使用优化会造成时间测量错误。
1.PNG 演示.gif
这里不得不吐槽一下,为什么在定时器配置中已经通过TMR_ClearITPendingBit(TMR1,TMR_FLAG_Update);清除中断标志位,可还是会进入一次中断。
下图为STM32F407做FFT的效率:
7603960163837c918a.png



FFT.zip

9.02 MB, 下载次数: 68

aple0807 发表于 2021-1-31 13:32 | 显示全部楼层
中断重入的问题之前遇到过,退出中断前加 __DSB();可以解决,M4的流水线特性导致的。
muyichuan2012 发表于 2021-2-1 09:36 | 显示全部楼层
请问 “下图为STM32F407做FFT的效率:”      具体是描述AT32F407还是STM32F407?
 楼主| 纪国圣 发表于 2021-2-1 15:42 | 显示全部楼层
muyichuan2012 发表于 2021-2-1 09:36
请问 “下图为STM32F407做FFT的效率:”      具体是描述AT32F407还是STM32F407?

下图指的是STM32F103和STM32F407使用ST官方的FFT算法运行时间测量结果。
 楼主| 纪国圣 发表于 2021-2-1 22:08 | 显示全部楼层
这里更正一下。由于在配置TMR1时,分频系数应该是239,结果写成239-1,即238,则TMR1的时间分辨率为1.004us,则实际运行时间为591us。特此更正说明。
fcccc 发表于 2021-2-2 16:11 | 显示全部楼层
本帖最后由 fcccc 于 2021-2-2 16:12 编辑

比STM407慢这么多没理由啊他们才168Mhz.
 楼主| 纪国圣 发表于 2021-2-2 16:59 | 显示全部楼层
fcccc 发表于 2021-2-2 16:11
比STM407慢这么多没理由啊他们才168Mhz.

ST使用的是专门优化过的DSP库,所以看起来数据很漂亮。我这个使用的是ARM推出的CMSIS DSP,应该没有优化,并且这个测试程序为了能正常测量出数据,也没有开优化(-O0)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

407

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部