Nói chung, nếu bạn cung cấp cho khách hàng khả năng flash thiết bị của mình, bạn muốn họ không làm hỏng thiết bị.
Do đó, ưu tiên chính cung cấp là kết nối mạnh mẽ và an toàn với thiết bị chủ. Theo kinh nghiệm của tôi, tất cả các con chip hoạt động khá tốt trong các thiết lập đô thị và phòng thí nghiệm mà tôi cho rằng bạn đang nhắm mục tiêu.
Cũng xem xét thời gian cần thiết để làm cho thành phần hoạt động tốt - số lượng sản xuất của bạn ở mức thấp hàng trăm và bạn thêm 2 đô la cho mỗi thành phần. Đó có phải là "mất mát" đáng giá hơn thời gian của bạn (hoặc nhà phát triển) không? Một con chip được ghi chép tốt có thể thực sự là một lựa chọn tốt hơn, ngay cả khi nó có giá cao hơn.
CH340
Vâng, nó thực sự là một ý tưởng tồi, ít nhất là nếu bạn muốn Plug-And-Play. Đối với tôi trên Win 8.1, tôi cần cài đặt thủ công trình điều khiển ( CH340SER.exe
) mà tôi phải tải xuống từ trang web của nhà sản xuất (Trung Quốc) không có bản dịch tiếng Anh.
Nó được lưu trữ tại Trung Quốc, có thể là một vấn đề cho các cá nhân có đầu óc bảo mật và những người bị ràng buộc bởi các quy tắc tổ chức và / hoặc chính trị. Ngoài ra, nó được đưa ra ngoài kết quả tìm kiếm bởi rất nhiều trang web tải xuống trình điều khiển "Miễn phí" đáng ngờ.
Nếu đây là bất kỳ thiết bị nghiêm túc nào (trái ngược với "chỉ" một Arduino), thì đó sẽ là nâng lông mày của tôi lên trần nhà. Cài đặt thủ công cũng có thể rất khó chịu nếu khách hàng của bạn không có Thiết bị chuyên dụng để nhấp nháy.
Nếu không, con chip này hoạt động như mong đợi.
CP2102
Không có nhiều điều để nói, làm việc ra khỏi hộp và không đưa ra bất kỳ vấn đề. Có lẽ sẽ là sự lựa chọn của tôi cho một thiết kế trung bình.
FTDI
Tôi có cái này trên bảng chuyển đổi USB-serial độc lập và nó hoạt động tốt. Như bạn đã viết, nó khá đắt tiền, nhưng tôi tin rằng nó có thể là một lựa chọn tốt hơn trong môi trường khắc nghiệt (ví dụ như các tiếp điểm bị ăn mòn trên các đầu nối, cũng là EMI). Có thể cung cấp cho bạn một cảm giác mờ ấm áp vì bạn hỗ trợ các nhà phát triển ban đầu.
Những ý tưởng khác
ISP
Theo câu trả lời của @Chetan Bhargava, một tùy chọn sẽ là có một đầu nối cho SPI và sau đó sử dụng bộ chuyển đổi USB-serial độc lập.
Điều này cũng yêu cầu bạn cung cấp một đầu nối đáng tin cậy và an toàn để sử dụng cho ISP để gắn vào. Rõ ràng bạn có thể bán rẻ với các tiêu đề pin ở đây, nhưng nếu bạn muốn làm đúng (và / hoặc không đủ tin tưởng vào khách hàng của mình ), thì đầu nối này có thể tốn kém hơn so với chip bổ sung và đầu nối USB dự trữ. Các kết nối nối tiếp rất khó gỡ lỗi nếu chúng không hoạt động, trái ngược với USB, nơi khách hàng ít nhất sẽ được thông báo rằng thiết bị USB không hoạt động.
Nếu bạn kết hợp một bộ chuyển đổi độc lập với bảng của mình, bạn cũng sẽ phải trả giá cho bảng chuyển đổi. Tôi cho rằng điều này sẽ không rẻ hơn để tích hợp chip. Điều này có thể hoạt động nếu mỗi khách hàng sở hữu nhiều bảng của bạn, vì vậy trình chuyển đổi có thể được sử dụng lại hoặc nếu bạn chỉ có thể chuyển các chi phí để có được lập trình viên cho phía khách hàng.
Nếu tùy chọn này là một khả năng, tại thời điểm này, cũng có AVRISP rất riêng của Atmel, đây là một lựa chọn tốt ở đây thay vì USB-to-serial đơn giản, mặc dù hơi lỗi thời. Tôi nghĩ rằng nó vượt quá khoảng 100 hoặc 200 kbps trong đó các bộ chuyển đổi USB-serial hiện đại đi vào phạm vi megabit. Nhưng nó rất mạnh về việc sử dụng (mis-).
Một lựa chọn tốt khác có thể là đầu nối TC2030. Nó chỉ yêu cầu các miếng đệm trên PCB để làm việc, nhưng đòi hỏi một số chuyên môn (bạn phải giữ nó tại chỗ cho đến khi lập trình kết thúc).
Giao diện truyền thông
Các bộ vi điều khiển hiện đại cũng đi kèm với một số giao diện truyền thông khác (Ethernet, WiFi, Bluetooth) và thường có thể được flash bằng cách sử dụng các giao diện này. Một ví dụ sẽ là chiếc ESP32 có giá khoảng 6 USD và là một SoC với tất cả các thành phần cần thiết cho kết nối wifi. Ngoài ra, nó tương thích với Arduino (thậm chí bạn có thể sử dụng IDE) và có một bộ ví dụ rất kỹ lưỡng, bao gồm bộ tải khởi động WiFi OTA. Bạn sẽ chỉ cần một ISP để triển khai bộ tải khởi động ban đầu.
Nếu - như trong câu hỏi của bạn - dự án của bạn gần như đã kết thúc, đây có lẽ không còn là một lựa chọn nữa.