[CY7C68013]调试过程中遇到的问题和心得

本文记录了作者在调试CY7C68013 USB数据采集板过程中遇到的问题,包括AUTOIN模式未开启导致的数据传输故障,初始化设置错误引起的空包读取,以及SLWR信号极性错误造成的FIFO无法自动打包。通过对FPGA代码的调整和对芯片工作条件的仔细检查,最终解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     第一次玩博客也不知道该写什么,正好这几天在折腾一块USB数据采集板的程序,那就写一下最近调试CY7C68013遇到的一些问题吧。

     自己做了一块GPS中频数据采集板,CY7C68013的作用就是把AD采样后的GPS中频数据通过USB传给PC,大致结构是这样的:

     MAX2769(GPS射频前端芯片,包括2bit的ADC)    ->    EP2C5T144(FPGA,外挂了一片512KBYTE的SRAM)   ->    CY7C68013

     由于是第一次用CY7C68013,调试花了很长的时间(尽管代码很少),每当芯片工作不正常时,只能通过极少的信息去猜测问题原因。

     在这个设计中,我最初采用了SLAVE FIFO模式下同步写的方式传输数据(AUTOIN),由FPGA提供时钟IFCLK,BULK传输,

     我第一个遇到的问题是AUTOIN模式没有开启,现象是当FIFO FULL信号(FLAGB拉低)有效后除非我复位FIFO,不然FIFO一直保持FULL状态,上位机程序读不到任何数据,因此我认为芯片在FIFO写满后没有打包发送出去,这也说明AUTOIN没有启动。由于AUTOIN是通过EPXFIFOCFG设置的,EP2FIFOCFG = EP2FIFOCFG | 0x08 (在这里我用的是端点2),为了进一步验证我的猜测,我在BOOL DR_VendorCmnd(void)函数里里加了一个寄存器读写的Vendor Request,代码如下:

 1     switch(SETUPDAT[1]){
 2          case ...:
 3             ...; break;
 4 
 5         case
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值