Page 1 of 1

Una UART su misura

PostPosted: 24 Feb 2015, 20:03
by Reset
Salve a tutti , devo interfacciarmi con il protocollo
descritto nel file immagine allegato , lo scalino che
mi si pone sono i 9 bit nella word trasmessa e ricevuta
sul canale rs232 .
Lo standard ne prevede 7 oppure 8 ,il compilatore bascom
mi consente di impostare 9 Bit di dati ?
Mi suggerite una soluzione al problema ?
Grazie saluti a tutti

Re: Una UART su misura

PostPosted: 24 Feb 2015, 20:46
by pier
Non è chiaro chi trasmette e chi riceve ma suddividere la word in 2 byte?
Pier

Re: Una UART su misura

PostPosted: 24 Feb 2015, 21:38
by Reset
Grazie Pier , dovrei leggere ogni bit presente
sulla linea seriale per poi scindere i 9 bit utili
non so se intentìdevi in questo senso ?
cercavo una soluzione meno articolata ..

Re: Una UART su misura

PostPosted: 25 Feb 2015, 16:50
by pier
Si, intendevo suddividere la word trasmessa in 2 bytes (magari rendendo sempre pari o dispari il primo ed il contrario il secondo byte per evitare di confonderli) e ricostruirla in ricezione da questi 2 bytes . Effettivamente è un pochino macchinoso ma non molto. Il problema è se puoi intervenire sulla periferica con cui il tuo micro deve dialogare e hai un dimezzamento di velocità.
Non saprei se si possa agire diversamente.

Re: Una UART su misura

PostPosted: 25 Feb 2015, 21:49
by Reset
Ancora grazie Pier ,
Mi spiego meglio , in modo da esporre la mia difficoltà nei dettagli .
C'è una unità di controllo che dialoga con diverse periferiche
usando queste due linee di scambio dati che rispettano
l'hardware in figura ( molto simile al CANBUS delle auto )
le periferiche sono .... lettore di banconote , gettoniera per le monete
alcuni motori stepper opportunamente interfacciati ...
ogni periferica viene interpellata dalla scheda di controllo tramite un indirizzo unico
per ogni una di esse ( tipo mac address )
io devo riprodurre una di queste periferiche , e non posso modificare nulla !
nello specifico devo riprodurre una scheda che fa avanzare un motore stepper
di n passi in base al comando impartito dalla unità centrale
il protocollo è 9600 9 bit di dati , nessuna parità , 1 bit di stop
Thanks

Re: Una UART su misura

PostPosted: 25 Feb 2015, 22:07
by deluca
@reset,
con il comando di configurazione :

Code: Select all
CONFIG COM1 = baud, synchrone=0|1,parity=none|disabled|even|odd,stopbits=1|2,databits=4|6|7|8|9,clockpol=0|1


puoi ottenere quello che ti serve.

Re: Una UART su misura

PostPosted: 26 Feb 2015, 07:24
by Reset
Grazie De Luca per le info , effettuo le prove stesso oggi

Re: Una UART su misura

PostPosted: 26 Feb 2015, 19:00
by pier
Acc... Colpito e affondato. Deluca ne sà una più del diavolo.
Tieni presente che la cosa funziona solo con chip che hanno una "extended UART". Verifica che il tuo chip l'abbia.

Re: Una UART su misura

PostPosted: 26 Feb 2015, 20:22
by deluca
Basta vedere se nel chip è presente il registro UCSRC dove si trovano i bits UCSZ che permettono di configurare il numero di bits 6,7,8 o 9.

E' possibile configurare la uart agendo direttamente sulla impostazione dei registri ad essa dedicati.
Sebbene questo metodo potrebbe sembrare più complicato, è quello che permette in tutta sicurezza, di settare le periferiche, in questo caso la uart, senza commettere errori di configurazione.