打印

cy7c68013A+cyclone硬件问题

[复制链接]
2906|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fredrichodie|  楼主 | 2010-5-12 19:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用FPGA控制射频天线的信号通过FX2芯片传输给电脑,FX2的驱动、固件能识别,
用EP2OUT写入数据,存给EP6IN,能在计算机上用Cyconsole读出数据。但是用FPGA给FX2写数据的时候读不出数据。总是失败!
Dscr.a51里面照cypress给的开发包更改的内容是:

;; Interface Descriptor
      db   DSCR_INTRFC_LEN      ;; Descriptor length
      db   DSCR_INTRFC         ;; Descriptor type
      db   0               ;; Zero-based index of this interface
      db   0               ;; Alternate setting
      db   4               ;; Number of end points
      db   0ffH            ;; Interface class
      db   00H               ;; Interface sub class
      db   00H               ;; Interface sub sub class
      db   0               ;; Interface descriptor string index
      
;; Endpoint Descriptor
      db   DSCR_ENDPNT_LEN      ;; Descriptor length
      db   DSCR_ENDPNT         ;; Descriptor type
      db   02H               ;; Endpoint number, and direction
      db   ET_BULK            ;; Endpoint type
      db   00H               ;; Maximun packet size (LSB)
      db   02H               ;; Max packect size (MSB)
      db   00H               ;; Polling interval

;; Endpoint Descriptor
      db   DSCR_ENDPNT_LEN      ;; Descriptor length
      db   DSCR_ENDPNT         ;; Descriptor type
      db   86H               ;; Endpoint number, and direction
      db   ET_BULK            ;; Endpoint type
      db   00H               ;; Maximun packet size (LSB)
      db   02H               ;; Max packect size (MSB)
      db   00H               ;; Polling interval

;; Endpoint Descriptor
      db   DSCR_ENDPNT_LEN      ;; Descriptor length
      db   DSCR_ENDPNT         ;; Descriptor type
      db   01H               ;; Endpoint number, and direction
      db   ET_BULK            ;; Endpoint type
      db   40H               ;; Maximun packet size (LSB)
      db   00H               ;; Max packect size (MSB)
      db   00H               ;; Polling interval
;; Endpoint Descriptor
      db   DSCR_ENDPNT_LEN      ;; Descriptor length
      db   DSCR_ENDPNT         ;; Descriptor type
      db   81H               ;; Endpoint number, and direction
      db   ET_BULK            ;; Endpoint type
      db   40H               ;; Maximun packet size (LSB)
      db   00H               ;; Max packect size (MSB)
      db   00H               ;; Polling interval
HighSpeedConfigDscrEnd:   


另外TD_Init()里面改的内容是:
void TD_Init(void)             // Called once at startup
{
   BREAKPT &= ~bmBPEN;      // to see BKPT LED go out TGE
   Rwuen = TRUE;            // Enable remote-wakeup

   CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1) ;
   // set the slave FIFO interface to 48MHz

SYNCDELAY;
    PORTACFG=0x40;                 // 设置PA.7 为 slcs;     
    SYNCDELAY;  
FIFORESET = 0x80;
    SYNCDELAY;
    FIFORESET = 0x02;
    SYNCDELAY;
FIFORESET = 0x04;
SYNCDELAY;
FIFORESET = 0x06;
SYNCDELAY;
    FIFORESET = 0x08;
    SYNCDELAY;
    FIFORESET = 0x00;
SYNCDELAY;
   
    IFCONFIG |= 0xCB;
    SYNCDELAY;
EP1OUTCFG = 0xA0;
EP1INCFG = 0xA0;
    SYNCDELAY;
EP2CFG = 0xA2;
    SYNCDELAY;


    EP6FIFOCFG =0x08;
   SYNCDELAY;
    EP6CFG = 0xe8;
   SYNCDELAY;   
    PINFLAGSCD = 0x0e;
   SYNCDELAY;
   FIFOPINPOLAR = 0x00;
   SYNCDELAY;
    EP6AUTOINLENH = 0x02;            
    SYNCDELAY;
   EP6AUTOINLENH = 0x02;            
    SYNCDELAY;
    EP6AUTOINLENL = 0x00;   
    SYNCDELAY;  
   EP6AUTOINLENL = 0x00;   
    SYNCDELAY;                       
                                 
   EP2BCL = 0x80;               
   SYNCDELAY;                    
   EP2BCL = 0x80;
   SYNCDELAY;   
  // enable dual autopointer feature
  AUTOPTRSETUP |= 0x01;
}请问这是什么原因呢??是固件的问题还是FPGA根本就没把数据写入呢??
沙发
benedy| | 2010-5-12 20:43 | 只看该作者
上位机软件是不是没有进行接收啊,所以就看不到呢?

使用特权

评论回复
板凳
虎虎生威| | 2010-5-12 21:13 | 只看该作者
估计没把数据写入

使用特权

评论回复
地板
benedy| | 2010-5-13 15:52 | 只看该作者
也许写是写了,就是PC机没有接收,所以没有显示?

使用特权

评论回复
5
fredrichodie|  楼主 | 2010-5-13 20:05 | 只看该作者
第一次我也以为是这个,就用EP2当OUT,EP6当IN,从计算机写数据给FX2芯片,固件里面把EP2的数据传给EP6,我用cypress那个console软件和另一个监控总线的软件都能检测到EP6有数据传进来。。。
但是换成用FPGA传数据给EP6的时候就fail了…
会不会是同步或者异步有矛盾的问题?或者FPGA的时钟和FX2的时钟不一样?异步的话有影响吗?

使用特权

评论回复
6
贾君鹏子| | 2010-5-13 22:27 | 只看该作者
时钟不一样吧

使用特权

评论回复
7
benedy| | 2010-5-15 15:04 | 只看该作者
模式是slave FIFO模式吧?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

1

粉丝