8.3 KiB
HubAudio — MCP23S17 GPIO Distribution
Progetto: HubAudio
Revisione: definitiva
Data: 2026-08-22
Distribuzione GPIO
| IC | PORTA | GPIO | Segnale | Direzione | Pull |
|---|---|---|---|---|---|
| U34 | A | GPA0 | SI4684_RESET |
OUT | UP |
| U34 | A | GPA1 | SI4684_SMODE |
OUT | - |
| U34 | A | GPA2 | SI4684_ANT_SEL |
OUT | - |
| U34 | A | GPA3 | SI4684_INT |
IN | - |
| U34 | A | GPA4 | ADAU1467_RESET |
OUT | UP |
| U34 | A | GPA5 | ADAU1467_SELFBOOT |
OUT/STRAP | UP |
| U34 | A | GPA6 | RESERVED |
— | - |
| U34 | A | GPA7 | MIC_SOURCE_SELECT |
OUT | - |
| U34 | B | GPB0 | MIC_DETECT |
IN | UP |
| U34 | B | GPB1 | LINE_IN_DETECT |
IN | UP |
| U34 | B | GPB2 | LINE_OUT_DETECT |
IN | UP |
| U34 | B | GPB3 | JACK_DETECT |
IN | UP |
| U34 | B | GPB4 | BQ25896_INT |
IN | UP |
| U34 | B | GPB5 | BQ25896_PG# |
IN | UP |
| U34 | B | GPB6 | BQ27441_GPOUT |
IN | UP |
| U34 | B | GPB7 | TPS63020_PG |
IN | UP |
| U36 | A | GPA0 | BT1035_RESET |
OUT | - |
| U36 | A | GPA1 | BT1035_SYSCTRL |
OUT | DOWN |
| U36 | A | GPA2 | UART_RESET |
OUT | UP |
| U36 | A | GPA3 | UART_INT |
IN | - |
| U36 | A | GPA4 | ETH_RST# |
OUT | UP |
| U36 | A | GPA5 | ANALOG_POWER_EN |
OUT | - |
| U36 | A | GPA6 | ETHERNET_POWER_EN |
OUT | - |
| U36 | A | GPA7 | BQ25896_PSEL |
OUT | - |
| U36 | B | GPB0 | INA228_ANALOG_ALERT |
IN | UP |
| U36 | B | GPB1 | INA228_DIGITAL_ALERT |
IN | UP |
| U36 | B | GPB2 | TEMP_PWR_ALERT |
IN | UP |
| U36 | B | GPB3 | TEMP_ESP32_ALERT |
IN | UP |
| U36 | B | GPB4 | TEMP_ETH_ALERT |
IN | UP |
| U36 | B | GPB5 | TEMP_CODEC_ALERT |
IN | UP |
| U36 | B | GPB6 | RESERVED |
— | - |
| U36 | B | GPB7 | RESERVED |
— | - |
Pull-up / Pull-down
Pull-UP
Le seguenti linee hanno pull-up esterno:
SI4684_RESETADAU1467_RESETADAU1467_SELFBOOTMIC_DETECTLINE_IN_DETECTLINE_OUT_DETECTJACK_DETECTBQ25896_INTBQ25896_PG#BQ27441_GPOUTTPS63020_PGUART_RESETETH_RST#INA228_ANALOG_ALERTINA228_DIGITAL_ALERTTEMP_PWR_ALERTTEMP_ESP32_ALERTTEMP_ETH_ALERTTEMP_CODEC_ALERT
Per le linee open-drain/status viene utilizzato come valore nominale:
10 kΩ
In particolare:
BQ27441_GPOUT→ 10 kΩTPS63020_PG→ 10 kΩINA228_ANALOG_ALERT→ 10 kΩINA228_DIGITAL_ALERT→ 10 kΩBQ25896_INT→ 10 kΩBQ25896_PG#→ 10 kΩTEMP_PWR_ALERT→ 10 kΩTEMP_ESP32_ALERT→ 10 kΩTEMP_ETH_ALERT→ 10 kΩTEMP_CODEC_ALERT→ 10 kΩ
Pull-DOWN
BT1035_SYSCTRL→ 10 kΩ verso GND
Nessun pull esterno
SI4684_SMODESI4684_ANT_SELSI4684_INTMIC_SOURCE_SELECTBT1035_RESETUART_INTANALOG_POWER_ENETHERNET_POWER_ENBQ25896_PSEL- tutti i GPIO
RESERVED
Sensori di temperatura
Sono previsti sensori di temperatura I²C basati su TMP117.
I sensori sono distribuiti fisicamente sulla scheda per monitorare le zone termicamente più significative:
| Sensore | Zona | Posizione |
|---|---|---|
TEMP_PWR |
Dominio alimentazione | BOTTOM, vicino ai dispositivi di alimentazione |
TEMP_ESP32 |
ESP32 | vicino all'ESP32 |
TEMP_ETH |
Ethernet / PHY | vicino al PHY Ethernet |
TEMP_CODEC |
Codec TAC5212 | vicino al codec |
I sensori condividono il bus I²C e vengono identificati tramite il relativo indirizzo ADDR.
Ogni sensore dispone di:
- alimentazione locale
- condensatore di bypass 100 nF
SDASCLADDRALERT
ALERT
L'uscita ALERT dei TMP117 viene utilizzata come segnalazione hardware verso il Device Manager:
TEMP_PWR_ALERT→ U36 GPB2TEMP_ESP32_ALERT→ U36 GPB3TEMP_ETH_ALERT→ U36 GPB4TEMP_CODEC_ALERT→ U36 GPB5
Le linee ALERT sono ingressi del MCP23S17 e utilizzano un pull-up esterno da 10 kΩ.
Il Device Manager può quindi ricevere immediatamente una segnalazione di superamento della soglia termica senza dover effettuare continuamente il polling dei sensori.
Note sui dispositivi
SI4684
SI4684_RESET è il reset active-low del dispositivo.
Il pull-up garantisce il rilascio del reset dopo la fase di power-up.
ADAU1467
ADAU1467_RESET è active-low.
ADAU1467_SELFBOOT deve essere HIGH per il self-boot dalla EEPROM.
TAC5212
Il codec XTAC5212IRGER è il TAC5212.
Non esiste un reset hardware dedicato da collegare al MCP23S17; il reset è gestito tramite la configurazione software del dispositivo.
U34 GPA6 = RESERVED.
BT1035
BT1035_RESET non necessita di pull-up esterno perché il modulo dispone del proprio pull-up interno.
BT1035_SYSCTRL richiede invece il pull-down esterno.
BQ27441
GPOUT è open-drain e il datasheet raccomanda esplicitamente una resistenza di pull-up da 10 kΩ.
TPS63020
PG è un'uscita open-drain. Il pull-up è quindi necessario quando il segnale viene utilizzato come ingresso digitale dal MCP23S17.
INA228
ALERT è la linea di alert del monitor e viene utilizzata come ingresso verso il MCP23S17; è prevista con pull-up esterno.
TMP117
Il TMP117 è utilizzato come sensore di temperatura locale.
La comunicazione avviene tramite I²C. Il pin ALERT viene utilizzato per generare una segnalazione hardware verso il Device Manager tramite U36.
Ogni sensore dispone di un proprio indirizzo I²C tramite il pin ADDR.
Regola generale
Ogni net deve avere una sola resistenza fisica di pull-up/pull-down.
Se una net viene condivisa da più dispositivi, non devono essere installate resistenze duplicate sui vari dispositivi.
Il pull-up interno del MCP23S17 non viene utilizzato come sostituto dei pull-up esterni delle linee di stato/open-drain.
Per le linee ALERT dei TMP117 viene mantenuto il pull-up esterno da 10 kΩ.
Distribuzione funzionale
U34 PORTA — Audio / Radio Control
| GPIO | Funzione |
|---|---|
| GPA0 | SI4684 RESET |
| GPA1 | SI4684 SMODE |
| GPA2 | SI4684 ANT SEL |
| GPA3 | SI4684 INT |
| GPA4 | ADAU1467 RESET |
| GPA5 | ADAU1467 SELFBOOT |
| GPA6 | RESERVED |
| GPA7 | MIC SOURCE SELECT |
U34 PORTB — Detection / Power Status
| GPIO | Funzione |
|---|---|
| GPB0 | MIC DETECT |
| GPB1 | LINE IN DETECT |
| GPB2 | LINE OUT DETECT |
| GPB3 | JACK DETECT |
| GPB4 | BQ25896 INT |
| GPB5 | BQ25896 PG# |
| GPB6 | BQ27441 GPOUT |
| GPB7 | TPS63020 PG |
U36 PORTA — BT / UART / Ethernet / Power
| GPIO | Funzione |
|---|---|
| GPA0 | BT1035 RESET |
| GPA1 | BT1035 SYSCTRL |
| GPA2 | UART RESET |
| GPA3 | UART INT |
| GPA4 | ETH RESET |
| GPA5 | ANALOG POWER EN |
| GPA6 | ETHERNET POWER EN |
| GPA7 | BQ25896 PSEL |
U36 PORTB — Power / Temperature Monitoring
| GPIO | Funzione |
|---|---|
| GPB0 | INA228 ANALOG ALERT |
| GPB1 | INA228 DIGITAL ALERT |
| GPB2 | TEMP PWR ALERT |
| GPB3 | TEMP ESP32 ALERT |
| GPB4 | TEMP ETH ALERT |
| GPB5 | TEMP CODEC ALERT |
| GPB6 | RESERVED |
| GPB7 | RESERVED |
Tabella resistenze da inserire nello schematico
| Net | Resistenza | Collegamento |
|---|---|---|
SI4684_RESET |
10 kΩ | VIO → RESET |
ADAU1467_RESET |
10 kΩ | IOVDD → RESET |
ADAU1467_SELFBOOT |
10 kΩ | IOVDD → SELFBOOT |
MIC_DETECT |
10 kΩ | VIO → DETECT |
LINE_IN_DETECT |
10 kΩ | VIO → DETECT |
LINE_OUT_DETECT |
10 kΩ | VIO → DETECT |
JACK_DETECT |
10 kΩ | VIO → DETECT |
BQ25896_INT |
10 kΩ | VIO → INT |
BQ25896_PG# |
10 kΩ | VIO → PG# |
BQ27441_GPOUT |
10 kΩ | VDD → GPOUT |
TPS63020_PG |
10 kΩ | VOUT/VIO → PG |
BT1035_SYSCTRL |
10 kΩ | SYSCTRL → GND |
UART_RESET |
10 kΩ | VIO → RESET |
ETH_RST# |
10 kΩ | VIO → RESET# |
INA228_ANALOG_ALERT |
10 kΩ | VIO → ALERT |
INA228_DIGITAL_ALERT |
10 kΩ | VIO → ALERT |
TEMP_PWR_ALERT |
10 kΩ | VIO → ALERT |
TEMP_ESP32_ALERT |
10 kΩ | VIO → ALERT |
TEMP_ETH_ALERT |
10 kΩ | VIO → ALERT |
TEMP_CODEC_ALERT |
10 kΩ | VIO → ALERT |
Stato
U34: assegnazione completa.
U36: assegnazione completa.
TAC5212: nessun GPIO dedicato al reset.
BT1035_RESET: nessun pull esterno.
BT1035_SYSCTRL: 10 kΩ pull-down.
Linee open-drain/status: pull-up 10 kΩ.
TMP117: 4 sensori I²C distribuiti nelle zone termicamente significative.
TMP117 ALERT: collegati al Device Manager tramite U36 GPB2–GPB5.
U34 GPA6: RESERVED.
U36 GPB6–GPB7: RESERVED.
INTB U34/U36: non collegati intenzionalmente.