当前位置: 首页 > news >正文

109、代码优化:定点数运算与浮点数运算

飞控算法从入门到精通 · 109 · 代码优化:定点数运算与浮点数运算

从一次炸机说起

去年夏天,我在调试一款自研的四旋翼飞控,MCU是STM32F405,主频168MHz。姿态解算用的Mahony互补滤波,全部float运算,跑在FreeRTOS上,任务周期1kHz。地面站看着一切正常,角度响应平滑,PID输出也稳。结果一上天,悬停不到三秒就开始抖,越抖越厉害,最后直接翻了过去。还好是在草地上试的,桨叶断了两根,机架没事。

查了一整天,最后定位到问题:浮点运算导致的任务超时。1kHz的周期,实际执行时间在中断里被拉长到了1.3ms左右,偶尔还会跳到1.5ms。姿态环和位置环都在同一个高优先级任务里,浮点运算的延迟让控制输出滞后了将近半个周期,系统自然就发散。

从那以后,我对飞控里的浮点数运算就格外敏感。不是说不能用,而是要知道什么时候该用,什么时候必须换成定点数。

浮点数的代价

很多人觉得STM32F4有FPU,浮点运算就是一条指令的事,快得很。这话对了一半。单精度浮点乘法确实是一条指令,但问题出在别的地方。

首先是寄存器上下文切换。飞控里跑RTOS,任务切换时要保存和恢复FPU寄存器。Cortex-M4的FPU有32个单精度寄存器,每个32位,加上FPSCR状态寄存器,一次切换就要保存132字节。如果任务切换频繁,这个开销会累积得很可观。我实测过,在FreeRTOS里开启FPU的LAZY STACKING和关闭它,任务切换时间差了将近40个时钟周期。40个周期看起来不多,但1kHz的任务切换,每秒就是4万周期,占掉168MHz主频的0.0

http://www.zskr.cn/news/1485529.html

相关文章:

  • 【解决方案】Umi-OCR Linux桌面集成与自动化工作流实战配置
  • COMSOL光子晶体仿真工具包:聚焦平带中merging BIC调控、三维能带计算与Q值自动提取
  • 超深度测评!2026广州靠谱黄金回收门店单出炉 - 奢侈品回收评测
  • 终极指南:如何让老款Mac完美运行最新macOS系统
  • 如何在Windows上快速搭建智能音乐控制系统:小白也能懂的完整教程
  • Phigros网页模拟器:5个核心功能让音乐游戏在浏览器中流畅运行
  • Pushup与其他Go Web框架对比:为什么选择页面导向开发?5大优势解析 [特殊字符]
  • 遗传算法工程实战:从早熟崩溃到92秒收敛的调参心法
  • 2026 沧州靠谱装修公司装修推荐:全屋定制品质推荐,老房翻新,新房装修 TOP5 排行评测 - 品牌智鉴榜
  • 2026年6月百达翡丽腕表官方售后服务热线及全国线下门店网点地址 - 速递信息
  • 免费开源神器Rufus:制作Windows启动盘的终极完整指南
  • 东北地区火锅店装修动线规划服务商实力排行 - 奔跑123
  • 佛山黄金回收老店盘点|5家靠谱机构推荐,变现省心更安心 - 奢侈品回收测评
  • 2026年忻州市黄金回收彩金回收铂金回收白银回收安全合规榜:无套路靠谱门店推荐及联系方式 交易放心 - 亦辰小黄鸭
  • NVIDIA Profile Inspector终极指南:3步解锁显卡隐藏性能的免费工具
  • 塑胶行业B2B推广渠道有哪些代表平台推荐?2026年渠道清单与组合投放指南 - 观域传媒
  • 2026年应对海外检测新规:英文论文满屏飘红?两招教你把AI率清零(附3款工具测评) - 降AI实验室
  • 2026年新余市黄金回收彩金回收铂金回收白银回收安全合规榜:无套路靠谱门店推荐及联系方式 交易放心 - 亦辰小黄鸭
  • Go并发编程实战第2版示例项目:从理论到实践的完整部署与测试指南
  • 热风炉厂家哪家好:工业烘干采暖高效热源设备厂商对比 - 品牌2026
  • 2026年信阳市黄金回收彩金回收铂金回收白银回收安全合规榜:无套路靠谱门店推荐及联系方式 交易放心 - 亦辰小黄鸭
  • 5分钟掌握音乐歌词下载工具:高效获取LRC歌词的完整指南
  • 精工智造赋能产线升级|张家港华耐德:智能物料处理系统源头厂家 - 速递信息
  • 2026年最新萍乡市黄金回收白银回收铂金回收金条回收高口碑五家靠谱门店实地测评整理及联系方式推荐 - 前途无量YY
  • 开源矿工NtMiner:GPU挖矿软件的革命性突破,一键挖ETH等显卡币
  • Czkawka完全指南:多平台磁盘清理的终极解决方案
  • 2026年许昌市黄金回收彩金回收铂金回收白银回收安全合规榜:无套路靠谱门店推荐及联系方式 交易放心 - 亦辰小黄鸭
  • 人工智能术语数据库:2442个专业AI词汇的终极查询指南
  • 2026年最新襄阳市黄金回收白银回收铂金回收金条回收高口碑五家靠谱门店实地测评整理及联系方式推荐 - 前途无量YY
  • 遗传算法工程落地五大核心:编码、适应度、选择、交叉、变异