我刚才在一篇关于Silabs CP2104 USB到UART芯片的帖子中提到,价格上涨了,并指出WCH CH9102F芯片可以作为替代亚博体育官下载LILYGO T型显示板.
我以前从未听说过CH9102芯片(C亚博体育官下载H9102F和CH9102X),所以我决定通过检查这两个芯片来进行更多的研究CH9102和CP2104数据表.
好消息是,CH9102F和CP2104基本上相同的引脚分配虽然有些小差异可能不是问题,这取决于应用程序,有一个4 x4mm 24-QFN包(4 x4mm)意思如果你耗尽CP2104芯片,CH9102F作为一种替代方法,可以使用,应该替代。
CH9102X与CH9102F非常相似,但在5x5mm 28-QFN包中提供,带有额外的GPIO。回到主要竞争者……根据LILYGO的说法,CH9102F和CP2104之间的一个区别是前者限制在4 Mbps,而后者支持高达12 Mbps的数据传输。
我是从上表上得到的信息T-Display ESP32全球速卖通页面,但数据表有更多的上下文:
- CP2104
- “符合USB规范2.0;全速(12 Mbps)”
- UART -“波特率:300bps到2mbits”
- CH9102–“硬件全双工串行UART接口,集成收发缓冲区,支持通信波特率从50bps到4Mbps不等。”
所以CH9102可能支持更高的比特率。对于ESP板来说,这可能无关紧要,因为我见过的最大波特率是150万bps,使用esptool等工具。Windows和Mac OS都支持CH9102,而且该芯片可能在Linux中开箱就能工作,但如果不行的话WCH“VCP”驱动程序也可用。
由于提供替代方案的决定成本更低,让我们检查CP2104康文署的定价资料...
价格接近每单位4美元,这似乎是一个芯片的偏高,经常发现五至十元...
CH9102F在LCSC中上市,但在LSCS中显示为“折扣”,这可能只是意味着没有库存。Octopart显然从未听说过该芯片,因此,我上了1688.com...
一些供应商提供的CH9102部件价格在5到6元之间,或约78到93美分。亚博体育官下载这是一个明显的区别。我想在1688上查询CP2104的价格,但是我没有“搜索限额”,我要求创建一个账户并登录……
有CH9102F作为第二个来源是件好事,即使您的硬件对成本不敏感,以防CP2104库存耗尽…

Jean-Luc于2010年开始兼www.yabo188.vip职创办CNX软件,2011年辞去软件工程经理的工作,开始全职撰写每日新闻和评论。
我试图在LCSC上购买一些CH552T或CH552G,这些CH552G之前持有大量廉价的USB 8位mcu。如今,该股票为零。我最后尝试在淘宝上下单,但是因为芯片短缺(TB上的卖家无法发货给发货代理),2个订单被取消。1688.com似乎与TB有关,因为当我试图在他们的网站上搜索CH552T时,他们让我登录TB。
刚刚搜索了1688上的CP2104,得到了不同的结果。从4.90亚博体育官下载元(0.76美元)到15.80元(2.45美元)。可能越便宜就越不原汁原味。
通常这种差异是最小订单量。2.45美元是第一季度。你需要花0.76美元购买整个卷筒的2000-3000个零件。一般来说,这方面的清单并不清楚,你必须问。对于Q1是一个芯片还是一个卷轴,他们并不一致。亚博体育官下载
它们与CH340相比,但CH340的一个问题是高比特率,由于缺乏内部寄存器的供应商文档,不稳定,阻止使用大数据包,这是绝对强制性的,以支持芯晶设备默认使用的1.5 Mbps。I tried to change that but that broke for other users on small transfers and the change had to be reverted So now I’m going to stay away from CH340 for anything higher than a few hundred kbps.
他们已经创建了一个github账户,并开始上传他们的代码:
https://github.com/WCHSoftGroup
他们甚至说内核中的ch340驱动程序有缺陷,他们希望自己的驱动程序被使用。
哦,谢谢,如果幸运的话,我们可以在那里找到隐藏的部分!他们批评他们的司机没有被使用真的是夸张了,他们应该首先提出这个!
我鼓励他们提交。
https://github.com/WCHSoftGroup/ch341ser_linux/issues/2
如果他们不感兴趣,你也可以为他们做。
>或者如果他们不感兴趣,你可以替他们做。
对我来说,现在尝试为一个利基ARM SoC推送>300提交已经足够了。我想如果威利能用他们的代码来解决如何让他的高速改变生效那将是最好的结果。
快速浏览一下他们的代码让我觉得清理代码并将其作为现有驱动程序的替代无论如何都需要做大量的工作。他们可能应该完全抛弃他们的驱动程序,只修复他们认为存在于内核中的bug。
是的。这几周我的时间非常短,但我一直在关注它,希望能找到一些时间将它们的设置代码与主线代码进行比较,并找出当xfer大小增加超过这个值时,需要做哪些更改才能强制芯片在64字节边界上发送数据包。
在我看来,全速USB设备在UART端口的速度永远不会达到12Mbps。如果我们允许全双工,并减少USB开销,那么即使总线上没有其他设备,4Mbps也将是一个很好的成就。
CP210x芯片上有一个可通过USB编程的EEPROM。
CH9102没有EEPROM,它可以改变PID(产品ID)字符串等。
CP2104有4个gpio管脚,可以在Linux和sysfs下使用。
有一个被接受的内核补丁,由某个制造usb串行板的匈牙利人在/sys/class/gpio下公开它们,但对于CP2102N,如果我记得的话:
http://www.zoobab.com/ch341-usb-spi-i2c-uart-isp-dongle#toc13
我认为这个补丁已经在主线中被接受了,现在你可能有一个libgpiod USB设备,在那里你可以控制GPIO管脚,而不必编写自己的libusb命令。
我想用这个WCH芯片做同样的事情是可行的,就像对CH341A的GPIO引脚做的一样。
供你参考,macOS的驱动程序还不是很好,看https://github.com/Xinyuan-LilyGO/LilyGo-T-Call-SIM800/issues/139.
不仅仅是CP2104的价格在上涨,出于某种原因,硅实验室已经指定非常流行的CP2104 USB 2.0到UART桥接器为不推荐的新设计(NRND)。Adafruit只是做了“伟大的搜索”寻找替代品,并将CP2102N定为下一个最佳选择,但它不是一个针对针的替代品。Adafruit搜索视频在他们的博客上[2021年9月14日上午11:13]。请参见此处:
TheGreatSearch:替代CP2014 USB到UART #TheGreatSearch #DigiKey @DigiKey @Adafruit
https://blog.adafruit.com/2021/09/14/the-great-search-alternative-for-cp2014-usb-to-uart-thegreatsearch-digikey-digikey-adafruit/
您好,我最近购买了带有外部天线的3个Wemos D1 mini pro(由于有一个电阻器将车载天线连接到系统,所以无法工作)。这些板上有CH9102F芯片。Linux和MacOS无法识别该芯片。我从WCH下载了驱动程序软件并进行了编译。在说明中说必须卸载cdc acm驱动程序(rmmod)。然后我看到/dev/ttyCH343USB0.esptool.py无法识别此驱动程序,并且这些板直到现在都没有用。因此这有点令人不快。我还尝试加载CP2104驱动程序,但仍然没有成功。...阅读更多»
esptool可能无法配置非常规波特率。您可以尝试下载bootterm(https://github.com/wtarreau/bootterm),编译它并尝试检测设备(bt -l),然后尝试连接到它(bt -b 74880 /dev/ttyCH343USB0),看看它是否设法以这个速度连接(ctrl -右括号关闭)。
你好,威利,
esptool无法识别/dev/ttyCH434USB。肯定在代码里的某个地方。
我试试bootterm。谢谢你让我知道。
bt - l
端口|年龄(秒)|设备|驱动程序|说明
——+————+————+——————+———————-
* 0 | 203 | ttyCH343USB0 | usb_ch343 |
英国电信发现了司机。
问题是在esptool中。它可能与/dev名称有问题。只是放置一个像ttyUSB1的链接指向它,以防万一。否则,它可能在一个特定的ioctl上失败,而这个ioctl在这个驱动程序上失败。
嗨,弗兰克,
我还用CH9102F购买了一批Wemos D1 mini pro。在我的udev规则中添加了供应商和产品ID之后(Kubuntu 21.04中的ATTRS{idVendor}==“1a86”,ATTRS{idProduct}==“55d4”)有一个串行端口(ttyACM)。在Arduino下编程不起作用,示波器显示GPIO0引脚没有正确地拉到地上。解决方法是将其自身连接到地上,因此可以对芯片进行编程。
嗨,魏古,
谢谢你发现了这一点。我将试着把你的发现告诉wemos。
干杯
直率的
嗨,维谷,我终于把它修好了。找到你的网页:http://weigu.lu/microcontroller/tips_tricks/esp8266_tips_tricks/。由于某些原因,单板不能自动进入flash模式。我得把GPIO0短到地面。如果我从地面断开GPIO0,它结束闪光模式。esptool.py——port /dev/ttyACM0——baud 921600——chip esp8266 flash_id esptool.py v3.1串口/dev/ttyACM0连接....芯片是ESP8266EX功能:WiFi晶体是26MHz MAC: 84:f3:eb:3b:f0:3a上传存根…运行存根……存根运行……修改波特率为921600。 Manufacturer: ef Device: 4018 Detected flash size: 16MB Hard resetting via RTS pin... 1234567891011121314151617 esptool.py --port /dev/ttyACM0 --baud 921600 --chip esp8266 flash_id esptool.py...阅读更多»