我有一块板卡是将DSP的串口(TTL电平)通过CH340T转换成USB口输出,将板卡的USB口接到电脑的USB口上是可以正常进行串口通信的。现在需要将板卡的USB口转成9针串口(DB9)与其他设备连接进行串口通信。发现直接用USB转串口线不行。
后来查阅了相关资料,单独用了一块基于CH340T的USB转串口(TTL电平)的小模块(这个小模块插在电脑的USB口上是可以正常串口通信的),在小模块的USB口焊了2根电源线单独给它供+5V的电(USB口四根线VCC、D+、D-、GND,我将VCC和GND单独引出用稳压电源给小模块单独供+5V电),然后将USB转串口的小模块与板卡的USB口连接,发现小模块的串口(TTL电平)还是没有输出。
我有两个问题:
(1)我将USB转串口(TTL)小模块单独插在电脑USB口上,用示波器看CH340T的无源晶振是可以起振的,此时D+和D-两个管脚每隔1ms就有数据波形输出(好像电脑装上CH340的驱动之后即便没有数据通信隔1ms也有指令交互)。而将这个小模块插在板卡的USB口上晶振也不起振,D+和D-这两个管脚只是一个保持+3.3V、一个保持0V,也没有数据,请问这是什么原因?这具体是什么机制?
(2)现在我这个板卡的USB口要想转为9针串口,请问该如何解决?
P2 是 USB 端口,USB 总线包括一对 5V 电源线和一对数据信号线,通常,+5V 电源线是红色,接 地线是黑色,D+信号线是绿色,D-信号线是白色。USB 总线提供的电源电流最大可以达到 500mA,一 般情况下,CH340 芯片和低功耗的 USB 产品可以直接使用 USB 总线提供的 5V 电源。如果 USB 产品通 过其它供电方式提供常备电源,那么 CH340 也应该使用该常备电源,这样可以避免与 USB 电源之间的 I/O 电流倒灌。如果需要同时使用 USB 总线的电源,那么可以通过阻值约为 1Ω 的电阻连接 USB 总线 的 5V 电源线与 USB 产品的 5V 常备电源,并且两者的接地线直接相连接。
直接将MCU的TTL接个TTL转232,连接到电脑岂不很好。
概述
CH340是一个USB总线的转接芯片,实现USB转串口。
特点
●全速USB设备接口,兼容USB V2.0。
●仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。
●计算机端Windows操作系统下的串口应用程序完全兼容,无需修改。
●硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps~2Mbps。
●支持DTR、CTS等信号。
●内置固件,软件兼容CH341,可以直接使用CH341的VCP驱动程序。
●支持5V电源电压和3.3V电源电压甚至3V电源电压。
●CKO时钟输出。
文档
CH340特 点:
型号区别:
CH340C和CH340E 以及CH340B内置时钟,无需外部晶振。
CH340B 还内置EEPROM 用于配置序列号,以及部分功能可定制等。
CH340R 内置简易RS232,无需外部RS232转换芯片,暂无现货。
谢谢各位回复,有两个细节我解释一下:
(1)关于共地问题
如我的图所示,USB接头的四根线中本来就有一条地线,板卡和USB转串口TTL小模块之间通过USB相连接后,肯定是共地的,而且与+5V稳压电源的地线相连接的。
(2)关于CH340T供电的问题
“如果USB产品通过其它供电方式提供常备电源,那么CH340也应该使用该常备电源”,USB接头的四根线中本来就有一条电源线,板卡和USB转串口TTL小模块之间通过USB相连接后,+5V稳压电源在给USB转串口TTL小模块供电的同时,也通过与板卡相连的USB口向板卡上的CH340T供电,所以板卡上的CH340T和小模块上的CH340T也是共电共地的。
请问各位我的第一个问题:
我将USB转串口(TTL)小模块单独插在电脑USB口上,用示波器看CH340T的无源晶振是可以起振的,此时D+和D-两个管脚每隔1ms就有数据波形输出(好像电脑装上CH340的驱动之后即便没有数据通信隔1ms也有指令交互)。而将这个小模块插在板卡的USB口上晶振也不起振,D+和D-这两个管脚只是一个保持+3.3V、一个保持0V,也没有数据。
记得第一次插电脑的时候自动装上了驱动,是不是驱动的缘故?CH340是不是必须在驱动程序发送指令之后才能正常启动工作?也就是说CH340只能接计算机的USB口,不能接一般设备的USB口(因为一般设备的USB口不发指令)?