你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32U3 评测】3.开启HSP计算FFT时间

[复制链接]
jundao721 发布时间:2026-6-2 16:58
      STM32U3C5 是带HSP硬件加速器的。也是第一次使这个功能,摸索着进行测试,顺便和上一次开启FPU 计算进行对比。3 [) h, y  {" b" h# L
还是使用上一次的FFT 的CubeMX文件进行配置,勾选Pinout & Configuration 栏中Computing->HSP1。如图1所示:
4 K( c  ]& x* ?/ N5 O8 F$ o. A 3-1.png
6 i8 P2 S* d5 `$ W# q0 K* Q图1! E. V+ ]3 V5 [# q  t3 `: c
" u; [; l! a  d7 Q
在下面Middleware and Software Packs中选择HSP_ENGINE,勾选Accelerator,如图2所示:
0 r. r. I9 V6 O% ? 3-2.png
+ w5 \9 x( O. @2 o, l2 X# f  _% q$ Z图2% {5 N, B) P2 F1 \# v1 A4 d
& a: f- l) N, B/ \$ Y9 ~1 s" Y1 ?6 p
其他参数默认即可。重新生成Cmake项目。5 ]' }* }& R; f# [8 E# g
7 e- L/ }6 M# J1 u. h9 w% k
( B0 m  `3 R: F+ U
添加主要测试代码,如下所示:
# U7 U5 q' C( O1 P  E% i
  1. HSP_ACC_Fft_f32(hsp, hsp_cfft_buffer, HSP_LOG2NBP_256, 0U, 0U);4 \! c# x: l0 h" w
  2. HSP_ACC_CmplxMag_f32(hsp, hsp_cfft_buffer, magnitude_hsp, FFT_SIZE);
    9 x* {( J( y9 z1 S' T
  3. " x( W  [8 L- F
  4. volatile uint32_t hsp_cycles = DWT->CYCCNT - hsp_start;
    8 _/ f! ]/ A$ ^7 a7 e! ]& ?
  5. printf("HSP Direct Command FFT computation took %lu cycles\r\n", hsp_cycles);
复制代码

4 \/ Q% K! T$ `! y0 u5 \8 }编译,DEBUG,观察左侧Variables 的时间,要比FPU的快3X多。测试结果如图3所示:
7 Z. x" \+ ?6 }& B7 S# n 3-3.png - q4 w, h4 N* R
图3
( d) n/ L1 J" U6 |2 O2 \3 S  q3 @1 q+ \- n% O" s
实际应用中,简单的FFT直接使用FPU就行了,复杂的信号处理必须上HSP。/ w$ f$ z2 [0 z' P7 g3 ?& u! Y0 x

( v' ]: ~' U2 w8 X
# `0 q& B% |3 {6 {* y4 e
赞 收藏 评论0 发布时间:2026-6-2 16:58

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版