USB2.0接口学习笔记

        Ps.1:

         由原理图可知,VCC3V3_USB由USB提供,其中经过电压转换芯片5V转换至3.3V。

        Ps.2:起初Win10系统下载的Cypress软件按例程可以正常烧写固件,系统更新至Win11后,设备可以正常连接,但是一旦下载固件后连接断开:报错(由于该设备有问题,Windows 已将其停止 (代码 43)  请求 USB 设备描述符失败),将Cypress软件重装后正常连接可以下载固件。

        Ps.3:USB连在拓展坞上时一段时间后设备连接会断开但直接连在电脑接口上不会。

        Ps.4:开发板背面上有两个按键,标有 USB-RST 标识的 S6 键为 USB 芯片的复位按键,按下该按键,USB 芯片就会复位,就像重新上电一样。标有 USB-PGM 标识的 S7 按键为 EEPROM 旁路按键,当 EEPROM 中烧录了 USB 芯片的固件程序后,下次 USB 芯片连接到电脑就会使用 EEPROM 中的固件进行枚举,如果用户烧录了一些非调试软件支持的固件,就会导致无法再给该模块烧录新的固件,因此,可以在保持 USB-PGM 键按下的情况下,按下 USBRST 按键或者重新将 USB 接口接入电脑,USB 芯片无法从 EEPROM 中读取固件,就会自动使用默认固件枚举,让调试软件能够识别,此时再释放 USB-PGM 按键,就能给模块烧写新的固件程序了。

        Ps.5:数据传输错误、错位

        其实原因就在于时钟相位,本来前一个时钟就应该被检测到的,结果因为相位的问题,下一个时钟才被检测到有效,所以导致数据出错。解决方案很简单,改下68013芯片的ifclk时钟极性即可。

【产品资料】【扩展模块】ACM68013 USB2.0模块资料和使用说明        具体到代码中,就是下图中,将IFCONFIG的值由E3改为F3。

        Ps.6: FX2芯片的SlaveFIFO模式下,上位机发出读/写信号,FX2芯片才会产生时钟。

        

        Ps.7:几个设计的关键点:

        1、复位信号用progfull不用full;

        2、读写信号尽量不要人为添加延迟;

        3、控制读写信号与读写数据同步;

        4、FIFO使用First Word Fall Through模式。

        Ps.8:FIFO两种读模式

        First Word Fall Through模式:输出数据提前放到线上,读出时可直接读到数据,没有延时;

        Standard FIFO:读出时有一个时钟的延时。

        文章介绍:1、vivado FIFO的Standard 和 FWFT模式

                          2、First In First Out FIFO核的使用

        Ps.9:FIFO工作在First Word Fall Throug模式下时,wr_data_count统计的数会比真实数据少2(据说也有可能少3、4),所以最好勾选上More Accurate Data Counts。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值