一般的MCU不会留有太多的USB口,但在实际项目中又会遇到需要很多个USB口的情况,这时就会用到USB集线器来扩展USB口了。USB2514这个芯片是我在工作中用的比较多的,但是问题很多,从来没有调稳定过,前几天抽空把这个芯片调了一下,终于调稳定了。现在就把我调试过程写下来。

首先在网上抄了一个电路,原理如下:

图中所有的红色标号全部用导线引出,下游的USB端口接了4个USB座。所有电路手工焊接,焊完后插上电脑一点反应都没有,测量各电压都正常,但是晶振没起振。网上搜了一下有人说这个芯片必须下级要连设备晶振才会起振,于是我插了一个U盘,但是晶振还是没有起振。

之后将芯片各脚重新过了一遍锡后将晶振旁边的18pf电容换成了22pf,插上电后提示“无法识别的USB设备”。

网上搜资料,大多数人说是焊接问题导致的,于是我又把芯片各引脚过了一遍锡,插上电脑提示“USB端口上的电涌”,“未知USB设备所需电量超出该端口所能提供的电量”,如图:

手摸芯片明显发热,我本以为还是用不了,结果用示波器量一下晶振竟然起振了(此时下级USB没有连接设备),插上一个U盘也识别到了,而且还能正常使用,不过接出的4个USB口有一个不能用,于是我又把各引脚过了一遍锡,现象和之前还是一样的。后来发现其实并不是每次都能识别到设备,测量电流在200mA左右。

虽然最后问题都没有解决,但我觉得就是焊接导致的。这版电路没有什么保护,我不想在上面耗费太多时间,因此直接换了另一版电路,如下:

第二版比第一版多了很多东西,有些地方还有差异,具体来看一下这些差异:

第一处是22,24,25这三个引脚,第一版是接了100K电阻到地,第二版直接悬空了,查看资料:

虽然没有完全理解是什么意思,但是发现这几个引脚还挺重要的,资料上并没找到这几个引脚悬空是什么状态,为了保险起见还是应该下拉到地。

第二处是第一版的27号引脚接的是3.3V,而第二版27号引脚接的是5V,查看资料:

必须连3.3V !!!

第二版原理图中新增的部分第一处是多了一个TPS2069,这是一个电流驱动芯片,输入电压4.5V~5.5V,输出电流1.5A。所以这里不知道接这个东西有什么意义。

另外加入了两个SRV05-4,这是USB接口常用的静电保护器件。

将有问题的地方修改后原理如下:

图中蓝色的圆都是焊盘。根据原理图设计PCB,如下:

拿到样板后进行焊接,第一个要焊的器件就是USB2514。根据上次调试的经验,这个芯片的焊接一定一定不能出问题。我的方法是先在USB2514底下的焊盘上放一些锡膏,然后将芯片压上去,注意锡膏不能放太多,不然压芯片的时候会把锡膏挤出来。调整好位置后将PCB板架高,用热风枪吹PCB的背面,感觉锡膏熔了就OK了。之后再用烙铁把引脚焊好。一点助焊剂都不要用。之后再焊接剩下的器件。我当时因为手头没有SRV05-4这个件,因此就没焊。

然后将集线器贴在一块开发板上(只是借助了开发板上的焊盘及公共的地线,仅仅是为了方便焊接而已)。再连一个5V转3.3V的芯片给USB2514供电。4个下级USB插座也焊上,连上USB插头,这样理论上来说它就和我们平时用的USB集线器一样了。焊接好后如下:

插上电脑后直接就识别成了一个通用USB集线器:

不接设备时测量电流只有6.5mA,4个USB口全部能正常使用。而且不接设备时测量晶振是没有起振的,接上设备时测量晶振才起振,附上示波器测量图:

最后总结一下

连接电脑后没反应;连接电脑后提示USB端口上的电涌;下级没有连接设备但是晶振起振了,存在用不了的下级USB口;这些都是焊接导致的。

USB2514是3.3V供电,下级不接设备时晶振是不起振的。

USB2514集线器调试总结的更多相关文章

  1. 调试技巧--Windows端口号是否被占用

    调试技巧--Windows端口号是否被占用 一.端口概念 10.0.0.0~10.255.255.255,172.16.0.0~172.16.255.255, 192.168.0.0~192.168. ...

  2. Linux网络应用编程之集线器(Packet Tracer仿真)

    Packet Tracer入门 一,集线器概况 对接收到的信号进行再生整形放大,以扩大网络的传输距离,同时把所有节点集中在以它为中心的节点上. 工作于OSI(开放式系统互联参考模型)的最底层(物理层) ...

  3. 钉钉开发笔记(6)使用Google浏览器做真机页面调试

    注: 参考文献:https://developers.google.com/web/ 部分字段为翻译文献,水平有限,如有错误敬请指正 步骤1: 从Windows,Mac或Linux计算机远程调试And ...

  4. android:如何通过chrome远程调试APP中的webView的h5代码

    今天出现一个问题,在老板的Mate9 Pro上,我们APP的所有H5页面都是一片空白,但是在其他手机上都是好的,那么我们就怀疑是h5报错了,但是到底是什么错,无法得知,所以就想要可以像在pc的chro ...

  5. 混合式应用真机调试(Android Studio + Chrome)

    如何在chrome上调试混合式APP https://developers.google.com/web/tools/chrome-devtools/remote-debugging/ Get Sta ...

  6. [转] 在安卓设备上使用 Chrome 远程调试功能

    你的网页内容在移动设备上的体验可能和电脑上完全不同.Chrome DevTools 提供了远程调试功能,这让你可以在安卓设备上实时调试开发的内容. 安卓远程调试支持: 在浏览器选项卡中调试网站. 在原 ...

  7. 钉钉开发笔记(六)使用Google浏览器做真机页面调试

    注: 参考文献:https://developers.google.com/web/ 部分字段为翻译文献,水平有限,如有错误敬请指正 步骤1: 从Windows,Mac或Linux计算机远程调试And ...

  8. 使用Google浏览器做真机页面调试

    步骤1: 从Windows,Mac或Linux计算机远程调试Android设备上的实时内容.本教程将教您如何: 设置您的Android设备进行远程调试,并从开发机器中发现它.从您的开发机器检查和调试A ...

  9. 远程调试 Android 设备使用入门(谷歌翻译版)

    移动前端调试方案(Android + Chrome 实现远程调试) 目录 要求 第 1 步:发现您的 Android 设备 第 2 步:从您的开发计算机调试 Android 设备上的内容. 更多操作: ...

随机推荐

  1. Erlang那些事儿第1回之我是变量,一次赋值永不改变

    第1回先从不变的变量说开来,学过其他编程语言的人都知道,变量之所以叫变量,是因为它会经常变,被修改.假设原本X  = 10,后来再执行X = 24,那么X就从10变成了24,这对于程序新手和老鸟来说, ...

  2. Kubernetes K8S之Helm部署、使用与示例

    Kubernetes K8S之Helm部署.使用.常见操作与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2 ...

  3. SpringBoot从入门到精通教程(六)

    之前学了,这么多东西 thyemeaf .MyBatis 还有 配置文件等等,今天我们就来做一个小案例 CRUD,程序员的必备 项目结构 pom.xml <!-- mybatis 相关依赖 -- ...

  4. 使用Github快速的寻找项目

    作为一个3年的码农昨天在学习项目,顺便总结一下 ,在Github找项目的几个常用方式 ,如果对您有帮助,可以点个关注,便于下次光顾! 首先我们来看一下常用命令 1.指定搜索方式 搜索文件中有spiri ...

  5. sqoop用法之mysql与hive数据导入导出

    目录 一. Sqoop介绍 二. Mysql 数据导入到 Hive 三. Hive数据导入到Mysql 四. mysql数据增量导入hive 1. 基于递增列Append导入 1). 创建hive表 ...

  6. 自学python,从小白到大神,需要多久?

    2020年10月 TIOBE 排行榜超过了 Java, 历史上首次 Python 超越了 Java ,再次让许多朋友对 Python 产生了兴趣,今天我们来梳理下学习 Python 几个阶段或者级别, ...

  7. Matplotlib处理csv文件

    csv模块包含在python标准库中,可用于分析CSV文件中的数据行,让我们能够快速提取感兴趣的值.首先绘制一个简单的折线图: 1 #!usr/bin/env python 2 #*-*Coding= ...

  8. python极简代码之检测元素组成是否相同

    可以检测两个字符串的组成是不是一样的,可以检测两个列表的元素是否一样,可以检测集合里的元素是否一致,可以检测字典里的值是否一致: 1 # !usr/bin/env python3 2 # *-* co ...

  9. inotifywait命令如何监控文件变化?

    转载自:https://segmentfault.com/a/1190000038351925 文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用rsync命令将变化的文 ...

  10. 如何通过台服流出的服务端自己架设DNF

    为达到更好的浏览效果,请点击原文:https://wuter.cn/513.html/ 写在最前 其实我也是dnf忠实粉丝,大概在四年级也就是2008年刚刚开始公测的时候就入坑了,一直持续到高中,目睹 ...