USB anziché RS232


13

RS232 non è popolare come una volta ed è principalmente sostituito da USB [ wikipedia ]. Problemi come quelli menzionati in questa domanda non aiutano neanche la sua reputazione.

In un nuovo design di sistema, quindi, si potrebbe pensare di utilizzare USB anziché la porta seriale per la comunicazione. Tuttavia, sembra ancora che RS232 sia il protocollo di comunicazione seriale / porta di scelta.

Perché? Capisco che cambiare i vecchi macchinari che funzionano con RS232 è costoso, ma cosa impedisce ai nuovi progettisti di sistemi di utilizzare USB anziché RS232?

Risposte:


12

Almeno a livello di microcontrollore:

  1. Le porte seriali (di solito TTL o LVTTL) sono ancora il modo più comune di comunicare, poiché la maggior parte dei microcontrollori semplici non ha un controller USB.

    Ad esempio: la maggior parte dei microcontrollori AVR o PIC a 8 bit non dispone di USB, alcuni microcontrollori ARM a 32 bit lo fanno, ma di solito hanno tutti porte seriali.

  2. La conversione dalla comunicazione seriale TTL / LVTTL a RS-232 richiede una conversione di livello logico "semplice", che può essere eseguita con circuiti integrati molto economici (MAX232 / MAX3232)

  3. La conversione dalla comunicazione seriale TTL / LVTTL a USB quando il microcontrollore non dispone di un controller USB di solito richiede l'uso di un IC leggermente più costoso (FTDI) che non ha opzioni di imballaggio a foro passante, solo montaggio superficiale.

  4. Vi sono alcuni dettagli relativi al protocollo a cui bisogna prestare attenzione quando si utilizzano i dispositivi USB in generale, come l'attuale livello che può richiedere all'host USB. Con le porte seriali, devi preoccuparti solo di 3-5 parametri fissi che devono essere coerenti nel tuo sistema (baudrate, numero di bit di stop, parità, ecc.).


9

Semplicità, immagino. Un'implementazione USB (chip e software del driver) è in genere più complessa del buon vecchio RS232, che può anche essere trovato in molti microcontrollori a 8 bit. Mentre USB ha molti meccanismi di protocollo ed è progettato per gestire molti partecipanti su un bus, una connessione RS232 non ha nulla di tutto ciò. Invece, è la forma "più grezza" possibile di inviare byte su un filo.

Sebbene Arduino e la crescente diffusione di adattatori da USB a seriale mostrino la promessa che l'USB diventerà alla fine dominante come una volta era RS232.


5

Penso che il motivo principale per cui RS232 è rimasto in giro sia la semplicità nell'implementazione di casi d'uso comuni nell'hardware incorporato, come l'invio di una sequenza di byte ASCII tra due dispositivi per il controllo. I casi d'uso per l'invio di informazioni alle velocità molto più elevate disponibili con USB non valgono il compromesso in termini di complessità causati dall'implementazione della segnalazione del protocollo USB .

Mentre compaiono i requisiti per velocità più elevate, non sarei sorpreso se RS-485 diventasse più comune con la sua interfaccia fisica molto semplice e velocità di dati elevate (fino a 10 Mb / s).


4
  • Semplicità per i progettisti di hardware e facile utilizzo per i programmatori
  • Affidabilità
  • Ben noto e supportato in molti sistemi

Specialmente in robotica quando abbiamo costretto a usare USB invece di RS232 (i nostri nuovi PC non avevano porte RS232). Abbiamo affrontato molti problemi:

  1. Qualsiasi disconnessione della presa USB richiede così tanti sforzi per ripristinare il sistema. A volte porta a un cattivo errore di sistema e abbiamo dovuto riavviare i PC.

  2. Qualsiasi scossa o pericolo lo rendono scollegato.

  3. Troppo tempo di programmazione


2

La latenza della comunicazione è un altro motivo per cui USB1.1 o USB2.0 non è sempre un buon sostituto di RS232. I dati sul bus USB 1.1 o USB 2.0 sono formattati rispettivamente in frame da 1 ms o 125us, il che forza la ricezione minima a trasmettere una latenza pari a due periodi di frame (spesso più in pratica). Questa è una considerazione importante per l'hardware PC moderno, che di solito non ha una porta RS232 integrata e al suo posto viene utilizzato il convertitore USB / RS232.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.