通常,如果您让客户能够刷新您的设备,则希望他们不要使设备变砖。
因此,提供的主要优先级是与主机设备的牢固且安全的连接。根据我的经验,所有芯片都可以在城市和实验室环境中很好地工作(假设您是针对的)。
还考虑一下使组件正常工作所需的时间-您的生产数量少了几百个,您每个增加了2美元。该“损失”是否价值超过您(或开发者)的时间?记录良好的芯片实际上可能是更好的选择,即使成本更高。
CH340
是的,至少在您需要即插即用的情况下,这确实是一个坏主意。对于Win 8.1的我来说,我需要手动安装驱动程序(CH340SER.exe
),该驱动程序必须从(当时)没有英文翻译的(中国)制造商的网站上下载。
它是在中国托管的,对于有安全意识的个人以及受组织和/或政治规则约束的个人而言,这可能是个问题。而且,在许多可疑的“免费”驱动程序下载站点中,它的搜索结果也排名不胜枚举。
如果这是什么严肃的设备(反对“仅仅”使用Arduino),那将使我大为惊讶。如果您的客户没有专用的闪存设备,手动安装也可能会很烦人。
否则,该芯片将按预期工作。
CP2102
没什么好说的,开箱即用,没有提出任何问题。我可能会选择平均设计。
对外直接投资
我在独立的USB-Serial转换器板上有一个,它表现良好。正如您所写,它相当昂贵,但我相信在恶劣环境下(例如连接器上腐蚀的触点以及EMI),它可能是更好的选择。因为您支持原始开发人员,所以可能给您一种温暖的模糊感觉。
其他想法
互联网服务提供商
根据@Chetan Bhargava的回答,一种选择是为SPI提供一个连接器,然后使用独立的USB串行转换器。
这还要求您提供一个可靠且安全使用的连接器供ISP连接。显然,您可以在这里使用引脚连接器,而价格便宜,但是如果您想做对(和/或对客户不足够的信任),那么该连接器可能会比附加芯片和普通USB连接器昂贵。如果串行连接不起作用,则很难调试,这与USB相反,在USB中,客户至少会收到USB设备不起作用的通知。
如果将独立转换器与电路板捆绑在一起,则您也必须为转换器板支付费用。我认为这不会比集成芯片便宜。如果每个客户都拥有您的许多电路板,那么这可能会起作用,因此可以重新使用转换器,或者您可以将购买编程器的费用推给客户方。
如果可能的话,此时,还有Atmel自己的AVRISP,虽然有些过时了,但它是一个不错的选择,而不是普通的USB-to-Serial。我认为它的上限大约为100或200 kbps,而现代USB串行转换器则达到了兆位范围。但这在(误用)使用方面非常强大。
另一个不错的选择是TC2030连接器。它只需要与PCB上的焊盘配合使用,但需要一些专业知识(您必须当场将其握住,直到编程完成)。
通讯接口
现代微控制器还带有许多其他通信接口(以太网,WiFi,蓝牙),通常可以使用这些接口进行刷新。例如,ESP32的成本约为6美元,是一种SoC,具有wifi连接所需的所有组件。它还与Arduino兼容(您甚至可以使用IDE),并具有非常详尽的示例集,包括WiFi OTA引导加载程序。您仅需要ISP来进行Bootloader的初始部署。
如果-在您的问题中听起来像-您的项目大部分已经完成,那么这可能不再是一个选择。