GNU/Linux >> Linux Esercitazione >  >> Linux

Porta seriale RaspberryPi

Sono abbastanza fiducioso che il problema sia che il Pi non ha un'interfaccia RS232, mentre il display sì.

Il Pi ha un'interfaccia (LV-)UART, il suo pin TX emette 0V per un 0 logico e 3,3 V per un 1 logico . Questo è abbastanza facile da implementare, poiché 3.3V è già disponibile sul Pi. Ma questo funziona solo per le comunicazioni su un singolo PCB o all'interno di un singolo dispositivo.

Per la comunicazione tra dispositivi su lunghe distanze, viene utilizzato un sistema meno soggetto a segnali di interferenza come RS232. Mentre la struttura logica della forma d'onda (bitrate, timing, bit di avvio, arresto, parità e dati) è la stessa dell'UART, i livelli di tensione sono -15V...-3V per un 1 e +15V...+3V per un 0 logico . Ciò significa che non ci sono solo tensioni più alte (e negative), ma anche il loro significato è invertito.

Quindi, se il display si aspetta i livelli RS232 e ottiene quei livelli di 3,3 V dal Pi, per lo più non riconosce i dati e, se lo fa, spesso è solo spazzatura.

E, naturalmente, se colleghi RX e TX della stessa interfaccia, ottieni ciò che ti aspetti.

Ma:se l'uscita RS232 TX non è limitata in corrente, potrebbe persino danneggiare il tuo Pi!

Ci sono schede di conversione da UART a RS232 là fuori, ma se ti piace saldare, le schede contengono solo un MAX3232 (più quattro condensatori). Questo circuito integrato genera anche i livelli di tensione più elevati (e negativi) dalla tensione di alimentazione di 3,3 V dal Pi.

Il più comune è il MAX232 (indovina perché si chiama così), ma è per il funzionamento a 5 V, non a 3,3 V.

Infine, poiché l'UART e l'RS232 utilizzano la stessa struttura logica, spesso non viene distinto tra loro, soprattutto dal software (programmatori). Spesso sono anche chiamate semplicemente "interfaccia seriale", sebbene esistano altre interfacce come I²C e SPI, che sono un tipo di interfaccia seriale, ma mai considerate "l'interfaccia seriale".


La porta seriale Raspberry Pi integrata utilizza livelli di tensione da 0 a 3,3 Volt, come descritto qui. Il convertitore da USB a seriale e il display utilizzeranno livelli di tensione RS232 nominalmente compresi tra -15 V e +15 V, con un minimo di -3 V/+3 V. Devi convertire tra questi due livelli.

La porta funzionerà durante il loopback poiché le tensioni di uscita e di ingresso sono compatibili.


Linux
  1. Gateway porta seriale Netbsd?

  2. Come posso monitorare i dati su una porta seriale in Linux?

  3. Listener e interprete della porta seriale Linux?

  4. Lettura e scrittura su porta seriale in C su Linux

  5. Crea una connessione alla porta seriale virtuale su TCP

Configurare una porta seriale con Virtualbox su Ubuntu (ospiti:Windows Xp)?

Come aprire la porta seriale in Linux senza modificare alcun pin?

Come aprire, leggere e scrivere dalla porta seriale in C?

Come faccio a sapere quale /dev/ttyS* è la mia porta seriale?

Leggere/scrivere su una porta seriale senza root?

Reindirizza la console a una porta seriale