in Questo articolo vi spieghiamo i seguenti argomenti nel dettaglio:
1) Fase 1: Capire Collegamento RS232 e Segnali
2) Fase 2: conoscere il Protocollo
3) Fase 3: Controllare i vostri dispositivi RS232 utilizzando 232Analyzer
Dopo la lettura di questa pagina, si dovrebbe essere in grado di comprendere la maggior parte dell’hardware e del software (protocol) standard RS232., Se hai la possibilità di testare i tuoi dispositivi RS232 con il software 232Analyzer, dovresti essere in grado di controllare i tuoi dispositivi RS232 in un breve periodo di tempo.
Passo 1: Capire la connessione RS232& Segnali
RS-232C, EIA RS-232, o semplicemente RS-232, si riferisce allo stesso standard definito dalla Electronic Industries Association nel 1969 per la comunicazione seriale.
DTE e DCE
DTE sta per Apparecchiature terminali dati. Un computer è un DTE. DCE sta per apparecchiature di comunicazione dati. Un modem è un DCE.,
DTE viene normalmente fornito con un connettore maschio, mentre DCE viene fornito con un connettore femmina. Tuttavia, questo non è sempre vero. Usa il modo semplice qui sotto per confermare: Misurare il Pin 3 e il Pin 5 di un connettore DB – 9 con un voltmetro, se ottieni una tensione da-3V a -15V, allora è un dispositivo DTE. Se la tensione è sul Pin 2, allora è un dispositivo DCE.
Nota: Il risultato per un connettore DB-25 è invertito (fare riferimento alla tabella di conversione da DB-9 a DB-25 di seguito).
RS-232 Pin outs (DB-9)
Un maschio DB-9 connettore visto dalla parte anteriore., Vista inversa o posteriore del connettore maschio per connettore femmina.,div>7
RS-232 Connections
A straight-through cable is used to connect a DTE (e.,g. computer) a un DCE (ad esempio modem), tutti i segnali in un lato collegati ai segnali corrispondenti nell’altro lato in una base uno a uno. Un crossover (null-modem) cavo viene utilizzato per collegare due DTE direttamente, senza un modem in mezzo., Attraversano la trasmissione e la ricezione dei segnali dati tra i due lati e ci sono molte variazioni su come gli altri segnali di controllo sono collegate, sotto è uno di loro:
i Segnali RS-232
Il grafico qui sopra illustra una tipica RS-232 logica della forma d’onda (formato dei Dati: 1 bit di Start, 8 bit di Dati, Nessuna Parità, 1 bit di Stop)., La trasmissione dei dati inizia con un bit di avvio, seguito dai bit di dati (LSB inviato per primo e MSB inviato per ultimo) e termina con un bit “Stop”.
La tensione della logica “1” (Mark) è compresa tra-3VDC e-15VDC, mentre la logica “0” (Spazio) è compresa tra +3VDC e +15VDC.
RS-232 collega il terreno di 2 diversi dispositivi insieme, che è la cosiddetta connessione “sbilanciata”. Una connessione sbilanciata è più suscettibile al rumore e ha una limitazione di distanza di 50 ft (che è di circa 15 metri).,
Passo 2: Scopri il protocollo
Un protocollo è uno o alcuni set di regole hardware e software concordate da tutte le parti di comunicazione per lo scambio di dati in modo corretto ed efficiente.
Comunicazioni sincrone e asincrone
La comunicazione sincrona richiede che il mittente e il destinatario condividano lo stesso orologio. Il mittente fornisce un segnale di temporizzazione al ricevitore in modo che il ricevitore sappia quando “leggere” i dati. La comunicazione sincrona ha generalmente velocità di trasmissione dati più elevate e una maggiore capacità di controllo degli errori. Una stampante è una forma di comunicazione sincrona.,
La comunicazione asincrona non ha segnale di temporizzazione o orologio. Invece, inserisce bit di avvio / arresto in ciascun byte di dati per “sincronizzare” la comunicazione. Poiché utilizza meno fili per la comunicazione (nessun segnale di clock), la comunicazione asincrona è più semplice e più economica. RS-232 / RS-485 / RS-422 / TTL sono le forme di comunicazione asincrona.
Drilling Down: Bit e byte
Le comunicazioni interne al computer sono costituite da elettronica digitale, rappresentata da due sole condizioni: ON o OFF., Rappresentiamo questi con due numeri: 0 e 1, che nel sistema binario è definito un Bit.
Un byte è costituito da 8 bit, che rappresenta il numero decimale da 0 a 255 o il numero esadecimale da 0 a FF. Come descritto sopra, un byte è l’unità di base delle comunicazioni asincrone.
Velocità di trasmissione, bit di dati, parità e bit di arresto
La velocità di trasmissione è la velocità di comunicazione che misura il numero di trasferimenti di bit al secondo. Ad esempio, 19200 baud è 19200 bit al secondo.
I bit di dati sono una misura dei bit di dati effettivi in un pacchetto di comunicazione., Ad esempio, il grafico sopra mostra otto (8) bit di dati in un pacchetto di comunicazione. Un pacchetto di comunicazione si riferisce a un singolo trasferimento di byte, inclusi bit di avvio / arresto, bit di dati e Parità. Se si sta trasferendo un codice ASCII standard (da 0 a 127), sono sufficienti 7 bit di dati. Se si tratta di un codice ASCII esteso (da 128 a 255), sono necessari 8 bit di dati.
La parità è un modo semplice per controllare gli errori. Ci sono indicatori pari, Dispari, Mark e Spazio. È inoltre possibile utilizzare nessuna parità., Per parità Pari e Dispari, la porta seriale imposta il bit di parità (l’ultimo bit dopo il bit di dati) su un valore per garantire che il pacchetto di dati abbia un numero pari o Dispari di bit ad alta logica. Ad esempio, se i dati sono 10010010, per parità pari, la porta seriale imposta il bit di parità come 1 per mantenere il numero di bit logici alti pari. Per la parità Dispari, il bit di parità è 0 in modo che il numero di bit ad alta logica sia Dispari. Mark parity imposta semplicemente il bit di parità su logic-high e Space imposta il bit di parità su logic-low, in modo che la parte ricevente possa determinare se i dati sono danneggiati.,
I bit di stop vengono utilizzati per segnalare la fine di un pacchetto di comunicazione. Questo aiuta anche a sincronizzare diversi orologi sui dispositivi seriali.
Handshaking (Controllo di flusso)
Handshaking è anche chiamato “Controllo di flusso”. Lo scopo principale di Handshaking è quello di evitare il sovraccarico del ricevitore. Utilizzando i segnali di Handshaking, i ricevitori saranno in grado di dire al dispositivo di invio di mettere in pausa la trasmissione dei dati se il ricevitore è sovraccarico. Esistono tre tipi di handshaking: handshaking software, handshaking hardware ed entrambi.
handshaking software utilizza due caratteri di controllo: XON e XOFF., Il ricevitore invia questi caratteri di controllo per mettere in pausa il trasmettitore durante la comunicazione. XON è decimale 17 e XOFF è decimale 19 nel grafico ASCII. Lo svantaggio di handshaking software è che questi due caratteri di controllo non possono essere utilizzati nei dati. Questo è abbastanza importante quando si trasmettono dati binari in quanto potrebbe essere necessario utilizzare questi due codici nei dati.
handshaking hardware fa uso di linee hardware reali, come RTS / CTS, DTR / DSR e DCD / RI (per modem).
Nella comunicazione DTE / DCE, RTS (Request to Send) è un output sul DTE e un input sul DCE., CTS (Clear to Send) è il segnale di risposta proveniente dal DCE. Prima di inviare un dato, il DTE chiede l’autorizzazione impostando l’output RTS su high. Nessun dato verrà inviato fino a quando il DCE non concede l’autorizzazione utilizzando la linea CTS. Il DTE utilizza il segnale DTR (Data Terminal Ready) per indicare che è pronto ad accettare informazioni, mentre il DCE utilizza il segnale DSR per lo stesso scopo. DTR / DSR sono normalmente ON o OFF per l’intera sessione di connessione (ad esempio Off-hook), mentre RTS/CTS sono ON o OFF per ogni trasmissione di dati., DCD (Data Carrier Ready) viene utilizzato dal modem quando è stata stabilita una connessione con apparecchiature remote, mentre RI (Ring Indicator) viene utilizzato dal modem per indicare un segnale ad anello dalla linea telefonica.
Formati di dati (binari, esadecimali, Dec, Ott e ASCII)
I dispositivi seriali utilizzano il binario per la comunicazione, che consiste di soli due numeri univoci: 0 e 1.
Binario è il sistema di numerazione Base – 2. Un byte di dati è costituito da 8 cifre binarie, da 0000 0000 a 1111 1111. Esadecimale è il sistema base – 16, che consiste di 16 numeri: da 0 a 9 e le lettere da A a F (numero decimale 15).,
Il sistema di numerazione esadecimale è utile perché può rappresentare ogni byte come due cifre esadecimali consecutive ed è più facile per gli esseri umani leggere i numeri esadecimali rispetto ai numeri binari. La maggior parte dei produttori utilizza esadecimale nella loro documentazione di protocollo. È semplice convertire un valore da esadecimale a binario. Basta tradurre ogni cifra esadecimale nel suo equivalente binario a 4 bit. Ad esempio, il numero esadecimale F3 è uguale al numero binario 1111 0011.
Decimale si riferisce ai numeri in base 10, che è il sistema di numerazione che usiamo di più nella vita di tutti i giorni., Non è così facile come esadecimale e ottale al convertitore decimale al numero binario, ma è più facile per noi capire decimale.
Ottale si riferisce al sistema di numerazione base-8, che utilizza solo otto simboli univoci (da 0 a 7). I programmatori usano spesso il formato ottale perché è relativamente facile da leggere e può essere facilmente tradotto in formato binario: ogni cifra ottale rappresenta 3 cifre binarie. Ad esempio, il numero ottale 73 è uguale al numero binario 111 011.
ASCII (American Standard Code for Information Interchange) è una codifica di caratteri basata sull’alfabeto inglese., I codici ASCII (sia leggibili che illeggibili) sono ampiamente utilizzati nelle comunicazioni, come le comunicazioni Modem. Le lettere dalla A alla Z e i numeri da 0 a 9 sono codici ASCII leggibili. Alcuni codici ASCII sono illeggibili, come i codici di controllo: XON e XOFF, che vengono utilizzati nel controllo del flusso del software.
Checksum
Molti protocolli seriali utilizzano checksum (byte aggiuntivi aggiunti alla fine della stringa di dati) per verificare l’integrità dei dati, poiché potrebbero verificarsi errori durante la trasmissione dei dati. Esistono molti tipi di checksum, dai più semplici usi di esso in Modula o BCC al sofisticato calcolo CRC., Usando Modula come esempio, apprendiamo che prima della trasmissione dei dati, il mittente aggiunge tutti i byte di comando insieme, quindi lo modifica di 255 (decimale) per ottenere un byte aggiuntivo. Questo deve essere aggiunto alla fine della stringa di comando. Quando il ricevitore riceve la stringa di comando, prima controllerà il byte aggiunto per vedere se i dati rimangono invariati o meno. In tal caso, accetterà i dati e, in caso contrario, chiederà al mittente di inviare nuovamente i dati.
Esempi di comandi di protocollo
Un comando di protocollo è una stringa di dati inviata da un dispositivo seriale (ad es., modem). Ecco alcuni esempi:
Esempio di comando ASCII: ATI1 per interrogare le informazioni del produttore del Modem. (Nota: sono i codici di controllo del ritorno a capo e dell’alimentazione di linea).,mal e diventa: 41 54 49 31 0D 0A
Convertire la stringa di comando di cui sopra a Decimale e diventa: 065 084 049 073 013 010
Convertire la stringa di comando al di sopra di Ottale e diventa: 101 124 111 061 015 012
Convertire la stringa di comando al di sopra del Binario e diventa: 01000001 01010100 01001001 00110001 00001101 00001010
Fase 3: Controllare i vostri dispositivi RS232 utilizzando 232Analyzer
232Analyzer è un Avanzato Porta Seriale Analizzatore di Protocollo di software, che permette di controllare / debug monitor / annusare i dispositivi seriali (RS-232 / RS-485 / RS-422 / TTL) direttamente dal tuo PC., 232Analyzer è uno shareware, la versione gratuita ha qualche limitazione, ma è più che sufficiente per testare e controllare i dispositivi seriali. Clicca qui per scaricare una copia GRATUITA.
calcolo del Checksum
232Analyzer viene fornito con un Checksum calculator, che permette di calcolare il complicato byte di checksum in pochi secondi, ecco un esempio:
Supponiamo che si sta controllando un proiettore, il proiettore protocollo utilizza xOR per ottenere le ulteriori byte di checksum, la stringa di comando per accendere il proiettore è: “1A 2B 3C” e il byte di Checksum., Utilizzare le seguenti procedure per calcolare il byte di Checksum:
- Selezionare Hex come formato operandi
- Selezionare xOr come operatore
- Digitare la stringa di comando e aggiungere una virgola (,) dopo ogni byte del codice di comando: ad esempio, 1A,2B,3C,
- fare Clic sul pulsante “Calcola” e si ottiene il risultato di 0 (0 viene omesso)
Selezionare la porta COM e Installazione di formati di comunicazione
Nota: Dopo aver impostato il corretto formati di comunicazione (che deve corrispondere con il proiettore impostazioni della porta COM), fare clic sul pulsante “Connetti” sulla sinistra per attivare la porta COM.,
Impostazioni di controllo di flusso
Controlla i tuoi dispositivi RS232
- Stati di linea di controllo / monitor
232Analyzer consente di controllare / monitorare gli stati di linea delle porte COM.
- Linea stati di RTS e DTR sarà attivata quando il rispettivo LED è cliccato, è possibile utilizzare un voltaggio-meter per verificare le modifiche, si dovrebbe ottenere +6 V a +15 V quando la linea di stato è acceso, e-6 V a-15 V quando la linea di stato è spento.,
- Altri stati di linea possono essere monitorati attraverso il Ds virtuale, come RX, TX, DSR, CTS, DCD e RI.
- Invia/Ricevi comandi
Utilizzare l’esempio precedente per controllare un proiettore (accendere il proiettore), digitare la stringa di comando completa “1A,2B,3C,0D” nel Send_Command_Pane come mostrato sopra, quindi fare clic sul pulsante “Invia”…
Note:
- Nella versione GRATUITA, la modalità esadecimale non è disponibile., È possibile utilizzare il formato decimale per inviare la stringa di comando: “26,43,60,13,”
- È possibile utilizzare qualsiasi dispositivo RS-232 per il test, purché si conosca i comandi del protocollo.