原创 从cpld写数据到cy7c68013,并在电脑上显示所写数据的相关设置

2008-11-7 22:23 3922 4 7 分类: 通信

cpld上写数到usb数据总线,slave fifo模式下并通过ep6以bulk autoin的方式传入电脑,并在电脑上面显示


   相关设置:


   A.通过epm3128配置slave fifo模式


      fifoaddr[1:0] = 10     选择ep6


     worldwide = 0(ep2fifocfg &ep4fifocfg &ep6fifocfg &ep8fifocfg的最低位设置为0)


    reset引脚固定为1


B.设置cy7c68013相关程序


    过程1:异步方式


设置芯片工作在slave fifo模式下,数据为异步方式,并使用内部时钟  


   因为为异步方式,故必须设置slwr写时钟控制信号,此过程是通过cpld管脚传入20M方波来完成的。


   void TD_Init( void )
   { // Called once at startup


     REVCTL="0x03";        SYNCDELAY;
     CPUCS = 0x0A;    //0x12=48Mhz   0x02=12Mhz 0x0a=24Mhz; CLKOUT enable
     SYNCDELAY;
     IFCONFIG = 0xFB; //设置芯片工作在slave fifo模式下,数据为异步方式,并使用内部时钟  


    SYNCDELAY;
    FIFORESET = 0x80;             // activate NAK-ALL to avoid race conditions
    SYNCDELAY;                    // see TRM section 15.14
    FIFORESET = 0x02;             // reset, FIFO 2
     SYNCDELAY;                    //
     FIFORESET = 0x04;             // reset, FIFO 4
     SYNCDELAY;                    //
    FIFORESET = 0x06;             // reset, FIFO 6
    SYNCDELAY;                    //
    FIFORESET = 0x08;             // reset, FIFO 8
     SYNCDELAY;                    //
FIFORESET = 0x00;             // deactivate NAK-ALl
   SYNCDELAY;


    PINFLAGSAB = 0xAE;          // FLAGA - fixed EP6FF, FLAGB - fixed EP6EF
    SYNCDELAY;

    SYNCDELAY;
    FIFOPINPOLAR = 0x00;          // all signals active low
SYNCDELAY;
    SYNCDELAY;
EP6CFG = 0xE0;        //BULK,IN,512*4 BUFFER  
SYNCDELAY;
EP6AUTOINLENH = 0x02;     //AUTOIN = 512
SYNCDELAY;
EP6AUTOINLENL = 0x00;
SYNCDELAY;
  
EP6FIFOCFG = 0x0D;            // AUTOIN="1", ZEROLENIN="1", WORDWIDE="1";
                                //0x0D:16BIT;   0x0C:8BIT    
SYNCDELAY;


}


   过程2:同步方式


   设置slwr管脚同步为0,也就是设置写信号一直使能


芯片使用外部时钟与cpld同步,并配置为slave fifo 模式


相关程序:


void TD_Init( void )
{ // Called once at startup


CPUCS = 0x10;                 // CLKSPD[1:0]=10, for 48MHz operation


IFCONFIG = 0x03;           //外部时钟 slave fifo模式


SYNCDELAY;
FIFORESET = 0x80;             // activate NAK-ALL to avoid race conditions
SYNCDELAY;                    // see TRM section 15.14
FIFORESET = 0x02;             // reset, FIFO 2
SYNCDELAY;                    //
FIFORESET = 0x04;             // reset, FIFO 4
SYNCDELAY;                    //
FIFORESET = 0x06;             // reset, FIFO 6
SYNCDELAY;                    //
FIFORESET = 0x08;             // reset, FIFO 8
SYNCDELAY;                    //
FIFORESET = 0x00;             // deactivate NAK-ALL


SYNCDELAY;
PINFLAGSAB = 0x98;            // FLAGA - fixed EP2EF, FLAGB - fixed EP4EF
SYNCDELAY;
PINFLAGSCD = 0xFE;            // FLAGC - fixed EP6FF, FLAGD - fixed EP8FF
SYNCDELAY;
PORTACFG |= 0x80;             // FLAGD, set alt. func. of PA7 pin
SYNCDELAY;
FIFOPINPOLAR = 0x00;          // all signals active low
SYNCDELAY;

// handle the case where we were already in AUTO mode...


EP6FIFOCFG = 0x0C;            // AUTOIN="1", ZEROLENIN="1", WORDWIDE="0"
SYNCDELAY;
EP8FIFOCFG = 0x0C;            // AUTOIN="1", ZEROLENIN="1", WORDWIDE="0"


}


   当然上述两个过程都需要在dsar.a51设置ep6为bulk in 否则端点无法被识别。


C.发热问题解决方案:


cpld epm3128与cy7c68013芯片相连接管脚中未使用到的,应在epm3128中设置为高阻态,相应设置方法是:


在quartus中,点击assignment菜单,选择“device”,在max3000A下面的“device and pins options”中 ,“unused pins”,设置为“as input tri-stated”即三态输入方式。


另外为解决总线上电阻两边电平不一致的不良状态,应通过epm3128配置sloe管脚为高,这是因为数据是从usb单片机cy7c68013写入电脑的,数据只是单方面的写,没有进行相关的读操作,故应禁止读使能。

PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

用户248129 2010-4-9 14:09

有些问题想请教一下,本人是菜鸟,现在正在看CY7C68013这个芯片,+QQ651668334,有问题想请教你

用户196304 2009-3-26 11:43

感兴趣啊

用户1394949 2009-1-8 15:06

哇,感兴趣!!
相关推荐阅读
用户178741 2009-04-16 22:02
平顶降落以及上升时间在估算滤波器上限及下限频率方面的应用
A.平顶降落在估算滤波器下限频率上的应用:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&...
用户178741 2009-04-08 14:55
模块综合中(与CPLD部分相连的器件调试)
           ----------应用于MAX197数据采样与BDCM<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com...
用户178741 2009-03-17 22:18
FPGA开发关键问题
1FPGA设计的关键问题 随着FPGA(Field Programmable Gate Array)容量、功能以及可靠性的提高,其在现代数字通信系统中的应用日渐广泛。采用FPGA设计数字电路已经成为数...
用户178741 2009-03-10 21:40
AD9851DDS的EZ-USB控制
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />     上面是电路图,晶振是20M...
用户178741 2009-03-05 12:13
RE200B应用电路设计
https://static.assets-stash.eet-china.com/album/old-resources/2009/3/5/8cf180a0-1e24-4a85-92f6-5201b...
用户178741 2009-02-25 10:47
USB_CPLD控制系统实验
https://static.assets-stash.eet-china.com/album/old-resources/2009/2/25/14ebdb66-d1b4-456f-aac6-80c1...
EE直播间
更多
我要评论
3
4
关闭 站长推荐上一条 /3 下一条