STM32_arm_sin_f32和sin的区别

news/2024/10/30 15:31:23/

FOC控制中会用到三角函数

调试通信的时候,也会用三角函数产生一个测试波形

优化三角函数的运行时间是一个不可避免的事情,而幸运的是,前人已经把树种上了。

用专用的浮点运算单元FPU来做浮点运算,比用STM32本身来做浮点运算要快。

要使用STM32,ST公司提供了标准外设库、HAL库等。

而要使用FPU,ARM/ST公司提供的库叫做 DSP库

STM32 HAL库 CUBEMX FPU 和 DSP库朽木白露的博客-CSDN博客hal库dsp 这篇博客可以好好看看。

FPU简介

  • FPU 即浮点运算单元(Float Point Unit)。浮点运算,对于定点 CPU(没有 FPU 的 CPU)来说必须要按照IEEE-754 标准的算法来完成运算,是相当耗费时间的。而对于有 FPU 的 CPU来说,浮点运算则只是几条指令的事情,速度相当快。

  • STM32F4 属于 Cortex M4F 架构,带有 32 位单精度硬件 FPU,支持浮点指令集,相对于 Cortex M0 和Cortex M3 等,高出数十倍甚至上百倍的运算性能。 STM32F4 硬件上要开启 FPU是很简单的,通过一个叫:协处理器控制寄存器(CPACR)的寄存器设置即可开启 STM32F4 的硬件 FPU。

简单来说,FPU是集成在STM32F4系列以上的一个专用浮点运算处理器,相当于我们电脑中专门用于处理图像计算的GPU,在处理浮点运算时,速度比CPU处理要快几十倍,是一种专用型的处理单元。在STM32 F4系列中,带有该单元,我们只需要设置 CPACR 寄存器即可。

DSP简介

  • STM32F405 采用 Cortex-M4 内核,相比 Cortex-M3 系列除了内置硬件 FPU 单元,在数字信号处理方面还增加了DSP 指令集,支持诸如单周期乘加指令(MAC),优化的单指令多数据指令(SIMD),饱和算数等多种数字信号处理指令集。相比Cortex-M3,Cortex-M4 在数字信号处理能力方面得到了大大的提升。Cortex-M4 执行所有的 DSP指令集都可以在单周期内完成,而 Cortex-M3 需要多个指令和多个周期才能完成同样的功能。

DSP (数字信号处理),FPU是硬件,ST提供了FPU的库叫做DSP库,用于FPU的使用。DSP库之于FPU就如同 HAL库 之于 STM32 一样,是ST公司为硬件所开发的软件库。

实验:

在168MHz主频的STM32F405RGT6中,运行一次sin函数大约需要30~50us,运行一次arm_sin_f32函数,

只需要3us。 运行时间是1个数量级差距。

用arm_sin_f32吧! 咋用看我另一篇博客

STM32_如何添加DSP库_heqiunong的博客-CSDN博客_stm32 添加dsp库


http://www.ppmy.cn/news/520351.html

相关文章

STM32F1 FFT初试

1、STM32有dsp库,百度一堆的文章,注意有f4有硬件fft可以使用arm_rfft_fast_init_f32,F1不能使用,F1可以使用arm_cfft_radix4_init_f32,256长度1024长度,arm_cfft_radix2_init_f32 512长度。 2、采样率FFT_S…

UVM1.2究竟在UVM1.1上做了哪些升级

想必大家平时也没有很注意UVM1.1版本和UVM1.2版本的不同之处,只有在用一些以前UVM1.1能支持的功能,到了UVM1.2却出现编译报错,找不到对应的变量或者函数或者类的时候,才意识到这两个版本的差异。笔者也是遇到了1个打印问题&#x…

【webFlux】使用zip()或concatMap操作符处理两个表,基于条件修改两个表

要响应式地处理两个列表,并基于条件修改第一个列表的一个bean,并根据条件修改第二个列表中对应bean的属性,你可以使用RxJava的操作符来实现。 以下是一个示例代码,展示了如何响应式地处理两个列表并进行相应的修改操作: Observable<List<Bean1>> list1Obser…

基于Web的数字家庭网站设计与实现【附开题报告和万字文档(Lun文)】

主要功能 前台登录&#xff1a; ①主页&#xff1a;新闻信息展示、最新动态、家庭亲子视频展示、亲友动态展示 ②论坛&#xff1a;发布帖子 ③家庭亲自视频&#xff1a;视频类型分类、亲子视频标题 ④家庭日记&#xff1a;日记类型分类、日记标题 ⑤新闻信息&#xff1a;新闻类…

航天双五归零

技术归零中&#xff1a; 定位准确是前提&#xff0c;机理清楚是关键&#xff0c;问题复现是手段&#xff0c;措施有效是核心&#xff0c;举一反三是延伸。 管理归零中&#xff1a; 过程清楚是基础&#xff0c;责任明确是前提&#xff0c;措施落实是核心&#xff0c;严肃处理…

航天动力学

航天动力学是研究航天器和运载器在飞行中所受的力及其在力作用下的运动的学科&#xff0c;又称星际航行动力学。航天动力学研究的运动包括航天器的质心运动&#xff0c;称轨道运动&#xff1b;航天器相对于自身质心的运动和各部分的相对运动&#xff0c;称姿态运动&#xff1b;…

银河航天简介

徐鸣&#xff0c;董事长、创始人 2018年10月25日6时57分&#xff0c;银河航天试验载荷“玉泉一号”搭载长征四号乙运载火箭&#xff08;CZ-4B&#xff09;&#xff0c;在太原卫星发射中心发射升空。“玉泉一号”是银河航天自研的试验载荷&#xff0c;将在阿里巴巴“糖果罐号”迷…

【2020年领域新星】 周号益 北京航空航天大学

【2020年领域新星】周号益&#xff0c;北京航空航天大学计算机科学与工程学院博士生。研究兴趣包括大数据分析与处理、机器学习和可信计算。论文“Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting”获AAAI 2021 最佳论文。 2020年发表论文&…