โดยทั่วไปถ้าคุณให้ความสามารถแก่ลูกค้าของคุณในการแฟลชอุปกรณ์ของคุณคุณต้องการให้ลูกค้าไม่ทำการก่ออิฐ
ดังนั้นการจัดลำดับความสำคัญหลักคือการเชื่อมต่อที่มีประสิทธิภาพและปลอดภัยกับอุปกรณ์โฮสต์ จากประสบการณ์ของฉันชิปทั้งหมดทำงานได้ดีในการตั้งค่าในเมืองและห้องปฏิบัติการซึ่งฉันคิดว่าคุณกำลังกำหนดเป้าหมาย
พิจารณาเวลาที่ต้องใช้เพื่อให้ส่วนประกอบทำงานได้ถูกต้อง - จำนวนการผลิตของคุณอยู่ที่ร้อยต่ำและคุณเพิ่ม $ 2 ต่อชิ้น นั่นคือ "การสูญเสีย" มีค่ามากกว่าเวลา (หรือของนักพัฒนา) หรือไม่? ชิปที่มีเอกสารที่ดีอาจเป็นตัวเลือกที่ดีกว่าแม้ว่าจะมีราคาสูงกว่าก็ตาม
CH340
ใช่มันเป็นความคิดที่แย่จริงๆอย่างน้อยถ้าคุณต้องการ Plug-And-Play สำหรับฉันใน Win 8.1 ฉันต้องติดตั้งไดรเวอร์ ( CH340SER.exe
) ด้วยตนเองซึ่งฉันต้องดาวน์โหลดจากเว็บไซต์ของผู้ผลิต (จีน) ซึ่งมี (ในเวลานั้น) ไม่มีการแปลภาษาอังกฤษ
มันถูกโฮสต์ในประเทศจีนซึ่งอาจเป็นปัญหาสำหรับบุคคลที่มีความปลอดภัยและผู้ที่ผูกพันตามกฎระเบียบขององค์กรและ / หรือการเมือง นอกจากนี้ยังได้รับการจัดอันดับให้เป็นผลการค้นหาโดยเว็บไซต์ดาวน์โหลดไดรเวอร์ "ฟรี" ที่น่าสงสัยมากมาย
ถ้านี่เป็นอุปกรณ์ที่จริงจัง (ตรงข้ามกับ "แค่" Arduino) นั่นคือการยกคิ้วของฉันขึ้นไปบนเพดาน การติดตั้งด้วยตนเองอาจน่ารำคาญมากหากลูกค้าของคุณไม่มีอุปกรณ์เฉพาะสำหรับการกะพริบ
มิฉะนั้นชิปนี้ทำงานตามที่คาดไว้
CP2102
ไม่มากที่จะพูดเกี่ยวกับการทำงานออกจากกล่องและไม่ได้นำปัญหาใด ๆ อาจเป็นทางเลือกของฉันสำหรับการออกแบบโดยเฉลี่ย
FTDI
ฉันมีอันนี้อยู่บนบอร์ดแปลง USB-Serial แบบสแตนด์อโลนและทำงานได้ดี อย่างที่คุณเขียนมันค่อนข้างแพง แต่ฉันเชื่อว่ามันอาจเป็นทางเลือกที่ดีกว่าในสภาพแวดล้อมที่ขรุขระ (เช่นผู้ติดต่อที่สึกกร่อนบนตัวเชื่อมต่อหรือ EMI) อาจให้ความรู้สึกอบอุ่นเป็นฝอยเพราะคุณสนับสนุนนักพัฒนาดั้งเดิม
ความคิดอื่น ๆ
ผู้ให้บริการอินเทอร์เน็ต
ตามคำตอบของ @Chetan Bhargava ตัวเลือกจะมีตัวเชื่อมต่อสำหรับ SPI แล้วใช้ตัวแปลง USB-Serial แบบสแตนด์อโลน
นอกจากนี้ยังกำหนดให้คุณต้องเชื่อมต่อตัวเชื่อมต่อที่เชื่อถือได้และปลอดภัยสำหรับ ISP เห็นได้ชัดว่าคุณสามารถใช้หัวหมุดปักราคาถูกได้ที่นี่ แต่ถ้าคุณต้องการทำถูกต้อง (และ / หรือไม่ไว้วางใจลูกค้าของคุณพอ ) ตัวเชื่อมต่อนี้อาจมีราคาแพงกว่าชิปเพิ่มเติมและตัวเชื่อมต่อ USB หุ้น การเชื่อมต่อแบบอนุกรมนั้นยากที่จะทำการดีบักหากไม่ทำงานซึ่งตรงข้ามกับ USB ที่ลูกค้าจะได้รับแจ้งอย่างน้อยว่าอุปกรณ์ USB นั้นไม่ทำงาน
หากคุณรวมตัวแปลงแบบสแตนด์อโลนกับบอร์ดของคุณคุณจะต้องจ่ายราคาสำหรับบอร์ดแปลงด้วย ฉันคิดว่านี่จะไม่ถูกกว่าการรวมชิป วิธีนี้สามารถใช้งานได้หากลูกค้าแต่ละรายมีบอร์ดของคุณจำนวนมากดังนั้นตัวแปลงสามารถนำกลับมาใช้ใหม่ได้หรือถ้าคุณเพียงแค่ผลักค่าใช้จ่ายในการรับโปรแกรมเมอร์ไปยังด้านลูกค้า
ถ้าตัวเลือกนี้มีความเป็นไปได้ ณ จุดนี้ยังมี AVRISP ของ Atmel ซึ่งเป็นตัวเลือกที่ดีที่นี่แทนที่จะเป็น USB-to-Serial ธรรมดาแม้ว่าจะล้าสมัยไปเล็กน้อย ฉันคิดว่ามันปะปนอยู่ที่ประมาณ 100 หรือ 200 kbps ที่ตัวแปลง USB-Serial ที่ทันสมัยเข้าสู่ช่วงเมกะบิต แต่มันมีความแข็งแกร่งมากในเรื่องการใช้งาน (mis-)
อีกตัวเลือกที่ดีอาจเป็นตัวเชื่อมต่อ TC2030 มันต้องการเพียงแผ่นอิเล็กโทรดบน PCB เพื่อทำงานด้วย แต่ต้องใช้ความเชี่ยวชาญบางอย่าง (คุณต้องถือไว้ตรงจุดจนกว่าการเขียนโปรแกรมจะเสร็จสิ้น)
อินเตอร์เฟสการสื่อสาร
ไมโครคอนโทรลเลอร์ที่ทันสมัยยังมาพร้อมกับอินเทอร์เฟซการสื่อสารอื่น ๆ จำนวนมาก (Ethernet, WiFi, Bluetooth) และสามารถใช้แฟลชเหล่านี้ได้ ตัวอย่างเช่นESP32ซึ่งมีราคาประมาณ 6 USD และเป็น SoC ที่มีส่วนประกอบทั้งหมดที่จำเป็นสำหรับการเชื่อมต่อ wifi นอกจากนี้มันยังเข้ากันได้กับ Arduino (คุณสามารถใช้ IDE) และมีชุดตัวอย่างที่ละเอียดมากรวมถึง WiFi OTA bootloader คุณจะต้องมี ISP สำหรับการปรับใช้ bootloader ครั้งแรกเท่านั้น
ถ้าหากเป็นไปตามที่คำถามของคุณ - โครงการของคุณส่วนใหญ่แล้วเสร็จนี่อาจไม่ใช่ตัวเลือกอีกต่อไป