diff --git a/docs/hardware/zh/modules/micarray_usbboard_bl616.md b/docs/hardware/zh/modules/micarray_usbboard_bl616.md index 0e40b193..a72eac4c 100644 --- a/docs/hardware/zh/modules/micarray_usbboard_bl616.md +++ b/docs/hardware/zh/modules/micarray_usbboard_bl616.md @@ -4,12 +4,22 @@  -MA-USB8 是一块为麦克风阵列提供 USB 音频与串口数据接口的驱动板,主要用于把麦克风阵列采集到的音频(通过 UAC2.0 8通道)和声场成像/声源定位热力图(通过 CDC ACM / UART 帧)输出到上位机或 MCU。常见应用场景有语音采集/降噪/波束指向与声场可视化等。 +MA-USB8 是一块为麦克风阵列提供 USB 音频与串口数据接口的驱动板,主要用于把麦克风阵列采集到的音频(通过 UAC2.0 8 通道)和声场成像/声源定位热力图(通过 CDC ACM / UART 帧)输出到上位机或 MCU。常见应用场景有语音采集、降噪、波束指向与声场可视化等。 -- UAC2.0(USB Audio Class): 8 通道,PCM s16_le,48 kHz +- 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 场景) +UAC 通道定义如下: + +| 通道 | 数据 | +| --- | --- | +| CH0~CH5 | PEC 采集的原始有符号 16-bit PCM | +| CH6 | CH0~CH5 延时对齐后的平均值,用作波束合成输出 | +| CH7 | PEC 采集的原始有符号 16-bit PCM | + +所有通道的采样率均为 48 kHz。UAC 传输期间,CH6 对应的 PEC 原始数据会被波束合成结果覆盖。 + > 本文是 MA-USB8 的使用指南,覆盖从接线、验证设备、音频录制、波束成形到如何读取/解析声场热力图与常见故障排查。 ## 快速上手 @@ -41,7 +51,9 @@ MA-USB8 是一块为麦克风阵列提供 USB 音频与串口数据接口的驱  ### 验证设备(Windows) -在设备管理器中可看到:音频接口 MicArray (UAC2.0) 和虚拟串口 USB串行设备 (CDC ACM);如需 8 通道录制,请在录音软件(如 Audacity)中选择正确设备并设置为 8 通道采样。详细可见下节介绍。 +在设备管理器中可看到音频接口 MicArray(UAC2.0)和虚拟串口 USB 串行设备(CDC ACM)。如需录制 8 通道音频,请在录音软件中选择 MicArray,并将格式设置为 8 通道、PCM 16-bit、48 kHz。 + +如果录音软件只能选择 1 或 2 通道,请参见[Windows 只能选择 1 或 2 通道](#Windows-只能选择-1-或-2-通道)。  @@ -54,7 +66,7 @@ MA-USB8 是一块为麦克风阵列提供 USB 音频与串口数据接口的驱 ```bash arecord -D hw:1,0 -f S16_LE -c 8 -r 48000 -t wav -d 10 test_8ch.wav ``` -这条命令录制 10s 的 8 通道 WAV(PCM S16_LE,48kHz)。 +这条命令录制 10 秒的 8 通道 WAV(PCM S16_LE,48 kHz)。 3. (可选)使用 sox 提取指定通道(如 CH6)进行回放或分析: ```bash @@ -63,16 +75,16 @@ sox test_8ch.wav ch6.wav remix 7 # sox 的通道编号从 1 开始,7 表示 aplay ch6.wav ``` -> 注意:硬件编号与频道索引关系与系统环境有关,录制或回放时请根据 `arecord -l`/`aplay -l` 输出确认硬件编号。 +> 注意:硬件编号与通道索引关系与系统环境有关,录制或回放时请根据 `arecord -l`/`aplay -l` 输出确认硬件编号。如果无法访问串口设备,请参见[Linux 无法访问串口设备](#Linux-无法访问串口设备)。 #### Audacity(GUI) 1. 打开 Audacity -> 编辑 -> 首选项 -> 设备,选择 MA-USB8 采集设备。 -2. 在录音通道处选择 8×通道。 +2. 在录音通道处选择 8 通道。 3. 开始录制,你会看到多通道波形,停止后可以选择某一路音轨听/导出。  -**Windows 需要使用 WASAPI 才会出现 8 声道的选择** +**Windows 下请选择 WASAPI;如果仍然只有 1 或 2 通道,请参见[Windows 只能选择 1 或 2 通道](#Windows-只能选择-1-或-2-通道)。**
@@ -95,23 +107,45 @@ minicom -D /dev/ttyACM0 -H
## 读取并解析声场热力图(CDC ACM / UART)
-驱动板通过 CDC ACM(/dev/ttyACM0)或 UART(2,000,000 bps)发送热力图帧。帧格式上方已给出。下面给出串口读取/解析的示例:
+驱动板通过 CDC ACM(`/dev/ttyACM0`)或 UART(2,000,000 bps)输出声场热力图,两个接口的默认显示方式不同:
+
+- CDC ACM 连续输出原始二进制数据。每帧包含 16 字节帧头和 256 字节数据,详见 [Hotmap Frame 格式](#Hotmap-Frame-格式(开发者视角))。
+- UART 默认输出原始二进制数据。在串口中输入大写 `F` 后,开启 16×16 文本热力图;再输入大写 `C`,开启伪彩显示。输入小写 `f`、`c` 可分别关闭对应功能,详见[完整指令表](#完整指令表(开发者))。
### 通过 minicom / picocom 观察(快速)
-- CDC ACM Raw(minicom): `minicom -D /dev/ttyACM0 -H`(`-H` 使显示十六进制/无回显,视 minicom 版本而定)
-- UART(picocom): `picocom -b 2000000 /dev/ttyUSB0` (仅物理串口 UART 支持 十六进制/颜色映射视图)
- - 按 `F` 切换为十六进制视图 (HEX),然后按下 `C` (大写)切换为十六进制+颜色映射视图 (HEX-CMAP)。
+CDC ACM 使用 minicom 观察原始帧:
-
+```bash
+minicom -D /dev/ttyACM0 -H
+```
-
-
+UART 使用 picocom,波特率固定为 2,000,000 bps:
+
+```bash
+picocom -b 2000000 /dev/ttyUSB0
+```
+
+打开 picocom 后输入大写 `F`,将原始二进制流切换为 16×16 文本热力图;需要伪彩显示时,再输入大写 `C`。
+
+如果串口没有数据或输出乱码,请分别参见[CDC ACM 不输出热力图](#CDC-ACM-不输出热力图)和[UART 输出乱码或无法显示](#UART-输出乱码或无法显示)。
+
+
+
+ F 开启。
+ C。