STM32单片机芯片与内部111 STM32 DSP内核 介绍 功能 库与源码

目录

[一、STM32F4 的 DSP 功能介绍](#一、STM32F4 的 DSP 功能介绍)

[二、Cortex-M4 内核的 DSP 和专业 DSP 的区别](#二、Cortex-M4 内核的 DSP 和专业 DSP 的区别)

三、相关功能

1、BasicMathFunctions

2、FastMathFunctions

3、ComplexMathFunctions

4、FilteringFunctions

5、MatrixFunctions

6、TransformFunctions

7、ControllerFunctions

8、StatisticsFunctions

9、SupportFunctions

10、CommonTables

四、DSP库与源码

1、获取方式

2、DSP库说明

[(1)、Examples 文件夹中的文件如下,主要是提供了一些例子](#(1)、Examples 文件夹中的文件如下,主要是提供了一些例子)

[(2)、Include 文件夹里面是 DSP 库的头文件](#(2)、Include 文件夹里面是 DSP 库的头文件)

[(3)、Lib 文件夹里面是 MDK(ARM) , IAR 和 CGG 版库文件](#(3)、Lib 文件夹里面是 MDK(ARM) , IAR 和 CGG 版库文件)

[(4)、Projects 文件夹里面的文件如下, 提供了三个版本的工程模板, 每个模板里面都是把所有源码文件添加了进来(占用较多flash ram)](#(4)、Projects 文件夹里面的文件如下, 提供了三个版本的工程模板, 每个模板里面都是把所有源码文件添加了进来(占用较多flash ram))

[(5)、Source 文件夹中的文件如下,这个是 DSP 的源码文件](#(5)、Source 文件夹中的文件如下,这个是 DSP 的源码文件)

[3、DSP 库版本的区别](#3、DSP 库版本的区别)


一、STM32F4 的 DSP 功能介绍

DSP

DSP 单元集成了一批专用的指令集(主要是 SMID 指令和快速 MAC 乘累加指令) ,可以加速数字信号处理的执行速度。

FPU

Cortex-M4 内核支持单精度浮点,可以大大加速浮点运算的处理速度。

  • M4 和 M7 系列有相同的 DSP 指令集。
  • M7 相比 M4 系列要多一些浮点指令集。
  • 同时这里要注意一个小细节,浮点指令都是以字符 V 开头的。 通过这点,我们可以方便的验证是否正确开启了 FPU
  • Cortex-M7 内核的 DSP 性能最强。
  • Cortex-M3, M4 和 M33 是中等性能,其中 M3 最弱。
  • Cortex-M0, M0+和 M23 性能最弱。

二、Cortex-M4 内核的 DSP 和专业 DSP 的区别

三、相关功能

1、BasicMathFunctions

提供了基本的数据运算,如加减乘除等基本运算,以_f32结尾的函数是浮点运算,以_q8, _q15, _q31,结尾的函数是定点运算。

2、FastMathFunctions

主要提供SIN, COS以及平方根SQRT的运算。

3、ComplexMathFunctions

复杂数学运算,主要是向量,求模等运算。

4、FilteringFunctions

主要是滤波函数,如IIR, FIR, LMS等。

5、MatrixFunctions

主要是矩阵运算。

6、TransformFunctions

变换功能。 包括复数FFT(CFFT) , 复数FFT逆运算(CIFFT) , 实数FFT(RFFT) , 实数 FFT 逆运算。

7、ControllerFunctions

控制功能,主要是PID控制函数和正余弦函数。

8、StatisticsFunctions

统计功能函数,如求平均值,最大值,最小值,功率, RMS等。

9、SupportFunctions

支持功能函数,如数据拷贝, Q格式和浮点格式相互转换。

10、CommonTables

arm_common_tables.c 文件提供位翻转或相关参数表。

四、DSP库与源码

1、获取方式

  • 每个版本的 Cube 软件包都会携带 CMSIS 文件夹, 只是版本比较老,不推荐。即使是最新的 CubeH7软件包, 包含的 CMSIS 软件包版本也有点低。
  • 大家安装了新版 MDK 后, CMSIS 软件包会存在于路径: ARM\PACK\ARM\CMSIS\5.6.0\CMSIS。如果有更新的版本,推荐大家使用最新版本, MDK 的软件包下载地址:http://www.keil.com/dd2/Pack/
  • 通过 GitHub 获取也比较方便,地址: https://github.com/ARM-software/CMSIS_5 。点击右上角就可以下载 CMSIS 软件包了。

2、DSP库说明

(1)、Examples 文件夹中的文件如下,主要是提供了一些例子

(2)、Include 文件夹里面是 DSP 库的头文件

(3)、Lib 文件夹里面是 MDK(ARM) , IAR 和 CGG 版库文件

(4)、Projects 文件夹里面的文件如下, 提供了三个版本的工程模板, 每个模板里面都是把所有源码文件添加了进来(占用较多flash ram)

(5)、Source 文件夹中的文件如下,这个是 DSP 的源码文件

3、DSP 库版本的区别

  • arm_cortexM4lf_math.lib

Cortex-M4 内核, l 表示小端格式, f 表示带 FPU 单元, M4 仅支持 Single Precision 单精度浮点。

  • arm_cortexM4l_math.lib

Cortex-M4 内核, l 表示小端格式。

  • arm_cortexM4bf_math.lib

Cortex-M4 内核, b 表示大端格式, f 表示带 FPU 单元, M4 仅支持 Single Precision 单精度浮点。

  • arm_cortexM4b_math.lib

Cortex-M4 内核, b 表示大端格式。

STM32F4 是 M4 内核, 单精度浮点, 一般使用小端格式,所以我们选择库arm_cortexM4lf_math.lib.

相关推荐
voipmaker5 小时前
GB28181 对接踩坑实录:注册不上、目录不全、流卡顿,一次说清(附 2022 版变更清单)
物联网·音视频·实时音视频·信息与通信·iot·gb28181·国标gb28181
吠品5 小时前
智谱开源 ZCode 之后,真正的考试才开始
单片机·嵌入式硬件·1024程序员节
Chery11407 小时前
高速ADC与精密DAC怎么选?DP9230D与DP8532D应用解析
嵌入式硬件·物联网·射频工程
ACP广源盛1392462567310 小时前
6 盘位存储扩展方案选型笔记:YLB3116 @ACP评估记录
笔记·硬件架构·硬件工程·国产芯片
小李不想当小白10 小时前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
LCG米10 小时前
STM32驱动W5500以太网模块实测:TCP吞吐瓶颈定位、TX指针回绕陷阱与断线重连保活落地
stm32·单片机·嵌入式硬件·tcp/ip
尼喃12 小时前
662K/65Z5三脚稳压芯片规格书—PW6566B33/B30引脚功能
嵌入式硬件
创界工坊工作室12 小时前
63-基于STC89C52霍尔传感器的智能化电能表设计
stm32·单片机·嵌入式硬件·51单片机·proteus
智购科技自动售货机厂家13 小时前
让AI经营自动售货机:从Project Vend看工具权限与业务规则~YH
大数据·服务器·单片机·嵌入式硬件·深度学习
Zwawa14 小时前
从 printf 到曲线:把数据送上 VOFA+
c语言·单片机·嵌入式