Porta seriale

Porta seriale

Gli standard seriali prevedono diverse velocità operative e regolazioni del protocollo per tenere conto delle diverse condizioni operative. Le opzioni più note sono velocità, numero di bit di dati per carattere, parità e numero di bit di stop per carattere.

Nelle moderne porte seriali che utilizzano un circuito integrato UART, tutte queste impostazioni possono essere controllate dal software. L’hardware degli anni ‘ 80 e precedenti potrebbe richiedere l’impostazione di interruttori o ponticelli su un circuito stampato.,

La configurazione per porte seriali progettate per essere collegate a un PC è diventata uno standard de facto, di solito indicato come 9600/8-N-1.

SpeedEdit

Le porte seriali utilizzano la segnalazione a due livelli (binaria), quindi la velocità dei dati in bit al secondo è uguale alla velocità dei simboli in baud. Una serie standard di tariffe si basa su multipli delle tariffe per teleprinter elettromeccanici; alcune porte seriali consentono di selezionare molte tariffe arbitrarie, ma le velocità su entrambi i lati della connessione devono corrispondere, altrimenti i dati verranno ricevuti come incomprensibili.,

La possibilità di impostare un bit rate non implica che si verifichi una connessione funzionante. Non tutti i bit rate sono possibili con tutte le porte seriali. Alcuni protocolli speciali come MIDI per il controllo di strumenti musicali, utilizzano velocità di trasmissione dati seriali diverse dagli standard teleprinter. Alcune implementazioni della porta seriale possono scegliere automaticamente un bit rate osservando ciò che un dispositivo collegato sta inviando e sincronizzando ad esso.

La velocità totale include bit per framing (bit di stop, parità, ecc.) e così la velocità di trasmissione dati effettiva è inferiore alla velocità di trasmissione del bit., Ad esempio, con il framing di caratteri 8-N-1, solo l ‘ 80% dei bit è disponibile per i dati; per ogni otto bit di dati, vengono inviati altri due bit di framing.

Bit rate comunemente supportati includono 75, 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 e 115200 bit/s.

Oscillatori a cristallo con una frequenza di 1,843200 MHz sono venduti appositamente per questo scopo. Questo è 16 volte il bit rate più veloce, e il circuito della porta seriale può facilmente dividere questo fino a frequenze più basse come richiesto.,

Bit di datimodifica

Il numero di bit di dati in ogni carattere può essere 5 (per il codice Baudot), 6 (usato raramente), 7 (per il vero ASCII), 8 (per la maggior parte dei tipi di dati, poiché questa dimensione corrisponde alla dimensione di un byte) o 9 (usato raramente). 8 bit di dati sono quasi universalmente utilizzati nelle applicazioni più recenti. 5 o 7 bit hanno generalmente senso solo con apparecchiature più vecchie come i teleprinter.

La maggior parte dei progetti di comunicazione seriale invia prima i bit di dati all’interno di ciascun byte LSB (bit meno significativo). Questo standard è indicato anche come ” little endian.,”

Anche possibile, ma usato raramente, è” big endian ” o MSB (bit più significativo) prima; questo è stato usato, ad esempio, dal terminale di stampa IBM 2741.

L’ordine dei bit non è solitamente configurabile all’interno dell’interfaccia della porta seriale, ma è definito dal sistema host. Per comunicare con sistemi che richiedono un ordinamento di bit diverso da quello predefinito locale, il software locale può riordinare i bit all’interno di ciascun byte appena prima dell’invio e subito dopo la ricezione.

ParityEdit

Articolo principale: Parity bit

La parità è un metodo per rilevare errori nella trasmissione., Quando la parità viene utilizzata con una porta seriale, viene inviato un bit di dati aggiuntivo con ciascun carattere di dati, disposto in modo che il numero di 1 bit in ciascun carattere, incluso il bit di parità, sia sempre dispari o sempre pari. Se un byte viene ricevuto con il numero errato di 1s, allora deve essere stato danneggiato. Tuttavia, un numero pari di errori può superare il controllo di parità.

I telescriventi elettromeccanici sono stati disposti per stampare un carattere speciale quando i dati ricevuti contenevano un errore di parità, per consentire il rilevamento di messaggi danneggiati dal rumore di linea., Un singolo bit di parità non consente l’implementazione della correzione degli errori su ciascun carattere e i protocolli di comunicazione che funzionano su collegamenti dati seriali avranno meccanismi di livello superiore per garantire la validità dei dati e richiedere la ritrasmissione di dati ricevuti in modo errato.

Il bit di parità in ogni carattere può essere impostato su uno dei seguenti:

  • None (N) significa che non viene inviato alcun bit di parità.
  • Dispari (O) significa che il bit di parità è impostato in modo che il numero di “quelli logici” deve essere dispari.,
  • Anche (E) significa che il bit di parità è impostato in modo che il numero di “quelli logici” deve essere pari.
  • Mark (M) parity significa che il bit di parità è sempre impostato sulla condizione del segnale mark (logico 1).
  • Spazio (S) parità invia sempre il bit di parità nella condizione del segnale spazio (logico 0).

A parte le applicazioni non comuni che utilizzano l’ultimo bit (di solito il 9) per qualche forma di indirizzamento o segnalazione speciale, mark o space parity è raro, in quanto non aggiunge informazioni di rilevamento degli errori.,

La parità dispari è più utile della parità pari poiché assicura che almeno una transizione di stato si verifichi in ogni carattere, il che lo rende più affidabile nel rilevare errori come quelli che potrebbero essere causati da disallineamenti della velocità della porta seriale. L’impostazione di parità più comune, tuttavia, è “none”, con il rilevamento degli errori gestito da un protocollo di comunicazione.

Stop bitsEdit

I bit di stop inviati alla fine di ogni carattere consentono all’hardware del segnale ricevente di rilevare la fine di un carattere e di risincronizzarsi con il flusso di caratteri. I dispositivi elettronici di solito utilizzano un bit di arresto., Se si utilizzano teleprinter elettromeccanici lenti, sono necessari uno e mezzo o due bit di arresto.

Notazione convenzionaleedit

La notazione convenzionale data/parity/stop (D/P / S) specifica l’inquadramento di una connessione seriale. L’utilizzo più comune sui microcomputer è 8 / N / 1 (8N1). Questo specifica 8 bit di dati, nessuna parità, 1 bit di stop. In questa notazione, il bit di parità non è incluso nei bit di dati. 7/E / 1 (7E1) significa che un bit di parità pari viene aggiunto ai 7 bit di dati per un totale di 8 bit tra i bit di avvio e di arresto., Se un ricevitore di un flusso 7/E/1 si aspetta un flusso 8/N/1, metà dei byte possibili verrà interpretato come se avesse il bit alto impostato.

Controllo di flussodit

Il controllo di flusso viene utilizzato in circostanze in cui un trasmettitore potrebbe essere in grado di inviare dati più velocemente di quanto il ricevitore sia in grado di elaborarli. Per far fronte a questo, le linee seriali spesso incorporano un metodo di handshaking, solitamente distinto tra handshaking hardware e software.

handshaking hardware è fatto con segnali aggiuntivi, spesso i circuiti di segnale RS-232 RTS/CTS o DTR / DSR., Generalmente, RTS e CTS sono spenti e accesi da estremità alternative per controllare il flusso di dati, ad esempio quando un buffer è quasi pieno. DTR e DSR sono solitamente sempre accesi e, secondo lo standard RS-232 e i suoi successori, vengono utilizzati per segnalare da ciascuna estremità che l’altra apparecchiatura è effettivamente presente e alimentata. Tuttavia, i produttori hanno nel corso degli anni costruito molti dispositivi che implementavano variazioni non standard sullo standard, ad esempio stampanti che utilizzano DTR come controllo di flusso.,

handshaking software è fatto per esempio con caratteri di controllo ASCII XON / XOFF per controllare il flusso di dati. I caratteri XON e XOFF vengono inviati dal destinatario al mittente per controllare quando il mittente invierà i dati, ovvero questi caratteri vanno nella direzione opposta ai dati inviati. Il circuito inizia nello stato “invio consentito”. Quando i buffer del ricevitore si avvicinano alla capacità, il ricevitore invia il carattere XOFF per dire al mittente di interrompere l’invio dei dati., Successivamente, dopo che il ricevitore ha svuotato i suoi buffer, invia un carattere XON per dire al mittente di riprendere la trasmissione. È un esempio di segnalazione in banda, in cui le informazioni di controllo vengono inviate sullo stesso canale dei suoi dati.

Il vantaggio dell’handshaking hardware è che può essere estremamente veloce; non impone alcun significato particolare come ASCII sui dati trasferiti; ed è stateless. Il suo svantaggio è che richiede più hardware e cablaggio, e questi devono essere compatibili ad entrambe le estremità.,

Il vantaggio di handshaking software è che può essere fatto con circuiti handshaking hardware assenti o incompatibili e cablaggio. Lo svantaggio, comune a tutti i segnali di controllo in banda, è che introduce complessità nel garantire che a) i messaggi di controllo passino anche quando i messaggi di dati sono bloccati e b) i dati non possono mai essere scambiati per segnali di controllo., Il primo è normalmente gestito dal sistema operativo o dal driver di periferica; il secondo normalmente assicurando che i codici di controllo siano “sfuggiti” (come nel protocollo Kermit) o omessi dalla progettazione (come nel controllo del terminale ANSI).

Se non viene impiegato handshaking, un ricevitore overrun potrebbe semplicemente non ricevere dati dal trasmettitore. Gli approcci per prevenire ciò includono la riduzione della velocità della connessione in modo che il ricevitore possa sempre tenere il passo; l’aumento delle dimensioni dei buffer in modo che possa tenere il passo in media su un tempo più lungo; l’utilizzo di ritardi dopo operazioni che richiedono molto tempo (ad es., in termcap) o utilizzando un meccanismo per inviare nuovamente i dati che sono stati danneggiati (ad esempio TCP).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *