Hello, Guest!
 
 

 
 
  Objects Tiiips Categories
Signetics SCN2681
"Descrizione"
by Radar (1854 pt)
2026-Jan-29 15:38

Signetics  SCN2681AC1N40

Definizione

Un DUART (dual asynchronous receiver/transmitter) è un circuito integrato che integra due canali UART indipendenti, ciascuno full-duplex, per gestire comunicazioni seriali asincrone (stile RS-232/TTL) con minore carico per la CPU rispetto a soluzioni discrete. Un DUART “tipo Signetics/Philips SCN2681” combina, nello stesso chip, due ricevitori/trasmettitori programmabili, una sezione di clocking (oscillatore + selezione clock), un baud rate generator, un counter/timer programmabile e logiche di interrupt e I/O ausiliari.

Cosa offre rispetto a una singola UART

Un dispositivo come lo SCN2681 è pensato per sistemi che devono gestire due linee seriali in modo robusto e flessibile, con queste caratteristiche tipiche:

  • Due canali indipendenti (canale A e canale B), con formato dati programmabile (bit dati, parità, stop) e velocità impostabili in modo separato per Tx e Rx.

  • Buffering del ricevitore: il ricevitore è quadruple-buffered per ridurre il rischio di overrun e abbassare l’overhead di interrupt/polling.

  • Gestione velocità: selezione di baud rate da un set di valori fissi (fino a 115.2 kbaud nelle specifiche della famiglia) oppure tramite clock derivati da timer/counter o ingressi esterni.

  • Contatore/timer programmabile a 16 bit: utile come base tempi, generatore di velocità non standard o generatore di onda quadra (a seconda della configurazione).

  • Porte ausiliarie: tipicamente una porta di input multiuso (es. 7 bit) e una porta di output multiuso (es. 8 bit) impiegabili come GPIO o come segnali “special function” (interrupt output, handshake, clock, status).

  • Flow control: possibilità di controllo di flusso per ridurre la perdita di dati quando i buffer del ricevitore sono pieni (tipicamente tramite linee stile RTS/CTS o funzioni equivalenti programmabili).

Modello di programmazione (registri e flusso driver)

La programmazione è in stile “registri per canale”, con blocchi tipici:

  • Mode registers (es. MR1/MR2): definiscono formato (5–8 bit, parità, stop, modalità speciali).

  • Clock select (CSR): seleziona la sorgente di clock/baud per Tx e Rx del canale.

  • Command register (CR): abilita/disabilita Tx/Rx, resetta errori, controlla break e funzioni operative.

  • Status register (SR): segnala Tx ready, Rx ready, errori (parità, framing, overrun) e condizioni buffer (es. “fifo full”).

  • THR/RHR: registro di trasmissione (holding) e registro di ricezione (holding), attraverso cui la CPU scrive i byte da inviare e legge i byte ricevuti.

Operativamente, un driver tipico: configura canale A e B, imposta baud e formato, abilita interrupt di ricezione, poi gestisce I/O con interrupt (o polling) leggendo RHR quando RxRDY è attivo e scrivendo THR quando TxRDY è attivo.

Clocking, baud rate e timer/counter

Un DUART di questa classe può lavorare con un cristallo o clock esterno, usando un baud rate generator interno e un counter/timer per generare velocità standard o non standard. La separazione tra sorgente clock e selettori per canale permette casi “dual-speed”, dove i due canali (o Tx/Rx dello stesso canale) operano a velocità diverse.

Schizzo dei collegamenti più importanti 

┌───────────────────────────┐ │ CPU / MCU │ │ D[7..0] A[ ] /RD /WR │ │ /CS /IRQ (bus I/O) │ └──────────────┬────────────┘ │ ▼ ┌──────────────────┐ │ DUART SCN2681 │ │ Ch.A: RxA/TxA │───►/◄── Line driver (TTL↔RS-232) ─► seriale A │ Ch.B: RxB/TxB │───►/◄── Line driver (TTL↔RS-232) ─► seriale B │ Baud gen + C/T │ │ IP[ ] / OP[ ] │───► GPIO / handshake / status └───────┬──────────┘ │ Xtal/clk in

Note pratiche: tra DUART e RS-232 “vera” serve quasi sempre un line driver/receiver (es. MAX232-class). In logica TTL/CMOS diretta (embedded) si può collegare Rx/Tx direttamente a livelli compatibili.

Tabella 1 – Dati di identificazione e specifiche (italiano)

CaratteristicaValore indicativo
DispositivoSCN2681 (famiglia DUART Signetics/Philips)
Funzione2× UART asincrone full-duplex in un solo chip
Buffer RxRicevitore quadruple-buffered
Formato dati5–8 bit, parità configurabile, stop configurabile
Baud rateSelezione da set di baud fissi + sorgenti da timer/counter o clock esterno
Timer/counter16-bit programmabile, impiegabile anche per clock/onda quadra (secondo modalità)
I/O ausiliariPorta input multiuso (tipicamente 7 bit) + porta output multiuso (tipicamente 8 bit)
InterfacciaBus µP (registri canale A/B, status/command/data), IRQ


Tabella 2 – Registri e segnali “chiave” per integrazione (italiano)

ElementoUso pratico
MR1/MR2Impostazione formato (bit dati/parità/stop) e modalità operative
CSRSelezione clock/baud per Tx e Rx del canale
CREnable/disable Tx/Rx, comandi operativi (reset errori, break, ecc.)
SRStato Tx/Rx (ready), errori di linea, condizioni buffer
THR / RHRScrittura byte in trasmissione / lettura byte in ricezione
IRQInterruzioni (RxRDY, TxRDY, errori, eventi timer/porta)
Rx/TxLinee seriali verso livello TTL o verso transceiver RS-232
IP[ ] / OP[ ]GPIO o funzioni assegnabili (handshake, status, interrupt out, clock in, ecc.)

Evaluate