微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 终于搞定了68013,把经验和大家分享一下

终于搞定了68013,把经验和大家分享一下

时间:10-02 整理:3721RD 点击:
大家好,lz用了半个月时间才搞定一个Cypress USB控制器68013A+Xilinx FPGA的板子,电脑上各种弹出“无法识别的USB设备”,过程中被折磨的不行。好在终于解决了,把经验和大家分享一下,攒攒人品,让大家少走弯路。
    网上很多人强调USB2.0布线如何如何,实际感觉也没那么邪乎,lz用了一对过孔,同时保证D+ D-等长,线长900mil左右,各串一个20欧的端接电阻没什么问题。
    要提醒大家的是千万千万注意焊接质量。否则会出现很多奇奇怪怪的问题。最开始的时候,小编用bulkloop程序,FPGA程序和固件都确定没问题,EP2能out,但是EP6不能in,flag显示EP6端点FIFO明明有数据,用的Autoin/out模式,PC就是不能Bulkin。无奈放弃,重新做了一块板子。事后想想问题应该出在焊接上了。
    另外,无论接不接EEPROM,对68013来说SDA SCL都要上拉,EEPROM的SDA也要上拉,在接上EEPROM的情况下,这两个上拉电阻实际上是并联的。lz的悲剧就在此。两个电阻都2.2K,结果貌似把68013的SDA脚烧掉了。插在电脑上的现象是不能识别,unknown device,而且连0000的PID VID都读不出来。测68013SDA脚对3.3V供电短路。解决办法,68013的SDA接2.2K上拉,EEPROM的SDA接27K上拉。
    lz板子上68013几个重要参数的选择:RESERVED脚2.2K下拉,SDA SCL2.2K上拉,WAKE UP脚2.2K上拉。RESET上的R=27K,C=0.47uF。EEPROM端SDA27k上拉,A0 2.2K上拉。
    总结一下68013调试方法:
     插上USB后,如果电脑没有反应,检查USB D+ D-是否有3.3V的压差。没有的话很可能是焊接问题。
     如果电脑出现无法识别的USB设备,说明电脑检测到了3.3V的压差,这时很可能是时钟工作不正常,检查时钟。看晶振是否起振,注意是24M的无源晶振。正常起振的话两端应该是1.4V和1.3V左右,有一个微小的差别,用示波器看两端都有正弦波,一端比另一端Vpp大一些。正常起振时,Pin5 Clkout脚会输出方波。如果有这个方波,时钟基本上确认没有问题了。
    正常工作时,RESERVED 脚应该是0。WAKE UP脚是3.3V。

吞吐率能达到多少?

学习,谢谢分享!


   4x缓存,端点FIFO 512Byte,我这种应用条件大概25MB/s。68013作为slave fifo的时候估计也跟master端的程序有关吧。



   谢谢分享

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top