Ada keuntungan menggunakan chip USB yang terpisah, dan membiarkan AVR berkomunikasi melalui UART-nya.
Tumpukan USB harus merespons polling dari PC host. Ini terjadi setidaknya setiap milidetik. Itu berarti bahwa bahkan lebih sulit untuk menjamin respons waktu nyata yang sulit untuk peristiwa, karena MCU mungkin akan terganggu untuk menanggapi jajak pendapat USB host.
Ketika tidak ada apa pun untuk dikomunikasikan, atau MCU ingin fokus penuh pada tugas waktu nyata, ia masih harus menanggapi beberapa acara pemungutan suara host USB, atau tuan rumah akan 'kehilangan' perangkat. Jadi sulit untuk diabaikan. Chip USB khusus, seperti FTDI melepas tugas-tugas dari AVR.
Masalah kecil adalah tumpukan USB akan mengkonsumsi cukup banyak memori flash dan RAM, sehingga chip tersebut membutuhkan lebih banyak sumber daya daripada AVR sederhana.
Juga, dua bagian dapat dipisahkan menjadi dua papan, sehingga USB bukan biaya tetap, tetapi mungkin dibagi di beberapa papan.
Di sisi sebaliknya, manfaat utama menggunakan AVR dengan perangkat USB dan tumpukan USB bawaan adalah hanya ada satu bagian untuk dibeli, dan dipasang.
Saya belum memeriksa baru-baru ini, tapi saya percaya chip FTDI yang lebih baru memberikan kecepatan transfer data USB yang lebih tinggi daripada AVR's USB. Namun, AVR UART sangat lambat sehingga AVR dengan USB lebih cepat ditransfer daripada kombinasi FTDI (atau antarmuka USB apa pun) yang berkomunikasi melalui AVR AVR karena AVR UART yang lambat.
Sunting: FTDI membuat antarmuka lain selain UART. Misalnya SPI. Saya tidak punya pengalaman menggunakannya. Beberapa AVR mendukung 9 (mungkin 12) transfer SPI megabit. FTDI adalah master SPI, yang tidak ideal. Jika AVR mentransmisikan, itu mungkin baik-baik saja. Karena FTDI memang memiliki buffer, tetapi menerima mungkin 'seperti minum dari selang kebakaran'. AFAIK, Anda harus melakukan pekerjaan pada PC host untuk membuatnya bekerja.
Transfer kecepatan tertinggi mungkin melalui papan Ethernet Ethernet 100MB, tapi saya belum melihat pengukuran throughput.
Saya senang menggunakan mikrokontroler selain AVR. Jadi saya mungkin menggunakan sesuatu dengan UART cepat dan pengontrol DMA yang dapat memindahkan karakter tanpa keterlibatan CPU. Jika itu adalah pendekatan yang bermanfaat, mungkin lihat Arduin Due, atau mbed, ST mb disebut nucelo yang berbiaya rendah.