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

3.9 KiB

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.