Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c70fb8584d | ||
|
|
845a017a95 | ||
|
|
74e5ceaf4d |
@@ -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">
|
||||||
|
{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">
|
||||||
|
{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">
|
||||||
|
{width=400}
|
||||||
|
<figcaption>Figure 3: A316-Mini-V1 Package Diagram</figcaption>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
## 5. Minimum System Reference Design
|
||||||
|
|
||||||
|
<figure markdown="span">
|
||||||
|
{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>
|
||||||
@@ -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"
|
||||||
|
|||||||
802
zh/docs/blog/posts/soundcard-insight.md
Normal file
802
zh/docs/blog/posts/soundcard-insight.md
Normal file
@@ -0,0 +1,802 @@
|
|||||||
|
---
|
||||||
|
date: 2026-06-25
|
||||||
|
|
||||||
|
categories:
|
||||||
|
- Archive
|
||||||
|
---
|
||||||
|
|
||||||
|
# 你的游戏声卡为什么做不出差异化?
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/* ============================================================
|
||||||
|
* 游戏声卡差异化 —— 简约大厂风(蓝色调)
|
||||||
|
* 所有样式限定在 .pa-article 作用域内,不影响站点其他页面。
|
||||||
|
* 直接浏览器打印(Cmd+P)→ 存为 PDF,即可发公众号 / 推文。
|
||||||
|
* ============================================================ */
|
||||||
|
.pa-article {
|
||||||
|
--pa-bg: #fafafa;
|
||||||
|
--pa-surface: #ffffff;
|
||||||
|
--pa-text: #111111;
|
||||||
|
--pa-text-2: #555555;
|
||||||
|
--pa-text-3: #999999;
|
||||||
|
--pa-border: #e8e8e8;
|
||||||
|
--pa-border-l: #f0f0f0;
|
||||||
|
--pa-accent: #0066ff;
|
||||||
|
--pa-accent-soft: #e8f0ff;
|
||||||
|
--pa-accent-muted: rgba(0, 102, 255, 0.07);
|
||||||
|
--pa-green: #00a854;
|
||||||
|
--pa-red: #e54d42;
|
||||||
|
|
||||||
|
max-width: 720px;
|
||||||
|
margin: 2rem auto;
|
||||||
|
background: var(--pa-surface);
|
||||||
|
border-radius: 16px;
|
||||||
|
overflow: hidden;
|
||||||
|
color: var(--pa-text);
|
||||||
|
line-height: 1.7;
|
||||||
|
font-family: 'Inter', -apple-system, BlinkMacSystemFont, "PingFang SC",
|
||||||
|
"Hiragino Sans GB", "Microsoft YaHei", sans-serif;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 10px 36px rgba(0, 0, 0, 0.05);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pa-article .serif {
|
||||||
|
font-family: 'Noto Serif SC', 'Songti SC', 'STSong', 'SimSun', Georgia, serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Hero ── */
|
||||||
|
.pa-article .pa-hero {
|
||||||
|
padding: 80px 48px 64px;
|
||||||
|
text-align: center;
|
||||||
|
border-bottom: 1px solid var(--pa-border);
|
||||||
|
}
|
||||||
|
.pa-article .pa-hero-label {
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 600;
|
||||||
|
letter-spacing: 3px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
color: var(--pa-text-3);
|
||||||
|
margin-bottom: 28px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-hero h1 {
|
||||||
|
font-family: 'Noto Serif SC', 'Songti SC', 'STSong', 'SimSun', Georgia, serif;
|
||||||
|
font-size: 32px;
|
||||||
|
font-weight: 900;
|
||||||
|
line-height: 1.4;
|
||||||
|
color: var(--pa-text);
|
||||||
|
margin: 0 0 20px;
|
||||||
|
letter-spacing: -0.5px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-mark {
|
||||||
|
color: var(--pa-accent);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.pa-article .pa-mark::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
bottom: 2px;
|
||||||
|
width: 100%;
|
||||||
|
height: 3px;
|
||||||
|
background: var(--pa-accent);
|
||||||
|
opacity: 0.2;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-hero-sub {
|
||||||
|
font-size: 15px;
|
||||||
|
color: var(--pa-text-2);
|
||||||
|
line-height: 1.8;
|
||||||
|
max-width: 480px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Meta bar ── */
|
||||||
|
.pa-article .pa-meta {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 20px 48px;
|
||||||
|
border-bottom: 1px solid var(--pa-border-l);
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-avatar {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: var(--pa-accent);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 700;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.pa-article .pa-meta-text { font-size: 13px; color: var(--pa-text-3); }
|
||||||
|
.pa-article .pa-meta-text strong { color: var(--pa-text-2); font-weight: 600; }
|
||||||
|
.pa-article .pa-meta-dot { width: 3px; height: 3px; border-radius: 50%; background: var(--pa-text-3); }
|
||||||
|
|
||||||
|
/* ── Body / prose ── */
|
||||||
|
.pa-article .pa-body { padding: 0 48px 64px; }
|
||||||
|
.pa-article .pa-body p {
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 2;
|
||||||
|
color: var(--pa-text-2);
|
||||||
|
margin: 0 0 20px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-body strong { color: var(--pa-text); font-weight: 600; }
|
||||||
|
.pa-article .pa-body em { font-style: italic; color: var(--pa-accent); }
|
||||||
|
|
||||||
|
/* ── Lead ── */
|
||||||
|
.pa-article .pa-lead {
|
||||||
|
padding: 40px 0 48px;
|
||||||
|
border-bottom: 1px solid var(--pa-border-l);
|
||||||
|
margin-bottom: 48px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-lead p { font-size: 17px; line-height: 2; color: var(--pa-text-2); }
|
||||||
|
.pa-article .pa-lead strong { color: var(--pa-text); font-weight: 600; }
|
||||||
|
|
||||||
|
/* ── Section ── */
|
||||||
|
.pa-article .pa-section { margin-bottom: 64px; }
|
||||||
|
.pa-article .pa-sec-head {
|
||||||
|
display: flex;
|
||||||
|
align-items: baseline;
|
||||||
|
gap: 16px;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-num {
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--pa-accent);
|
||||||
|
font-family: 'Inter', monospace;
|
||||||
|
flex-shrink: 0;
|
||||||
|
min-width: 24px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-sec-head h2 {
|
||||||
|
font-family: 'Noto Serif SC', 'Songti SC', 'STSong', 'SimSun', Georgia, serif;
|
||||||
|
font-size: 22px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--pa-text);
|
||||||
|
line-height: 1.4;
|
||||||
|
letter-spacing: -0.3px;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Checkmark lists ── */
|
||||||
|
.pa-article .pa-body ul {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin: 16px 0;
|
||||||
|
}
|
||||||
|
.pa-article .pa-body ul li {
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 2;
|
||||||
|
color: var(--pa-text-2);
|
||||||
|
padding-left: 20px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.pa-article .pa-body ul li::before {
|
||||||
|
content: '\f00c';
|
||||||
|
font-family: 'Font Awesome 6 Free';
|
||||||
|
font-weight: 900;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 12px;
|
||||||
|
font-size: 10px;
|
||||||
|
color: var(--pa-accent);
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
.pa-article .pa-body ul li strong { color: var(--pa-text); }
|
||||||
|
|
||||||
|
/* ── Issues (pain points) ── */
|
||||||
|
.pa-article .pa-issues {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1px;
|
||||||
|
background: var(--pa-border-l);
|
||||||
|
border-radius: 12px;
|
||||||
|
overflow: hidden;
|
||||||
|
margin: 24px 0;
|
||||||
|
}
|
||||||
|
.pa-article .pa-issue {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
gap: 16px;
|
||||||
|
padding: 20px 24px;
|
||||||
|
background: var(--pa-surface);
|
||||||
|
}
|
||||||
|
.pa-article .pa-issue-dot {
|
||||||
|
width: 6px; height: 6px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: var(--pa-red);
|
||||||
|
margin-top: 10px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.pa-article .pa-issue-content h4 {
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: var(--pa-text);
|
||||||
|
margin: 0 0 4px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-issue-content p {
|
||||||
|
font-size: 13px;
|
||||||
|
color: var(--pa-text-3);
|
||||||
|
margin: 0;
|
||||||
|
line-height: 1.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Callout ── */
|
||||||
|
.pa-article .pa-callout {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
gap: 12px;
|
||||||
|
padding: 28px 32px;
|
||||||
|
border-left: 3px solid var(--pa-accent);
|
||||||
|
background: var(--pa-accent-muted);
|
||||||
|
border-radius: 0 12px 12px 0;
|
||||||
|
margin: 32px 0;
|
||||||
|
}
|
||||||
|
.pa-article .pa-callout > i {
|
||||||
|
color: var(--pa-accent);
|
||||||
|
font-size: 16px;
|
||||||
|
margin-top: 3px;
|
||||||
|
flex-shrink: 0;
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
.pa-article .pa-callout p {
|
||||||
|
font-size: 15px;
|
||||||
|
color: var(--pa-text);
|
||||||
|
font-weight: 500;
|
||||||
|
margin: 0;
|
||||||
|
line-height: 1.9;
|
||||||
|
}
|
||||||
|
.pa-article .pa-callout strong { color: var(--pa-accent); }
|
||||||
|
|
||||||
|
/* ── Compare ── */
|
||||||
|
.pa-article .pa-compare {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 16px;
|
||||||
|
margin: 28px 0;
|
||||||
|
}
|
||||||
|
.pa-article .pa-ccard { padding: 28px 24px; border-radius: 12px; border: 1px solid var(--pa-border); }
|
||||||
|
.pa-article .pa-ccard.old { border-color: #e8d8d8; background: #fefcfc; }
|
||||||
|
.pa-article .pa-ccard.new { border-color: #d8e8d8; background: #fcfefd; }
|
||||||
|
.pa-article .pa-ccard .pa-tag {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 5px;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 600;
|
||||||
|
letter-spacing: 1px;
|
||||||
|
padding: 3px 10px;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-ccard.old .pa-tag { background: #fde8e8; color: var(--pa-red); }
|
||||||
|
.pa-article .pa-ccard.new .pa-tag { background: #e0f5e9; color: var(--pa-green); }
|
||||||
|
.pa-article .pa-ccard h4 { font-size: 16px; font-weight: 600; color: var(--pa-text); margin: 0 0 6px; }
|
||||||
|
.pa-article .pa-ccard p { font-size: 13px; color: var(--pa-text-3); margin: 0; line-height: 1.6; }
|
||||||
|
|
||||||
|
/* ── Metrics ── */
|
||||||
|
.pa-article .pa-metrics {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
gap: 1px;
|
||||||
|
background: var(--pa-border-l);
|
||||||
|
border-radius: 12px;
|
||||||
|
overflow: hidden;
|
||||||
|
margin: 28px 0;
|
||||||
|
}
|
||||||
|
.pa-article .pa-metric { padding: 28px 20px; background: var(--pa-surface); text-align: center; }
|
||||||
|
.pa-article .pa-metric-value {
|
||||||
|
font-size: 36px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--pa-accent);
|
||||||
|
line-height: 1;
|
||||||
|
letter-spacing: -1px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-metric-unit { font-size: 14px; font-weight: 500; color: var(--pa-accent); opacity: 0.7; }
|
||||||
|
.pa-article .pa-metric-label { font-size: 12px; color: var(--pa-text-3); margin-top: 8px; letter-spacing: 0.5px; }
|
||||||
|
|
||||||
|
/* ── Schedule (timeline) ── */
|
||||||
|
.pa-article .pa-schedule { margin: 28px 0; }
|
||||||
|
.pa-article .pa-sitem { display: flex; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--pa-border-l); }
|
||||||
|
.pa-article .pa-sitem:last-child { border-bottom: none; }
|
||||||
|
.pa-article .pa-stime { min-width: 80px; flex-shrink: 0; }
|
||||||
|
.pa-article .pa-stime span { font-size: 12px; font-weight: 600; color: var(--pa-text-3); letter-spacing: 0.5px; }
|
||||||
|
.pa-article .pa-sbody h4 { font-size: 15px; font-weight: 600; color: var(--pa-text); margin: 0 0 6px; }
|
||||||
|
.pa-article .pa-sbody p { font-size: 13px; color: var(--pa-text-3); margin: 0; line-height: 1.7; }
|
||||||
|
.pa-article .pa-stags { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; }
|
||||||
|
.pa-article .pa-stag {
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 500;
|
||||||
|
padding: 3px 10px;
|
||||||
|
border-radius: 4px;
|
||||||
|
background: var(--pa-accent-soft);
|
||||||
|
color: var(--pa-accent);
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-stag i { font-size: 9px; }
|
||||||
|
|
||||||
|
/* ── Feature pills ── */
|
||||||
|
.pa-article .pa-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
|
||||||
|
.pa-article .pa-pill {
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 500;
|
||||||
|
padding: 6px 16px;
|
||||||
|
border-radius: 100px;
|
||||||
|
border: 1px solid var(--pa-border);
|
||||||
|
color: var(--pa-text-2);
|
||||||
|
background: var(--pa-surface);
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-pill i { font-size: 11px; color: var(--pa-accent); opacity: 0.6; }
|
||||||
|
|
||||||
|
/* ── Product spec ── */
|
||||||
|
.pa-article .pa-product { border: 1px solid var(--pa-border); border-radius: 16px; overflow: hidden; margin: 32px 0; }
|
||||||
|
.pa-article .pa-product-header { padding: 32px 32px 24px; border-bottom: 1px solid var(--pa-border); }
|
||||||
|
.pa-article .pa-chip {
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 11px;
|
||||||
|
font-weight: 600;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
color: var(--pa-accent);
|
||||||
|
background: var(--pa-accent-soft);
|
||||||
|
padding: 4px 12px;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-product-header h3 {
|
||||||
|
font-family: 'Noto Serif SC', 'Songti SC', 'STSong', 'SimSun', Georgia, serif;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--pa-text);
|
||||||
|
margin: 0 0 4px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-product-header .sub { font-size: 13px; color: var(--pa-text-3); margin: 0; }
|
||||||
|
.pa-article .pa-spec-table { display: grid; grid-template-columns: 1fr 1fr; }
|
||||||
|
.pa-article .pa-spec-cell { padding: 16px 32px; border-bottom: 1px solid var(--pa-border-l); border-right: 1px solid var(--pa-border-l); }
|
||||||
|
.pa-article .pa-spec-cell:nth-child(2n) { border-right: none; }
|
||||||
|
.pa-article .pa-spec-cell:nth-last-child(-n+2) { border-bottom: none; }
|
||||||
|
.pa-article .pa-spec-cell.full { grid-column: 1 / -1; border-right: none; }
|
||||||
|
.pa-article .pa-spec-cell .key {
|
||||||
|
font-size: 11px;
|
||||||
|
color: var(--pa-text-3);
|
||||||
|
letter-spacing: 0.5px;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
text-transform: uppercase;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 6px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-spec-cell .key i { font-size: 12px; color: var(--pa-accent); opacity: 0.5; }
|
||||||
|
.pa-article .pa-spec-cell .val { font-size: 14px; font-weight: 600; color: var(--pa-text); }
|
||||||
|
.pa-article .pa-spec-cell .val em { font-style: normal; color: var(--pa-accent); font-size: 18px; font-weight: 700; }
|
||||||
|
|
||||||
|
/* ── Platforms ── */
|
||||||
|
.pa-article .pa-platforms { display: flex; justify-content: center; flex-wrap: wrap; gap: 24px; padding: 24px 0; margin: 16px 0; }
|
||||||
|
.pa-article .pa-platform { text-align: center; }
|
||||||
|
.pa-article .pa-platform .icon { font-size: 24px; margin-bottom: 4px; }
|
||||||
|
.pa-article .pa-platform .name { font-size: 11px; color: var(--pa-text-3); letter-spacing: 0.5px; }
|
||||||
|
|
||||||
|
/* ── Direction table ── */
|
||||||
|
.pa-article .pa-dirtable { margin: 24px 0; border: 1px solid var(--pa-border); border-radius: 12px; overflow: hidden; }
|
||||||
|
.pa-article .pa-dir-row { display: grid; grid-template-columns: 140px 1fr 1fr; border-bottom: 1px solid var(--pa-border-l); }
|
||||||
|
.pa-article .pa-dir-row:last-child { border-bottom: none; }
|
||||||
|
.pa-article .pa-dir-row.pa-dir-head { background: var(--pa-bg); }
|
||||||
|
.pa-article .pa-dir-cell { padding: 14px 20px; font-size: 11px; font-weight: 600; color: var(--pa-text-3); letter-spacing: 1px; text-transform: uppercase; }
|
||||||
|
.pa-article .pa-dir-row:not(.pa-dir-head) .pa-dir-cell {
|
||||||
|
font-size: 13px;
|
||||||
|
text-transform: none;
|
||||||
|
letter-spacing: 0;
|
||||||
|
font-weight: 400;
|
||||||
|
color: var(--pa-text-2);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.pa-article .pa-dir-cell.brand { font-weight: 600 !important; color: var(--pa-text) !important; gap: 6px; }
|
||||||
|
.pa-article .pa-dir-cell.brand i { font-size: 12px; color: var(--pa-accent); opacity: 0.5; }
|
||||||
|
.pa-article .pa-dir-cell .accent { color: var(--pa-accent); font-weight: 500; }
|
||||||
|
|
||||||
|
/* ── Divider ── */
|
||||||
|
.pa-article .pa-sep { height: 1px; background: var(--pa-border); margin: 48px 0; }
|
||||||
|
|
||||||
|
/* ── CTA ── */
|
||||||
|
.pa-article .pa-cta { text-align: center; padding: 48px 0; margin-top: 48px; border-top: 1px solid var(--pa-border); }
|
||||||
|
.pa-article .pa-cta h3 {
|
||||||
|
font-family: 'Noto Serif SC', 'Songti SC', 'STSong', 'SimSun', Georgia, serif;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 700;
|
||||||
|
color: var(--pa-text);
|
||||||
|
margin: 0 0 8px;
|
||||||
|
}
|
||||||
|
.pa-article .pa-cta p { font-size: 14px; color: var(--pa-text-3); margin: 0 0 28px; }
|
||||||
|
.pa-article .pa-cta-group { display: flex; flex-direction: column; align-items: center; gap: 12px; }
|
||||||
|
.pa-article .pa-cta-link {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 8px;
|
||||||
|
padding: 14px 36px;
|
||||||
|
border-radius: 8px;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 600;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.2s;
|
||||||
|
}
|
||||||
|
.pa-article .pa-cta-link.primary { background: var(--pa-text); color: #fff; }
|
||||||
|
.pa-article .pa-cta-link.primary:hover { background: #333; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); }
|
||||||
|
.pa-article .pa-cta-link.ghost { background: transparent; color: var(--pa-text-2); border: 1px solid var(--pa-border); }
|
||||||
|
.pa-article .pa-cta-link.ghost:hover { border-color: var(--pa-text-3); color: var(--pa-text); }
|
||||||
|
|
||||||
|
/* ── Footer ── */
|
||||||
|
.pa-article .pa-footer { padding: 32px 48px; border-top: 1px solid var(--pa-border); text-align: center; }
|
||||||
|
.pa-article .pa-footer-brand { font-size: 14px; font-weight: 700; color: var(--pa-text); margin-bottom: 4px; }
|
||||||
|
.pa-article .pa-footer-info { font-size: 12px; color: var(--pa-text-3); line-height: 1.8; }
|
||||||
|
.pa-article .pa-footer-info a { color: var(--pa-accent); text-decoration: none; }
|
||||||
|
|
||||||
|
/* ── Responsive ── */
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
.pa-article .pa-hero { padding: 56px 24px 48px; }
|
||||||
|
.pa-article .pa-hero h1 { font-size: 26px; }
|
||||||
|
.pa-article .pa-meta { padding: 16px 24px; flex-wrap: wrap; }
|
||||||
|
.pa-article .pa-body { padding: 0 24px 48px; }
|
||||||
|
.pa-article .pa-footer { padding: 24px; }
|
||||||
|
.pa-article .pa-metrics { grid-template-columns: 1fr; }
|
||||||
|
.pa-article .pa-compare { grid-template-columns: 1fr; }
|
||||||
|
.pa-article .pa-dir-row { grid-template-columns: 100px 1fr 1fr; }
|
||||||
|
.pa-article .pa-dir-cell { padding: 10px 12px; }
|
||||||
|
.pa-article .pa-spec-table { grid-template-columns: 1fr; }
|
||||||
|
.pa-article .pa-spec-cell:nth-child(2n) { border-right: none; }
|
||||||
|
.pa-article .pa-spec-cell { border-bottom: 1px solid var(--pa-border-l); }
|
||||||
|
.pa-article .pa-spec-cell:last-child { border-bottom: none; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── 打印优化:卡片铺满、去阴影圆角,导出 PDF 干净 ── */
|
||||||
|
@media print {
|
||||||
|
.pa-article { max-width: 100%; margin: 0; border-radius: 0; box-shadow: none; }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class="pa-article">
|
||||||
|
|
||||||
|
<!-- Hero -->
|
||||||
|
|
||||||
|
<header class="pa-hero">
|
||||||
|
<div class="pa-hero-label">Phaten Audio · Insight</div>
|
||||||
|
<h1>你的游戏声卡为什么<br>做不出<span class="pa-mark">差异化</span>?</h1>
|
||||||
|
<p class="pa-hero-sub">AI降噪 + 真·7.1,一颗芯片定义你的产品竞争力</p>
|
||||||
|
</header>
|
||||||
|
<!-- more -->
|
||||||
|
<!-- Meta -->
|
||||||
|
<div class="pa-meta">
|
||||||
|
<div class="pa-avatar">P</div>
|
||||||
|
<span class="pa-meta-text"><strong>飞腾云音频</strong></span>
|
||||||
|
<span class="pa-meta-dot"></span>
|
||||||
|
<span class="pa-meta-text">XMOS官方授权增值分销商</span>
|
||||||
|
<span class="pa-meta-dot"></span>
|
||||||
|
<span class="pa-meta-text">2026</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Body -->
|
||||||
|
<div class="pa-body">
|
||||||
|
|
||||||
|
<!-- Lead -->
|
||||||
|
<div class="pa-lead">
|
||||||
|
<p>游戏声卡市场同质化严重,各家参数差不多,价格越卷越低。你凭什么让客户选你的产品?</p>
|
||||||
|
<p><strong>答案可能就差两个功能:AI降噪和真·7.1。</strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Section 01 -->
|
||||||
|
<div class="pa-section">
|
||||||
|
<div class="pa-sec-head">
|
||||||
|
<span class="pa-num">01</span>
|
||||||
|
<h2>AI很聪明,但它需要"听清你"</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>2026年,AI已经渗透到工作的方方面面。语音助手写邮件,AI会议纪要整理重点,语音转文字记录灵感——<strong>所有这些场景的核心入口,都是麦克风。</strong></p>
|
||||||
|
|
||||||
|
<p>但现实是,大多数人的麦克风输入质量,远没有达到AI的"及格线"。</p>
|
||||||
|
|
||||||
|
<div class="pa-issues">
|
||||||
|
<div class="pa-issue">
|
||||||
|
<div class="pa-issue-dot"></div>
|
||||||
|
<div class="pa-issue-content">
|
||||||
|
<h4>环境嘈杂,AI听不清</h4>
|
||||||
|
<p>键盘声、空调声、同事聊天声……背景噪声让语音识别准确率暴跌</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-issue">
|
||||||
|
<div class="pa-issue-dot"></div>
|
||||||
|
<div class="pa-issue-content">
|
||||||
|
<h4>内置声卡不够用</h4>
|
||||||
|
<p>笔记本自带音频方案信噪比低、时钟抖动大,喂不饱AI的"耳朵"</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-issue">
|
||||||
|
<div class="pa-issue-dot"></div>
|
||||||
|
<div class="pa-issue-content">
|
||||||
|
<h4>设备换来换去</h4>
|
||||||
|
<p>办公用麦克风,打游戏换声卡,桌面乱、体验割裂</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pa-callout">
|
||||||
|
<i class="fa-solid fa-lightbulb"></i><p>很多人的AI体验不好,不是AI不够聪明,是<strong>麦克风不够干净</strong>。AI时代,音频输入质量成了新的基础设施。</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pa-sep"></div>
|
||||||
|
|
||||||
|
<!-- Section 02 -->
|
||||||
|
<div class="pa-section">
|
||||||
|
<div class="pa-sec-head">
|
||||||
|
<span class="pa-num">02</span>
|
||||||
|
<h2>AI降噪:不是"过滤",是"理解"</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>传统降噪就像一个粗筛子——把某个频段以下的声音全部切掉。结果噪声确实小了,但你的声音也变闷了,AI识别率反而更低。</p>
|
||||||
|
|
||||||
|
<p><strong>AI DNR深度学习降噪</strong>,做的是完全不同的事:</p>
|
||||||
|
|
||||||
|
<div class="pa-compare">
|
||||||
|
<div class="pa-ccard old">
|
||||||
|
<div class="pa-tag"><i class="fa-solid fa-filter"></i> 传统降噪</div>
|
||||||
|
<h4>频段硬切</h4>
|
||||||
|
<p>粗筛过滤,噪声和人声一起被削弱</p>
|
||||||
|
</div>
|
||||||
|
<div class="pa-ccard new">
|
||||||
|
<div class="pa-tag"><i class="fa-solid fa-brain"></i> AI DNR</div>
|
||||||
|
<h4>深度学习识别</h4>
|
||||||
|
<p>理解人声与噪声的区别,只保留干净人声</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>它通过深度学习模型,<em>理解</em>什么是人声、什么是噪声。键盘敲击声、鼠标点击声、空调风扇声——全部精准消除。</p>
|
||||||
|
|
||||||
|
<div class="pa-metrics">
|
||||||
|
<div class="pa-metric">
|
||||||
|
<div class="pa-metric-value">50<span class="pa-metric-unit">ms</span></div>
|
||||||
|
<div class="pa-metric-label">超低延时</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-metric">
|
||||||
|
<div class="pa-metric-value">35<span class="pa-metric-unit">dB</span></div>
|
||||||
|
<div class="pa-metric-label">最大降噪深度</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-metric">
|
||||||
|
<div class="pa-metric-value">0<span class="pa-metric-unit">%</span></div>
|
||||||
|
<div class="pa-metric-label">人声损伤</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><strong>AI语音助手</strong> — 嘈杂环境也能准确识别每一句话</li>
|
||||||
|
<li><strong>AI会议纪要</strong> — 开放式办公室也能生成精准文字记录</li>
|
||||||
|
<li><strong>AI语音转文字</strong> — 不用再"大家安静一下,我要录音了"</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>AI降噪不仅仅是一个功能,它是<strong>AI语音交互的基础设施</strong>。</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pa-sep"></div>
|
||||||
|
|
||||||
|
<!-- Section 03 -->
|
||||||
|
<div class="pa-section">
|
||||||
|
<div class="pa-sec-head">
|
||||||
|
<span class="pa-num">03</span>
|
||||||
|
<h2>办公 + 娱乐,为什么不能是一个设备?</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>来看一个真实用户的一天:</p>
|
||||||
|
|
||||||
|
<div class="pa-schedule">
|
||||||
|
<div class="pa-sitem">
|
||||||
|
<div class="pa-stime"><span>上午 9:30</span></div>
|
||||||
|
<div class="pa-sbody">
|
||||||
|
<h4>用ChatGPT语音模式写周报</h4>
|
||||||
|
<p>边想边说,AI帮你整理成文档。但办公室很吵,AI老是听错——你需要一个能降噪的干净麦克风输入。</p>
|
||||||
|
<div class="pa-stags">
|
||||||
|
<span class="pa-stag"><i class="fa-solid fa-microphone"></i> 麦克风输入 · AI降噪</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-sitem">
|
||||||
|
<div class="pa-stime"><span>下午 2:00</span></div>
|
||||||
|
<div class="pa-sbody">
|
||||||
|
<h4>跨部门视频会议</h4>
|
||||||
|
<p>远程会议要听得清、说得清。麦克风需要降噪,耳机要清晰——双向音频都不能拉胯。</p>
|
||||||
|
<div class="pa-stags">
|
||||||
|
<span class="pa-stag"><i class="fa-solid fa-arrows-left-right"></i> 双向音频 · 降噪 + 清晰</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-sitem">
|
||||||
|
<div class="pa-stime"><span>晚上 8:00</span></div>
|
||||||
|
<div class="pa-sbody">
|
||||||
|
<h4>和朋友开黑打FPS</h4>
|
||||||
|
<p>需要听声辨位,知道敌人从哪个方向来;队友语音要清晰,不能全是键盘声。</p>
|
||||||
|
<div class="pa-stags">
|
||||||
|
<span class="pa-stag"><i class="fa-solid fa-headphones"></i> 真·7.1 · FPS增强</span>
|
||||||
|
<span class="pa-stag"><i class="fa-solid fa-microphone"></i> AI降噪通话</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pa-callout">
|
||||||
|
<i class="fa-solid fa-layer-group"></i><p>上午AI办公,下午视频会议,晚上游戏开黑。<strong>全程不换设备</strong>——核心是一个芯片同时搞定"输入 + 输出"双向音频处理。</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>输入侧,AI DNR降噪给AI和通话一个<em>干净的麦克风信号</em>;输出侧,SA真·7.1环绕声给娱乐一个<em>沉浸式音效体验</em>。同一个设备,两个方向都做到专业级。</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pa-sep"></div>
|
||||||
|
|
||||||
|
<!-- Section 04 -->
|
||||||
|
<div class="pa-section">
|
||||||
|
<div class="pa-sec-head">
|
||||||
|
<span class="pa-num">04</span>
|
||||||
|
<h2>真·7.1 + FPS增强:娱乐不是随便玩玩</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>说到游戏,真·7.1不是随便加个"环绕声"音效那么简单。</p>
|
||||||
|
|
||||||
|
<p><strong>SA真·7.1算法</strong>基于HRTF(头部相关传输函数),针对人耳听觉特征优化,把7.1声道通过算法合成为2声道输出。效果——<em>戴上普通耳机,也能获得360°全环绕声的空间感</em>。</p>
|
||||||
|
|
||||||
|
<p>在FPS游戏中:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><strong>精准定位</strong> — 脚步声从左后方传来,你能精准判断敌人位置</li>
|
||||||
|
<li><strong>距离感知</strong> — 枪声方向和距离,不再是模糊的"大概在那边"</li>
|
||||||
|
<li><strong>空间纵深</strong> — 室内回声、空间纵深都在耳朵里重建</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>还有<strong>FPS增强模式</strong>——专门强化脚步声和枪声等关键游戏音效,三种模式一键切换:</p>
|
||||||
|
|
||||||
|
<div class="pa-pills">
|
||||||
|
<span class="pa-pill"><i class="fa-solid fa-crosshairs"></i> FPS 增强模式</span>
|
||||||
|
<span class="pa-pill"><i class="fa-solid fa-headphones"></i> 7.1 模式</span>
|
||||||
|
<span class="pa-pill"><i class="fa-regular fa-circle"></i> 无音效模式</span>
|
||||||
|
<span class="pa-pill"><i class="fa-solid fa-brain"></i> AI 降噪开</span>
|
||||||
|
<span class="pa-pill"><i class="fa-solid fa-volume-xmark"></i> AI 降噪关</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>降噪模式独立可控,游戏里队友只听到你干净的人声。一颗按键,游戏中断操作零干扰。</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pa-sep"></div>
|
||||||
|
|
||||||
|
<!-- Section 05 -->
|
||||||
|
<div class="pa-section">
|
||||||
|
<div class="pa-sec-head">
|
||||||
|
<span class="pa-num">05</span>
|
||||||
|
<h2>A316-V71-Game-V1</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pa-product">
|
||||||
|
<div class="pa-product-header">
|
||||||
|
<div class="pa-chip"><i class="fa-solid fa-microchip"></i> PRODUCT</div>
|
||||||
|
<h3>A316-V71-Game-V1</h3>
|
||||||
|
<p class="sub"><i class="fa-solid fa-headphones"></i> 真·7.1游戏声卡评估板 · 基于 XMOS A316 平台</p>
|
||||||
|
</div>
|
||||||
|
<div class="pa-spec-table">
|
||||||
|
<div class="pa-spec-cell">
|
||||||
|
<div class="key">音频格式</div>
|
||||||
|
<div class="val">PCM 48KHz / 16bit</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-spec-cell">
|
||||||
|
<div class="key">真·7.1</div>
|
||||||
|
<div class="val">SA算法 · 360° 环绕</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-spec-cell">
|
||||||
|
<div class="key">AI降噪</div>
|
||||||
|
<div class="val"><em>35</em> dB · 50ms 延时</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-spec-cell">
|
||||||
|
<div class="key">接口</div>
|
||||||
|
<div class="val">UAC 1.0 · I²S</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-spec-cell">
|
||||||
|
<div class="key">尺寸</div>
|
||||||
|
<div class="val"><em>65</em> × <em>24</em> mm</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-spec-cell">
|
||||||
|
<div class="key">工作温度</div>
|
||||||
|
<div class="val">-20°C ~ 85°C</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-spec-cell full">
|
||||||
|
<div class="key">兼容平台</div>
|
||||||
|
<div class="val">Windows · Linux · Android · macOS · iOS · PS5 · SWITCH</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>65 × 24 mm——比一根口红还小。UAC 1.0 即插即用,全平台免驱动。</p>
|
||||||
|
|
||||||
|
<div class="pa-platforms">
|
||||||
|
<div class="pa-platform"><div class="icon"><i class="fa-brands fa-windows"></i></div><div class="name">Windows</div></div>
|
||||||
|
<div class="pa-platform"><div class="icon"><i class="fa-brands fa-apple"></i></div><div class="name">macOS</div></div>
|
||||||
|
<div class="pa-platform"><div class="icon"><i class="fa-brands fa-android"></i></div><div class="name">Android</div></div>
|
||||||
|
<div class="pa-platform"><div class="icon"><i class="fa-solid fa-mobile-screen"></i></div><div class="name">iOS</div></div>
|
||||||
|
<div class="pa-platform"><div class="icon"><i class="fa-solid fa-gamepad"></i></div><div class="name">PS5</div></div>
|
||||||
|
<div class="pa-platform"><div class="icon"><i class="fa-solid fa-gamepad"></i></div><div class="name">SWITCH</div></div>
|
||||||
|
<div class="pa-platform"><div class="icon"><i class="fa-brands fa-linux"></i></div><div class="name">Linux</div></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pa-sep"></div>
|
||||||
|
|
||||||
|
<!-- Section 06 -->
|
||||||
|
<div class="pa-section">
|
||||||
|
<div class="pa-sec-head">
|
||||||
|
<span class="pa-num">06</span>
|
||||||
|
<h2>同一颗芯片,不同的产品</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>这是最关键的一点:<strong>同一个A316-V71-Game-V1方案,厂商可以根据目标市场自定义产品方向。</strong>你的品牌想打什么定位,这颗芯片就跟什么方向走:</p>
|
||||||
|
|
||||||
|
<div class="pa-dirtable">
|
||||||
|
<div class="pa-dir-row pa-dir-head">
|
||||||
|
<div class="pa-dir-cell">品牌定位</div>
|
||||||
|
<div class="pa-dir-cell">重点功能</div>
|
||||||
|
<div class="pa-dir-cell">目标用户</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-dir-row">
|
||||||
|
<div class="pa-dir-cell brand"><i class="fa-solid fa-robot"></i> AI 办公设备</div>
|
||||||
|
<div class="pa-dir-cell"><span class="accent">AI 降噪麦克风输入</span></div>
|
||||||
|
<div class="pa-dir-cell">语音助手用户、远程办公</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-dir-row">
|
||||||
|
<div class="pa-dir-cell brand"><i class="fa-solid fa-gamepad"></i> 游戏外设</div>
|
||||||
|
<div class="pa-dir-cell"><span class="accent">真·7.1 + FPS增强</span></div>
|
||||||
|
<div class="pa-dir-cell">FPS玩家、电竞爱好者</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-dir-row">
|
||||||
|
<div class="pa-dir-cell brand"><i class="fa-solid fa-shuffle"></i> 全能型</div>
|
||||||
|
<div class="pa-dir-cell"><span class="accent">办公娱乐一体化</span></div>
|
||||||
|
<div class="pa-dir-cell">年轻白领、内容创作者</div>
|
||||||
|
</div>
|
||||||
|
<div class="pa-dir-row">
|
||||||
|
<div class="pa-dir-cell brand"><i class="fa-solid fa-video"></i> 会议设备</div>
|
||||||
|
<div class="pa-dir-cell"><span class="accent">AI降噪双向通话</span></div>
|
||||||
|
<div class="pa-dir-cell">企业客户、在线教育</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="pa-callout">
|
||||||
|
<i class="fa-solid fa-route"></i><p>选一个方向做到极致,或者全都要——<strong>方案已经准备好了,方向由你来定。</strong></p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>一颗芯片,多种产品形态:游戏耳机、游戏声卡、AI麦克风、桌面音频站、会议终端……你的想象力,就是产品的边界。</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- CTA -->
|
||||||
|
<div class="pa-cta">
|
||||||
|
<h3>开始你的下一个音频产品</h3>
|
||||||
|
<p>从评估板到量产,飞腾云提供完整技术支持</p>
|
||||||
|
<div class="pa-cta-group">
|
||||||
|
<a href="https://phaten-audio.com/zh/dev_doc/evb/a316_v71_game_v1/" class="pa-cta-link primary" target="_blank"><i class="fa-solid fa-arrow-right"></i> 了解产品详情</a>
|
||||||
|
<a href="https://phaten-audio.com/zh/dev_doc/evb/a316_v71_game_v1/" class="pa-cta-link ghost" target="_blank"><i class="fa-solid fa-comments"></i> 咨询定制方案</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Footer -->
|
||||||
|
<footer class="pa-footer">
|
||||||
|
<div class="pa-footer-brand">Phaten Audio 飞腾云音频</div>
|
||||||
|
<div class="pa-footer-info">
|
||||||
|
XMOS 官方授权增值分销商 (VAR)<br>
|
||||||
|
<a href="https://phaten-audio.com" target="_blank">phaten-audio.com</a> · <a href="https://www.xmos.com" target="_blank">xmos.com</a><br>
|
||||||
|
深圳市飞腾云科技有限公司 © 2026
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
</div>
|
||||||
@@ -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.ai(XMOS)多核架构的 **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 / 32bit;TDM 仅支持 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">
|
||||||
|
{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 工作于单一桥接模式,实现上位机 **USB(UAC)** 与外部 DSP **TDM256(Slave)** 之间的双向 16 通道音频互联: -->
|
||||||
|
|
||||||
|
| 模式编号 | 输入输出模式 | 说明 |
|
||||||
|
|:--------:|:------------------------|:------------------------|
|
||||||
|
| 1 | TDM256(Slave) in - USB out /<br/> USB in - TDM256(Slave) out | TDM256 输入(DSP)USB 输出(16 通道)/<br/> USB 输入(16 通道)TDM256 输出(DSP) |
|
||||||
|
|
||||||
|
### 2.2 各工作模式详细参数
|
||||||
|
|
||||||
|
#### 2.2.1 USB Audio 模式
|
||||||
|
|
||||||
|
**音频格式与采样率:**
|
||||||
|
|
||||||
|
| 音频格式 | 规格 |
|
||||||
|
|:---------|:-------------|
|
||||||
|
| **USB Audio** | USB Audio Class(UAC),多通道 |
|
||||||
|
| **采样率** | 48kHz(固定) |
|
||||||
|
| **位深** | 24bit / 32bit |
|
||||||
|
|
||||||
|
#### 2.2.2 TDM256 从模式(Slave)
|
||||||
|
|
||||||
|
**音频格式与采样率:**
|
||||||
|
|
||||||
|
| 音频格式 | 规格 |
|
||||||
|
|:---------|:-------------|
|
||||||
|
| **PCM / TDM** | TDM256,单数据线 8 通道 |
|
||||||
|
| **采样率** | 48kHz(固定) |
|
||||||
|
| **位深** | 32bit |
|
||||||
|
| **输入通道** | 16(2 × TDM256 输入线) |
|
||||||
|
| **输出通道** | 16(2 × TDM256 输出线) |
|
||||||
|
|
||||||
|
## 3、管脚配置和功能
|
||||||
|
|
||||||
|
### 3.1 模组管脚布局
|
||||||
|
|
||||||
|
<figure markdown="span">
|
||||||
|
{width=400}
|
||||||
|
<figcaption>图2: 数字调音台音频接口核心模组(A316-Mini-V1,LGA-52)管脚排列示意图</figcaption>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
### 3.2 模组管脚描述
|
||||||
|
|
||||||
|
模组采用 **A316-Mini-V1(SMT LGA-52,13×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">
|
||||||
|
{width=400}
|
||||||
|
<figcaption>图3: A316-Mini-V1封装图</figcaption>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
## 5、最小系统参考设计
|
||||||
|
|
||||||
|
<figure markdown="span">
|
||||||
|
{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>
|
||||||
@@ -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 0x80D3(V7.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 0x80D3(V7.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 0x80D3(V7.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 0x80D3(V7.1 空间音频专用设备)
|
||||||
|
|
||||||
|
1. GUI发送 SET_EX3D_CMD 命令 (0xB0),封装 CMD_SOUND_FIELD (0x84) 和目标模式值
|
||||||
|
2. 设备更新内部声场模式状态并返回响应
|
||||||
|
3. 如从 RPG Game 切换到 FPS Game/3A Game,GUI需重新读取 FPS 控制参数
|
||||||
|
|
||||||
|
#### 3.1.7 EX3D FPS 控制参数读取流程
|
||||||
|
**适用设备**: VID 0x20B1, PID 0x80D3(V7.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 "时序要求"
|
||||||
@@ -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直播麦克风核心模组,免开发固件 | 待发布 |
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user