Go Down

Topic: FTDI vs 16U2 (Read 607 times) previous topic - next topic

AnTrea

Salve

Mi è stata prestata una scheda arduino uno R3.
Ho notato, con mio grande stupore, che impiega davvero poco nel caricare uno sketch.

Facendo un rapido confronto (con lo stesso sketch), la mia luigino328 (clone della duemilanove - con l'ultimo optiboot - quindi 115200 baud) impiega qualche secondo in più.

Molti sul forum hanno sempre sostenuto che l'FTDI impieghi meno tempo.

E' una mia impressione o è un dato di fatto?

grazie
Arduino, MODs e DIY: blackstufflabs.com

astrobeed


Facendo un rapido confronto (con lo stesso sketch), la mia luigino328 (clone della duemilanove - con l'ultimo optiboot - quindi 115200 baud) impiega qualche secondo in più.
Molti sul forum hanno sempre sostenuto che l'FTDI impieghi meno tempo.
E' una mia impressione o è un dato di fatto?


Il tempo per caricare lo sketch dipende unicamente dal bootloader, il FTDI o 16u2 sono solo delle interfacce tra USB e UART e non hanno alcuna parte nella procedura di caricamento dello sketch salvo fare da mezzo fisico per la trasmissione dei byte.
Detto in altri termini, se sulla L328 metti lo stesso bootloader della UNO r3 il tempo di caricamento dello sketch è identico.

AnTrea

salvo fare da mezzo fisico per la trasmissione dei byte.


Appunto, l'ftdi non dovrebe essere ottimizzato?
Arduino, MODs e DIY: blackstufflabs.com

astrobeed


Appunto, l'ftdi non dovrebe essere ottimizzato?


C'è poco da ottimizzare, il flusso dati transita alla velocità consentita dall'UART tra l'FTDI e l'ATmega, quindi il collo di bottiglia è il micro e non l'FTDI che sulla USB comunica sempre come minimo a 1.1 Mbps
E' come avere un serbatoio pieno d'acqua (i dati) e un rubinetto che ne regola la portata (il baud rate), se il rubinetto più di tanto non fa passare non c'è modo di aumentare la quantità d'acqua che puoi prelevare ogni tot tempo a meno che non aumenti la pressione (compressione dei dati) dentro il serbatoio.

Testato


Detto in altri termini, se sulla L328 metti lo stesso bootloader della UNO r3 il tempo di caricamento dello sketch è identico.

Scusa Astro pero' lui questo test lop ha fatto, infatti dice che sulla tua Luigino c'e' optiboot, quindi come mai trova questi secondi di differenza ?
Il tuo sistema di discriminazione del reset non inserisce latenza ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

astrobeed


Scusa Astro pero' lui questo test lop ha fatto, infatti dice che sulla tua Luigino c'e' optiboot, quindi come mai trova questi secondi di differenza ?
Il tuo sistema di discriminazione del reset non inserisce latenza ?


Tocca vedere che versione del optiboot ha messo sulla L328, io ti dico che sulla mia L328 con sopra l'ultima release del optiboot, ovvero quella allegata con l'iDE 1.0.2, il tempo di caricamenti degli sketch è identico a quello della mia UNO con sopra lo stesso optiboot.
Lo smart reset non introduce nessuna latenza sensibile, il tempo di reazione è circa  2 ms dopo aver rilevato una condizione di reset valida, semmai si può parlare di differenze di latenza tra l'FTDI e l'8u2, il primo aspetta di aver riempito il buffer con alcuni caratteri prima di inviare verso il micro, però anche in questo caso parliamo di pochi ms, un tempo non percepibile da un essere umano.

Testato

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Go Up