USB学习笔记连载(七):CY7C68013A 无法识别的可能原因
最近一直在调试视频 采集卡,和PC端连接的是USB接口,使用的是cypress的CY7C68013A-56PVXC。
//==============================================================================
//调试初期,先来几篇出现问题的总结
现列举一下对于CY7C68013无法识别的可能存在原因。在设备管理器里面显示的VID/PID为全0。

上图是CY7C68013A-56PVXC和EEPROM的最小系统。
若是按照上图接线的话,插上电脑会显示位置设备。但是有时候可能会显示 无法识别此设备。那么可能原因如下:
1. SDA、SCL 2.2k 上拉电阻未接
2. IIC总线上的EEPROM损坏或者内部数据有问题-------可以直接卸掉。
3.
未下拉,或者虚焊、断路。
4. 时钟输入的晶振或者电容有问题-------可能性比较小。
5. 复位未上拉,或跟地短路,对于56脚封装,49是复位,48是地。------仔细焊接。
6. 如果68013A外连其它芯片,比如CPLD或者FPGA,请在程序中按照正确的接口时序,如果未与68013进行通信,请将CPLD或者FPGA未用管脚设置成三态输入;
7. 用手摸芯片,看手是否能一直摸着------烫手了?运行程序有问题或者管脚漏电流厉害!与68013连接的外部电路有问题。
8. 以上都不是原因的话,可能片子是假的,淘宝水很深。
9. 对于测试PC机系统,若是win 7系统或者XP系统,问题应该不大,能检测到设备,但是对于win 8或者以上系统,会有驱动数字签名一说,即使检测到未知设备,也安装不上驱动。可以百度搜索如何关闭WIN8驱动数字签名。
10. 要保证片子各个供电引脚正常,接地正常,晶振输入正常,晶振输出正常;
11. USB线有问题或质量差,特别是USB2.0对线的要求较高。
12. USB插头/座接触不良,有些主机使用时间长以后,插座簧片弹性差或有灰尘,引脚触点的接触阻抗变大。
13. 复位信号有问题,没复位或复位时间太短。要求复位时间t>15ms。(这个请注意,笔者就有遇到reset引脚一开始电压正常,但是过了一会电压下降到0.5V左右,reset不正常,也会导致USB不工作)
14. 如果设备使用USB口供电,可能是供电电流不足引起,特别是主机前面的USB口输出电流都很小,可改用后面的USB口试试。
总结: 在保证电源和硬件电路没有问题的情况下,一般来说都是焊接的问题,虚焊、断路、短路。如出现此类问题,请对照原理图逐项检查,定能保证工作正常。
//======================================================================================
//调试后期
笔者在调试USB模块的时候,着实吃了好多苦头,说多了都是泪(累)。笔者遇到的问题如下面的图片和链接。

http://www.amobbs.com/thread-5647199-1-1.html
http://www.amobbs.com/forum.php?mod=viewthread&tid=5641421&highlight=cy7c68013
http://www.amobbs.com/forum.php?mod=viewthread&tid=5641420&highlight=cy7c68013(为了发个帖子,ID还被封了)
上述是笔者当时提问发的帖子。
当然还有下面的帖子:
http://bbs.21ic.com/icview-175993-1-1.html
http://bbs.ic37.com/bbsview-15131.htm
http://bbs.elecfans.com/jishu_292143_1_1.html
注意!!!!出现上述问题可能的最大的原因,第一:有地方虚焊,逐个检查各个焊盘,第二最重要的原因可能是如下:

左边是一个开发板上面取下来的,右边是在TB上面买的,能看出啥端倪吗?重点是看一下图标!!!!!
假货!!!!!!!假货!!!!!!!假货!!!!!!!(重要事说三遍!!!可恶的卖家)。
看到也有人因此受到牵连,如下帖子:
http://www.amobbs.com/forum.php?mod=viewthread&tid=5305699&highlight=cy7c68013A
当然还有下面的文章:
http://blog.saleae.com/counterfeit-parts-are-a-big-headache/
找正规代理商拿货吧,虽然贵点,但是省去了多少调试时间,回过头来才发现是芯片的问题。
谨以此文悼念在CY7C68013A开发板调试的时间!!!!珍惜时间!!!!!
再附上几个帖子:
http://www.eefocus.com/liangziusb/blog/11-11/234355_29135.html
推荐的博客:
http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM
USB学习笔记连载(七):CY7C68013A 无法识别的可能原因的更多相关文章
- USB学习笔记连载(十五):USB固件更新以及安装驱动
前几篇博客已经把如何更改固件程序和更改USB驱动名称,那么接下来就要把之前生成的 .iic 文件烧录到EEPROM里面去,实现USB的C2启动(笔者使用的是此类型,C2启动). 打开Cypress U ...
- USB学习笔记连载(十一):CY7C68013A的启动方式-EEPROM
上述的应用笔记中有介绍FX2LP的启动选项,主要包括I2C启动和USB启动. 说白了I2C启动需要使用外部的EEPROM,USB启动,只是使用上位机控制软件将配置程序FX2LP中,不用EEPRO ...
- USB学习笔记连载(二十一):CY7C68013A进行数据传输(一)
官方手册中给出了bulkloop参考例程,此例程是PC从端口2发送出数据,然后从端口6接收到数据,那么根据这个思想,可以进行修改,使得PC机接收到的数据不是从EP2发送过来的,而是从外部逻辑,比如FP ...
- USB学习笔记连载(二十):FX2LP如何实现高速和全速切换(转载)
CYPRESS的USB外设控制器CY7C68013A是一款广泛应用于USB打印机,手机,存储设备,USB测试等多个领域的经典产品.该产品符合USB2.0协议规范,支持full speed和high s ...
- USB学习笔记连载(十三):keil的配置环境
在对USB设备的驱动名字进行更改时,需要利用keil软件对固件进行修改,并生成 .iic 文件烧录到CY7C68013A所带的外部EEPROM中,keil生成的 .hex文件只能烧录到 Cypress ...
- USB学习笔记连载(十二):USB描述符
USB设备是端口,接口,配置的集合,USB协议是以各种USB描述符来表征USB设备的功能.计算机通过这些描述符来获得USB设备的功能. USB描述符包括: USB标准设备描述符,USB集线器描述符.H ...
- USB学习笔记连载(八):FX2替换到FX2LP需要注意事项
对于使用FX2的用户,可以升级到FX2LP,上述的应用笔记<AN4078-C>中就讲解了在升级中的注意事项. 必要的修改: 1.晶振的匹配电容需要更改,FX2LP是12pF,不过笔 ...
- USB学习笔记连载(十六):USB数字签名
转载:http://blog.chinaaet.com/crazybingo/p/34487 曾记得在最开始安装驱动程序的时候出现过这个错误....但是最近我在别的电脑安装的时候又不出现这个错误了.. ...
- opencv学习笔记(七)SVM+HOG
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
随机推荐
- UITableView当数据很少的时候,去掉多余的cell分割线
转自:http://www.cnblogs.com/bucengyongyou/archive/2012/10/15/2723814.html 在tableView初始化的时候 UIView *v = ...
- javascript基础拾遗(五)
1.什么是箭头函数 ES6引入的一种新的函数,类似匿名函数,x=>xx 箭头左端为函数参数,右端为函数体 相当于 function (x){ retutn xx } 2.箭头函数的特点 更简洁 ...
- sql随机查询数据order by newid()
方法1:最普通的写法,性能慢 ID,name FROM dt_keyword ORDER BY NEWID() 方法2:性能还可以 //先给数据库增加一列ALTER TABLE dt_keyword ...
- 使用 IDEA 开发工具(版本为 IntelliJ IDEA 14.1.4)打可执行jar包的操作步骤
声明:教程演示使用的开发工具的版本是 IntelliJ IDEA 14.1.4. 1.选择IDEA开发工具菜单栏 File --> Project Structure,弹出如下窗口,在左侧的列表 ...
- Android getWindow().setFlags方法
//设置窗体全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams ...
- replace()的使用方法
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 数字类型的必须转换成字符串才能使用replace,否则会报错
- 06Vue.js快速入门-Vue组件化开发
组件其实就是一个拥有样式.动画.js逻辑.HTML结构的综合块.前端组件化确实让大的前端团队更高效的开发前端项目.而作为前端比较流行的框架之一,Vue的组件和也做的非常彻底,而且有自己的特色.尤其是她 ...
- 让cpu跑到100%的bat文件
请你新建一个叫“virus.bat”的批处理文件,里面填写上如下三段命令: Echo "welcom to the aqjava's world"Tree /fCall virus ...
- 纯css3开发的响应式设计动画菜单(支持ie8)
这是一个响应式设计的菜单.单击列表图标,当你显示屏大小可以完全水平放下所有菜单项时,菜单水平显示(如图1).当你的显示屏不能水平放置所有菜单项时,菜单垂直显示(如图2). 而且显示的时候是以动画的型式 ...
- 算法篇---java经典问题!!!
问题一:==与equal的区别? ==和 equals 都是比较的,而前者是运算符,后者则是一个方法,基本数据类型和引用数据类型都可以使用运算符==,而只有引用类型数据才可以使用 equals,下面具 ...