mirror of
https://github.com/sipeed/sipeed_wiki.git
synced 2026-09-11 00:22:49 -05:00
Merge pull request #1006 from taonyx/main
docs: update MA-USB8 and Combo8 firmware guides
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||
@@ -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
|
||||

|
||||
|
||||
Thank you for the document contribution from 'dragonforward'.
|
||||
|
||||
|
||||
@@ -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:
|
||||

|
||||
|
||||
> 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
|
||||
|
||||

|
||||
|
||||
> 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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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上可以尝试使用XCOM,Linux上可以尝试使用Minicom
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||

|
||||
|
||||
下载完成后,进度条显示绿框说明下载成功,更新固件完成
|
||||
下载完成后,进度条显示绿框说明下载成功。重新上电,并按以下步骤确认更新结果:
|
||||
|
||||
1. 切换到蓝灯逻辑分析仪模式,确认系统识别到 `SLogic8 U2`;
|
||||
2. 切换到绿灯 DAPLink 模式,确认系统识别到 `RV CMSIS-DAP`;
|
||||
3. 如果升级是为了解决 DAPLink 串口或调试稳定性问题,请按原连接和速率重新测试。
|
||||
|
||||
@@ -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
|
||||

|
||||
|
||||
|
||||
感谢群友`dragonforward`的文档贡献
|
||||
感谢群友`dragonforward`的文档贡献
|
||||
|
||||
@@ -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:
|
||||

|
||||
|
||||
> 验证逻辑分析仪功能是否开启:
|
||||
> Windows环境打开设备管理器,Linux环境使用lsusb命令,可以找到"USB TO LA"设备
|
||||
> Windows 环境可在设备管理器中查看,Linux 环境可运行 `lsusb`,设备名称为 `SLogic8 U2`。
|
||||
|
||||
## 开始使用
|
||||
|
||||
@@ -91,8 +96,6 @@ PulseView-SLogic-250910-aarch64.dmg
|
||||
|
||||

|
||||
|
||||
> 若在采样过程中未使用D7通道,可能会观察到该通道的电平反转现象,该现象为正常情况不影响正常使用
|
||||
|
||||
#### 分析采样结果
|
||||
|
||||
1. 打开协议选择栏
|
||||
@@ -230,4 +233,4 @@ PulseView-SLogic-250910-aarch64.dmg
|
||||
1. 逻辑分析仪与电脑是共地的,如果待测设备是强电系统,务必使用"USB隔离器"来进行隔离措施。否则,很可能会造成逻辑分析仪或电脑损坏的风险
|
||||
2. GND 通道与被测系统的 GND 必须可靠连接,尽可能的短
|
||||
3. 信号通道必须可靠连接至被测系统的待测信号位置,不可随意“嫁接”,导致干扰的引入
|
||||
4. 如果不注意接线方式,很可能会引入很多毛刺,导致软件无法分析数据
|
||||
4. 如果不注意接线方式,很可能会引入很多毛刺,导致软件无法分析数据
|
||||
|
||||
@@ -4,42 +4,36 @@
|
||||
|
||||

|
||||
|
||||
MA-USB8 是一块为麦克风阵列提供 USB 音频与串口数据接口的驱动板,主要用于把麦克风阵列采集到的音频(通过 UAC2.0 8 通道)和声场成像/声源定位热力图(通过 CDC ACM / UART 帧)输出到上位机或 MCU。常见应用场景有语音采集、降噪、波束指向与声场可视化等。
|
||||
MA-USB8 是一块为麦克风阵列提供 USB 音频与串口数据接口的驱动板,可通过 UAC2.0 传输 8 通道采集音频和 2 通道播放音频,并通过 CDC ACM 或物理 UART 输出声源定位热力图。标准板使用直径 80 mm 的六麦阵列(D80)固件。
|
||||
|
||||
- UAC2.0(USB Audio Class):8 通道,PCM S16_LE,48 kHz
|
||||
- CDC ACM(USB 虚拟串口): 16×16 原始格式声场热力图(Hotmap Frame)串行输出
|
||||
- UART: 通过 UART (2,000,000 bps) 输出 16×16 原始/HEX+彩色格式声场热力图(适合 MCU 场景)
|
||||
- UAC2.0 播放:2 通道,PCM S16_LE,48 kHz
|
||||
- CDC ACM(USB 虚拟串口):输出 16×16 原始声场热力图
|
||||
- UART:以 2,000,000 bps 输出 16×16 原始或文本声场热力图
|
||||
|
||||
UAC 通道定义如下:
|
||||
|
||||
| 通道 | 数据 |
|
||||
| --- | --- |
|
||||
| CH0~CH5 | PEC 采集的原始有符号 16-bit PCM |
|
||||
| CH6 | CH0~CH5 延时对齐后的平均值,用作波束合成输出 |
|
||||
| CH7 | PEC 采集的原始有符号 16-bit PCM |
|
||||
| CH6 | CH0~CH5 按所选方向延时求和后的全频段波束合成输出 |
|
||||
| CH7 | 保留的 PEC 第八采集通道,不作为六麦阵列的有效麦克风通道 |
|
||||
|
||||
所有通道的采样率均为 48 kHz。UAC 传输期间,CH6 对应的 PEC 原始数据会被波束合成结果覆盖。
|
||||
|
||||
### 波束方向与物理麦克风顺序
|
||||
USB 高速采集端点的间隔为 0.5 ms,标称每包 384 字节(24 帧)。PEC 的实际采样时钟略快于标称 48 kHz,固件会根据 FIFO 水位在 384 与 400 字节包长之间切换,以吸收长期时钟偏差。设备由 USB 总线供电,描述符申报最大电流为 500 mA。
|
||||
|
||||
观察麦克风阵列正面并将连接器、平边朝下:外圈顶部为 MIC0(CH0),MIC1~MIC5(CH1~CH5)沿顺时针排列。串口命令 `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 通道 0~5 对应的六个外圈麦克风,不使用中心麦克风。算法表中的六麦角度顺序为 `90°, 30°, 330°, 270°, 210°, 150°`。标准 D80 阵列的半径为 40 mm;D107 派生版本的半径为 53.5 mm,并使用单独生成的 GCC-PHAT 时延矩阵和波束延迟。
|
||||
|
||||
物理编号和板上位置可参见[麦克风阵列模块](./micarray.md)的点位图。CH6 是波束合成输出,不代表第 7 个物理方向。
|
||||
串口命令 `0..9,A,B` 选择 0~11 共 12 个波束档位,软件中的相邻档位按 30° 连续推进。当前版本已修复奇偶档位的方向旋转错位,但以下物理关系仍需使用固定声源夹具逐档验证:
|
||||
|
||||
- 软件通道与丝印 U1~U6 的绝对对应关系;
|
||||
- 物理 0° 的基准位置;
|
||||
- 档位相对物理阵列的顺时针或逆时针方向。
|
||||
|
||||
完成验证前,不应把命令编号直接解释为某个丝印麦克风或绝对物理角度。物理编号和板上位置可参见[麦克风阵列模块](./micarray.md)的点位图。CH6 是波束合成输出,不代表第 7 个物理麦克风。
|
||||
|
||||
> 本文是 MA-USB8 的使用指南,覆盖从接线、验证设备、音频录制、波束成形到如何读取/解析声场热力图与常见故障排查。
|
||||
|
||||
@@ -51,7 +45,7 @@ UAC 通道定义如下:
|
||||
2. 将 MA-USB8 通过 USB 连接 PC(或杜邦线连接到 MCU 主板)。
|
||||
3. 选择一种模式:
|
||||
- 首选:USB(UAC2.0 音频 + CDC ACM 串口)—— 在 PC 上同时获取多通道音频与声场帧。
|
||||
- 备用:UART / USB2TTL(2,000,000-bit baudrate)—— 在 MCU/嵌入式场景下只获取(HEX/伪彩)声场帧。
|
||||
- 备用:物理 UART / USB 转串口(2,000,000 bps,8N1)—— 在 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,请以命令输出为准。
|
||||
|
||||

|
||||

|
||||
@@ -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(0°)并在输出通道 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)监听或录制 CH6:CH6 会包含指向 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。档位的绝对物理角度尚未完成夹具验证,参见[阵列参数与波束方向](#阵列参数与波束方向)。
|
||||
|
||||

|
||||
|
||||
@@ -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 行优先顺序解析。协议没有帧序号、时间戳或 CRC;CDC 忙时固件可能丢弃热力图帧,接收端应依靠下一组帧头重新同步。
|
||||
|
||||
## 常用串口命令 (用户速查)
|
||||
下面摘录最常用且对普通用户最有用的串口命令,便于现场调试:
|
||||
|
||||
- 设置波束方向(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,范围为 0~2000。
|
||||
- 恢复主要运行标志并选择波束档位 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 D80(2026-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°、丝印 U1~U6 与软件通道的最终映射仍需固定声源夹具验证。
|
||||
- 播放数据保持双声道;单扬声器产品使用哪个声道取决于后级硬件接线。
|
||||
|
||||
---
|
||||
## 开发者参考(协议、代码示例、完整指令表)
|
||||
## 开发者参考(协议与完整指令表)
|
||||
|
||||
以下内容针对需要二次开发或深入调试的用户;普通用户可以忽略其中的协议细节。
|
||||
|
||||
@@ -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 2~21,即 187.5~1968.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 | 选择 0~11 共 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 音频冲突,请先确认没有其他程序占用端口。
|
||||
|
||||
Reference in New Issue
Block a user