找回密码
立即注册
搜索
发回帖 发新帖

5050

积分

0

好友

644

主题
发表于 2 小时前 | 查看: 8| 回复: 0

前情回顾:之前已经分别介绍过 BLHeli_S 电调固件烧录与调参——BLHeliSuite 软件使用教程 和 BLHeli_S 电调固件调参教程。

从 GitHub 下载到 BLHeli-master 之后,打开 BLHeli_S SiLabs 目录下的 Hex files 文件夹,会看到一长串不同版本的固件烧录文件。那么问题来了:这些 hex 文件到底该怎么选?

BLHeli_S SiLabs Hex files 目录下的固件文件列表

这些固件的命名形式基本一致,结构可以拆成一个字母、另一个字母、两位数字,再加上 REV16.7 版本号和 .HEX 后缀。在《BLHeli_S manual SiLabs Rev16.x.pdf》这份手册里,恰好能找到官方对命名规则的说明。

BLHeli_S 代码命名规范说明图

按照手册的解释:第一个字母代表 MCU 的引脚分配,更准确地说,是引脚排布方案;第二个字母只有 L 和 H 两种,L 对应 24 MHz 的 EFM8BB1 系列 MCU,H 对应 48 MHz 的 EFM8BB2 系列;后面两位数字则表示 FET 开关死区时间,单位是 20.4 ns。有的 FET 预驱动器内部已经集成了死区时间控制,这种情况下可以直接写 00。

看到这里可能还有一个疑问:第一个字母所代表的“引脚分配”到底指什么?

BLHeli_S SiLabs 目录下的 inc 文件列表

注意观察 BLHeli-master\BLHeli_S SiLabs 路径下这些以单个字母开头的 .inc 文件,比如 A.inc、B.inc、C.inc 等,其实就对应了固件名称中的第一个字母。随便打开一个,比如《A.inc》,第 32 到 39 行就是根据 24 MHz / 48 MHz 选择对应 MCU 定义文件的条件编译逻辑。

A.inc 中关于 MCU 型号选择的条件编译代码

再看第 46 到 77 行,这里定义的是死区时间。从代码里的 ELSEIF FETON_DELAY == 5、== 10 一直到 == 90 可以看出,死区时间只有 0、5、10、15、20、25、30、40、50、70、90 这几种取值。同时,Eep_ESC_Layout 这一行定义了对应的 #A_L_xx# 字符串,因为当前打开的是《A.inc》,所以前缀是 A_L。

A.inc 中死区时间的常量定义代码

这时候再回看固件命名,会发现确实只有 0、5、10、15、20、25、30、40、50、70、90 这几种死区数字可选。

接下来对比一下《A.inc》和《B.inc》的 PORT 1 definitions 部分,区别就非常直观了。

A.inc 与 B.inc 的 PORT 1 引脚定义对比

可以看到,两个文件里 ABC 三相的桥臂 MOS 控制信号定义的引脚序号不同。这就是不同固件对应不同引脚分配的含义。为什么需要这么多套引脚方案?原因在于电调普遍要求体积小、集成度高,而且市面上的电调外形和 PCB 设计各不相同。为了方便实际布线,Layout 时对引脚排序做了调整,方便布局布线,于是就有了多种可选的引脚排布固件。

前面提到的 48 MHz MCU,具体对应的型号就是 EFM8BB21F16G-C-QFN20。

EFM8BB21 系列芯片规格参数表

从数据手册的引脚定义可以看到,inc 文件中 PORT 1 definitions、P0、P1 这些引脚分配,就是把 EQU 后面的数字与芯片实际的物理引脚序号对应起来。

EFM8BB2x-QFN20 引脚分布图

搞清楚这些固件命名的含义之后,至少能带来两个好处:

  1. 给现成的 BLHeli_S 电调刷固件时,知道怎么选择对应版本。 产品详情页一般会标明所使用的固件版本,如果没有标注,最稳妥的方式是直接向卖家确认。
  2. 自己动手 DIY BLHeli_S 电调时,可以选择 PCB 布线更顺手的固件方案。 不必为了固定引脚分配而把走线绕得七扭八歪。

如果你也准备自己画一块 BLHeli_S 电调板,或者想围绕无刷电机驱动做点实际项目,不妨到云栈社区翻一翻其他开发者的经验分享,会有不少启发。




上一篇:macOS 木马 ICMacOS 周租 699 美元:新增 WebSocket 远控,开发者凭据成窃取重点
下一篇:长鑫存储拒绝苹果订单?国产DRAM供不应求,十大问答看懂背后原因
您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-28 10:50 , Processed in 0.067789 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表