Refactor HubAudio architecture domains and add documentation tooling

This commit is contained in:
2026-08-01 23:34:38 +02:00
parent 30f2656c85
commit 145a651e2a
15 changed files with 1537 additions and 201 deletions
+31 -31
View File
@@ -10,7 +10,7 @@
The HubAudio audio architecture is based on a centralized digital audio
processing model.
The ADAU1467 is the core audio processor and manages:
The Audio Processor is the core audio processor and manages:
- digital audio routing
- DSP processing
@@ -18,7 +18,7 @@ The ADAU1467 is the core audio processor and manages:
- synchronization
- audio stream conversion
All digital audio streams are connected to the ADAU1467 through serial audio
All digital audio streams are connected to the Audio Processor through serial audio
interfaces.
The audio domain is independent from the system control domain.
@@ -26,7 +26,7 @@ The audio domain is independent from the system control domain.
CONTROL DOMAIN
ESP32-S3
System Controller
|
|
SPI
@@ -35,8 +35,8 @@ Configuration
AUDIO DOMAIN
ESP32-S3
Si4684
System Controller
Radio Receiver
BT RX
Optical Input
@@ -44,7 +44,7 @@ Optical Input
|
v
ADAU1467
Audio Processor
|
|
@@ -58,7 +58,7 @@ Optical Output
# 2. Audio Clock Master
The ADAU1467 is the master of the audio timing domain.
The Audio Processor is the master of the audio timing domain.
The generated audio clock consists of:
@@ -70,7 +70,7 @@ The generated audio clock consists of:
All external audio devices should operate as synchronized slaves whenever
supported.
ADAU1467
Audio Processor
AUDIO CLOCK MASTER
@@ -82,64 +82,64 @@ supported.
|
+------------+------------+
| | |
Si4684 BT RX CODEC
Radio Receiver BT RX CODEC
---
# 3. Input Audio Interfaces
The ADAU1467 provides multiple serial input ports.
The Audio Processor provides multiple serial input ports.
The HubAudio input allocation is:
| ADAU Port | Source | Description |
|-----------|--------|-------------|
| SDATA_IN0 | ESP32-S3 | Network audio stream |
| SDATA_IN1 | Si4684 | Radio receiver audio |
| SDATA_IN0 | System Controller | Network audio stream |
| SDATA_IN1 | Radio Receiver | Radio receiver audio |
| SDATA_IN2 | DECODEC | Optical digital input |
| SDATA_IN3 | Bluetooth RX | Wireless audio input |
## ESP32-S3 Audio Input
## System Controller Audio Input
The ESP32-S3 acts as a digital audio source.
The System Controller acts as a digital audio source.
Its role inside the Audio Domain is equivalent to any other audio source.
ESP32-S3
System Controller
I2S DATA OUT
|
|
v
ADAU1467 SDATA_IN0
Audio Processor SDATA_IN0
The ESP32-S3 does not control the audio timing.
The System Controller does not control the audio timing.
The timing is provided by the ADAU1467 clock domain.
The timing is provided by the Audio Processor clock domain.
---
## Si4684 Audio Input
## Radio Receiver Audio Input
The Si4684 provides decoded radio audio.
The Radio Receiver provides decoded radio audio.
Si4684
Radio Receiver
I2S DATA OUT
|
|
v
ADAU1467 SDATA_IN1
Audio Processor SDATA_IN1
The Si4684 is a peripheral of the audio domain.
The Radio Receiver is a peripheral of the audio domain.
It does not define the system audio clock.
@@ -166,7 +166,7 @@ I2S
|
|
ADAU1467 SDATA_IN2
Audio Processor SDATA_IN2
The decoder must support operation synchronized with the HubAudio clock
@@ -190,7 +190,7 @@ I2S
|
|
ADAU1467 SDATA_IN3
Audio Processor SDATA_IN3
The selected Bluetooth module must support external audio clock operation.
@@ -200,7 +200,7 @@ The selected Bluetooth module must support external audio clock operation.
# 4. Output Audio Interfaces
The ADAU1467 output allocation is:
The Audio Processor output allocation is:
| ADAU Port | Destination | Description |
|-----------|-------------|-------------|
@@ -213,7 +213,7 @@ The ADAU1467 output allocation is:
## Analog Audio Output
ADAU1467
Audio Processor
SDATA_OUT0
@@ -232,7 +232,7 @@ Analog Output
## Bluetooth Transmission Output
ADAU1467
Audio Processor
SDATA_OUT1
@@ -251,7 +251,7 @@ Wireless Audio
## Optical Digital Output
ADAU1467
Audio Processor
SDATA_OUT2
@@ -269,7 +269,7 @@ SPDIF Optical Output
# 5. I2S Versus TDM Strategy
The ADAU1467 supports multiple serial audio formats including:
The Audio Processor supports multiple serial audio formats including:
- I2S
- Left Justified
@@ -325,5 +325,5 @@ The architecture reserves:
- TDM expansion possibilities
The ADAU1467 remains the central audio routing element for future HubAudio
The Audio Processor remains the central audio routing element for future HubAudio
versions.