Secara umum, jika Anda memberi pelanggan Anda kemampuan untuk mem-flash perangkat Anda, Anda ingin mereka tidak merusaknya.
Dengan demikian, penyediaan prioritas utama adalah koneksi yang kuat dan aman ke perangkat host. Dalam pengalaman saya, semua chip bekerja dengan baik di pengaturan perkotaan dan laboratorium yang saya anggap Anda targetkan.
Pertimbangkan juga waktu yang dibutuhkan untuk membuat komponen bekerja dengan benar - jumlah produksi Anda dalam ratusan rendah, dan Anda menambahkan $ 2 untuk masing-masing. Apakah "kerugian" itu bernilai lebih dari waktu Anda (atau pengembang)? Chip yang terdokumentasi dengan baik mungkin sebenarnya merupakan pilihan yang lebih baik, bahkan jika harganya lebih mahal.
CH340
Ya, itu benar-benar Ide yang buruk, setidaknya jika Anda ingin Plug-And-Play. Bagi saya di Win 8.1, saya perlu menginstal driver ( CH340SER.exe
) yang harus saya unduh secara manual dari situs web produsen (China) yang (pada waktu itu) tidak memiliki terjemahan bahasa Inggris.
Itu diselenggarakan di Cina, yang mungkin menjadi masalah bagi individu yang berpikiran keamanan dan mereka yang terikat oleh aturan organisasi dan / atau politik. Juga diunggulkan sebagai hasil pencarian oleh banyak situs unduhan driver "meragukan".
Jika ini adalah peralatan yang serius (berlawanan dengan "hanya" Arduino), itu akan menaikkan alisku ke langit-langit. Menginstal secara manual mungkin juga sangat menjengkelkan jika pelanggan Anda tidak memiliki Peralatan khusus untuk menginstal.
Kalau tidak, chip ini berfungsi seperti yang diharapkan.
CP2102
Tidak banyak bicara, bekerja di luar kotak dan tidak memunculkan masalah. Mungkin akan menjadi pilihan saya untuk desain rata-rata.
FTDI
Saya memilikinya di papan konverter USB-Serial mandiri dan berkinerja baik. Seperti yang Anda tulis, ini agak mahal, tetapi saya percaya ini mungkin pilihan yang lebih baik di lingkungan yang kasar (misalnya kontak yang terkorosi pada konektor, juga EMI). Mungkin memberi Anda perasaan fuzzy hangat karena Anda mendukung pengembang asli.
Ide lain
ISP
Sesuai jawaban @Chetan Bhargava, sebuah opsi adalah memiliki konektor untuk SPI dan kemudian menggunakan konverter USB-Serial mandiri.
Ini juga mengharuskan Anda untuk menyediakan konektor yang dapat diandalkan dan aman digunakan untuk dilampirkan oleh ISP. Jelas Anda bisa menjadi murah dengan pin header di sini, tetapi jika Anda ingin melakukannya dengan benar (dan / atau tidak cukup mempercayai pelanggan Anda ), maka konektor ini mungkin lebih mahal daripada chip tambahan dan konektor USB stock. Koneksi serial sangat sulit untuk di-debug jika tidak berfungsi, berlawanan dengan USB tempat pelanggan setidaknya akan diberi tahu bahwa perangkat USB tidak berfungsi.
Jika Anda membundel konverter mandiri dengan papan Anda, Anda harus membayar harga untuk papan konverter juga. Saya berasumsi ini tidak akan lebih murah daripada mengintegrasikan chip. Ini bisa berfungsi jika setiap pelanggan memiliki banyak papan Anda, sehingga konverter dapat digunakan kembali, atau jika Anda bisa mendorong biaya untuk mendapatkan programmer ke sisi pelanggan.
Jika opsi ini kemungkinan, pada titik ini, ada juga Atmel sendiri AVRISP yang merupakan pilihan yang baik di sini daripada USB-to-Serial, meskipun agak ketinggalan jaman. Saya pikir itu berakhir pada sekitar 100 atau 200 kbps di mana konverter USB-Serial modern masuk ke kisaran megabit. Tetapi sangat kuat dalam hal penggunaan (mis-).
Pilihan lain yang bagus adalah konektor TC2030. Ini hanya membutuhkan bantalan pada PCB untuk bekerja dengan, tetapi membutuhkan keahlian (Anda harus menahannya di tempat sampai pemrograman selesai).
Antarmuka komunikasi
Mikrokontroler modern juga dilengkapi dengan sejumlah antarmuka komunikasi lainnya (Ethernet, WiFi, Bluetooth) dan biasanya dapat di-flash menggunakan ini. Contohnya adalah ESP32 yang datang dengan biaya sekitar 6 USD dan merupakan SoC dengan semua komponen yang diperlukan untuk koneksi wifi. Juga kompatibel dengan Arduino (Anda bahkan dapat menggunakan IDE) dan memiliki contoh yang sangat teliti, termasuk bootloader OTA WiFi. Anda hanya perlu ISP untuk penyebaran awal bootloader.
Jika - seperti yang terdengar dalam pertanyaan Anda - proyek Anda sebagian besar sudah selesai, ini mungkin bukan pilihan lagi.