cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

New Contributor

我参考的是CYPRESS官方例程AN65974。FPGA以100MHz的时钟读取CYUSB3014的数据没问题。但由于后续存储器比较慢,现在想以50MHz的时钟读取CYUSB3014的数据,数据线仍然保持为32位。不知道该如何修改FX3的代码来匹配FPGA的50MHz读取频率。请问各位工程师,我需要在EZ USB Suite中修改哪些代码来?GPIF II配置要不要修改?

EZ USB Suite的部分时钟代码如下,供您参考:

/* setSysClk400 clock configurations */

        clkCfg.setSysClk400 = CyTrue;   /* FX3 device's master clock is set to a frequency > 400 MHz */

        clkCfg.cpuClkDiv = 2;           /* CPU clock divider */

        clkCfg.dmaClkDiv = 2;           /* DMA clock divider */

        clkCfg.mmioClkDiv = 2;          /* MMIO clock divider */

        clkCfg.useStandbyClk = CyFalse; /* device has no 32KHz clock supplied */

        clkCfg.clkSrc = CY_U3P_SYS_CLK; /* Clock source for a peripheral block  */

0 Likes
Reply
1 Solution
4 Replies
New Contributor

PC机向CYUSB3014的传输速率也可降低。

0 Likes
Reply
New Contributor

就是说FPGA可以直接以50MHz的频率读取CYUSB3014的数据?我试过,但跟100MHz的结果不一样,以为是FX3的代码有问题。我再调调FPGA这边的代码。

0 Likes
Reply
New Contributor

我测试了一下,如果FPGA以50MHz读取CYUSB3014的数据,容易发生FIFO溢出导致发送数据失败,因为PC到CYUSB3.0是非常高速的。

那现在问题变成了:如何在FX3中设置代码,使得电脑传递到CYUSB3014的速度降低?

这个问题可能不常见,但我手里确实只有这一块CYUSB3014的控制板,必须用这个。所以想通过USB3014的限速来提高后续存储的可靠性。

0 Likes
Reply