11040|6

68

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于STM32的USB使用,在使用虚拟串口时会断开 [复制链接]

本人设计了USB转串口电路,其硬件连接为:底层目标板(A板)---------UART-------usb转串口板(使用STM32芯片,B板)----------USB线---------PC机。
A板使用220V供电;B板使用PC机的USB供电;A、B板的连接为三线(Tx、Rx、GND,未隔离); A、B板、pc机三者共地;在PC机上使用了ST官方提供的驱动;
调试过程:用串口调试助手打开虚拟串口,PC机向A板发送数据,并能接收到A板发送的数据。保持虚拟串口打开,对A板进行断电处理,理论上来说,应该是能够继续收发数据。
问题产生:尝试多次后,串口调试助手会提示:串口打开失败,然后,虚拟串口就一直无法打开。观察设备管理器,发现虚拟串口还能识别(设为com2),可以确定STM32芯片没有重启,或者跑飞。
重新插拔USB之后,串口可以打开,与A板通信正常,再将A板断电多次后,会再次出现串口打开失败。
问题分析:可能是地线对PC机产生干扰信号,导致电脑虚拟串口断开(不知道是否分析正确),曾经做过实验,发现在A、B板之间加光耦隔离后效果会好很多
请教:有没有方法在PC机软件上操作,使得USB断开后重新连接(对驱动程序或者操作系统?)。或者硬件上解决这个干扰?我的USB硬件设计部分见附件 USB.rar (54.54 KB)
此帖出自stm32/stm8论坛

最新回复

                                 建议:    将A板的电源换成电池,试验一下看看220V供电的影响。  详情 回复 发表于 2010-1-23 10:39
点赞 关注
 

回复
举报

62

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 xiexiele
此帖出自stm32/stm8论坛
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
                                 一般造成这个问题的原因是你的电源系统中的滤波电容太大,而你试验中断电和上电之间的间隔较短,结果电源电压没有掉下来,造成芯片不能正常复位。
此帖出自stm32/stm8论坛
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

4
 

这样会导致电脑上虚拟串口断开么?
此帖出自stm32/stm8论坛
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

5
 
我不知道这是否这就是导致电脑上虚拟串口断开的根本原因,因为虚拟串口的驱动是来自微软的,我不知道具体它的内部是如何工作的。

但是我说的情况会造成下位机工作的不正常,下位机工作的不正常时虚拟串口的操作肯定也有问题。
此帖出自stm32/stm8论坛
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

6
 

现在我可以确定的是A 板和B板都能正常工作的,我在程序里加了指示灯。B板可以确定是没重启
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

7
 
建议:
   将A板的电源换成电池,试验一下看看220V供电的影响。
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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