Perché Molte Interruzioni dei Microprocessori Sono Attive-Basso — Storia e Pratica Moderna
Non più una Regola Universale
I primi microprocessori (8080, 6800, Z80) favorivano le interruzioni attive-basso; i moderni microcontrollori (ARM Cortex-M, RISC-V, PIC, AVR) supportano entrambe le polarità, spesso configurabili via software.
Ragioni Storiche per l'Attivo-Basso
- Caratteristiche logica TTL: le uscite TTL assorbono corrente fortemente (basso) ma erogano debolmente (alto). Un bus di interruzione wired-OR con resistenza di pull-up funziona naturalmente con driver open-collector attivi-basso.
- Semplice pull-up: una resistenza tiene la linea alta (inattiva); qualsiasi dispositivo tira basso per richiedere servizio.
- Antirimbalzo interruttori: interruttori meccanici verso terra danno bordi attivi-basso puliti con una pull-up.
- Immunità al rumore: lo stato guidato-basso a bassa impedenza resiste meglio all'accoppiamento capacitivo rispetto all'alto ad alta impedenza.
Perché l'Attivo-Alto è Ora Comune
- Simmetria CMOS: stessa capacità di erogazione alto/basso; nessuna pull-up necessaria per l'attivo-alto.
- Flessibilità: più facile OR/AND di sorgenti a polarità mista nei controllori di interruzione programmabili (NVIC, GIC, PLIC).
- Sensibile a livello vs sensibile a bordo: i controllori moderni dissociano polarità dal tipo di trigger.
Consigli Pratici
- Controlla il datasheet specifico per ogni periferica/CPU.
- Configura la polarità di interruzione nei registri del controllore di interruzione/vettore.
- A livello di scheda: abbina il driver (open-drain vs push-pull) alla polarità scelta.
L'attivo-basso è una convenzione legacy, non una necessità tecnica oggi.