这款单片机新增了外设HSP,下图是官方的宣传

      

2026-8-24 14:05 上传


     目前还没有太多这个外设的使用教程,开发板没有例程。所以结合一些网友和AI的梳理做个测试
     取1024点用ARM CMSIS-DSP的软件FFT和HSP的硬件FFT进行对比,测试代码大体如下
     

复制


  1. printf("\r\n===== HSP U3C5 FFT Test =====\r\n");
  2.   arm_cfft_instance_f32 arm_fft_inst;
  3.   arm_cfft_init_f32(&arm_fft_inst, FFT_COMPLEX_POINTS);
  4.   for(uint32_t i=0; i < FFT_COMPLEX_POINTS; i++)
  5.   {
  6.           float val = 0.5f * sinf( 2.0f * 3.14159265f * 8.0f * i / FFT_COMPLEX_POINTS );
  7.           hsp_cplx_buf[2*i + 0] = val;
  8.           hsp_cplx_buf[2*i + 1] = 0.0f;
  9.           arm_cplx_buf[2*i + 0] = val;
  10.           arm_cplx_buf[2*i + 1] = 0.0f;
  11.   }
  12.   uint32_t t_hsp_start = DWT_GetCycle();
  13.   HSP_ACC_Fft_f32(
  14.                   phmw,               // HSP上下文句柄
  15.                   hsp_cplx_buf,      
  16.                   LOG2_FFT_POINTS,    // log2(N)枚举
  17.                   0U,                 // ifftFlag:0正向FFT
  18.                   1U                  // bitrev:1开启位反转
  19.   );
  20.   uint32_t t_hsp_end = DWT_GetCycle();
  21.   uint32_t hsp_cycles = t_hsp_end - t_hsp_start;
  22.   float hsp_us = (float)hsp_cycles / 96.0f;
  23.   uint32_t t_arm_start = DWT_GetCycle();
  24.   arm_cfft_f32(&arm_fft_inst, arm_cplx_buf, 0, 1);
  25.   uint32_t t_arm_end = DWT_GetCycle();
  26.   uint32_t arm_cycles = t_arm_end - t_arm_start;
  27.   float arm_us = (float)arm_cycles / 96.0f;
  28.   printf("\r\n---------- Result ----------\r\n");
  29.   printf("HSP Hardware FFT: cycles=%6u , time=%7.2f us\r\n", hsp_cycles, hsp_us);
  30.   printf("CMSIS‑DSP SW FFT: cycles=%6u , time=%7.2f us\r\n", arm_cycles, arm_us);
  31.   printf("Speedup ratio(SW/HW): %.2fx\r\n", (float)arm_cycles / (float)hsp_cycles);

     运行结果如下
 

复制


  1. ===== HSP U3C5 FFT Test =====
  2. ---------- Result ----------
  3. HSP Hardware FFT: cycles=  6516 , time=  67.88 us
  4. CMSIS鈥慏SP SW FFT: cycles=101609 , time=1058.43 us
  5. Speedup ratio(SW/HW): 15.59x

     HSP15倍于软件FFT,显著提升啊,结合低功耗优势,那就是常说的能效比突出。


---------------------
作者:BinWin
链接:https://bbs.21ic.com/icview-3530703-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐