Dreke90
Genius
2 min. di lettura
Vota 3 / 5

Concetti Chiave

  • I dati vengono inviati a intervalli non regolari, rendendo imprevedibile la loro ricezione.
  • Il ricevitore campiona la linea in stato di idle per sincronizzarsi con i dati in arrivo.
  • Se rilevato un livello logico a 0, il ricevitore sospende temporaneamente il campionamento per verificare se è un disturbo.
  • La tecnica di campionamento permette di compensare piccoli sfasamenti e ricevere il bit a metà tempo.
  • Controllo di parità e verifica del bit di stop vengono eseguiti per segnalare eventuali errori nel registro di stato dell'UART.
Ricezione di dati

I dati possono essere inviati a intervalli non regolari e pertanto da parte del ricevitore non è prevedibile a priori quando predisporsi alla loro ricezione.
Per potersi sincronizzare con i dati che il trasmettitore invia quando la linea e nello stato di idle il ricevitore la campiona cioè la esamina per rilevarne il livello logico. Il campionamento avviene per più volte durante un tempo di bit:supponiamo ad esempio che avvenga 16 volte per ogni tempo di bit.

Nel momento in cui vien campionato un livello logico a 0,il ricevitore sospende il campionamento multiplo per 8 volte e successivamente ricampiona la linea.

Se il nuovo livello logico rilevato e 1,allora si è trattato di un disturbo,o spike,e pertanto persistendo lo stato di idle ,il ricevitore riprende il campionamento multiplo questo errore vine anche detto falso bit di start.
Se invece il livello logico rilevato e ancora a 0,allora è stato trasmesso un bit di start e il ricevitore può iniziare a campionare il dato una volto ogni tempo di bit.

Questa tecnica permette al ricevitore di ricevere ogni bit circa a metà del bit corrispondente e di compensare in questo modo eventuali piccoli sfasamenti.
Dopo aver ricevuto come da protocollo i biti stabiliti il ricevitore esegue il controllo di parità e verifica la presenza del bit di stop nel caso in cui sia rilevato un errore viene segnalato nel registro di stato dell'UART rispettivamente un parity Error o un framing Error.
Il dispositivo UART può inviare una segnalazione alla CPU affinché possa gestire queste condizioni di errore.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community