语音模块固件烧写与调试

Tutorial: 卓越工程师 Category: 嵌入式 Published: 2026-10-23 11:05:29 Views: 1 Likes: 0 Comments: 0

276.2 语音模块固件烧写与调试

本节演示的是固件选择、串口接线、下载和指令测试,没有展示需要抄录的业务源码,因此此处不额外添加源码代码块。课程压缩包中的自动生成串口文件仅用于核对通信协议。

一、语音模块固件烧写与调试

1.1 语音模块固件烧写与调试介绍

  • 烧录目的:SU-03T 只有运行与项目匹配的固件后,才能识别约定的串口数据,并播放“人脸录入成功”等预先配置好的提示音。
  • 固件来源:固件可以在机芯智能平台中按需求配置并生成。本项目应优先使用课程资料中已经配置、验证过的固件,避免提示语和串口协议与 STM32 程序不一致。
  • 本课程固件的准确位置:语音模块固件/jx_firm/jx_su_03t_release_update.bin。原笔记中的“jx form/release update”是识别错误,并不是实际目录名。
  • 固件与工程配置:同目录下的 王锋人脸门锁_20231121002.json 是平台工程配置,可用于以后在官方平台中查看或修改配置;它不是直接烧入模块的文件。
  • 必须选对固件类型:
    • jx_su_03t_release_update.bin 是串口升级固件,本节使用 USB 转串口模块下载它;
    • jx_su_03t_release.bin 是硬件烧录器固件,只能配合专用烧录器使用,不能在本节的串口升级工具中混用。

.bin 和单片机开发中常见的 Intel HEX 文件都可以承载固件,但二者并不完全等价:BIN 是连续的原始二进制数据,本身通常不记录装载地址;HEX 是包含地址、数据和校验信息的文本记录。烧录工具需要根据文件格式和芯片下载方式正确解释它们,不能只修改扩展名来互换。

本课程固件把 4 个消息编号配置为 4 条播报:

消息编号播报内容
0x01人脸录入成功
0x02人脸识别成功
0x03人脸删除成功
0x04温度异常

1.2 烧录工具介绍

  • 烧录方式:通过 SU-03T 的 UART1 进行串口升级。
  • 准确的工具位置:语音模块固件/Hummingbird-M-Update-Tool/UniOneUpdateTool.exe。应按文件名寻找工具,不要再用“倒数第二个 EXE”这种会随目录排序变化的描述。
  • 串口驱动:课程使用 CH340 USB 转串口模块。若 Windows 中没有出现对应 COM 口,应先安装与设备匹配的 WCH CH340 驱动,并在“设备管理器 → 端口(COM 和 LPT)”中确认端口号。
  • 端口占用:升级工具和串口调试助手不能同时占用同一个 COM 口。烧录前关闭串口助手,测试前再让升级工具释放端口。

若工具无法读取文件,可先把固件复制到只含英文、数字的短路径,例如 D:\su03\jx_su_03t_release_update.bin。课程中出现的乱码报错就是旧版工具对中文路径兼容不佳所致。工具或固件应从课程资料或厂家可信来源取得;不要为运行来历不明的 EXE 而直接关闭系统安全防护。

1.3 硬件连接

下载使用 SU-03T 的 UART1。串口必须交叉连接,即发送端接对方的接收端:

SU-03T 引脚功能USB 转串口端信号方向
B6UART1_RXDTXDUSB 转串口 → SU-03T
B7UART1_TXDRXDSU-03T → USB 转串口
GND信号参考地GND必须直接相连
VCC模块电源输入稳定的 5 V 电源烧录工具开始等待后再上电

接线时必须注意以下几点:

  1. SU-03T 的 VCC 允许输入范围为 3.6~5.5 V,典型供电为 5 V。原笔记写成“VCC 接 3.3 V 或 5 V”不准确,3.3 V 低于厂家规定的 VCC 下限。
  2. 模块上的 3V3 是内部 LDO 的 3.3 V 输出端,不是本节的电源输入端,不能把外部 5 V 接到 3V3。
  3. 语音播放会产生脉冲电流,尤其是连接 4 Ω 扬声器并提高音量时。建议使用稳定的 5 V 电源,并按新版规格为电源预留不小于约 550 mA 的供电能力。
  4. 若 USB 转串口模块、SU-03T 电源和 STM32 板来自不同电源,三者的 GND 仍须用导线明确共地。不能仅凭“都接在同一台电脑上”就假定经过 USB Hub 后一定可靠共地。
  5. VCC 的 5 V 供电与 UART 的逻辑电平是两件事。应确认所用 CH340 小板的 TXD/RXD 是 3.3 V 兼容电平;不能只依据“CH340”芯片名称猜测某块转接板的实际输出电平,更不要把 5 V 电源直接接到 B6/B7。
  6. 接线或更换连线时先断电。为了复现“先等待、后上电”的下载时序,最好用电源开关控制模块供电,避免拿裸线反复碰触造成短路或接触抖动。

1.4 烧录过程

  1. 关闭可能占用该串口的串口调试助手等程序,在设备管理器中确认 CH340 对应的 COM 口。
  2. 将 jx_su_03t_release_update.bin 放到不含中文和特殊字符的短路径中。
  3. 在模块断电的状态下接好 B6 ↔ TXD、B7 ↔ RXD 和 GND ↔ GND,先不要给 SU-03T 的 VCC 上电。
  4. 运行 UniOneUpdateTool.exe,选择正确的串口和 jx_su_03t_release_update.bin。
  5. 单击烧录按钮,使工具进入等待设备上电的状态。
  6. 给 SU-03T 接通稳定的 5 V 电源。工具检测到模块后会自动开始下载。
  7. 下载过程中不要拔线、切断电源或晃动接头。等待 APP 进度到达 100%,并确认工具提示成功。固件写入完成后,模块通常会自动重启。
  8. 单击停止或关闭下载任务,让工具释放串口;再给模块重新上电,进入串口测试。

这里的“先断电、点击烧录、再上电”是进入升级流程所需的受控上电时序;它不等于可以在已经写入数据时随意断电。正式写入阶段若发生掉电,固件可能不完整。

常见问题可按下表排查:

现象重点检查
找不到 COM 口CH340 驱动、USB 数据线、USB 接口、设备管理器,以及串口是否被其他软件占用
工具一直等待设备B6/B7 是否交叉连接、是否明确共地、是否按“先等待后上电”的顺序操作
选择固件时报错或出现乱码把工具和固件移到纯英文短路径,重新选择文件
下载刚开始或中途失败5 V 电源能力、接触是否可靠、COM 口是否正确,以及是否选了带 _release_update.bin 后缀的串口升级固件
烧录后模块无法正常启动先确认是否误选了不带 _update 的烧录器固件,再按厂家恢复说明重刷正确固件;若模块原固件不支持串口升级,则需要专用烧录器写入支持升级的基础固件

1.5 串口调试助手使用方法

烧录完成并释放 COM 口后,可以继续用同一个 CH340 验证语音播报:

  1. 打开串口调试助手,选择设备管理器中实际显示的 COM 口。视频中的 COM16 只是授课电脑上的示例,并不是固定端口。
  2. 将波特率设为 115200,数据格式设为 8 位数据位、1 位停止位、无校验(8N1)。
  3. 选中“HEX 发送”或“十六进制发送”,一次发送一条完整指令。
  4. 依次检查模块能否播放与消息编号对应的提示音。

本课程固件采用固定帧格式:帧头为 AA 55,中间 1 字节为消息编号,帧尾为 55 AA。可直接发送以下测试帧:

HEX 发送内容预期播报
AA 55 01 55 AA人脸录入成功
AA 55 02 55 AA人脸识别成功
AA 55 03 55 AA人脸删除成功
AA 55 04 55 AA温度异常

必须使用 HEX 模式。若在文本模式下输入 AA 55 01 55 AA,串口工具发送的是字符 A、空格、5 等字符的 ASCII 编码,并不是表中的 5 个二进制字节,模块自然不会按预期响应。

整机中的通信链路为:K210 通过 UART2 把识别结果发送给 STM32,STM32 根据业务逻辑再通过 UART3 向 SU-03T 发送上述协议帧,最终触发语音播报。原转录中的“窗口二、窗口三”应为“串口二、串口三”。本节只负责确认模块固件和 4 条协议帧能够正常工作;整机程序在什么条件下发送哪一帧,由对应业务逻辑决定。

参考资料