diff --git a/en/docs/dev_doc/faq/technical_faq/a316_firmware_dev_faq.md b/en/docs/dev_doc/faq/technical_faq/a316_firmware_dev_faq.md
index 5a0e345..25ad8e8 100644
--- a/en/docs/dev_doc/faq/technical_faq/a316_firmware_dev_faq.md
+++ b/en/docs/dev_doc/faq/technical_faq/a316_firmware_dev_faq.md
@@ -1,7 +1,7 @@
---
title: A316 Series Product Firmware Development FAQ
-description: This document provides common questions and solutions encountered during A316 series product firmware development, including XU316 communication issues, device power supply problems, etc., helping developers quickly resolve development challenges.
-keywords: A316 firmware development, XU316 communication issues, USB device power supply, firmware development FAQ, device recognition issues
+description: This document summarizes frequently asked questions and solutions for A316 series firmware development and integration, including XU316 serial communication, device recognition, protocol commands, mode switching, audio output debugging, and driver-related issues.
+keywords: A316 firmware development, XU316, serial communication, protocol commands, mode switching, audio output, driver issues, device recognition, XMOS
---
--8<-- "common/phaten_xmos_support_img.md"
@@ -47,6 +47,26 @@ keywords: A316 firmware development, XU316 communication issues, USB device powe
+### Q2: XMOS-A316 module occasionally sends command 0x00
+
+
+
+=== "Problem Symptoms"
+ - The module occasionally sends command 0x00 via UART
+
+=== "Problem Analysis"
+ 1. Unstable power supply
+ - Power issues may cause the module to reboot
+ 2. Abnormal reboot mechanism
+ - The module only sends 0x00 in two situations:
+ - During power-on startup (sent 4 times)
+ - After reboot triggered by switching to an unsupported input/output mode
+
+=== "Solutions"
+ - Check the stability of the power rails supplied to the module on the baseboard
+
+
+
## Device Recognition Issues
### Q1: Device is recognized and plays normally on PC, but mobile phone cannot recognize device
@@ -74,13 +94,470 @@ keywords: A316 firmware development, XU316 communication issues, USB device powe
-## Contact and Feedback
+## Protocol and Command Interaction
+
+### Q1: Notes for initialization commands 0x00~0x05
+
+
+
+=== "Communication Principles"
+ - Follow the principle of “every receive must have a response”.
+ - After the module actively sends a command, it must receive a reply from the MCU before it continues sending subsequent commands.
+
+=== "Command 0x00 Details"
+ - **Trigger**: Sent after module power-up
+ - **Frequency**: Sent 4 times continuously, with a 300ms interval
+ - **MCU Response**: The MCU must reply before the 4 transmissions complete; otherwise the module treats startup as failed and enters default mode
+
+
+
+### Q2: How to modify device information (command 0x01)
+
+
+
+=== "Instructions"
+ - Send the command strictly according to the protocol document format.
+ - It is recommended to use the official UART protocol test script to test and generate commands.
+ - The script includes a device information input function and can be used as a reference.
+
+
+
+### Q3: Why command 0x20 is not received after startup
+
+
+
+=== "Explanation"
+ - Command 0x20 is not used in the current firmware, so it will not be sent.
+
+
+
+### Q4: Why command 0x22 is sent automatically
+
+
+
+=== "Description"
+ - **Purpose**: Returns current audio stream format
+ - **Trigger mechanism**:
+ - Auto-sent within 1 second after a successful startup when there is no operation
+ - Auto-sent within 1 second after switching input/output modes
+
+
+
+## Mode Switching and Audio Control
+
+### Q1: Notes for switching input/output mode (command 0x23)
+
+
+
+=== "Notes"
+ 1. **Confirm firmware support**
+ - Confirm the firmware supports the target mode before sending (refer to firmware description or test script)
+ - Sending an unsupported mode may reboot the module
+ 2. **Handshake flow**
+ - MCU sends 0x23 (switch mode) to module
+ - Module returns 0x23 and then sends 0x04 (request confirmation)
+ - MCU replies with 0x04 (confirm mode) -> **The mode value must match**
+ - Module sends 0x05 (mode switch completed)
+
+
+
+### Q2: No sound or no data output after switching mode
+
+
+
+=== "Troubleshooting Steps"
+ 1. **Check communication**
+ - Confirm the module returns the expected commands and the switch succeeds
+ 2. **Check hardware**
+ - Refer to firmware description and verify pin connections for the selected input/output mode (e.g., I2S/DSD pins)
+
+
+
+### Q3: Muting or intermittent output during mode switching
+
+
+
+=== "Root Causes"
+ - The MCU repeatedly sends switching commands because it does not receive replies
+ - Signal instability during switching
+
+=== "Recommended Solution"
+ - Pull Mute pin low before switching (mute)
+ - Pull Mute pin high after confirming switch success (resume output)
+
+
+
+### Q4: Volume control command 0x21 is ineffective
+
+
+
+=== "Control Logic"
+ - **0x21 purpose**: Controls the system volume on the PC side (via HID)
+ - **Flow**:
+ 1. MCU sends 0x21 -> module
+ 2. Module -> PC (HID volume adjustment)
+ 3. PC volume change -> module
+ 4. Module sends 0x24 -> MCU
+ 5. MCU adjusts the actual DAC/amp volume after receiving 0x24 callback
+ - **Conclusion**: You cannot directly use 0x21 to control DAC volume; you must handle the 0x24 callback.
+
+
+
+## Other Feature Inquiries
+
+### Q1: Does the firmware support MQA
+
+
+
+=== "Description"
+ - **Supported**: Firmware with suffix "Q" (e.g., `xxxx_Q.bin`)
+ - **Not supported**: Firmware without suffix "Q"
+
+
+
+### Q2: Does the module use internal clock or external clock
+
+
+
+=== "Description"
+ - **Default**: Uses internal clock
+ - **Switch**: Can switch to external clock via command 0x26
+ - **Limitation**: Under SPDIF-IN mode, only internal clock can be used
+
+
+
+## Audio Output Issues
+
+### Q1: No audio output after connecting I2S/DSD data pins
+
+
+
+=== "Troubleshooting Steps"
+ 1. **Confirm pin definitions**
+ - Pin locations for DATA0/1/2, BCLK, LRCLK may differ across modes (USB-I2S, SPDIF-IN, ADAT, etc.)
+ - Refer to the firmware description on the website to confirm pin mapping
+ 2. **Check I2S format**
+ - Confirm I2S format (I2S, left-justified, or right-justified)
+ - Verify it matches the DAC chip requirements
+ 3. **Confirm MCLK connection**
+ - Some DACs require MCLK to work properly
+ - Check whether MCLK signal is connected
+ 4. **Measure waveforms**
+ - Use an oscilloscope to check if BCLK/LRCLK/DATA lines have valid output
+
+
+
+### Q2: No audio or intermittent audio for SPDIF input (optical/coaxial)
+
+
+
+=== "Troubleshooting Steps"
+ 1. **Clock limitation**
+ - SPDIF-IN mode can only use internal clock
+ - Do not send 0x26 to switch to external clock
+ 2. **Check receiver circuit**
+ - Verify optical receiver head or coaxial receiver circuit is working
+ - Check signal quality
+ 3. **Confirm mode matching**
+ - The mode value in 0x23 must match a SPDIF mode supported by the firmware
+ 4. **Check signal quality**
+ - Poor SPDIF signal quality may cause decode failure
+ - Try different cables or check connector contacts
+
+
+
+### Q3: POP noise during mode switching
+
+
+
+=== "Solutions"
+ 1. **Use MUTE pin control**
+ - Pull MUTE pin low before switching
+ - Pull it high after switching is completed and confirmed
+ 2. **Configure power-on mute time**
+ - Use command 0x02 to configure an appropriate mute time (0-65535ms)
+ - Give the DAC enough time to stabilize
+ 3. **DAC-side mute coordination**
+ - MCU also controls DAC mute pin
+ - Provides dual mute protection
+ 4. **Check power sequencing**
+ - Ensure DAC power is stable before unmuting
+
+
+
+### Q4: How to connect and switch external clock (MCLK) correctly
+
+
+
+=== "Key Points"
+ 1. **Confirm clock frequency**
+ - 22.5792MHz for 44.1kHz family
+ - 24.576MHz for 48kHz family
+ 2. **Switch timing**
+ - Complete clock switching before audio streaming starts
+ - Use command 0x26 to switch
+ 3. **SPDIF-IN limitation**
+ - SPDIF input mode can only use internal clock
+ - External clock switching is not allowed
+ 4. **Clock quality**
+ - External clock jitter directly affects sound quality
+ - Use a low-jitter oscillator
+
+
+
+### Q5: Stuttering or POP noise when switching sampling rates
+
+
+
+=== "Solutions"
+ 1. **Use ASRC**
+ - Some firmware supports ASRC (Asynchronous Sample Rate Conversion)
+ - It can smooth transitions between sampling rates
+ 2. **PLL lock time**
+ - PLL needs time to lock after sampling rate changes
+ - The XU316 will mute automatically during this period, which is normal
+ 3. **DAC reset**
+ - Some DACs require reset when the sampling rate changes
+ - Re-initialize the DAC after switching
+ 4. **Buffer settings**
+ - Increasing audio buffer can reduce stuttering
+ - But it also increases latency
+
+
+
+### Q6: Noise / high noise floor output — how to troubleshoot EMC/EMI issues
+
+
+
+=== "Checklist"
+ 1. **Power isolation**
+ - Separate digital and analog power supplies
+ - Use LDOs for audio circuits
+ 2. **Grounding design**
+ - Use single-point grounding to avoid ground loops
+ - Connect digital ground and analog ground at one point
+ 3. **I2S routing**
+ - Route I2S signals with length matching
+ - Keep away from high-speed digital signals (USB, SPI)
+ - Add ground shielding if needed
+ 4. **Shielding**
+ - Shield sensitive analog signals
+ - Add shielding can and ground for optical receiver when needed
+ 5. **Oscillator placement**
+ - Place MCLK oscillator close to XU316 and DAC
+ - Reduce clock trace length
+
+
+
+## Audio Format Support
+
+### Q1: What to note when playing MQA audio
+
+
+
+=== "Notes"
+ 1. **Select correct firmware**
+ - MQA requires Q-suffixed firmware (e.g., `XXX_Q.bin`)
+ - Non-Q firmware does not support MQA decoding
+ 2. **MQA renderer**
+ - XU316 acts as an MQA Renderer
+ - Use with an MQA Core Decoder (e.g., Tidal software decoding)
+ 3. **Software support**
+ - Player software must support MQA (Tidal, Audirvana, etc.)
+ 4. **Licensing**
+ - MQA firmware involves licensing; use authorized firmware
+ - Unlicensed builds may reboot automatically
+
+
+
+### Q2: No sound or noise when playing DSD audio
+
+
+
+=== "Troubleshooting Steps"
+ 1. **Confirm firmware support**
+ - Check if the firmware name includes DSD support indicators
+ 2. **Check DSD mode**
+ - Confirm whether it is Native DSD or DoP (DSD over PCM)
+ - Transmission differs between the two
+ 3. **Check I2S data wiring**
+ - DSD usually uses DATA0 or DATA1
+ - Pins may differ from PCM mode
+ 4. **Confirm DAC support**
+ - Ensure DAC chip supports DSD decoding
+ - Ensure DAC is configured to DSD mode properly
+
+
+
+## Protocol Command Details
+
+### Q1: How to parse and use command 0x22 audio stream format report
+
+
+
+=== "Instructions"
+ 1. **Trigger**
+ - Auto-sent 1 second after successful startup
+ - Also auto-sent 1 second after switching input/output modes
+ 2. **Parsing**
+ - Parse sample rate, bit depth, and audio format (PCM/DSD/DoP) according to firmware specification
+ 3. **Display usage**
+ - Used for UI display, e.g., "PCM 96kHz/24bit" or "DSD64"
+ 4. **Related command**
+ - After obtaining audio format, you can use 0x28 to set audio delay time
+
+
+
+### Q2: Value range of command 0x24 volume and DAC mapping
+
+
+
+=== "Instructions"
+ 1. **Volume range**
+ - Typically 0-100 or 0-255
+ - Refer to firmware specification for exact range
+ 2. **Log mapping**
+ - Human loudness perception is logarithmic
+ - Map linear values to a log curve before controlling the DAC
+ 3. **Left/right channel handling**
+ - Ensure left/right volume consistency
+ - Some DACs require separate channel volume settings
+ 4. **Difference from 0x21**
+ - 0x21: MCU -> XU316 -> PC (send direction)
+ - 0x24: PC -> XU316 -> MCU (receive direction)
+
+
+
+### Q3: What is command 0x29 USB connection status detection used for
+
+
+
+=== "Usage"
+ - Used to display USB connection status on a screen
+ - Improves user experience
+
+
+
+### Q4: How to configure and use recording (Microphone) feature
+
+
+
+=== "Configuration"
+ - Not all firmware supports microphone recording
+ - Check firmware description to confirm whether it is supported
+
+
+
+## Driver Issues
+
+### Q1: Device cannot be correctly recognized after flashing different configuration firmware
+
+
+
+=== "Problem Symptoms"
+ - During development/debugging, after flashing firmware with different configuration/channel counts
+ - The device cannot correctly recognize the current configuration
+
+=== "Cause"
+ - After changing recording channel count, the Windows cache becomes inconsistent with actual configuration
+
+=== "Solution"
+ 1. Open Device Manager
+ 2. Under audio devices, uninstall the recognized audio device
+ 3. Also remove the driver, then reinstall the driver
+ 4. Replug the device and confirm it is recognized correctly
+
+
+
+## Secondary Development Common Questions
+
+The following content is summarized from common XMOS FAQs and is organized from the perspective of secondary development and hardware integration developers.
+
+### Interfaces and Modes
+
+#### Q1: Can I2S input be Master and output be Slave (reverse)?
+
+
+
+=== "Answer"
+ - **No**
+ - Input: I2S Slave
+ - Output: I2S Master
+ - Mode 6 is also: I2S(slave) in -> I2S(master) out
+ - Secondary development must follow this clock relationship, otherwise there will be no audio
+
+
+
+#### Q2: How to switch between S/PDIF input 1 and 2?
+
+
+
+=== "Answer"
+ - Distinguished by mode number:
+ - Mode 3 = SPDIF1 input
+ - Mode 4 = SPDIF2 input
+ - Switching is done via UART configuration or host tools, not automatic detection
+
+
+
+### Clock and Sample Rate Conversion
+
+#### Q1: With 768kHz / DSD512 support, can macOS/Windows run it directly?
+
+
+
+=== "Answer"
+ - **Windows**: Requires official USB driver + UAC2.0
+ - **macOS**: Native driver-free UAC2.0, can run up to 768kHz directly
+ - **DSD512**: Requires player support for DoP or Native DSD
+ - The limitation is usually in OS and player, not the module itself
+
+
+
+#### Q2: How many channels can multichannel output support?
+
+
+
+=== "Answer"
+ - Standard multichannel USB Audio 2.0 architecture
+ - Typically within 2–8 channels (refer to module manual)
+ - Secondary development can follow UAC2.0 channel mapping
+
+
+
+### Hardware Integration
+
+#### Q1: The module size is 19.5×26×0.8mm. Is it through-pin or SMD?
+
+
+
+=== "Answer"
+ - It is an ultra-thin module
+ - Board-to-board or pad-solder integration, not a pin-header module
+ - Secondary development requires matching PCB footprint
+
+
+
+#### Q2: Power supply is 3.0–3.6V (typ. 3.3V). Can it be powered directly by 5V?
+
+
+
+=== "Answer"
+ - **No**
+ - It must be 3.3V with a low-noise LDO
+ - Otherwise it will affect THD+N
+
+
+
+## 咨询反馈
+
-Click to expand contact and feedback form
+点击展开咨询反馈表单
--8<-- "common/customer_form.md"
+