Page 1 of 1

arduino1-serial-usb, a quanti max bps l'avete mai spinto ?

PostPosted: 16 Dec 2014, 19:29
by legacy
liscio, di compilata e senza fare nulla io arrivo a 115200bps, oltre si siede vomitando errori strani, perdendo dati per strada, ma e' non tanto colpa del chip ftdi 232, quanto dell'host (linux) che sparando 100000 byte da arduino si vede i buffer urb pieni e traboccanti

il trucco e' impacchettare per bene e dare il tempo al FIFO e pure ai buffer della OHCI USB (lato host) di svuotarsi, con una modifica veramente osceMa (pacchetti da max 1K alla volta, piccola pausa, e buffer larghi 1000 lato host) sono arrivato a 500Kbps, il datasheet del At 328 e dell'usb-serial FTDI chip dicono 1Mbps, ma io ad andare oltre i 500Kbps ho paura che mi imploda l'intero portatile :lol:


che schifezza, molto meglio i chip con built-in usb e possibilmente usb serial class: tutto un altro mondo

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 16 Dec 2014, 22:02
by Leonardo
Arduino Uno attualmente non usa ic della FTDI ma un micro atmel con usb che funge da convertitore.

Se hai una versione vecchia con ic FTDI potresti interfacciarti tramite D2XX per raggiungere la massime prestazioni (il buffer va comunque impostato correttamente).

PS: 500 kbps mi sembra già un buon risultato, non ricordo bene ma in qualche applicazione mi sembra di averlo tirato a 230.4 kbps (lato pc con controller xHCI e non OHCI ma poco cambia :D ), non mi è mai servito tirarlo oltre

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 16 Dec 2014, 22:41
by deluca
Tranquillamente fino a 921600 bps con X2 abilitato :)
Ovviamanete bisogna sostituire il quarzo da 16Mhz con uno da 14.7456 Mhz, impostare UBBRH=0 e UBBRL=1.

otteniamo questo baud rate con 0% di errore.
Tuttavia bisogna vedere se abbiamo un collo di bottiglia nei vari convertitori USB-serial.

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 16 Dec 2014, 23:40
by legacy
Arduino2009 (originale) p.e. ha su un FT232RL, tirato a 500Kbps, oltre si siede :lol:

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 16 Dec 2014, 23:46
by legacy
@deluca
tu come hw cosa hai usato, lato MPU ?

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 16 Dec 2014, 23:50
by legacy
Leonardo wrote:controller xHCI e non OHCI ma poco cambia


e invece cambia il mondo

XHCI e' usb3, e sfrutta tutta una nuova impalcatura sotto linux, buffer + larghi, catene + corte, ecc
OHCI e' usb1, ed ha un sacco di rogne

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 16 Dec 2014, 23:50
by legacy
@deluca
come software, lato host, cosa hai usato ?

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 17 Dec 2014, 00:09
by Leonardo
@legacy: a queste basse velocità usb 2.0 full speed (12 mbps) non influisce tanto il controller hw, cerca il problema lato sw più che altro. Per tagliare la testa al toro prova D2XX e facci sapere.

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 17 Dec 2014, 11:18
by legacy
vabbe le solite banane :lol:

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 17 Dec 2014, 20:46
by einstein
ciao a tutti.
i software per terminale che ho installato sul mio pc non supportano baudrate maggiori di 115200 bps,
qualcuno mi permette di settare la seriale a 128000.

come potrei comunicare con arduino a 921600 bps? quale software lo permette?

ciao e grazie

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 18 Dec 2014, 12:31
by legacy
io volevo + che altro sapere se @deluca si e' fatto app su misura e nel caso eventuali trucchi o accorgimenti usati.

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 19 Dec 2014, 22:41
by deluca
@legacy,
intendi app lato pc per comunicare a 921600 bps con uC?

Lato pc
ti devi procurare un usb2serial che supporti questo baudrate.... ovviamente.

Re: arduino1-serial-usb, a quanti max bps l'avete mai spinto

PostPosted: 19 Dec 2014, 23:12
by legacy
vabbe, ho capito, rubo un panettone :lol: