Files
HubAudio/docs/architecture/HubAudio-SPI-Architecture.md
T

294 lines
3.9 KiB
Markdown

# HubAudio SPI Control Architecture
- Status: Draft
- Date: 2026-08-01
- Document Type: Architecture Specification
# 1. Overview
The HubAudio system separates the control communication layer from the audio
signal layer.
SPI is used exclusively for:
- device configuration
- initialization
- status monitoring
- firmware loading procedures
- parameter management
SPI is not used for real-time audio transport.
The control architecture is based on independent SPI domains.
CONTROL PLANE
System Controller
System Controller
|
|
SPI Control Bus
+-----------+-----------+
| |
Audio Processor Radio Receiver
Audio Processor Radio Receiver
---
# 2. System Controller Control Domain
The System Controller is the system supervisor.
Its responsibilities are:
- system startup
- peripheral initialization
- configuration management
- communication with external devices
- firmware update coordination
The System Controller owns the main control SPI interface.
System Controller
SPI MASTER
|
+---------+---------+
| |
Audio Processor Radio Receiver
SPI SLAVE SPI SLAVE
The control bus is independent from all audio data paths.
---
# 3. Audio Processor SPI Domain
The Audio Processor contains its own SPI interface for external control.
The System Controller uses this interface for:
- DSP configuration
- parameter updates
- operational control
- status reading
The Audio Processor also manages its external program memory.
Audio Processor
+----------------------+
|
| SPI MASTER
|
v
Audio EEPROM
DSP Program Memory
The System Controller does not directly access the EEPROM during normal operation.
The Audio Processor is responsible for loading its DSP configuration.
---
# 4. Radio Receiver SPI Domain
The Radio Receiver is controlled by the System Controller through its SPI slave interface.
The System Controller manages:
- initialization sequence
- command exchange
- configuration
- firmware loading procedure
System Controller
SPI MASTER
|
Radio Receiver
|
Internal Firmware Management
|
Internal RAM
The Radio Receiver remains responsible for its internal operational memory.
---
# 5. SPI Bus Isolation Principle
The HubAudio architecture intentionally avoids a single shared SPI bus.
The design uses:
System Controller
+-------------+
| |
SPI-A SPI-B
| |
Audio Processor Radio Receiver
Advantages:
- no chip-select conflicts
- independent timing
- reduced electrical loading
- easier firmware management
- simpler debugging
---
# 6. Boot Sequence
The expected startup sequence is:
Power ON
|
System Controller boot
|
Initialize SPI buses
|
Configure Audio Processor
|
+--> ADAU loads DSP program from Audio EEPROM
|
Configure Radio Receiver
|
+--> Firmware initialization
|
Enable Audio Domain
|
Audio Processor starts audio processing
---
# 7. Separation Between Domains
## Control Domain
System Controller
|
|
SPI
|
Peripheral configuration
## Audio Domain
Audio Sources
|
|
I2S
|
Audio Processor
|
Audio Outputs
The two domains interact only through configuration and status information.
---
# 8. Design Rules
SPI signals require:
- controlled routing
- clean reference plane
- appropriate termination where required
- separation from high-speed clock signals
Critical signals:
- SCLK
- MOSI
- MISO
- CS
---
# 9. Design Philosophy
The System Controller is the system coordinator.
The Audio Processor is the audio processor.
The Radio Receiver is a specialized audio peripheral.
Each component controls its own functional domain while remaining part of the
complete HubAudio system.