Indice dei contenuti
ToggleL'interfaccia seriale UART è una delle interfacce più comunemente utilizzate nelle applicazioni embedded e nei campi di comunicazione. Sebbene il protocollo di interfaccia sia semplice, nelle applicazioni reali si verificano diversi piccoli problemi nella comunicazione tra dispositivi diversi. Di seguito è riportato un elenco di problemi comuni nell'uso. I problemi sono riassunti e classificati e possono essere utilizzati come riferimento per il debug.

1. Domande frequenti sulla comunicazione seriale
- Comunicazione seriale codice confuso
Una comunicazione seriale disturbata significa solitamente che i dati ricevuti dal ricevitore non soddisfano le aspettative. I fattori che devono essere presi in considerazione quando si verifica questo problema includono di solito i seguenti aspetti:
Se i parametri della porta seriale impostati da entrambe le parti coincidono
Need to check the settings: serial port baud rate, serial port data format, and other parameters.
La tensione di comunicazione seriale non corrisponde
Different serial port devices have different high and low level thresholds that can be decoded normally. For example, if it is the same 3.3V serial port communication, the low-level threshold of device A is 1.5V, and the low-level threshold of device B is 1V. When the actual low level of the serial port voltage is only 1.5V, device B cannot receive data normally. Another example: Device A has a 5V serial port and device B has a 3.3V serial port. There is also a voltage mismatch problem.
L'errore di baud rate effettivo della comunicazione tramite porta seriale è elevato.
Ciò significa che la velocità di trasmissione effettiva della porta seriale si discosta notevolmente dal valore teorico. Poiché i clock utilizzati da alcuni MCU e dispositivi della porta seriale tengono conto di altre risorse ed esigenze applicative, la velocità e le impostazioni effettive della porta seriale si discostano. Ad esempio, quando la velocità nominale è di 9600bps, in realtà funziona a 10000bps (l'errore supera 4%). In questo caso, potrebbe aver superato gli standard di progettazione del ricevitore.
Scarsa qualità del segnale di comunicazione seriale
Se il segnale si alza e si abbassa durante la comunicazione e presenta un forte jitter, se il segnale va in overshooting o cambia lentamente, verificare se la massa comune dell'hardware è buona e se ci sono altri dispositivi collegati in serie/parallelo sulla linea.
Problema di visualizzazione del formato dei dati
Usually, hexadecimal or ASCII code format is used, and it needs to be distinguished when using it.
- La porta seriale non può inviare
Il mancato invio della porta seriale significa solitamente che il canale RXD del dispositivo peer collegato al TXD di questa porta seriale non può ricevere alcun dato. La sintesi è la seguente:
Utilizzare gli strumenti per effettuare le misurazioni effettive del canale TXD
Osservare la forma d'onda hardware per determinare se il segnale viene emesso e se è normale. (Tensione della porta seriale, tempo di salita e discesa del segnale della porta seriale)
Test di loopback dei canali TXD e RXD di apparecchiature in cortocircuito
Verificare se l'autoinvio e la ricezione hanno successo. Cercare di capire se il problema è causato da un'anomalia del proprio dispositivo o di quello opposto.
Determinare se il software applicativo attiva il controllo di flusso hardware della porta seriale.
Ad esempio, quando il controllo di flusso hardware RTS/CTS è abilitato ma il pin non è effettivamente collegato o è collegato ma non ha effetto, secondo il protocollo, se l'ingresso CTS non è valido, il mittente sospende l'invio dei dati.
Problema di codifica del software MCU o funzionamento anomalo del software del computer
- La porta seriale non può ricevere
Quando la porta seriale non è in grado di ricevere dati, i motivi sono generalmente i seguenti:
La porta seriale peer non è riuscita a inviare i dati.
La tensione effettiva inviata dalla porta seriale non soddisfa i requisiti di ricezione e decodifica del chip.
Problema di codifica del software MCU o funzionamento anomalo del software del computer
2. Suggerimenti per la risoluzione dei problemi comunemente utilizzati
Per i problemi comuni di debug della porta seriale, esistono diversi metodi e tecniche di riferimento:
Utilizzare strumenti hardware
Be good at using hardware acquisition or analysis tools such as oscilloscopes to find problems. This method can determine the serial port voltage, serial port data format, serial port communication baud rate, and other parameters of the signal on the line.
Rilevamento del loopback della porta seriale
Quando non si dispone di uno strumento hardware, è anche una buona scelta cortocircuitare TXD e RXD del dispositivo stesso per testare l'autotrasmissione e la ricezione. Questo metodo può semplicemente confermare se il percorso hardware e l'intera logica sono collegati. Lo svantaggio è che il problema del posizionamento non è sufficientemente preciso.
Sostituire il software di debug della porta seriale
Esistono molti tipi di software per porte seriali sul lato del computer. Non è escluso che alcuni dispositivi o software driver non possano adattarsi con successo a tutti i software di debug della porta seriale. A questo punto, è possibile provare a utilizzare diversi software per un confronto.
3. Sintesi
Idee di soluzione in caso di problemi di comunicazione con la porta seriale:
1. Confirm the signal type, which is TTL, RS485, or RS232. Signals of different data types cannot communicate normally.
2. Confirm the software settings of the serial port, baud rate, serial port number, and other signal formats.
3. Verificare che il driver sia stato installato correttamente.
4. Verificare che il cablaggio hardware sia corretto e collegare l'interfaccia di segnale corrispondente all'interfaccia corrispondente. Per TTL e 485, se non si è sicuri della definizione del segnale, si può provare a scambiare i due fili tra loro.
5. Verificare che il dispositivo sia alimentato normalmente.
6. Utilizzare un oscilloscopio o altri strumenti di debug per verificare se la forma d'onda della comunicazione è corretta. Per i sistemi a 5 V e 3,3 V, è necessario aggiungere resistenze di pull-up e diodi alle linee di segnale corrispondenti.
7. Dopo aver verificato che non ci sono problemi con l'hardware, cercate di individuare i problemi del software.
Come distinguere approssimativamente i problemi software da quelli hardware:
I problemi hardware si ripresentano quasi sempre, mentre i problemi software possono andare e venire.
For more information about RS485 communication troubleshooting, see our guide: Serial Communication Problems: Causes and Solutions.



