In questa serie di articoli, stiamo esaminando alcuni dei diversi tipi di Protocolli di Comunicazione Seriale disponibili per il trasferimento di dati tra dispositivi. Gli articoli copriranno alcuni dei protocolli e degli standard più popolari in uso oggi, e alla fine di questa serie, faremo un riepilogo e un confronto dei vantaggi e degli svantaggi di ciascuno. Speriamo che queste informazioni si rivelino preziose la prossima volta che avrete bisogno di implementare un bus di comunicazione seriale nel vostro progetto, aiutandovi a selezionare l'opzione più appropriata per il vostro circuito.
In questo articolo, esamineremo lo standard del protocollo legacy RS-232.
RS-232, che sta per Recommended Standard 232, è uno standard di protocollo per dispositivi elettronici utilizzato per le trasmissioni di dati tra dispositivi elettronici creato nel 1960. In un certo periodo, RS-232 era il formato di trasmissione dati più comunemente utilizzato ed era principalmente implementato utilizzando una connessione standard a 9 pin D-sub (DB-9). Questo standard è ancora spesso utilizzato oggi in vari dispositivi elettronici, inclusi computer, automazione e dispositivi medici.
Classico Cavo DB-9, Fonte dell'immagine: https://www.digikey.co.uk/product-detail/en/assmann-wsw-components/AK131-2/AE1379-ND/930165
L'RS-232 utilizza una tensione positiva per la trasmissione di un segnale di livello logico basso (0) e una tensione negativa per la trasmissione di un segnale di livello logico alto (1).
Esempio di segnali RS-232
Tensione |
Valore Logico |
---|---|
-18v a -5v |
1 |
-5v a +5v |
(indefinito) |
+5v a +18v |
0 |
Il principio di comunicazione delle comunicazioni RS-232 è semplice. Il dispositivo mittente memorizza i dati nel suo buffer e poi invia i dati attraverso il cavo (o la traccia del PCB), e il ricevitore poi memorizza questi dati nel suo buffer. Quindi, il ricevitore può leggere i dati memorizzati nel buffer.
Per evitare di inviare informazioni quando non c'è un ricevitore connesso, si utilizzano i pin DTR (Data Transmit Ready) e DSR (Data Set Ready). Quando questi pin sono connessi, e la tensione corretta è impostata su questi dal ricevitore, allora il dispositivo mittente saprà che il ricevitore è connesso e pronto.
Se il mittente trasmette i dati troppo velocemente e il ricevitore non riesce a leggere i dati dal suo buffer abbastanza velocemente, il buffer andrà in overflow e i dati andranno persi. Sono stati aggiunti altri due pin al mittente e uno al ricevitore per prevenire questa situazione. Dal lato del mittente, il pin è etichettato RTS (Request to send), e dal lato del ricevitore, è etichettato CTS (Clear to send). Il ricevitore informa il mittente quando il suo buffer è pieno abbassando la tensione di questo pin. Questo indica al mittente di non inviare altre informazioni fino a quando il ricevitore non è pronto. Questo è noto come controllo di flusso hardware.
Ci sono anche altri due pin disponibili per applicazioni di telefonia che ora sono largamente ridondanti. Uno è il DCD (Data Carrier Detect), che indica a un modem che un segnale analogico viene ricevuto, e l'altro è il RI (Ring Indicator) che indica che un telefono sta squillando. Questi sono praticamente inutilizzati oggi.
L'ultima connessione è SG o Signal Ground, che è il riferimento di tensione di terra per i dispositivi che comunicano.
Ci sono due tipi di dispositivi di comunicazione RS-232: DTE (Data Terminal Equipment) e DCE (Data Communication Equipment). Esempi di DTE includono un computer, PLC o altri dispositivi di invio comandi. Esempi di DCE sono un modem, una fotocamera, una stampante e attrezzature per l'automazione generale.
Due dispositivi DTE o due dispositivi DCE non possono trasmettere informazioni l'uno all'altro. Deve essere presente un DTE che invia comandi per stabilire comunicazioni tra dispositivi e un DCE per eseguire questi comandi.
RS-232 può anche essere utilizzato per comunicare tra computer utilizzando modem, come mostrato di seguito:
In alternativa, è possibile utilizzare il cablaggio Null Modem, che elimina la necessità di un modem
Tuttavia, per eliminare la necessità dei cavi DSR e RTS, i pacchetti di dati dal lato ricevente devono essere inviati per indicare quando i dati possono essere inviati e quando non possono. I pacchetti sono impostati su XON per suggerire che i dati possono essere inviati e XOFF per suggerire che i dati non possono essere inviati. Questo è noto come controllo di flusso software.
Il principale svantaggio nell'utilizzo di RS-232 è che le sue comunicazioni sono relativamente lente rispetto ad altri protocolli di comunicazione seriale. Può raggiungere in modo affidabile velocità fino a 128 kbps in molte applicazioni. L'altro inconveniente è che la lunghezza massima del cavo su cui può lavorare in modo affidabile è di soli 15 metri. La resistenza dei cavi e i loop di tensione diventano un problema su cavi di lunghezza maggiore.
Sebbene RS-232 non sia ora comunemente utilizzato nei nuovi dispositivi a causa degli altri protocolli di comunicazione più moderni disponibili, spesso si trovano dispositivi più vecchi. Detto ciò, anche le schede madri dei computer più attuali e di alta tecnologia hanno tipicamente un'intestazione della porta COM, che espone RS-232 se ne hai bisogno. C'è ancora una notevole quantità di attrezzature sul campo di oltre 10 anni, inclusi dispositivi come stampanti, apparecchiature per l'automazione industriale, ecc., che richiedono programmazione e manutenzione poiché vengono utilizzate. Per questo, RS-232 è essenziale. Fortunatamente, ci sono molti convertitori come RS-232 a USB, il che significa che possiamo ancora comunicare facilmente con questi dispositivi.
Questo articolo ha esaminato alcune caratteristiche standard del protocollo legacy RS-232 e ha discusso alcuni dei suoi vantaggi e dettagli implementativi. Nel prossimo articolo, esamineremo alcuni dei protocolli di comunicazione seriale alternativi disponibili. Ti sei perso qualcosa? Dai un'occhiata agli articoli precedenti di questa serie: Protocolli di Comunicazione Seriale - Introduzione e Protocolli di Comunicazione Seriale - Parte Due: UART.
Vuoi scoprire di più su come Altium Designer® può aiutarti con il tuo prossimo design di PCB? Parla con un esperto di Altium.