Compare commits

2 Commits

Author SHA1 Message Date
PhatenIoT-yan
845a017a95 docs: update documentation content 2026-06-17 11:06:11 +08:00
PhatenIoT-yan
74e5ceaf4d docs: 新增 XMOS EQ HID 协议文档并完善免开发固件页说明
- 修正文件名 XMOS_EQ_HID_Protoco.md -> XMOS_EQ_HID_Protocol.md
- 新增 XMOS EQ HID 协议文档(中/英)
- 精简免开发固件页「待发布」占位说明措辞
- mkdocs 预留(注释)数字调音台导航项
- gitignore 忽略未纳入版本库的 digital_mixer 目录

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 14:01:43 +08:00
6 changed files with 1136 additions and 20 deletions

View File

@@ -0,0 +1,207 @@
---
title: AH86G11-VC1 16-in/16-out TDM256 USB Multi-channel Digital Audio Interface Core Module
description: AH86G11-VC1 16-in/16-out TDM256 USB Multi-channel Digital Audio Interface Core Module Datasheet
author: Technical Documentation Department
date: 2026-06-16
print_page: true
---
--8<-- "common/phaten_xmos_support_img.md"
<div class="grid" markdown>
<div class="cardwide" markdown>
# AH86G11-VC1
__16-in/16-out TDM256 Slave 48kHz / 24bit·32bit USB Multi-channel Digital Audio Interface__
</div>
</div>
## 1. Introduction
### 1.1 Product Description
AH86G11 is a **USB multi-channel digital audio interface core module** based on the xcore.ai (XMOS) multi-core architecture, designed for audio front-end applications that interconnect with an external DSP in digital mixing consoles / multi-channel mixing systems. AH86G11 connects to a host (PC / Mac) via a **USB Audio Interface (UAC)**, and externally provides a **16-channel input / 16-channel output** TDM digital audio interface to interconnect with a DSP. It adopts the **TDM256 frame format (8 channels per data line)**, implementing 16-in / 16-out through 2 input data lines and 2 output data lines.
AH86G11 operates in Slave mode with a fixed sampling rate of 48kHz, and supports 24bit / 32bit audio data bit depths: USB supports 48K 24bit/32bit, while TDM supports only 32bit. The clock is **provided by the external DSP**: the DSP outputs the bit clock `BCLK` (`I2S0_SCLK`) and the frame sync `FS` (`I2S0_LRCLK`) to AH86G11, and AH86G11 operates as a clock slave.
<!-- !!! info "Clock Relationship"
At 48kHz / TDM256 configuration, each frame is 256 bit, and each data line carries 8 × 32bit channels.
- `FS` (LRCLK) = 48kHz
- `BCLK` (SCLK) = 48kHz × 256 = **12.288MHz**
- Each TDM256 data line = 8 channels; 2 input lines = 16-in, 2 output lines = 16-out
- `MCLK`: Optional; if the DSP does not provide MCLK separately, the user may connect AH86G11's MCLK to BCLK (MCLK = BCLK = 12.288MHz) -->
### 1.2 Product Features
**Audio Interface Features**
- **USB Audio Interface (UAC)**: Multi-channel USB audio interface connecting to a host (PC / Mac), 48kHz / 24bit·32bit
- **TDM256 Multi-channel Interface**: 16-in / 16-out, 2 TDM256 input data lines (16 channels) + 2 TDM256 output data lines (16 channels), 8 channels per data line
- **Sampling Rate**: Fixed 48kHz
- **Bit Depth**: USB supports 24bit / 32bit; TDM supports only 32bit
**Clock Features**
- **Slave Mode**: The clock is provided by the external DSP; the DSP outputs the bit clock `BCLK` (`I2S0_SCLK`) and the frame sync `FS` (`I2S0_LRCLK`), and AH86G11 operates as a clock slave
- Only 2 external clock lines: `BCLK` + `FS`
- `MCLK`: The DSP may not provide it separately; if not provided, the user may connect MCLK to BCLK (MCLK = BCLK)
### 1.3 Application Scenarios
- Digital Mixer — multi-channel audio front-end for mixing consoles, forms a mixing / effects processing chain with an external DSP, 16-in / 16-out channel routing
- Multichannel Audio Router — channel-level digital audio distribution, TDM multi-channel interconnection, signal aggregation for recording / PA systems
- Conference / PA System — multi-microphone channel aggregation, audio interface interfacing with the system DSP, fixed 48kHz engineering audio applications
### 1.4 Product Functional Block Diagram
<figure markdown="span">
![Digital Mixer Audio Interface Module Block Diagram](/assets/images/digital_mixer/digital_mixer_diagram.png "Digital Mixer Audio Interface Module Block Diagram"){width=700}
<figcaption>Figure 1: Digital Mixer Audio Interface Core Module Functional Block Diagram</figcaption>
</figure>
### 1.5 Ordering Information
| PRODUCT MODEL | ORDERING NUMBER | PACKAGE BODY | SIZE (NOM) | Hardware Model | Comments |
|:--------|:----------------|:-------------|:-----------|:------------|:------------|
| AH86G11-VC1 | AH86G11-VC1 | SMT LGA-52 | 13×13mm | A316-Mini-V1 | 16-in/16-out TDM256 USB multi-channel digital audio interface core module, 48kHz / 24bit·32bit |
## 2. Modes and Specifications
### 2.1 Supported Input and Output Modes
<!-- AH86G11 operates in a single bridging mode, implementing bidirectional 16-channel audio interconnection between the host **USB (UAC)** and the external DSP **TDM256 (Slave)**: -->
| Mode Number | Input/Output Mode | Description |
|:--------:|:------------------------|:------------------------|
| 1 | TDM256(Slave) in - USB out /<br/> USB in - TDM256(Slave) out | TDM256 input (DSP) / USB output (16 channels) /<br/> USB input (16 channels) / TDM256 output (DSP) |
### 2.2 Detailed Parameters for Each Operating Mode
#### 2.2.1 USB Audio Mode
**Audio Format and Sampling Rate:**
| Audio Format | Specification |
|:---------|:-------------|
| **USB Audio** | USB Audio Class (UAC), multi-channel |
| **Sampling Rate** | 48kHz (fixed) |
| **Bit Depth** | 24bit / 32bit |
#### 2.2.2 TDM256 Slave Mode
**Audio Format and Sampling Rate:**
| Audio Format | Specification |
|:---------|:-------------|
| **PCM / TDM** | TDM256, 8 channels per data line |
| **Sampling Rate** | 48kHz (fixed) |
| **Bit Depth** | 32bit |
| **Input Channels** | 16 (2 × TDM256 input lines) |
| **Output Channels** | 16 (2 × TDM256 output lines) |
## 3. Pin Configuration and Functions
### 3.1 Module Pin Layout
<figure markdown="span">
![A316-Mini-V1 Module Pin Diagram](/assets/images/hifi_audio/a316_pin.png "A316-Mini-V1 Module Pin Diagram"){width=400}
<figcaption>Figure 2: Digital Mixer Audio Interface Core Module (A316-Mini-V1, LGA-52) Pin Arrangement Diagram</figcaption>
</figure>
### 3.2 Module Pin Description
The module uses the **A316-Mini-V1 (SMT LGA-52, 13×13mm)** package. The physical mapping of the 52 external LGA pads to the XMOS pins is as follows:
| Pin Number | Name | Type | Function |
|:--------:|:----------|:------|:-----------------------------|
| 1 | 3.3V | P | Module 3.3V Power Supply |
| 2 | X1D13 | - | NC |
| 3 | X1D16 | - | NC |
| 4 | GND | P | Module Ground |
| 5 | X1D17 | - | NC |
| 6 | X1D18 | - | NC |
| 7 | X1D19 | - | NC |
| 8 | X1D22 | - | NC |
| 9 | X0D29 | - | NC |
| 10 | X0D35 | I (Slave) | `I2S0_SCLK` / **BCLK** |
| 11 | X0D36 | I (Slave) | `I2S0_LRCLK` / **FS** |
| 12 | X0D37 | O | `I2S0_OUT1` |
| 13 | X0D38 | O | `I2S0_OUT0` |
| 14 | X0D40 | - | NC |
| 15 | X0D39 | O | `MCLK` |
| 16 | X0D42 | - | NC |
| 17 | X0D41 | - | NC |
| 18 | X0D43 | - | NC |
| 19 | X1D34 | - | NC |
| 20 | GND | P | Module Ground |
| 21 | X0D30 | O | `CTL_MUTE` |
| 22 | X0D31 | - | NC |
| 23 | X0D32 | - | NC |
| 24 | X0D33 | - | NC |
| 25 | GND | P | Module Ground |
| 26 | GND | P | Module Ground |
| 27 | GND | P | Module Ground |
| 28 | X0D00 | I | `I2S0_IN0` |
| 29 | X0D11 | I | `I2S0_IN1` |
| 30 | X1D00 | - | NC |
| 31 | X1D01 | - | NC |
| 32 | GND | P | Module Ground |
| 33 | X1D09 | - | NC |
| 34 | X1D10 | - | NC |
| 35 | X1D11 | O | `MCLK`, connect to Pin 15 X0D39 |
| 36 | GND | P | Module Ground |
| 37 | GND | P | Module Ground |
| 38 | TDI | I/O | JTAG / XTAG Debug PIN |
| 39 | TDO | I/O | JTAG / XTAG Debug PIN |
| 40 | TMS | I/O | JTAG / XTAG Debug PIN |
| 41 | TCK | I/O | JTAG / XTAG Debug PIN |
| 42 | RST_N | I | System reset, active low |
| 43 | 1.8V | P | Module 1.8V Power Supply |
| 44 | GND | P | Module Ground |
| 45 | USB_DM | I/O | USB_DM |
| 46 | USB_DP | I/O | USB_DP |
| 47 | GND | P | Module Ground |
| 48 | 0.9V | P | Module 0.9V Power Supply |
| 49 | GND | P | Module Ground |
| 50 | GND | P | Module Ground |
| 51 | GND | P | Module Ground |
| 52 | GND | P | Module Ground |
## 4. Hardware Specifications
### 4.1 Product Dimensions
--8<-- "dev_doc/datasheet/modules/a316_mini_v1_datasheet.md:size"
### 4.2 Module Package Diagram
<figure markdown="span">
![A316-Mini-V1 Package Diagram](/assets/images/hifi_audio/a316_size.png "A316-Mini-V1 Package Diagram"){width=400}
<figcaption>Figure 3: A316-Mini-V1 Package Diagram</figcaption>
</figure>
## 5. Minimum System Reference Design
<figure markdown="span">
![A316-Mini-V1 Minimum System Reference Design](/assets/download/a316_mini_v1/a316_mini_v1_mini_ref_design.png "A316-Mini-V1 Minimum System Reference Design"){width=800}
<figcaption></figcaption>
</figure>
## 6. Product Packaging Information
--8<-- "dev_doc/datasheet/modules/a316_mini_v1_datasheet.md:package"
## 7. Revision History
| Version | Date | Description | Revised By |
|:------|:-------------|:---------------------------------------|:-------------|
| V1.0 | 2026-06-16 | Initial release | Technical Dept. |
## 8. Consultation and Feedback
<details>
<summary>Click to expand consultation & feedback form</summary>
--8<-- "common/customer_form.md"
</details>

View File

@@ -113,6 +113,8 @@ search:
| 0xB4 | GET_EQ_BAND_COUNT | Get EQ band count | PC ↔ Device | | 0xB4 | GET_EQ_BAND_COUNT | Get EQ band count | PC ↔ Device |
| 0x80 | SET_UPSAMPLE | Set sampling rate upsampling | PC → Device | | 0x80 | SET_UPSAMPLE | Set sampling rate upsampling | PC → Device |
| 0x81 | GET_UPSAMPLE | Get sampling rate upsampling status | PC ↔ Device | | 0x81 | GET_UPSAMPLE | Get sampling rate upsampling status | PC ↔ Device |
| 0xB0 | SET_EX3D_CMD | Send EX3D setting command | PC → Device |
| 0xB1 | GET_EX3D_CMD | Read EX3D command | PC ↔ Device |
### 2.2 Detailed Command Formats ### 2.2 Detailed Command Formats
@@ -1130,6 +1132,333 @@ No direct return value. To confirm upsampling status, use GET_UPSAMPLE (0x81).
| 3 | 1 | upsample | Current upsample status (0=Disabled, 1=Enabled) | | 3 | 1 | upsample | Current upsample status (0=Disabled, 1=Enabled) |
| 4-63 | 60 | reserved | Reserved fields (fill with 0) | | 4-63 | 60 | reserved | Reserved fields (fill with 0) |
#### 2.2.41 Send EX3D Setting Command (0xB0)
**Function**: Send EX3D setting command, encapsulating all EX3D SET commands for spatial audio parameter configuration
**Applicable Device**: VID 0x20B1, PID 0x80D3 (V7.1 spatial audio dedicated device)
**Request Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (SET format) |
| 7-10 | 4 | param1 | int32 parameter 1 (varies by command) |
| 11-14 | 4 | param2 | int32 parameter 2 (varies by command) |
| 15-18 | 4 | param3 | int32 parameter 3 (varies by command) |
| 19-63 | 45 | reserved | Reserved fields (fill with 0) |
**Supported EX3D SET Commands**:
| Command Code | Command Name | Description |
|:-----------:|:--------:|:--------:|
| 0x83 | CMD_ANGLE | Set spatial audio angle parameters |
| 0x84 | CMD_SOUND_FIELD | Set sound field mode |
| 0x87 | CMD_LMT_THRESHOLD | Set gunshot threshold |
| 0x93 | CMD_EXPAND_GAIN | Set footstep gain |
**Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 (echo) |
| 3 | 1 | status | Status code (0x00=Success, 0x01=Failure) |
| 4-7 | 4 | ex3d_cmd | EX3D command code (echo) |
| 8-11 | 4 | retval | Return value (0xFFFFFFFF indicates parameter error) |
| 12-63 | 52 | reserved | Reserved fields (fill with 0) |
#### 2.2.42 Read EX3D Command (0xB1)
**Function**: Read EX3D parameters, encapsulating all EX3D GET commands for spatial audio parameter reading
**Applicable Device**: VID 0x20B1, PID 0x80D3 (V7.1 spatial audio dedicated device)
**Request Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (GET format) |
| 7-10 | 4 | param1 | uint32 parameter 1 (channel number, index, etc.) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
**Supported EX3D GET Commands**:
| Command Code | Command Name | Description |
|:-----------:|:--------:|:--------:|
| 0x183 | CMD_ANGLE | Get spatial audio angle parameters |
| 0x184 | CMD_SOUND_FIELD | Get sound field mode |
| 0x187 | CMD_LMT_THRESHOLD | Get gunshot threshold |
| 0x18D | CMD_LEVEL | Get level |
| 0x193 | CMD_EXPAND_GAIN | Get footstep gain |
**Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 (echo) |
| 3-6 | 4 | ex3d_cmd | EX3D command code (echo) |
| 7-10 | 4 | retval1 | uint32 return value 1 |
| 11-14 | 4 | retval2 | uint32 return value 2 |
| 15-18 | 4 | retval3 | uint32 return value 3 |
| 19-63 | 45 | reserved | Reserved fields (fill with 0) |
### 2.3 EX3D Subcommand Details
!!! note "EX3D Protocol Notes"
The following commands are sent encapsulated via 0xB0/0xB1 and apply only to V7.1 spatial audio devices with VID 0x20B1, PID 0x80D3.
#### 2.3.1 EX3D Command Code Format
- **SET command format**: `base command code & ~0x0100` (clear bit 9)
- Example: Set gunshot threshold = 0x87 & ~0x0100 = 0x87
- Example: Set footstep gain = 0x93 & ~0x0100 = 0x93
- **GET command format**: `base command code | 0x0100` (set bit 9)
- Example: Get gunshot threshold = 0x87 | 0x0100 = 0x187
- Example: Get footstep gain = 0x93 | 0x0100 = 0x193
#### 2.3.2 Sound Field Mode Control (CMD_SOUND_FIELD = 0x84)
**Function**: Set or get the current sound field mode
**Application Scenario**: Switch between FPS Game/RPG Game/3A Game sound field effects
**SET Request Format (64 bytes)** (0xB0 encapsulated):
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x84 = CMD_SET(CMD_SOUND_FIELD)) |
| 7-10 | 4 | mode | uint32 user mode value: 1=FPS Game, 2=RPG Game, 3=3A Game |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
**User Mode → Internal IR Algorithm Mapping**:
| User Value | Meaning | `STEREO_EN=1` (IR) | `V71_AUDIO_MODE=1` (IR) |
|:------:|:----:|:------------------:|:-----------------------:|
| 1 | FPS Game | IR_GAME (1) | IR_7_1_GAME (4) |
| 2 | RPG Game | IR_MUSIC (2) | IR_7_1_MUSIC (5) |
| 3 | 3A Game | IR_MOVIE (3) | IR_7_1_MOVIE (6) |
**SET Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 (echo) |
| 3 | 1 | status | Status code (0x00=Success, 0x01=Failure) |
| 4-7 | 4 | ex3d_cmd | EX3D command code (0x84, echo) |
| 8-11 | 4 | retval | Return value (0xFFFFFFFF=invalid index, other=success) |
| 12-63 | 52 | reserved | Reserved fields (fill with 0) |
**GET Request Format (64 bytes)** (0xB1 encapsulated):
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x184 = CMD_GET(CMD_SOUND_FIELD)) |
| 7-63 | 57 | reserved | Reserved fields (fill with 0) |
**GET Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 (echo) |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x184, echo) |
| 7-10 | 4 | mode | uint32 current user mode value (1=FPS Game, 2=RPG Game, 3=3A Game) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
#### 2.3.3 Gunshot Threshold Control (CMD_LMT_THRESHOLD = 0x87)
**Function**: Set/get gunshot sound effect trigger threshold
**Application Scenario**: Detect gunshot sounds and trigger corresponding audio processing in FPS Game/3A Game modes
**SET Request Format (64 bytes)** (0xB0 encapsulated):
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x87 = CMD_SET(CMD_LMT_THRESHOLD)) |
| 7-10 | 4 | threshold | int32 threshold value (range: -96 ~ 0 dB) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
**SET Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 (echo) |
| 3 | 1 | status | Status code (0x00=Success, 0x01=Failure) |
| 4-7 | 4 | ex3d_cmd | EX3D command code (0x87, echo) |
| 8-11 | 4 | retval | Return value (0xFFFFFFFF=invalid index, other=success) |
| 12-63 | 52 | reserved | Reserved fields (fill with 0) |
**GET Request Format (64 bytes)** (0xB1 encapsulated):
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x187 = CMD_GET(CMD_LMT_THRESHOLD)) |
| 7-63 | 57 | reserved | Reserved fields (fill with 0) |
**GET Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 (echo) |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x187, echo) |
| 7-10 | 4 | threshold | int32 current threshold value (range: -96 ~ 0 dB) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
#### 2.3.4 Footstep Gain Control (CMD_EXPAND_GAIN = 0x93)
**Function**: Set/get footstep sound effect gain
**Application Scenario**: Enhance footstep sound effects in FPS Game/3A Game modes
**SET Request Format (64 bytes)** (0xB0 encapsulated):
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x93 = CMD_SET(CMD_EXPAND_GAIN)) |
| 7-10 | 4 | gain | int32 gain value (range: 0 ~ 24 dB) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
**SET Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 (echo) |
| 3 | 1 | status | Status code (0x00=Success, 0x01=Failure) |
| 4-7 | 4 | ex3d_cmd | EX3D command code (0x93, echo) |
| 8-11 | 4 | retval | Return value (0xFFFFFFFF=invalid index, other=success) |
| 12-63 | 52 | reserved | Reserved fields (fill with 0) |
**GET Request Format (64 bytes)** (0xB1 encapsulated):
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x193 = CMD_GET(CMD_EXPAND_GAIN)) |
| 7-63 | 57 | reserved | Reserved fields (fill with 0) |
**GET Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 (echo) |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x193, echo) |
| 7-10 | 4 | gain | int32 current gain value (range: 0 ~ 24 dB) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
#### 2.3.5 Angle Control (CMD_ANGLE = 0x83)
**Function**: Set/get spatial audio angle parameters
**Application Scenario**: Adjust the spatial positioning of virtual surround sound
**SET Request Format (64 bytes)** (0xB0 encapsulated):
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x83 = CMD_SET(CMD_ANGLE)) |
| 7-10 | 4 | angle | uint32 packed angle value (lower 16 bits=horizontal angle, upper 16 bits=vertical angle) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
**SET Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB0 (echo) |
| 3 | 1 | status | Status code (0x00=Success, 0x01=Failure) |
| 4-7 | 4 | ex3d_cmd | EX3D command code (0x83, echo) |
| 8-11 | 4 | retval | Return value (0xFFFFFFFF=invalid index, other=success) |
| 12-63 | 52 | reserved | Reserved fields (fill with 0) |
**GET Request Format (64 bytes)** (0xB1 encapsulated):
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x183 = CMD_GET(CMD_ANGLE)) |
| 7-10 | 4 | channel | uint32 channel number (0-7) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
**GET Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 (echo) |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x183, echo) |
| 7-10 | 4 | angle | uint32 packed angle value (lower 16 bits=horizontal angle, upper 16 bits=vertical angle) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
#### 2.3.6 Level Reading (CMD_LEVEL = 0x8D)
**Function**: Get level data for each channel
**Application Scenario**: Real-time audio level meter display
**GET Request Format (64 bytes)** (0xB1 encapsulated):
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x18D = CMD_GET(CMD_LEVEL)) |
| 7-10 | 4 | count | uint32 channel count (1-16) |
| 11-63 | 53 | reserved | Reserved fields (fill with 0) |
**GET Response Format (64 bytes)**:
| Offset | Length | Field Name | Description |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | Fixed value: 0x01 |
| 1 | 1 | sync_header | Sync header: 0x77 |
| 2 | 1 | cmd_header | Command header: 0xB1 (echo) |
| 3-6 | 4 | ex3d_cmd | EX3D command code (0x18D, echo) |
| from 7 | N | levels | float32[] array of per-channel level values |
| ... | ... | ... | Reserved fields (fill with 0) |
## 3. Data Flow and Timing :material-timeline-clock: ## 3. Data Flow and Timing :material-timeline-clock:
### 3.1 Typical Operation Flows ### 3.1 Typical Operation Flows
@@ -1159,6 +1488,27 @@ No direct return value. To confirm upsampling status, use GET_UPSAMPLE (0x81).
4. After transfer completes, GUI sends FIRMWARE_UPGRADE_END command (0xA9) 4. After transfer completes, GUI sends FIRMWARE_UPGRADE_END command (0xA9)
5. Device verifies image integrity and returns status 5. Device verifies image integrity and returns status
#### 3.1.5 EX3D Sound Field Mode Reading Flow
**Applicable Device**: VID 0x20B1, PID 0x80D3 (V7.1 spatial audio dedicated device)
1. GUI sends GET_EX3D_CMD command (0xB1), encapsulating CMD_SOUND_FIELD (0x184)
2. Device returns the current sound field mode (1=FPS Game, 2=RPG Game, 3=3A Game)
3. GUI updates the interface status according to the sound field mode
#### 3.1.6 EX3D Sound Field Mode Setting Flow
**Applicable Device**: VID 0x20B1, PID 0x80D3 (V7.1 spatial audio dedicated device)
1. GUI sends SET_EX3D_CMD command (0xB0), encapsulating CMD_SOUND_FIELD (0x84) and the target mode value
2. Device updates the internal sound field mode state and returns a response
3. When switching from RPG Game to FPS Game/3A Game, the GUI must re-read the FPS control parameters
#### 3.1.7 EX3D FPS Control Parameter Reading Flow
**Applicable Device**: VID 0x20B1, PID 0x80D3 (V7.1 spatial audio dedicated device)
1. GUI sends GET_EX3D_CMD command (0xB1), encapsulating CMD_LMT_THRESHOLD (0x187) to read the gunshot threshold
2. GUI sends GET_EX3D_CMD command (0xB1), encapsulating CMD_EXPAND_GAIN (0x193) to read the footstep gain
3. Device returns the current threshold and gain values respectively
### 3.2 Timing Requirements and Constraints ### 3.2 Timing Requirements and Constraints
!!! warning "Timing Requirements" !!! warning "Timing Requirements"

View File

@@ -0,0 +1,207 @@
---
title: AH86G11-VC1 16进16出TDM256 USB多通道数字音频接口核心模组
description: AH86G11-VC1 16进16出TDM256 USB多通道数字音频接口核心模组数据手册
author: 技术文档部
date: 2026-06-16
print_page: true
---
--8<-- "common/phaten_xmos_support_img.md"
<div class="grid" markdown>
<div class="card-wide" markdown>
# AH86G11-VC1
__16进16出 TDM256 Slave 48kHz/24bit-32bit USB多进多出数字音频接口__
</div>
</div>
## 1、简介
### 1.1 产品描述
AH86G11 是一款基于 xcore.aiXMOS多核架构的 **USB 多通道数字音频接口核心模组**,面向数字调音台 / 多通道混音系统中与外部 DSP 互联的音频前端应用。AH86G11 通过 **USB 音频接口UAC** 与上位机PC / Mac连接并对外提供 **16 通道输入 / 16 通道输出** 的 TDM 数字音频接口与 DSP 互联,采用 **TDM256 帧格式(单数据线 8 通道)**,通过 2 条输入数据线与 2 条输出数据线实现 16 进 16 出。
AH86G11 工作于 从模式Slave采样率固定为 48kHz⽀持 24bit / 32bit ⾳频数据位深usb支持48K 24bit/32bit TDM只支持32bit。时钟由外部 **DSP 提供** DSP 向 AH86G11 输出位时钟 `BCLK``I2S0_SCLK`)与帧同步 `FS``I2S0_LRCLK`AH86G11 作为时钟从机工作。
<!-- !!! info "时钟关系"
在 48kHz / TDM256 配置下,每帧 256 bit每条数据线承载 8 个 32bit 通道。
- `FS`LRCLK= 48kHz
- `BCLK`SCLK= 48kHz × 256 = **12.288MHz**
- 每条 TDM256 数据线 = 8 通道2 条输入 = 16 进2 条输出 = 16 出
- `MCLK`:为可选项;若 DSP 不单独提供 MCLK用户可选择将 AH86G11 的 MCLK 与 BCLK 连接到一起使用MCLK = BCLK = 12.288MHz -->
### 1.2 产品特性
**音频接口特性**
- **USB 音频接口UAC**与上位机PC / Mac连接的多通道 USB 音频接口48kHz / 24bit·32bit
- **TDM256 多通道接口**16 进 16 出2 条 TDM256 输入数据线16 通道)+ 2 条 TDM256 输出数据线16 通道),单数据线 8 通道
- **采样率**:固定 48kHz
- **位深**USB 支持 24bit / 32bitTDM 仅支持 32bit
**时钟特性**
- **从模式Slave**:时钟由外部 DSP 提供DSP 输出位时钟 `BCLK``I2S0_SCLK`)与帧同步 `FS``I2S0_LRCLK`AH86G11 作为时钟从机工作
- 对外时钟线仅 2 条:`BCLK` + `FS`
- `MCLK`DSP 可不单独提供;若不提供,用户可选择将 MCLK 与 BCLK 连接到一起使用MCLK = BCLK
### 1.3 应用场景
- 数字调音台Digital Mixer—— 调音台多通道音频前端,与外部 DSP 构成混音 / 效果处理链16 进 16 出通道路由
- 多通道音频路由Multichannel Audio Router—— 通道级数字音频分配TDM 多通道互联,录音 / 扩声系统信号汇聚
- 会议 / 扩声系统Conference / PA System—— 多话筒通道汇聚,与系统 DSP 对接的音频接口,固定 48kHz 工程音频应用
### 1.4 产品功能框图
<figure markdown="span">
![数字调音台音频接口模组框图](/assets/images/digital_mixer/digital_mixer_diagram.png "数字调音台音频接口模组框图"){width=700}
<figcaption>图1: 数字调音台音频接口核心模组功能框图</figcaption>
</figure>
### 1.5 订购信息
| PRODUCT MODEL | ORDERING NUMBER | PACKAGE BODY | SIZE (NOM) | Hardware Model | Comments |
|:--------|:----------------|:-------------|:-----------|:------------|:------------|
| AH86G11-VC1 | AH86G11-VC1 | SMT LGA-52 | 13×13mm | A316-Mini-V1 | 16进16出 TDM256 USB 多通道数字音频接口核心模组48kHz / 24bit·32bit |
## 2、模式及指标
### 2.1 支持的输入输出模式
<!-- AH86G11 工作于单一桥接模式,实现上位机 **USBUAC** 与外部 DSP **TDM256Slave** 之间的双向 16 通道音频互联: -->
| 模式编号 | 输入输出模式 | 说明 |
|:--------:|:------------------------|:------------------------|
| 1 | TDM256(Slave) in - USB out /<br/> USB in - TDM256(Slave) out | TDM256 输入DSPUSB 输出16 通道)/<br/> USB 输入16 通道TDM256 输出DSP |
### 2.2 各工作模式详细参数
#### 2.2.1 USB Audio 模式
**音频格式与采样率:**
| 音频格式 | 规格 |
|:---------|:-------------|
| **USB Audio** | USB Audio ClassUAC多通道 |
| **采样率** | 48kHz固定 |
| **位深** | 24bit / 32bit |
#### 2.2.2 TDM256 从模式Slave
**音频格式与采样率:**
| 音频格式 | 规格 |
|:---------|:-------------|
| **PCM / TDM** | TDM256单数据线 8 通道 |
| **采样率** | 48kHz固定 |
| **位深** | 32bit |
| **输入通道** | 162 × TDM256 输入线) |
| **输出通道** | 162 × TDM256 输出线) |
## 3、管脚配置和功能
### 3.1 模组管脚布局
<figure markdown="span">
![A316-Mini-V1模组管脚图](/assets/images/hifi_audio/a316_pin.png "A316-Mini-V1模组管脚图"){width=400}
<figcaption>图2: 数字调音台音频接口核心模组A316-Mini-V1LGA-52管脚排列示意图</figcaption>
</figure>
### 3.2 模组管脚描述
模组采用 **A316-Mini-V1SMT LGA-5213×13mm** 封装,对外 52 个 LGA 焊盘与 XMOS 引脚的物理映射如下
| 管脚序号 | 名称 | 类型 | 功能 |
|:--------:|:----------|:------|:-----------------------------|
| 1 | 3.3V | P | 模组 3.3V 供电 |
| 2 | X1D13 | - | NC |
| 3 | X1D16 | - | NC |
| 4 | GND | P | 模组地 |
| 5 | X1D17 | - | NC |
| 6 | X1D18 | - | NC |
| 7 | X1D19 | - | NC |
| 8 | X1D22 | - | NC |
| 9 | X0D29 | - | NC |
| 10 | X0D35 | I从模式 | `I2S0_SCLK` / **BCLK** |
| 11 | X0D36 | I从模式 | `I2S0_LRCLK` / **FS** |
| 12 | X0D37 | O | `I2S0_OUT1` |
| 13 | X0D38 | O | `I2S0_OUT0` |
| 14 | X0D40 | - | NC |
| 15 | X0D39 | O | `MCLK` |
| 16 | X0D42 | - | NC |
| 17 | X0D41 | - | NC |
| 18 | X0D43 | - | NC |
| 19 | X1D34 | - | NC |
| 20 | GND | P | 模组地 |
| 21 | X0D30 | O | `CTL_MUTE` |
| 22 | X0D31 | - | NC |
| 23 | X0D32 | - | NC |
| 24 | X0D33 | - | NC |
| 25 | GND | P | 模组地 |
| 26 | GND | P | 模组地 |
| 27 | GND | P | 模组地 |
| 28 | X0D00 | I | `I2S0_IN0` |
| 29 | X0D11 | I | `I2S0_IN1` |
| 30 | X1D00 | - | NC |
| 31 | X1D01 | - | NC |
| 32 | GND | P | 模组地 |
| 33 | X1D09 | - | NC |
| 34 | X1D10 | - | NC |
| 35 | X1D11 | O | `MCLK` 连接Pin 15 X0D39 |
| 36 | GND | P | 模组地 |
| 37 | GND | P | 模组地 |
| 38 | TDI | I/O | JTAG / XTAG 调试 PIN |
| 39 | TDO | I/O | JTAG / XTAG 调试 PIN |
| 40 | TMS | I/O | JTAG / XTAG 调试 PIN |
| 41 | TCK | I/O | JTAG / XTAG 调试 PIN |
| 42 | RST_N | I | 系统复位,低电平有效 |
| 43 | 1.8V | P | 模组 1.8V 供电 |
| 44 | GND | P | 模组地 |
| 45 | USB_DM | I/O | USB_DM |
| 46 | USB_DP | I/O | USB_DP |
| 47 | GND | P | 模组地 |
| 48 | 0.9V | P | 模组 0.9V 供电 |
| 49 | GND | P | 模组地 |
| 50 | GND | P | 模组地 |
| 51 | GND | P | 模组地 |
| 52 | GND | P | 模组地 |
## 4、硬件参数
### 4.1 产品尺寸
--8<-- "dev_doc/datasheet/modules/a316_mini_v1_datasheet.md:size"
### 4.2 模组封装图
<figure markdown="span">
![A316-Mini-V1封装图](/assets/images/hifi_audio/a316_size.png "A316-Mini-V1封装图"){width=400}
<figcaption>图3: A316-Mini-V1封装图</figcaption>
</figure>
## 5、最小系统参考设计
<figure markdown="span">
![A316-Mini-V1最小系统参考设计](/assets/download/a316_mini_v1/a316_mini_v1_mini_ref_design.png "A316-Mini-V1最小系统参考设计"){width=800}
<figcaption></figcaption>
</figure>
## 6、产品包装信息
--8<-- "dev_doc/datasheet/modules/a316_mini_v1_datasheet.md:package"
## 7、修订历史
| 版本 | 日期 | 描述 | 修订者 |
|:------|:-------------|:---------------------------------------|:-------------|
| V1.0 | 2026-06-16 | 初始版本 | 技术部 |
## 8、咨询反馈
<details>
<summary>点击展开咨询反馈表单</summary>
--8<-- "common/customer_form.md"
</details>

View File

@@ -113,6 +113,8 @@ search:
| 0xB4 | GET_EQ_BAND_COUNT | 获取 EQ 段数 | PC ↔ 设备 | | 0xB4 | GET_EQ_BAND_COUNT | 获取 EQ 段数 | PC ↔ 设备 |
| 0x80 | SET_UPSAMPLE | 设置采样率升频开关 | PC → 设备 | | 0x80 | SET_UPSAMPLE | 设置采样率升频开关 | PC → 设备 |
| 0x81 | GET_UPSAMPLE | 获取采样率升频状态 | PC ↔ 设备 | | 0x81 | GET_UPSAMPLE | 获取采样率升频状态 | PC ↔ 设备 |
| 0xB0 | SET_EX3D_CMD | 发送 EX3D 设置命令 | PC → 设备 |
| 0xB1 | GET_EX3D_CMD | 读取 EX3D 命令 | PC ↔ 设备 |
### 2.2 详细命令格式 ### 2.2 详细命令格式
@@ -1113,6 +1115,333 @@ search:
| 3 | 1 | upsample | 当前升频状态0=禁用, 1=使能) | | 3 | 1 | upsample | 当前升频状态0=禁用, 1=使能) |
| 4-63 | 60 | reserved | 保留字段填充0 | | 4-63 | 60 | reserved | 保留字段填充0 |
#### 2.2.41 发送 EX3D 设置命令0xB0
**功能说明**: 发送 EX3D 设置命令,封装所有 EX3D SET 命令,用于空间音频参数设置
**适用设备**: VID 0x20B1, PID 0x80D3V7.1空间音频专用设备)
**请求格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码SET 格式) |
| 7-10 | 4 | param1 | int32 参数1根据命令不同 |
| 11-14 | 4 | param2 | int32 参数2根据命令不同 |
| 15-18 | 4 | param3 | int32 参数3根据命令不同 |
| 19-63 | 45 | reserved | 保留字段填充0 |
**支持的 EX3D SET 命令**:
| EX3D 命令码 | 命令名称 | 功能描述 |
|:-----------:|:--------:|:--------:|
| 0x83 | CMD_ANGLE | 设置空间音频角度参数 |
| 0x84 | CMD_SOUND_FIELD | 设置声场模式 |
| 0x87 | CMD_LMT_THRESHOLD | 设置枪声阈值 |
| 0x93 | CMD_EXPAND_GAIN | 设置脚步声增益 |
**响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0回显 |
| 3 | 1 | status | 状态码 (0x00=成功, 0x01=失败) |
| 4-7 | 4 | ex3d_cmd | EX3D 命令码(回显) |
| 8-11 | 4 | retval | 返回值0xFFFFFFFF 表示参数错误) |
| 12-63 | 52 | reserved | 保留字段填充0 |
#### 2.2.42 读取 EX3D 命令0xB1
**功能说明**: 读取 EX3D 参数,封装所有 EX3D GET 命令,用于空间音频参数读取
**适用设备**: VID 0x20B1, PID 0x80D3V7.1空间音频专用设备)
**请求格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码GET 格式) |
| 7-10 | 4 | param1 | uint32 参数1通道号、索引等 |
| 11-63 | 53 | reserved | 保留字段填充0 |
**支持的 EX3D GET 命令**:
| EX3D 命令码 | 命令名称 | 功能描述 |
|:-----------:|:--------:|:--------:|
| 0x183 | CMD_ANGLE | 获取空间音频角度参数 |
| 0x184 | CMD_SOUND_FIELD | 获取声场模式 |
| 0x187 | CMD_LMT_THRESHOLD | 获取枪声阈值 |
| 0x18D | CMD_LEVEL | 获取电平 |
| 0x193 | CMD_EXPAND_GAIN | 获取脚步声增益 |
**响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1回显 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码(回显) |
| 7-10 | 4 | retval1 | uint32 返回值1 |
| 11-14 | 4 | retval2 | uint32 返回值2 |
| 15-18 | 4 | retval3 | uint32 返回值3 |
| 19-63 | 45 | reserved | 保留字段填充0 |
### 2.3 EX3D 子命令详细说明
!!! note "EX3D 协议说明"
以下命令通过 0xB0/0xB1 封装发送,仅适用于 VID 0x20B1, PID 0x80D3 的 V7.1 空间音频设备。
#### 2.3.1 EX3D 命令码格式说明
- **SET 命令格式**: `基础命令码 & ~0x0100`清除第9位
- 例: 设置枪声阈值 = 0x87 & ~0x0100 = 0x87
- 例: 设置脚步声增益 = 0x93 & ~0x0100 = 0x93
- **GET 命令格式**: `基础命令码 | 0x0100`设置第9位
- 例: 获取枪声阈值 = 0x87 | 0x0100 = 0x187
- 例: 获取脚步声增益 = 0x93 | 0x0100 = 0x193
#### 2.3.2 声场模式控制CMD_SOUND_FIELD = 0x84
**功能说明**: 设置或获取当前声场模式
**应用场景**: 切换 FPS Game/RPG Game/3A Game 三种声场效果
**SET 请求格式64 字节)**0xB0 封装):
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x84 = CMD_SET(CMD_SOUND_FIELD)) |
| 7-10 | 4 | mode | uint32 用户模式值: 1=FPS Game, 2=RPG Game, 3=3A Game |
| 11-63 | 53 | reserved | 保留字段填充0 |
**用户模式 → 内部 IR 算法映射**:
| 用户值 | 含义 | `STEREO_EN=1` (IR) | `V71_AUDIO_MODE=1` (IR) |
|:------:|:----:|:------------------:|:-----------------------:|
| 1 | FPS Game | IR_GAME (1) | IR_7_1_GAME (4) |
| 2 | RPG Game | IR_MUSIC (2) | IR_7_1_MUSIC (5) |
| 3 | 3A Game | IR_MOVIE (3) | IR_7_1_MOVIE (6) |
**SET 响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0回显 |
| 3 | 1 | status | 状态码 (0x00=成功, 0x01=失败) |
| 4-7 | 4 | ex3d_cmd | EX3D 命令码 (0x84回显) |
| 8-11 | 4 | retval | 返回值0xFFFFFFFF=索引无效, 其他=成功) |
| 12-63 | 52 | reserved | 保留字段填充0 |
**GET 请求格式64 字节)**0xB1 封装):
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x184 = CMD_GET(CMD_SOUND_FIELD)) |
| 7-63 | 57 | reserved | 保留字段填充0 |
**GET 响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1回显 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x184回显) |
| 7-10 | 4 | mode | uint32 当前用户模式值 (1=FPS Game, 2=RPG Game, 3=3A Game) |
| 11-63 | 53 | reserved | 保留字段填充0 |
#### 2.3.3 枪声阈值控制CMD_LMT_THRESHOLD = 0x87
**功能说明**: 设置/获取枪声音效触发阈值
**应用场景**: FPS Game/3A Game 模式下检测枪声并触发相应音效处理
**SET 请求格式64 字节)**0xB0 封装):
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x87 = CMD_SET(CMD_LMT_THRESHOLD)) |
| 7-10 | 4 | threshold | int32 阈值值 (范围: -96 ~ 0 dB) |
| 11-63 | 53 | reserved | 保留字段填充0 |
**SET 响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0回显 |
| 3 | 1 | status | 状态码 (0x00=成功, 0x01=失败) |
| 4-7 | 4 | ex3d_cmd | EX3D 命令码 (0x87回显) |
| 8-11 | 4 | retval | 返回值0xFFFFFFFF=索引无效, 其他=成功) |
| 12-63 | 52 | reserved | 保留字段填充0 |
**GET 请求格式64 字节)**0xB1 封装):
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x187 = CMD_GET(CMD_LMT_THRESHOLD)) |
| 7-63 | 57 | reserved | 保留字段填充0 |
**GET 响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1回显 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x187回显) |
| 7-10 | 4 | threshold | int32 当前阈值值 (范围: -96 ~ 0 dB) |
| 11-63 | 53 | reserved | 保留字段填充0 |
#### 2.3.4 脚步声增益控制CMD_EXPAND_GAIN = 0x93
**功能说明**: 设置/获取脚步声音效增益
**应用场景**: FPS Game/3A Game 模式下增强脚步声效果
**SET 请求格式64 字节)**0xB0 封装):
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x93 = CMD_SET(CMD_EXPAND_GAIN)) |
| 7-10 | 4 | gain | int32 增益值 (范围: 0 ~ 24 dB) |
| 11-63 | 53 | reserved | 保留字段填充0 |
**SET 响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0回显 |
| 3 | 1 | status | 状态码 (0x00=成功, 0x01=失败) |
| 4-7 | 4 | ex3d_cmd | EX3D 命令码 (0x93回显) |
| 8-11 | 4 | retval | 返回值0xFFFFFFFF=索引无效, 其他=成功) |
| 12-63 | 52 | reserved | 保留字段填充0 |
**GET 请求格式64 字节)**0xB1 封装):
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x193 = CMD_GET(CMD_EXPAND_GAIN)) |
| 7-63 | 57 | reserved | 保留字段填充0 |
**GET 响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1回显 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x193回显) |
| 7-10 | 4 | gain | int32 当前增益值 (范围: 0 ~ 24 dB) |
| 11-63 | 53 | reserved | 保留字段填充0 |
#### 2.3.5 角度控制CMD_ANGLE = 0x83
**功能说明**: 设置/获取空间音频角度参数
**应用场景**: 调整虚拟环绕声的空间定位
**SET 请求格式64 字节)**0xB0 封装):
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x83 = CMD_SET(CMD_ANGLE)) |
| 7-10 | 4 | angle | uint32 打包角度值 (低16位=水平角度, 高16位=垂直角度) |
| 11-63 | 53 | reserved | 保留字段填充0 |
**SET 响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB0回显 |
| 3 | 1 | status | 状态码 (0x00=成功, 0x01=失败) |
| 4-7 | 4 | ex3d_cmd | EX3D 命令码 (0x83回显) |
| 8-11 | 4 | retval | 返回值0xFFFFFFFF=索引无效, 其他=成功) |
| 12-63 | 52 | reserved | 保留字段填充0 |
**GET 请求格式64 字节)**0xB1 封装):
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x183 = CMD_GET(CMD_ANGLE)) |
| 7-10 | 4 | channel | uint32 通道号 (0-7) |
| 11-63 | 53 | reserved | 保留字段填充0 |
**GET 响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1回显 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x183回显) |
| 7-10 | 4 | angle | uint32 打包角度值 (低16位=水平角度, 高16位=垂直角度) |
| 11-63 | 53 | reserved | 保留字段填充0 |
#### 2.3.6 电平获取CMD_LEVEL = 0x8D
**功能说明**: 获取各通道电平数据
**应用场景**: 实时显示音频电平表
**GET 请求格式64 字节)**0xB1 封装):
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x18D = CMD_GET(CMD_LEVEL)) |
| 7-10 | 4 | count | uint32 通道数量 (1-16) |
| 11-63 | 53 | reserved | 保留字段填充0 |
**GET 响应格式64 字节)**:
| 偏移 | 长度 | 字段名 | 描述 |
|:----:|:----:|:------:|:----:|
| 0 | 1 | report_id | 固定为 0x01 |
| 1 | 1 | sync_header | 同步头: 0x77 |
| 2 | 1 | cmd_header | 命令头: 0xB1回显 |
| 3-6 | 4 | ex3d_cmd | EX3D 命令码 (0x18D回显) |
| 7开始 | N | levels | float32[] 各通道电平值数组 |
| ... | ... | ... | 保留字段填充0 |
## 三、数据流程和时序 :material-timeline-clock: ## 三、数据流程和时序 :material-timeline-clock:
### 3.1 典型操作流程 ### 3.1 典型操作流程
@@ -1142,6 +1471,27 @@ search:
4. 传输完成后发送 FIRMWARE_UPGRADE_END 命令 (0xA9) 结束升级 4. 传输完成后发送 FIRMWARE_UPGRADE_END 命令 (0xA9) 结束升级
5. 设备验证镜像完整性并返回状态 5. 设备验证镜像完整性并返回状态
#### 3.1.5 EX3D 声场模式读取流程
**适用设备**: VID 0x20B1, PID 0x80D3V7.1 空间音频专用设备)
1. GUI发送 GET_EX3D_CMD 命令 (0xB1),封装 CMD_SOUND_FIELD (0x184)
2. 设备返回当前声场模式 (1=FPS Game, 2=RPG Game, 3=3A Game)
3. GUI根据声场模式更新界面状态
#### 3.1.6 EX3D 声场模式设置流程
**适用设备**: VID 0x20B1, PID 0x80D3V7.1 空间音频专用设备)
1. GUI发送 SET_EX3D_CMD 命令 (0xB0),封装 CMD_SOUND_FIELD (0x84) 和目标模式值
2. 设备更新内部声场模式状态并返回响应
3. 如从 RPG Game 切换到 FPS Game/3A GameGUI需重新读取 FPS 控制参数
#### 3.1.7 EX3D FPS 控制参数读取流程
**适用设备**: VID 0x20B1, PID 0x80D3V7.1 空间音频专用设备)
1. GUI发送 GET_EX3D_CMD 命令 (0xB1),封装 CMD_LMT_THRESHOLD (0x187) 读取枪声阈值
2. GUI发送 GET_EX3D_CMD 命令 (0xB1),封装 CMD_EXPAND_GAIN (0x193) 读取脚步声增益
3. 设备分别返回当前阈值和增益值
### 3.2 时序要求与约束 ### 3.2 时序要求与约束
!!! warning "时序要求" !!! warning "时序要求"

View File

@@ -10,7 +10,7 @@ login: true
--8<-- "common/phaten_xmos_support_img.md" --8<-- "common/phaten_xmos_support_img.md"
--8<-- "common/checklogin_form.md" --8<-- "common/checklogin_form.md"
本页面提供飞腾云**免开发ZeroCode系列核心模组**的固件下载。免开发固件支持通过 ZeroConfig / Web 配置或串口UART/HID协议进行个性化配置帮助客户无需二次开发即可快速实现产品落地。固件按产品系列分类如下已发布固件可直接下载尚未发布的「待发布」占位预留 本页面提供飞腾云**免开发ZeroCode系列核心模组**的固件下载。免开发固件支持通过 ZeroConfig / Web 配置或串口UART/HID协议进行个性化配置帮助客户无需二次开发即可快速实现产品落地。固件按产品系列分类如下已发布固件可直接下载尚未发布的标记为「待发布」,将在正式发布后提供下载
> 📶 WiFi 音箱评估板RTL8711 平台)固件另见 [WiFi音箱EVB板](./wifi_speaker_evb.md)。 > 📶 WiFi 音箱评估板RTL8711 平台)固件另见 [WiFi音箱EVB板](./wifi_speaker_evb.md)。
@@ -29,58 +29,58 @@ login: true
| 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 | | 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 |
| :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------| | :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------|
| HF87611 | update_gen_0.0.5.bin | 0.0.5 | 2025年3月29日 | 旧版本,不支持新功能。如需更新请先联系我们 | <a href="javascript:void(0);" onclick="checkLogin('/assets/download/firmware/hf87611/update_gen_0.0.5_8938ca4d9315319a0fb4466b700faca5.bin')">:material-download:</a> | | HF87611 | update_gen_0.0.5.bin | 0.0.5 | 2025年3月29日 | 旧版本,不支持新功能。如需更新请先联系我们 | <a href="javascript:void(0);" onclick="checkLogin('/assets/download/firmware/hf87611/update_gen_0.0.5_8938ca4d9315319a0fb4466b700faca5.bin')">:material-download:</a> |
| HF87621 | 待发布 | - | 待定 | USB HiFi解码器核心模组免开发固件(占位,待发布) | 待发布 | | HF87621 | 待发布 | - | 待定 | USB HiFi解码器核心模组免开发固件 | 待发布 |
| HF86611 | 待发布 | - | 待定 | USB HiFi解码器核心模组免开发固件(占位,待发布) | 待发布 | | HF86611 | 待发布 | - | 待定 | USB HiFi解码器核心模组免开发固件 | 待发布 |
| HF83311 | 待发布 | - | 待定 | USB HiFi解码器核心模组免开发固件(占位,待发布) | 待发布 | | HF83311 | 待发布 | - | 待定 | USB HiFi解码器核心模组免开发固件 | 待发布 |
# USB低功耗HiFi解码器核心模组 # USB低功耗HiFi解码器核心模组
| 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 | | 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 |
| :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------| | :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------|
| PH83311L | 待发布 | - | 待定 | USB低功耗HiFi解码器核心模组免开发固件(占位,待发布) | 待发布 | | PH83311L | 待发布 | - | 待定 | USB低功耗HiFi解码器核心模组免开发固件 | 待发布 |
| PH83211L | 待发布 | - | 待定 | USB低功耗HiFi解码器核心模组免开发固件(占位,待发布) | 待发布 | | PH83211L | 待发布 | - | 待定 | USB低功耗HiFi解码器核心模组免开发固件 | 待发布 |
| PH73311L | 待发布 | - | 待定 | USB低功耗HiFi解码器核心模组免开发固件(占位,待发布) | 待发布 | | PH73311L | 待发布 | - | 待定 | USB低功耗HiFi解码器核心模组免开发固件 | 待发布 |
| PH73211L | 待发布 | - | 待定 | USB低功耗HiFi解码器核心模组免开发固件(占位,待发布) | 待发布 | | PH73211L | 待发布 | - | 待定 | USB低功耗HiFi解码器核心模组免开发固件 | 待发布 |
# 虚拟7.1游戏声卡核心模组 # 虚拟7.1游戏声卡核心模组
| 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 | | 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 |
| :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------| | :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------|
| GM68311 | 待发布 | - | 待定 | 虚拟7.1游戏声卡核心模组,免开发固件(占位,待发布) | 待发布 | | GM68311 | 待发布 | - | 待定 | 虚拟7.1游戏声卡核心模组,免开发固件 | 待发布 |
| GM67211 | 待发布 | - | 待定 | 虚拟7.1游戏声卡核心模组,免开发固件(占位,待发布) | 待发布 | | GM67211 | 待发布 | - | 待定 | 虚拟7.1游戏声卡核心模组,免开发固件 | 待发布 |
# Ai DNR深度降噪核心模组 # Ai DNR深度降噪核心模组
| 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 | | 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 |
| :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------| | :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------|
| DNR65211 | 待发布 | - | 待定 | Ai DNR深度降噪核心模组免开发固件(占位,待发布) | 待发布 | | DNR65211 | 待发布 | - | 待定 | Ai DNR深度降噪核心模组免开发固件 | 待发布 |
| DNR65221 | 待发布 | - | 待定 | Ai DNR深度降噪核心模组免开发固件(占位,待发布) | 待发布 | | DNR65221 | 待发布 | - | 待定 | Ai DNR深度降噪核心模组免开发固件 | 待发布 |
| DNR65231 | 待发布 | - | 待定 | Ai DNR深度降噪核心模组免开发固件(占位,待发布) | 待发布 | | DNR65231 | 待发布 | - | 待定 | Ai DNR深度降噪核心模组免开发固件 | 待发布 |
# USB OTG集成ASRC核心模组 # USB OTG集成ASRC核心模组
| 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 | | 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 |
| :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------| | :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------|
| OT82111 | 待发布 | - | 待定 | USB OTG集成ASRC核心模组免开发固件(占位,待发布) | 待发布 | | OT82111 | 待发布 | - | 待定 | USB OTG集成ASRC核心模组免开发固件 | 待发布 |
| OT83211 | 待发布 | - | 待定 | USB OTG集成ASRC核心模组免开发固件(占位,待发布) | 待发布 | | OT83211 | 待发布 | - | 待定 | USB OTG集成ASRC核心模组免开发固件 | 待发布 |
# 音频采样率转换SRC核心模组 # 音频采样率转换SRC核心模组
| 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 | | 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 |
| :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------| | :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------|
| XMSRC4392 | 待发布 | - | 待定 | 音频采样率转换SRC核心模组免开发固件(占位,待发布) | 待发布 | | XMSRC4392 | 待发布 | - | 待定 | 音频采样率转换SRC核心模组免开发固件 | 待发布 |
| XMSRC4194 | 待发布 | - | 待定 | 音频采样率转换SRC核心模组免开发固件(占位,待发布) | 待发布 | | XMSRC4194 | 待发布 | - | 待定 | 音频采样率转换SRC核心模组免开发固件 | 待发布 |
| XMSRC4192 | 待发布 | - | 待定 | 音频采样率转换SRC核心模组免开发固件(占位,待发布) | 待发布 | | XMSRC4192 | 待发布 | - | 待定 | 音频采样率转换SRC核心模组免开发固件 | 待发布 |
# PDM到I2S/TDM转换核心模组 # PDM到I2S/TDM转换核心模组
| 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 | | 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 |
| :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------| | :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------|
| XMAU7118 | 待发布 | - | 待定 | PDM到I2S/TDM转换核心模组免开发固件(占位,待发布) | 待发布 | | XMAU7118 | 待发布 | - | 待定 | PDM到I2S/TDM转换核心模组免开发固件 | 待发布 |
# USB直播麦克风核心模组 # USB直播麦克风核心模组
| 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 | | 产品名称 | 固件名称 | 固件版本 | 发布日期 | 固件说明 | 下载 |
| :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------| | :------------|:--------------------|:------------------------------------|:----------------|:--------------------|:--------------------|
| (型号待发布) | 待发布 | - | 待定 | USB直播麦克风核心模组免开发固件(占位,待发布) | 待发布 | | (型号待发布) | 待发布 | - | 待定 | USB直播麦克风核心模组免开发固件 | 待发布 |

View File

@@ -262,6 +262,8 @@ nav:
- XMSRC4192-VC1: dev_doc/datasheet/std_product/src/xmsrc4192_vc1.md - XMSRC4192-VC1: dev_doc/datasheet/std_product/src/xmsrc4192_vc1.md
- PDM到I2S/TDM转换核心模组: - PDM到I2S/TDM转换核心模组:
- XMAU7118-VC1: dev_doc/datasheet/std_product/pdm_2_i2s/xmau7118_vc1.md - XMAU7118-VC1: dev_doc/datasheet/std_product/pdm_2_i2s/xmau7118_vc1.md
- USB多进多出数字音频接口核心模组:
- AH86G11-VC1: dev_doc/datasheet/std_product/digital_mixer/digital_mixer.md
- 开发评估板资源: - 开发评估板资源:
- dev_doc/evb/index.md - dev_doc/evb/index.md