7.2 KiB
7.2 KiB
title, description, keywords
| title | description | keywords |
|---|---|---|
| XMOS EQ UART Control Protocol and Command Set | UART serial communication protocol specification for EQ parameter configuration and control, covering frame format, command set, and field descriptions, applicable to XU316 and related products. | EQ, UART, Serial Protocol, Communication Protocol, Command Set, XU316, Zero-Code Firmware, Phaten Audio |
XMOS EQ UART Control Protocol and Command Set
--8<-- "common/phaten_xmos_support_img.md"
1. Protocol Foundation Specification
1.1 Underlying Communication Protocol
Based on UART (Universal Asynchronous Receiver/Transmitter) protocol.
| Parameter | Value |
|---|---|
| Baud Rate | 115200 bps |
| Data Bits | 8 |
| Parity | None |
| Stop Bits | 1 |
| Flow Control | None |
1.2 Frame Format and Data Transmission
General Frame Format All commands and responses follow this frame format:
| Field | Byte Count | Description |
|---|---|---|
| Frame Header | 2 | Fixed as 0x55 0xAA |
| Version | 1 | Protocol version number (typically 0x00) |
| Command | 1 | Indicates frame function (e.g., 0x30) |
| Data Length | 1 | Length N of subsequent data |
| Data | N | Specific data content |
| Checksum | 1 | Sum of all bytes from frame header, modulo 256 (Sum % 256) |
Data Transmission Notes
- Byte Order: All multi-byte data is transmitted in Little Endian mode (Note: Different from XU316 standard protocol's big endian, please refer to this protocol).
- Floating Point: Follows IEEE 754 float format.
2. Protocol Command Set
2.1 Command Classification Overview
| Command | Command Description | Direction | Function |
|---|---|---|---|
| 0x30 | SET_EQ_MODE | Host→Device | Switch current EQ mode |
| 0x31 | GET_EQ_MODE | Host→Device | Get current EQ mode information (mode number, gain, name) |
| 0x32 | SET_MODE_GAIN_AND_NAME | Host→Device | Set overall gain and name for specified mode |
| 0x33 | SET_EQ_PARAMS | Host→Device | Send single filter parameters (Freq, Q, Gain, etc.) |
| 0x34 | GET_EQ_PARAMS | Host→Device | Read single filter parameters |
| 0x35 | RESET_EQ_PARAMS | Host→Device | Reset EQ parameters (restore presets) |
3. Basic Function Command Details
3.1 Switch EQ Mode (0x30)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| Frame Header | 2 | 0x55 0xAA |
Fixed frame header |
| Version | 1 | 0x00 |
Protocol version |
| Command | 1 | 0x30 |
Command code |
| Length | 1 | 0x01 |
Data length |
| Data | 1 | Mode |
Mode value 0-5: Preset modes 6-8: User modes 9: Bypass |
| Checksum | 1 | Sum |
Checksum |
Device Processing
- Directly sets the currently running EQ mode.
- Does not involve parameter transmission or calculation.
3.2 Get Current EQ Mode Information (0x31)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| Frame Header | 2 | 0x55 0xAA |
Fixed frame header |
| Version | 1 | 0x00 |
Protocol version |
| Command | 1 | 0x31 |
Command code |
| Length | 1 | 0x00 |
No data |
| Checksum | 1 | Sum |
Checksum |
Device Returns (Response)
| Byte Position | Length | Content | Description |
|---|---|---|---|
| Frame Header | 2 | 0x55 0xAA |
Fixed frame header |
| Version | 1 | 0x00 |
Protocol version |
| Command | 1 | 0x31 |
Command code |
| Length | 1 | 0x15 |
Data length (21 bytes) |
| Data | 1 | Mode |
Current mode value |
| 4 | Gain |
Overall gain (int32, little endian, range 0~-50dB) | |
| 16 | Name |
Mode name (UTF-8 string) | |
| Checksum | 1 | Sum |
Checksum |
3.3 Set Mode Overall Gain and Name (0x32)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| Frame Header | 2 | 0x55 0xAA |
Fixed frame header |
| Version | 1 | 0x00 |
Protocol version |
| Command | 1 | 0x32 |
Command code |
| Length | 1 | 0x15 |
Data length (21 bytes) |
| Data | 1 | Mode |
Target mode value (0-9) |
| 4 | Gain |
Overall gain (int32, little endian) | |
| 16 | Name |
Mode name (UTF-8 string) | |
| Checksum | 1 | Sum |
Checksum |
Device Processing
- Sets gain and name for specified mode, automatically applied to all sample rates.
3.4 Send EQ Parameters (0x33)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| Frame Header | 2 | 0x55 0xAA |
Fixed frame header |
| Version | 1 | 0x00 |
Protocol version |
| Command | 1 | 0x33 |
Command code |
| Length | 1 | 0x15 |
Data length (21 bytes) |
| Data | 1 | Mode |
Mode value (0-9) |
| 1 | Band |
Filter index (0-7) | |
| 1 | Type |
Filter type (see table below) | |
| 4 | Freq |
Center frequency Hz (float, little endian) | |
| 4 | Q |
Q value (float, little endian) | |
| 4 | BW |
Bandwidth Hz (float, little endian) | |
| 4 | Gain |
Gain dB (float, little endian) | |
| Checksum | 1 | Sum |
Checksum |
Filter Type Codes
| Code | Type | Code | Type |
|---|---|---|---|
| 0x00 | Bypass | 0x06 | Band Reject |
| 0x01 | All Pass | 0x07 | Notch |
| 0x02 | Peak | 0x08 | Constant Q |
| 0x03 | Low Pass | 0x09 | Low Shelf |
| 0x04 | High Pass | 0x0A | High Shelf |
| 0x05 | Band Pass |
3.5 Read EQ Parameters (0x34)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| Frame Header | 2 | 0x55 0xAA |
Fixed frame header |
| Version | 1 | 0x00 |
Protocol version |
| Command | 1 | 0x34 |
Command code |
| Length | 1 | 0x02 |
Data length |
| Data | 1 | Mode |
Mode value (0-9) |
| 1 | Band |
Filter index (0-7) | |
| Checksum | 1 | Sum |
Checksum |
Device Returns (Response)
| Byte Position | Length | Content | Description |
|---|---|---|---|
| Frame Header | 2 | 0x55 0xAA |
Fixed frame header |
| Version | 1 | 0x00 |
Protocol version |
| Command | 1 | 0x34 |
Command code |
| Length | 1 | 0x15 |
Data length (21 bytes) |
| Data | 1 | Mode |
Mode value |
| 1 | Band |
Filter index | |
| 1 | Type |
Filter type | |
| 4 | Freq |
Center frequency (float, little endian) | |
| 4 | Q |
Q value (float, little endian) | |
| 4 | BW |
Bandwidth (float, little endian) | |
| 4 | Gain |
Gain (float, little endian) | |
| Checksum | 1 | Sum |
Checksum |
3.6 Reset EQ Parameters (0x35)
Host Sends
| Byte Position | Length | Content | Description |
|---|---|---|---|
| Frame Header | 2 | 0x55 0xAA |
Fixed frame header |
| Version | 1 | 0x00 |
Protocol version |
| Command | 1 | 0x35 |
Command code |
| Length | 1 | 0x01 |
Data length |
| Data | 1 | Mode |
Mode number (0-9)0xFF indicates reset all modes |
| Checksum | 1 | Sum |
Checksum |
Device Returns (Response)
| Byte Position | Length | Content | Description |
|---|---|---|---|
| Frame Header | 2 | 0x55 0xAA |
Fixed frame header |
| Version | 1 | 0x00 |
Protocol version |
| Command | 1 | 0x35 |
Command code |
| Length | 1 | 0x01 |
Data length |
| Data | 1 | Status |
Status code (0x00=success, 0x01=failure) |
| Checksum | 1 | Sum |
Checksum |
Consultation and Feedback
Click to expand consultation and feedback form
--8<-- "common/customer_form.md"