一般的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. 记一次真实的webpack优化经历

    前言 公司目前现有的一款产品是使用vue v2.0框架实现的,配套的打包工具为webpack v3.0.整个项目大概有80多个vue文件,也算不上什么大型项目. 只不过每次头疼的就是打包所耗费的时间平 ...

  2. 基于Python实现环形队列高效定时器

    定时器Python实现代码 import time import redis import multiprocessing class Base: """ redis配置 ...

  3. python-scrapy框架爬取某瓣电视剧信息--异步加载页面

    前期准备,首先要有python环境+scrapy环境+pycharm环境 一.建立爬虫所需的环境,在命令行输入: scrapy startproject doubantv #命名自定义就好 会生成一个 ...

  4. OneBlog开源博客-详细介绍如何实现freemarker自定义标签

    前言 OneBlog中使用到了springboot + freemarker的技术,同时项目里多个controller中都需要查询一个公有的数据集合,一般做法是直接在每个controller的方法中通 ...

  5. vue中Echarts的使用-自选效果

    由于项目要求使用数据图,于是我选择了我们的Echarts用来实现效果 一:全局安装Echarts npm install echarts --save(这个安装的是最新的版本有时候回报init未定义) ...

  6. linux系统修改不成功无法修改密码

    一.问题描述 新上架的浪潮服务器使用装机平台进行统一安装,安装完成后修改用户密码时统一无法修改,使用root账户无法修改其他用户密码,自身根密码也无法修改成功,报错如下 Changing passwo ...

  7. std::thread线程库详解(2)

    目录 目录 简介 最基本的锁 std::mutex 使用 方法和属性 递归锁 std::recursive_mutex 共享锁 std::shared_mutex (C++17) 带超时的锁 总结 简 ...

  8. DHCP.md

    DHCP 主配置文件   从 /usr/share/doc/dhcp 复制 dhcpd.conf.sample 到/etc/dhcp下                                  ...

  9. Debian安装HomeBrew

    前言 HomeBrew 的用处我想使用 Mac 的开发人员都知道, 本篇讲解如何在 Debian 上安装 BrewLinux 更新: 后来发现并不是很好用, 不建议使用 官方推荐的脚本安装 注意这里只 ...

  10. Spark内核解析

    Spark内核概述 Spark内核泛指Spark的核心运行机制,包括Spark核心组件的运行机制.Spark任务调度机制.Spark内存管理机制.Spark核心功能的运行原理等,熟练掌握Spark内核 ...