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

Sezione dedicata ai Microcontrollori e ai Sistemi Embedded

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

Postby legacy » 16 Dec 2014, 19:29

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
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

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

Postby Leonardo » 16 Dec 2014, 22:02

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
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

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

Postby deluca » 16 Dec 2014, 22:41

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.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

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

Postby legacy » 16 Dec 2014, 23:40

Arduino2009 (originale) p.e. ha su un FT232RL, tirato a 500Kbps, oltre si siede :lol:
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

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

Postby legacy » 16 Dec 2014, 23:46

@deluca
tu come hw cosa hai usato, lato MPU ?
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

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

Postby legacy » 16 Dec 2014, 23:50

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
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

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

Postby legacy » 16 Dec 2014, 23:50

@deluca
come software, lato host, cosa hai usato ?
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

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

Postby Leonardo » 17 Dec 2014, 00:09

@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.
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

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

Postby legacy » 17 Dec 2014, 11:18

vabbe le solite banane :lol:
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

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

Postby einstein » 17 Dec 2014, 20:46

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
User avatar
einstein
 
Posts: 88
Joined: 01 Mar 2014, 15:10
Location: Siracusa

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

Postby legacy » 18 Dec 2014, 12:31

io volevo + che altro sapere se @deluca si e' fatto app su misura e nel caso eventuali trucchi o accorgimenti usati.
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30

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

Postby deluca » 19 Dec 2014, 22:41

@legacy,
intendi app lato pc per comunicare a 921600 bps con uC?

Lato pc
ti devi procurare un usb2serial che supporti questo baudrate.... ovviamente.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

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

Postby legacy » 19 Dec 2014, 23:12

vabbe, ho capito, rubo un panettone :lol:
legacy
 
Posts: 862
Joined: 12 Mar 2012, 11:30


Return to Microcontrollori e microprocessori

Who is online

Users browsing this forum: No registered users and 11 guests

cron