Merge pull request #1006 from taonyx/main

docs: update MA-USB8 and Combo8 firmware guides
This commit is contained in:
taonyx
2026-08-12 15:47:18 +08:00
committed by GitHub
13 changed files with 172 additions and 92 deletions

View File

@@ -2,6 +2,11 @@
title: FAQ
keywords: LogicAnalyzer, debugger, link, RISCV, tool
update:
- date: 2026-08-12
version: v0.2
author: Sipeed
content:
- Updated CH7 floating-waveform and DAPLink serial troubleshooting
- date: 2023-09-12
version: v0.1
author: lxo
@@ -30,9 +35,9 @@ The following lists some common problems according to the form of Q&A, please tr
**A:**This may be the result of unstable contact that causes the device to disconnect, try to re-plug the device and then reconnect it to solve the problem.
**Q:**When using 8-channel sampling, it was found that waveforms also appeared when the D7 channel was not connected.
**Q:**Why is the floating CH7 waveform noisy during 8-channel acquisition?
**A:**This is a problem to be solved, but this problem will not affect the sampled waveforms, and the waveform can still be acquired normally after connecting an external signal to the D7 channel.
**A:**This issue is fixed in `slogic_combo8_pack_202608121500.bin`. [Update to this release or a newer one](./update_firmware.md). A floating input can still pick up environmental noise, so verify acquisition with a known high or low level or an actual signal instead of using a floating channel as a reference.
**Q:**When sampling waveforms, the waveforms in the display window do not match the actual waveforms.
@@ -58,7 +63,7 @@ The following lists some common problems according to the form of Q&A, please tr
**Q:**The serial port function in DAPLink mode does not work properly and messages are echoed back
**A:**Please refer [here](./update_firmware.md) to update the firmware to the latest version before trying again
**A:**This issue is fixed in `slogic_combo8_pack_202608121500.bin`. [Update to this release or a newer one](./update_firmware.md). The new release improves sustained high-speed transfers, serial-setting changes, and recovery after USB reconnection.
**Q:**DAPLink error while burning firmware:`Connection refused due to device mismatch!`
@@ -76,4 +81,3 @@ None
**Q:**The serial terminal cannot open the serial port.
**A:**Try using a different serial terminal. For Windows, you can try using XCOM, and for Linux, you can try using Minicom.

View File

@@ -2,6 +2,11 @@
title: Update Firmware
keywords: LogicAnalyzer, debugger, link, tool
update:
- date: 2026-08-12
version: v0.2
author: Sipeed
content:
- Added the fixes in `slogic_combo8_pack_202608121500.bin` and post-upgrade checks
- date: 2023-09-01
version: v0.1
author: lxo
@@ -17,10 +22,15 @@ Tool: [Click to download](https://dl.sipeed.com/shareURL/SLogic/SLogic_combo_8/4
Firmware: [Click to download](https://dl.sipeed.com/shareURL/SLogic/SLogic_combo_8/4_application/Firmware)
Just select the latest version of the burning tool and firmware, and unzip it after downloading.
Use the latest flashing tool. Select `slogic_combo8_pack_202608121500.bin` or a newer firmware release, then extract the downloaded files.
> Note:When the firmware is named `slogic_combo8_pack_202308171404.bin`, the date is 17/08/2023. The date naming rules are similar for other firmware.
`slogic_combo8_pack_202608121500.bin` includes these fixes:
- LA: fixes the dirty waveform on a floating CH7.
- DAPLink: fixes serial instability and improves sustained high-speed transfers, serial-setting changes, and recovery after USB reconnection.
## Configure Tool
1. Start the tool
@@ -59,4 +69,8 @@ Configure the serial port and baud rate, and click `Create & Download` to downlo
![download_firmware](./../../../zh/logic_analyzer/combo8/assets/download_firmware/download_firmware.png)
After the download is completed, the progress bar displays a green box, indicating that the download is successful and the firmware update is completed.
When the progress bar turns green, power-cycle the device and check the update:
1. Switch to blue logic-analyzer mode and confirm that the system detects `SLogic8 U2`.
2. Switch to green DAPLink mode and confirm that the system detects `RV CMSIS-DAP`.
3. If the update was intended to resolve DAPLink serial or debug stability, repeat the original test with the same wiring and baud rate.

View File

@@ -2,6 +2,11 @@
title: Using as DAPLink
keywords: LogicAnalyzer, debugger, link, RISCV, tool
update:
- date: 2026-08-12
version: v0.2
author: Sipeed
content:
- Documented the DAPLink serial stability fix
- date: 2023-07-26
version: v0.1
author: ctx
@@ -32,10 +37,12 @@ Here's a step-by-step guide on using the STM32F103C8T6 chip with Windows MDK IDE
In DAPLink mode, it can simultaneously support one DAPLink interface and one UART interface.
The pins on the left side of the diagram (TXD, RXD) can be used as a UART interface. (note: DTR and RTS are reserved.)
The pins on the left side of the diagram (TXD, RXD) carry UART data. The latest firmware also outputs the CDC DTR and RTS control signals.
The pins on the right side of the diagram (TCK, TDI, TDO, TMS) are used for DAPLink debugging.
`slogic_combo8_pack_202608121500.bin` fixes DAPLink serial instability and improves sustained high-speed transfers, serial-setting changes, and recovery after USB reconnection. If data is lost, unexpected echoes appear, or the serial bridge stops transferring, [update to this release or a newer one](./update_firmware.md).
### Connecting DAPLink using MDK
- Set the Reset Options to SYSRESETREQ.
- In CMSIS-DAP, locate and select the RV CMSIS-DAP device.
@@ -51,4 +58,3 @@ The pins on the right side of the diagram (TCK, TDI, TDO, TMS) are used for DAPL
![start_debugger_in_mdk](./../../../zh/logic_analyzer/combo8/assets/use_daplink_function/start_debugger_in_mdk.png)
Thank you for the document contribution from 'dragonforward'.

View File

@@ -2,6 +2,11 @@
title: Using as a Logic Analyzer
keywords: LogicAnalyzer, debugger, link, RISCV, tool
update:
- date: 2026-08-12
version: v0.2
author: Sipeed
content:
- Updated the device name and removed the resolved floating-CH7 note
- date: 2023-07-26
version: v0.1
author: ctx
@@ -16,7 +21,7 @@ Press the button to switch the indicator light to blue. As shown below:
![slogic_led_blue](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/slogic_led_blue.png)
> To verify if Slogic functionality is enabled:
> Open the device manager in Windows environment, and use the lsusb command in Linux environment to find the "USB TO LA" device
> Check Device Manager on Windows or run `lsusb` on Linux. The device name is `SLogic8 U2`.
## Getting Started
@@ -93,8 +98,6 @@ The connection will be made automatically on first startup, or you can choose to
![waveform_fast_of_pulseview](./../../../zh/logic_analyzer/combo8/assets/use_logic_function/waveform_fast_of_pulseview.png)
> Note:If the D7 channel is not used during the sampling process, a level inversion of the channel may be observed, but this is normal and does not affect normal use.
#### Analyze the Sampling Result
1. Open the protocol analysis function

View File

@@ -215,19 +215,18 @@ Confirm a baud rate of `2000000 bps`, and use `picocom -b 2000000` or `minicom -
## Firmware
The firmware on this page is intended only for MA-USB8:
This page provides only the firmware for the standard MA-USB8 D80 board:
### 20260803
### MA-USB8 D80 (2026-08-11)
- File: [MA-USB8-260803.bin](../../assets/modules/micarray_usbboard_bl616/firmware/MA-USB8-260803.bin)
- Size: 87456 bytes
- SHA-256: `40a03a916f0cd95113109e9ba2e259e37b20db5cb19b8d1664280446cbb2ee07`
- Array: standard D80 board, 40 mm radius and 80 mm diameter
- File: [MA-USB8-D80-260811.bin](../../assets/modules/micarray_usbboard_bl616/firmware/MA-USB8-D80-260811.bin)
- Size: 4079640 bytes
- SHA-256: `91ed7e1b8823b6fb73f0f16621e902eb50161452733f65e4f2ee3b1608a0aabe`
### 20251201
This file is an integrated flash image. Follow the procedure below to install it directly.
- File: [MA-USB8-251201.bin](../../assets/modules/micarray_usbboard_bl616/firmware/MA-USB8-251201.bin)
- Size: 87552 bytes
- SHA-256: `f2381d1f5a50b0fc7a15e6723f61c4204dfae9dc394bfa349a18404ecd0c2905`
Do not use this firmware with a D107 array.
Upgrade procedure:
@@ -240,7 +239,7 @@ Upgrade procedure:
Record the current firmware version and USB descriptors before upgrading so that you can compare the device state if flashing fails. Do not disconnect USB or close the flashing tool during the upgrade.
---
## Developer Reference (protocol, code examples, full command list)
## Developer Reference (protocol and full command list)
### Hotmap Frame Format

View File

@@ -2,6 +2,11 @@
title: 常见问题(FAQ)
keywords: LogicAnalyzer, debugger, link, RISCV, tool
update:
- date: 2026-08-12
version: v0.2
author: Sipeed
content:
- 更新 CH7 悬空波形和 DAPLink 串口问题
- date: 2023-09-12
version: v0.1
author: lxo
@@ -31,9 +36,9 @@ update:
**A:**这可能是接触不稳定导致设备断连了,尝试重新插拔设备后再重新连接即可
### 使用8通道采集时发现D7通道在悬空时也会出现波形
### 使用 8 通道采集时发现 CH7 悬空波形不干净
**A:**这是一个待解决的问题但这个问题不会影响采集波形给D7通道接入外部信号后仍然可以正常采集波形。如果不需要这个通道时也可以隐藏这个通道很抱歉给您带来了困扰
**A:**该问题已在 `slogic_combo8_pack_202608121500.bin` 中修复,请[更新到该版本或更新版本](./update_firmware.md)。悬空输入仍可能拾取环境噪声;判断采集是否正常时,应连接确定的高、低电平或实际待测信号,不要以悬空通道为基准
### 波形采集时,波形显示窗口中的波形和实际的波形不一致
@@ -57,7 +62,7 @@ update:
### DAPLink模式的串口功能无法正常使用出现回显的情况
**A:**请在更新固件章节中将固件更新到最新版本后再尝试
**A:**该问题已在 `slogic_combo8_pack_202608121500.bin` 中修复,请[更新到该版本或更新版本](./update_firmware.md)。新版改进了高速连续传输、串口参数切换以及 USB 重新连接后的恢复过程。
### DAPLink在烧录固件时报错`Connection refused due to device mismatch!`
@@ -81,4 +86,3 @@ None
### 串口终端无法打开串口
**A:**尝试一下其他的串口助手Windows上可以尝试使用XCOMLinux上可以尝试使用Minicom

View File

@@ -2,6 +2,11 @@
title: 更新固件
keywords: LogicAnalyzer, debugger, link, tool
update:
- date: 2026-08-12
version: v0.2
author: Sipeed
content:
- 增加 `slogic_combo8_pack_202608121500.bin` 修复说明和升级后检查项
- date: 2023-09-01
version: v0.1
author: lxo
@@ -17,10 +22,15 @@ update:
固件:[点击下载](https://dl.sipeed.com/shareURL/SLogic/SLogic_combo_8/4_application/Firmware)
烧录工具固件选择新版本即可,下载完成后自行解压
烧录工具选择最新版本。固件选择 `slogic_combo8_pack_202608121500.bin` 或更新版本,下载完成后自行解压
> 注:当固件名为`slogic_combo8_pack_202308171404.bin`时日期为2023年08月17日。其他固件的日期命名规则类似。
`slogic_combo8_pack_202608121500.bin` 包含以下修复:
- LA修复 CH7 悬空时波形不干净的问题;
- DAPLink修复串口不稳定问题改进高速连续传输、串口参数切换以及 USB 重新连接后的恢复过程。
## 配置烧录工具
1. 启动烧录工具
@@ -59,4 +69,8 @@ update:
![download_firmware](./assets/download_firmware/download_firmware.png)
下载完成后,进度条显示绿框说明下载成功,更新固件完成
下载完成后,进度条显示绿框说明下载成功。重新上电,并按以下步骤确认更新结果:
1. 切换到蓝灯逻辑分析仪模式,确认系统识别到 `SLogic8 U2`
2. 切换到绿灯 DAPLink 模式,确认系统识别到 `RV CMSIS-DAP`
3. 如果升级是为了解决 DAPLink 串口或调试稳定性问题,请按原连接和速率重新测试。

View File

@@ -2,6 +2,11 @@
title: 作为DAPLink使用
keywords: LogicAnalyzer, debugger, link, RISCV, tool
update:
- date: 2026-08-12
version: v0.2
author: Sipeed
content:
- 补充 DAPLink 串口稳定性修复
- date: 2023-07-23
version: v0.1
author: lxo
@@ -32,10 +37,12 @@ SLogic Combo 8 具备高速DAP-Link功能适用于各种常规芯片尤其
DAPLink模式下可以同时支持一路DAPLink和一路UART
- 上图左侧的引脚TXD、RXD可以作为串口使用(注:DTR、RTS 保留未使用)
- 上图左侧的引脚TXD、RXD用于串口收发。最新固件也会同步输出 CDC DTR、RTS 控制信号。
- 上图右侧的引脚TCK(SWCLK)、TDI、TDO、TMS(SWDIO)作为DAPLink调试使用
`slogic_combo8_pack_202608121500.bin` 修复了 DAPLink 模式下的串口不稳定问题,改进了高速连续传输、串口参数切换以及 USB 重新连接后的恢复过程。遇到丢数据、异常回显或串口停止收发时,请先[更新到该版本或更新版本](./update_firmware.md)。
### 使用MDK连接DAPLink
1. 设置Reset Options为SYSRESETREQ
@@ -82,4 +89,4 @@ xpack 版本 openocd 下载链接为https://xpack.github.io/dev-tools/openocd/re
![](./assets/use_daplink_function/dap_clion_not_found.jpg)
感谢群友`dragonforward`的文档贡献
感谢群友`dragonforward`的文档贡献

View File

@@ -2,6 +2,11 @@
title: 作为逻辑分析仪使用
keywords: LogicAnalyzer, debugger, link, RISCV, tool
update:
- date: 2026-08-12
version: v0.2
author: Sipeed
content:
- 更新设备名称并移除已修复的 CH7 悬空通道异常说明
- date: 2023-07-23
version: v0.1
author: lxo
@@ -16,7 +21,7 @@ update:
![slogic_led_blue](./assets/use_logic_function/slogic_led_blue.png)
> 验证逻辑分析仪功能是否开启:
> Windows环境打开设备管理器Linux环境使用lsusb命令可以找到"USB TO LA"设备
> Windows 环境可在设备管理器中查看Linux 环境可运行 `lsusb`,设备名称为 `SLogic8 U2`。
## 开始使用
@@ -91,8 +96,6 @@ PulseView-SLogic-250910-aarch64.dmg
![waveform_fast_of_pulseview](./assets/use_logic_function/waveform_fast_of_pulseview.png)
> 若在采样过程中未使用D7通道可能会观察到该通道的电平反转现象该现象为正常情况不影响正常使用
#### 分析采样结果
1. 打开协议选择栏
@@ -230,4 +233,4 @@ PulseView-SLogic-250910-aarch64.dmg
1. 逻辑分析仪与电脑是共地的,如果待测设备是强电系统,务必使用"USB隔离器"来进行隔离措施。否则,很可能会造成逻辑分析仪或电脑损坏的风险
2. GND 通道与被测系统的 GND 必须可靠连接,尽可能的短
3. 信号通道必须可靠连接至被测系统的待测信号位置,不可随意“嫁接”,导致干扰的引入
4. 如果不注意接线方式,很可能会引入很多毛刺,导致软件无法分析数据
4. 如果不注意接线方式,很可能会引入很多毛刺,导致软件无法分析数据

View File

@@ -4,42 +4,36 @@
![](../../assets/modules/micarray_usbboard_bl616/product-front.png)
MA-USB8 是一块为麦克风阵列提供 USB 音频与串口数据接口的驱动板,主要用于把麦克风阵列采集到的音频(通过 UAC2.0 8 通道)和声场成像/声源定位热力图(通过 CDC ACM / UART 帧)输出到上位机或 MCU。常见应用场景有语音采集、降噪、波束指向与声场可视化等
MA-USB8 是一块为麦克风阵列提供 USB 音频与串口数据接口的驱动板,通过 UAC2.0 传输 8 通道采集音频和 2 通道播放音频,并通过 CDC ACM 或物理 UART 输出声源定位热力图。标准板使用直径 80 mm 的六麦阵列D80固件
- UAC2.0USB Audio Class8 通道PCM S16_LE48 kHz
- CDC ACMUSB 虚拟串口): 16×16 原始格式声场热力图Hotmap Frame串行输出
- UART: 通过 UART (2,000,000 bps) 输出 16×16 原始/HEX+彩色格式声场热力图(适合 MCU 场景)
- UAC2.0 播放2 通道PCM S16_LE48 kHz
- CDC ACMUSB 虚拟串口):输出 16×16 原始声场热力图
- UART以 2,000,000 bps 输出 16×16 原始或文本声场热力图
UAC 通道定义如下:
| 通道 | 数据 |
| --- | --- |
| CH0CH5 | PEC 采集的原始有符号 16-bit PCM |
| CH6 | CH0CH5 延时对齐后的平均值,用作波束合成输出 |
| CH7 | PEC 采集的原始有符号 16-bit PCM |
| CH6 | CH0CH5 按所选方向延时求和后的全频段波束合成输出 |
| CH7 | 保留的 PEC 第八采集通道,不作为六麦阵列的有效麦克风通道 |
所有通道的采样率均为 48 kHz。UAC 传输期间CH6 对应的 PEC 原始数据会被波束合成结果覆盖。
### 波束方向与物理麦克风顺序
USB 高速采集端点的间隔为 0.5 ms标称每包 384 字节24 帧。PEC 的实际采样时钟略快于标称 48 kHz固件会根据 FIFO 水位在 384 与 400 字节包长之间切换,以吸收长期时钟偏差。设备由 USB 总线供电,描述符申报最大电流为 500 mA。
观察麦克风阵列正面并将连接器、平边朝下:外圈顶部为 MIC0CH0MIC1MIC5CH1CH5沿顺时针排列。串口命令 `0,1,..9,A,B` 从 MIC0 方向开始,以 30° 为步进沿顺时针选择波束方向
### 阵列参数与波束方向
| 命令 | 角度 | 对应物理方向 |
| --- | --- | --- |
| `0` | 0° | MIC0 / CH0 |
| `1` | 30° | MIC0 与 MIC1 之间 |
| `2` | 60° | MIC1 / CH1 |
| `3` | 90° | MIC1 与 MIC2 之间 |
| `4` | 120° | MIC2 / CH2 |
| `5` | 150° | MIC2 与 MIC3 之间 |
| `6` | 180° | MIC3 / CH3 |
| `7` | 210° | MIC3 与 MIC4 之间 |
| `8` | 240° | MIC4 / CH4 |
| `9` | 270° | MIC4 与 MIC5 之间 |
| `A` | 300° | MIC5 / CH5 |
| `B` | 330° | MIC5 与 MIC0 之间 |
当前算法使用 PCM 通道 05 对应的六个外圈麦克风,不使用中心麦克风。算法表中的六麦角度顺序为 `90°, 30°, 330°, 270°, 210°, 150°`。标准 D80 阵列的半径为 40 mmD107 派生版本的半径为 53.5 mm并使用单独生成的 GCC-PHAT 时延矩阵和波束延迟。
物理编号和板上位置可参见[麦克风阵列模块](./micarray.md)的点位图。CH6 是波束合成输出,不代表第 7 个物理方向。
串口命令 `0..9,A,B` 选择 011 共 12 个波束档位,软件中的相邻档位按 30° 连续推进。当前版本已修复奇偶档位的方向旋转错位,但以下物理关系仍需使用固定声源夹具逐档验证:
- 软件通道与丝印 U1U6 的绝对对应关系;
- 物理 0° 的基准位置;
- 档位相对物理阵列的顺时针或逆时针方向。
完成验证前,不应把命令编号直接解释为某个丝印麦克风或绝对物理角度。物理编号和板上位置可参见[麦克风阵列模块](./micarray.md)的点位图。CH6 是波束合成输出,不代表第 7 个物理麦克风。
> 本文是 MA-USB8 的使用指南,覆盖从接线、验证设备、音频录制、波束成形到如何读取/解析声场热力图与常见故障排查。
@@ -51,7 +45,7 @@ UAC 通道定义如下:
2. 将 MA-USB8 通过 USB 连接 PC或杜邦线连接到 MCU 主板)。
3. 选择一种模式:
- 首选USBUAC2.0 音频 + CDC ACM 串口)—— 在 PC 上同时获取多通道音频与声场帧。
- 备用UART / USB2TTL2,000,000-bit baudrate)—— 在 MCU/嵌入式场景下获取HEX/伪彩)声场帧。
- 备用:物理 UART / USB 转串口2,000,000 bps8N1)—— 在 MCU嵌入式场景下获取声场帧。
建议在 PC 主机上安装 [Audacity](https://www.audacityteam.org/download/) 常用音频处理软件。
@@ -60,13 +54,17 @@ UAC 通道定义如下:
- 如果在 Windows 下使用 [Audacity](https://www.audacityteam.org/download/) 录音,请先打开设备管理或 [Audacity](https://www.audacityteam.org/download/) 的设置确认 MA-USB8 可见。
### 验证设备Linux
- 插入设备后运行:
- 查 USB 复合设备
- dmesg | tail # 看到 /dev/ttyACM0 和 `SipeedUSB MicArray`
- lsusb # 查看设备 id便于 udev 规则或故障排查
- 音频设备:
- arecord -l # 列出可用录音设备(应该看到 8 通道 UAC 设备)
- pactl list short sources # Pulseaudio 环境下查看来源
设备的 USB VID:PID 为 `359f:3400`,产品名为 `SipeedUSB MicArray`。插入设备后运行
```bash
dmesg | tail
lsusb
arecord -l
pactl list short sources
```
系统应识别 UAC2.0 音频接口和 `/dev/ttyACM0` 一类的 CDC ACM 设备。实际编号可能不是 0请以命令输出为准。
![](../../assets/modules/micarray_usbboard_bl616/dmesg.png)
![](../../assets/modules/micarray_usbboard_bl616/lsusb.png)
@@ -111,18 +109,32 @@ aplay ch6.wav
<img src="../../assets/modules/micarray_usbboard_bl616/audacity-windows-wasapi-step-2.png" style="width: 48%;">
</div>
## 波束成形Beamforming示例
MA-USB8 支持 12 方向的波束成形0..B每步为 30°。
### 播放:输出 2 通道音频
示例:要把波束指向 CH0并在输出通道 CH6 获取波束合成后的音频:
UAC2.0 播放接口支持 2 通道、PCM 16-bit、48 kHz。固件将 USB 左右声道的原始交错数据送入 I2S0不做单声道混合也不固定选择其中一个声道。
I2S0 引脚与格式如下:
| 信号 | GPIO |
| --- | --- |
| DATA | GPIO27 |
| BCLK | GPIO28 |
| LRCLK | GPIO29 |
数据格式为 left-justified。若驱动板后级只连接一个扬声器实际播放左声道还是右声道由硬件接线决定。
## 波束成形Beamforming示例
MA-USB8 支持 12 个波束档位(`0..9,A,B`),相邻档位相差 30°。
示例:选择波束档位 0并在输出通道 CH6 获取波束合成后的音频:
1. 打开串口ttyACM0
```bash
minicom -D /dev/ttyACM0 -H
```
2. 在 minicom 中直接输入 `0`(字符)设置波束为方向 0°
3. 在音频软件([Audacity](https://www.audacityteam.org/download/) / arecord监听或录制 CH6CH6 会包含指向 CH0 的波束合成音频(例如输入 0 对应角度 0°
2. 在 minicom 中直接输入字符 `0`,选择波束档位 0。
3. 在音频软件([Audacity](https://www.audacityteam.org/download/) / arecord监听或录制 CH6。
备注:输入 0..9, A, B 分别对应 0°,30°,…,330° 的 12 个方向;默认值 0
默认档位为 0。档位的绝对物理角度尚未完成夹具验证参见[阵列参数与波束方向](#阵列参数与波束方向)
![](../../assets/modules/micarray_usbboard_bl616/sine500hz@ch0_and_sine1000hz@ch3_with_beamforming@ch0.png)
@@ -133,9 +145,11 @@ minicom -D /dev/ttyACM0 -H
- CDC ACM 连续输出原始二进制数据。每帧包含 16 字节帧头和 256 字节数据,详见 [Hotmap Frame 格式](#Hotmap-Frame-格式(开发者视角))。
- UART 默认输出原始二进制数据。在串口中输入大写 `F` 后,开启 16×16 文本热力图;再输入大写 `C`,开启伪彩显示。输入小写 `f``c` 可分别关闭对应功能,详见[完整指令表](#完整指令表(开发者))。
热力图使用六麦 GCC-PHAT/SRP 类定位处理,输出 16×16 灰度图。固件对每个像素应用 `3/4` 历史值加 `1/4` 当前帧的 EMA以减少画面闪动。热力图自动跟随声源波束档位命令只改变 UAC CH6不控制热力图方向。
### 通过 minicom / picocom 观察(快速)
CDC ACM 使用 minicom 观察原始帧
CDC ACM 默认输出二进制帧,直接使用普通终端查看会显示乱码。如需检查原始数据,可使用
```bash
minicom -D /dev/ttyACM0 -H
@@ -169,19 +183,21 @@ picocom -b 2000000 /dev/ttyUSB0
### MCU 解析串口数据帧
如果要在 MCU 端解析这个帧,原则相同:丢弃 16 字节头并把后 256 字节按行/列解析
在 MCU 端解析时,先查找连续 16 个 `0xFF`,再把后 256 字节按 16×16 行优先顺序解析。协议没有帧序号、时间戳或 CRCCDC 忙时固件可能丢弃热力图帧,接收端应依靠下一组帧头重新同步
## 常用串口命令 (用户速查)
下面摘录最常用且对普通用户最有用的串口命令,便于现场调试:
- 设置波束方向0..9, A, B向串口直接输入字符例如 `0``3``A`)来设置波束方向
- 设置波束档位0..9, A, B向串口直接输入字符例如 `0``3``A`
- 打开/关闭 LED 指示灯:输入 `e` / `E` (小写关,大写开)。
- 切换 UART 热力图打印:输入 `f` 关闭、`F` 开启 16×16 ASCII 打印。
- 调整定位阈值:输入 `t` / `T`,每次降低/提高 50范围为 02000。
- 恢复主要运行标志并选择波束档位 0输入 `R`
更多详细指令及行为参见本文末的“开发者参考”中的完整指令表。
### 示例:设置并验证波束方向
1. 在串口中输入 `3`(示例)设置方向为 90°3×30=90
1. 在串口中输入 `3`,选择波束档位 3
2. 在 Audacity 中监听 CH6你应该在 CH6 听到来自目标方向的声音被增强,或在系统中录制 CH6 再回放分析。
## 常见问题与故障排查
@@ -202,7 +218,7 @@ sudo usermod -a -G plugdev $USER
```bash
# /etc/udev/rules.d/99-ma-usb8.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="359F", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="tty", ATTRS{idVendor}=="359f", ATTRS{idProduct}=="3400", MODE="0666", GROUP="plugdev"
```
### CDC ACM 不输出热力图
@@ -215,19 +231,18 @@ SUBSYSTEM=="tty", ATTRS{idVendor}=="359F", MODE="0666", GROUP="plugdev"
## 固件升级
本页提供的固件仅适用于 MA-USB8
本页提供标准 D80 板固件
### 20260803
### MA-USB8 D802026-08-11
- 文件:[MA-USB8-260803.bin](../../assets/modules/micarray_usbboard_bl616/firmware/MA-USB8-260803.bin)
- 文件大小87456 字节
- SHA-256`40a03a916f0cd95113109e9ba2e259e37b20db5cb19b8d1664280446cbb2ee07`
- 适用阵列:标准 D80 板,半径 40 mm、直径 80 mm
- 文件[MA-USB8-D80-260811.bin](../../assets/modules/micarray_usbboard_bl616/firmware/MA-USB8-D80-260811.bin)
- 文件大小4079640 字节
- SHA-256`91ed7e1b8823b6fb73f0f16621e902eb50161452733f65e4f2ee3b1608a0aabe`
### 20251201
该文件是整合烧录镜像,请直接按照下方步骤升级。
- 文件:[MA-USB8-251201.bin](../../assets/modules/micarray_usbboard_bl616/firmware/MA-USB8-251201.bin)
- 文件大小87552 字节
- SHA-256`f2381d1f5a50b0fc7a15e6723f61c4204dfae9dc394bfa349a18404ecd0c2905`
不要将该固件用于 D107 阵列。
升级步骤:
@@ -239,8 +254,15 @@ SUBSYSTEM=="tty", ATTRS{idVendor}=="359F", MODE="0666", GROUP="plugdev"
升级前请记录当前固件版本和设备描述符,便于升级失败时核对设备状态。固件升级过程中不要断开 USB 连接或关闭烧录工具。
### 当前版本限制
- 最终固件不包含 AEC也没有 AEC 启用或停用指令。
- 热力图帧在 CDC 忙时可能丢失,协议没有帧序号、时间戳或 CRC。
- 物理 0°、丝印 U1U6 与软件通道的最终映射仍需固定声源夹具验证。
- 播放数据保持双声道;单扬声器产品使用哪个声道取决于后级硬件接线。
---
## 开发者参考(协议、代码示例、完整指令表)
## 开发者参考(协议完整指令表)
以下内容针对需要二次开发或深入调试的用户;普通用户可以忽略其中的协议细节。
@@ -252,25 +274,29 @@ SUBSYSTEM=="tty", ATTRS{idVendor}=="359F", MODE="0666", GROUP="plugdev"
说明:总长度为 16 + 256 = 272 字节head 用于对齐与帧头检测payload 为 256 字节每个字节表示该网格点的强度0 最小255 最大)。
### 定位算法参数
当前定位使用六麦 GCC-PHAT/SRP 类处理512 点 FFT、15 对麦克风和 16×16 栅格。初始化参数为 `ma_sound2map_init(100, 2000, ...)`;在 48 kHz 采样率和 512 点 FFT 下,每个频点间隔为 93.75 Hz。结合当前低端严格排除逻辑实际使用 FFT bins 221即 187.51968.75 Hz。时延计算使用声速 340000 mm/s。
### 完整指令表(开发者)
| 指令 | 输入(小/大写: 关/开) | 默认值 | 作用 | 输入源 |
| - | - | - | - | - |
| 设置 UAC CH6 波束成型方向角度 | 0,1,..9,A,B | 0 | 从 MIC0 / CH0 开始顺时针选择方向,每步 30°映射见[波束方向与物理麦克风顺序](#波束方向与物理麦克风顺序)CH6 输出合成音频 | 任意(串口/CDC |
| 设置 UAC CH6 波束档位 | 0,1,..9,A,B | 0 | 选择 011 共 12 个档位,相邻档位相差 30°绝对物理方向尚待验证CH6 输出合成音频 | 任意(串口/CDC |
| 修改声源定位激活阈值(t,T) | t, T | 650 | t: -50, T: +50, 阈值可调范围: 0~2000 | 任意(串口/CDC |
| UART 声源定位图伪彩映射开关 (c/C) | c, C | c | 打开/关闭热力图伪彩color map,需要先开启 16×16 打印 | 仅 UART |
| UART 打印内部调试信息 (d/D) | d, D | d | 启用/禁用调试信息输出 | 仅 UART |
| LED 指示灯开关 (e/E) | e, E | E | 启用/禁用 LED 实时指示显示 | 任意 |
| UART 16×16 打印开关 (f/F) | f, F | f | 切换 UART 打印 16×16 声场矩阵 (ASCII) | 仅 UART |
| 恢复默认设置 (R) | R | - | 恢复驱动板所有默认设置 | 任意 |
| UART 声源定位图伪彩映射开关 (c/C) | c, C | c | `C` 开启、`c` 关闭热力图伪彩,需要先开启 16×16 文本输出 | 仅 UART |
| UART 打印内部调试信息 (d/D) | d, D | d | `D` 开启、`d` 关闭调试日志 | 仅 UART |
| LED 自动方向显示 (e/E) | e, E | E | `E` 开启、`e` 关闭 LED 自动方向显示 | 任意 |
| LED 手动环移 | <, > | - | LED 自动方向显示关闭后,手动移动 LED | 任意 |
| UART 16×16 文本输出 (f/F) | f, F | f | `F` 开启、`f` 关闭 16×16 文本热力图 | 仅 UART |
| 恢复默认设置 (R) | R | - | 恢复主要运行标志的默认值,并选择波束档位 0 | 任意 |
### udev 与权限建议
若运行 Linux 且经常使用串口,建议为设备创建 udev 规则来简化权限管理:
```bash
# /etc/udev/rules.d/99-ma-usb8.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="XXXX", ATTRS{idProduct}=="YYYY", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="tty", ATTRS{idVendor}=="359f", ATTRS{idProduct}=="3400", MODE="0666", GROUP="plugdev"
```
替换 `XXXX` / `YYYY``lsusb` 显示的设备 Vendor/Product id。
### 串口/USB 注意事项
- CDC ACM/dev/ttyACM0在 Linux 下通常为内核 cdc_acm 驱动映射;若发现与 UAC 音频冲突,请先确认没有其他程序占用端口。