363|7

9782

帖子

24

TA的资源

版主

楼主
 

CH340的问题还真不少,RTS管脚问题刚解决,DTR的问题又来了 [复制链接]

 

之前端到RTS管脚正常使用导致驱动程序出错的问题通过外加电阻算是解决了CH340X插入USB电脑检测不到串口 - 国产芯片交流 - 电子工程世界-论坛,这回又遇到一个新的问题,DTR又不好用了。

我用CH340X的DTR控制ESP32的复位管脚,使用micropython时遇到连接出错,使用Thonny连接时会出现下边的错误

  正常情况下我猜测软件会先通过DTR控制ESP32复位,然后通过串口发送数据并接收反回数据。我测量了DTR管脚的电压,发现正常发送数据时它也会有变化。

就是说只要发送数据ESP32就会复位,自然不回响应对应的指令。

 

检查CH340数据手册发现CH340X管脚6是TNOW和DRT利用的,默认为TNOW模式。

 

TNOW是用来控制485芯片切换收发模式的,在发送数据时它会通过TNOW管脚让485芯片进入发送模式,然后再变回接收模式。这是导致ESP32复位的原因。

对于CH340X可以通过将6脚与GND之间接一个4.7K的电阻,这时候会进入所谓的“开源增强模式”我猜测这个“开源”应该是指开漏,这种情况就没法复位ESP32了,因为需要它控制NPN来把ESP32的EN(RST)管脚拉低。另一种是将4.7K电阻接在6脚和5脚之间,这时它是推挽输出,理论上能满足要求。

 

下面要做的就是飞线,线飞好了,上电,串口发数据DTR还是会有跳变,醉了。

 

最新回复

这个是非常好的经验,非常有用。。   详情 回复 发表于 2024-12-27 11:25
点赞 关注
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复
举报

5259

帖子

239

TA的资源

管理员

沙发
 

我记得这是一个很成熟的芯片了吧,没记错吧,以前USB转串口,用的就是它

 

不过你说的这几个管脚,印象里没怎么用过

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

这种管脚少的是后出的产品,优点是体积小,管脚少,不需要晶振,缺点是管脚功能有复用的,没细看数据手册一不小心就掉坑里。  详情 回复 发表于 2024-12-25 11:14
 
 
 

回复

3120

帖子

0

TA的资源

五彩晶圆(中级)

板凳
 
nmg 发表于 2024-12-25 10:17 我记得这是一个很成熟的芯片了吧,没记错吧,以前USB转串口,用的就是它   不过你说的这几个管 ...

这种管脚少的是后出的产品,优点是体积小,管脚少,不需要晶振,缺点是管脚功能有复用的,没细看数据手册一不小心就掉坑里。

 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

4
 

楼主不要慌,作为过来人,确实复用引脚不注意就会有出现这类情况。

对ESP32下载,TNOW/DTR让它工作在推挽DTR增强模式就可以了,即在#6和#5脚之间串联4.7K或更小的电阻来让芯片上电后检测切换到此模式。

切换成功后,和原先你用的正常DTR就没有区别了。此外,也可以用这个免三极管的电路,我从这个博客过来的,可以参考,链接:免外围电路ESP32/ESP8266系列单片机串口一键下载方案

点评

我现在的问题是飞了一颗4.7k的电阻,但是不起作用。  详情 回复 发表于 2024-12-25 18:10
 
 
 

回复

9782

帖子

24

TA的资源

版主

5
 
SoldierJazz 发表于 2024-12-25 17:02 楼主不要慌,作为过来人,确实复用引脚不注意就会有出现这类情况。 对ESP32下载,TNOW/DTR让它工作在推 ...

我现在的问题是飞了一颗4.7k的电阻,但是不起作用。

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

6
 
littleshrimp 发表于 2024-12-25 18:10 我现在的问题是飞了一颗4.7k的电阻,但是不起作用。

通过USB描述符的bcdDevice可以判断出芯片当前的工作模式的,这样可以用于判断是否切换到DTR。我手头的设备试了下,切换到推挽输出时,bcdDevice应该是:0xA2 开头

正常TNOW模式:0x82xx

弱驱DTR:0xC2xx

强驱DTR:0xA2xx

点评

这个是非常好的经验,非常有用。。  详情 回复 发表于 2024-12-27 11:25
 
 
 

回复

3120

帖子

0

TA的资源

五彩晶圆(中级)

7
 
SoldierJazz 发表于 2024-12-27 10:49 通过USB描述符的bcdDevice可以判断出芯片当前的工作模式的,这样可以用于判断是否切换到DTR。我手头的设 ...

这个是非常好的经验,非常有用。。

 
 
 

回复

9782

帖子

24

TA的资源

版主

8
 
SoldierJazz 发表于 2024-12-27 10:49 通过USB描述符的bcdDevice可以判断出芯片当前的工作模式的,这样可以用于判断是否切换到DTR。我手头的设 ...

你说的bcdDevice是指这里的0264吗?我对比了一下,5 6脚飞4.7K和不飞4.7K的驱动里这两处是一样的。

 

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表