USB转串口芯片你看好哪个,CH340 driver issues and stability

题图来自Unsplash,基于CC0协议
导读
对于USB转串口芯片的选择,这确实是一个值得认真考虑的问题。
CH340芯片无疑是市面上最容易看到也最容易获得的价格利器,无论是购买开发板还是成品串口转换线,你都可以以非常低廉的价格入手。它支持5V/3.3V输入,线路控制信号齐全,绝大多数大佬的产品在前期验证阶段都是用这种方案打造的小白板。但使用CH340这块料的时候,我还是建议你最好提前装好官方驱动,不然在某些网络不好或后续操作系统更新的场景下,可能会面临无法轻易找到稳定驱动源的问题。特别是在Windows系统上,安装驱动程序相对麻烦(虽然近年来Microsoft提供的自动驱动识别功能改善了一些,但官方支持却不尽如人意),如果你对驱动程序兼容性比较在意,从成本角度考虑CH340也没有必要那么刮目相看。
Silicon Labs的CP210x系列芯片是我比较看好的选择之一,整体发热量较小,静默运行时更稳定,而且驱动程序兼容多个操作系统和架构类型,包括Linux、Windows和MacOS。作为USB转串口芯片成熟玩家,SiLabs提供从硬件设计、固件到驱动的好全套支持,这也使得他们在开发过程中遇到的问题会少一些。至于驱动程序安装方面,他们的驱动一直是比较完善的,通常不会因为系统变更而产生下半身不稳的情况。
而PL2303(俗称"痰多"芯片)这几年已经被骂得很惨了,主要原因的确是一些第三方厂商为了压成本,广泛使用那些来路不正的代工料甚至假货,在串口通信稳定性方面实实在在地给出了不好的体验。在使用PL2303板子进行数据收发测试时,会出现传输中断、通信质量急剧下降,甚至在极端情况下,发布推文还造成过系统"蓝屏"和"黑屏"的事故,这在嵌入式领域中尤其是产品开发过程中,是绝对需要避免的。
再比较一下FTDI和CP210x,FTDI(现已被Silicon Labs收购)其产品的性能非常出色,提供了极为完善的技术支持,大多数情况下你不会因使用它而被串口通信问题困扰到凌晨两点。事实上,许多工程师我都更喜欢FTDI牌,因为它的串口通信质量实在太稳了,特别适合那些严苛、需要高可靠性的开发使用环境。当然,对比到价格层面,FTDI牌的适配器确实比那些PL2303之类的便宜型号要贵,但如果你是习惯为长期可靠的工具买单的人,这点溢价绝对物有所值。
如果要说哪种芯片会对你的项目造成比较大的潜在问题,我认为CH340和PL2303确实是最高频的两个问题源头。尤其是CH340,有些人甚至尝试大批量采购,但没等稳定运行几个月,开发平台上就有可能毫无征兆地出现莫名其妙的字符跳变。还有业内关于PL2303因其做工的确存在无法考证的业内俗称"进化"(指"痰多")问题,当你在调试过程中遇到通信乱码情况且排查良久无果时,那多半是因为使用了劣质PL2303。
对于工业用途的开发场景呢?除非是充作项目原型验证,否则我更倾向于推荐CP210x,因为它在工业空调、测试设备、传输稳定性与耐震动能力上都比较好,而且完全不用担心驱动程序在未来升级是否兼容的问题。虽然大致来看它的成本可能稍高,但考虑到今后的维护成本,这点花费也绝对算是在值得投入的范围内。
如果你在意系统稳定性(尤其是Ubuntu平台)并希望免去手动装驱动程序的麻烦,这只CP210x带Linux驱动的小帮手,我绝对不会担心它会带着需求实施失败的姿态出现在你桌面上。换来说,在Linux中有良好的串口适配器支持是开发者不常见的目标还是定期要面对的问题时,CP210x芯片真的是有望让你的问题列表可以缩减的。
至于CP2102和FT232RL系列的性能,这两者的串口通信最高可以做到不错的水平,这就像是选择两个高级跑车的底盘,虽然都是串口转USB的芯片,但是底层架构决定了它们在传输体验上的差异非常明显。换句话说,如果你关注的是传输还是在使用这个过程中能否不因驱动问题影响开发节奏,相信我,CP2102和FT232RL真的可以带给你相当不一样的实感。特别是在使用中需要频繁传输大量数据的时候,可以明显感到CP2102的方案较为优越。
最后回到最初那个关于"USB转串口芯片到底哪个更值得看好"的问题,我觉得最值得用户关注的其实不只是具体的芯片型号,更多的是一整套技术、生态支持与使用体验。所以无论你是刚入行的新手,还是经验丰富的嵌入式Dev,在想选购串口转换芯片时,也建议你会把可靠性、价格与官方支持列为考量要素,这样才能做出适合自己的明智选择。
© 版权声明
本文由盾科技原创,版权归 盾科技所有,未经允许禁止任何形式的转载。转载请联系candieraddenipc92@gmail.com