Come eseguire rilevamento automatico baudrate e parametri su rs232?

"..se hai N caratteri ricevuti senza errori.." e come fa il micro a sapere che i caratteri ricevuti sono 'senza errori' ? O se viene presupposto l'intervento umano, allora non e' piu' autobaud/autoparametro

Si, dopo un po' di tempo il bit-time dovrebbe essere rilevato con precisione resta il problema dei parametri, come faccio a sapere se sono 7 bit dati e 2 bit stop oppure 8 bit dati ed 1 bit stop ? Ciao e grazie RobertoA

Reply to
RobertoA
Loading thread data ...

Il 04/02/2011 6.55, RobertoA ha scritto:

Perche' l' UART campiona lo stream in ingresso per rilevare lo stato dei bit e si accorge se il bit time rientra in quello impostato: se rileva uan transazione non congrua solleva un errore (framing error). Inoltre UART più sofisticate adottano varie strategie di controllo e questo si riflette in uno stato di errori piu' o meno esaustivo. Ovviamente, devi applicare questo alla UART di cui disponi effettivamente...

Ovviamente no :-)

;-) Qui è un po' piu' complicato da fare, ma puoi usare questo metodo per ottenere il bit rate. Avendo il bit time, a questo punto il metodo piu' semplice, se la tua UART te lo permette, è quello di programmare la uart in sequeza con i vari parametri fino a trovare una combinazione che non da' errore. Puoi iniziare con le combinazioni più usuali:

1 stop, 8bit, no parity se ok test della parità 1 stop, 8bit, even parity se errore, next 1 stop, 8bit, odd parity se errore, no parity ...

se errore, prova con 7 bit e via...

Se la UART non te lo permette, allora devi lavorare con i timing capture, cercando di rilevare il tempo carattere, oltre al bit time. Questo comporta cercare di rilevare lo start bit (transazione da 1->0) e da qui cercare di trovare la condizione di stop (stato alto 1): il tutto non è semplicissimo ed è un pochino lungo, ma si può fare. IO persoonalmente ho sempre cercato di utilizzare le capacità delle UART e nei casi in cui ne ho avuto bisogno, ha sempre funzionato bene. Devo dire pero' che la mia unica incognita era il baud rate e la parità... non ho mai incontrato applicazioni con bit diverso da 8 o 7.

AA.

Reply to
aa

Neanch'io, ma visto che vorrei realizzarlo exnovo allora sarebbe utile farlo per bene, che comprenda anche quelle possibilita' Ciao e grazie RobertoA

Reply to
RobertoA

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.