原创 CY7C68013A开发板编程之22(转帖)_关于68013A SLAVE FIFO模式的传输速度

2012-2-23 09:40 2989 13 14 分类: MCU/ 嵌入式

       理论上,CY7C68013A的在slave FIFO的模式极限值是96 MB/s,这是理想状态。

参考文献1:

Achieving a Local Transfer Rate of 96MB/s in FX2

Title: Achieving a Local Transfer Rate of 96MB/s in FX2

Question:
How can the local transfer rate of 96 MB/s be achieved?

Response:
The burst rate of 96MB/s can be achieved by running the Slave FIFOs at 48 MHz (internal or external clock), while asserting SLWR or SLRD/SLOE for the entire data burst phase. Assuming active low polarity signals, when writing to the Slave FIFOs, SLWR should be held low as each word is clocked on the rising edge of IFCLK. The case is similar for reading from the Slave FIFOs; SLOE/SLRD should be held low as each new word is read on every rising edge of IFCLK.

The technical reference manual assumes a conservative approach as the examples show a word being clocked on every other IFCLK edge. This is for systems that may not be able to abide by the setup and hold times required for a burst phase like what's described above. Clocking a word on every other edge would then reduce the effective burst rate to 48 MB/s.

Notes:
1) FX2 has the ability to have the FIFO flags assert one word prior to the FIFO becoming full, and one word prior to the FIFO becoming empty. This give the external master additional time to check the FIFO status flags.
2) To achieve the 96MBs, the control signals will have to be active while each word is clocked on the rising edge of IFCLK.
3) The endpoints and FIFOs share the same physical memory space. Often you'll see them referred to as "endpoint FIFOs" because they exhibit a dual personality. There are basically two domains the endpoint FIFOs reside in, the USB domain, and the peripheral interface domain. FX2 is able to switch clock domains to pass the packet pointers from one domain to the other, thus seemingly able to "connect" the USB domain to the peripheral interface domain. This is how it maximizes the USB 2.0 bandwidth without need of processor intervention. Sometimes it's easier to think of the FIFO space in terms of buffers, consistent with the different buffering schemes the FX2 can take on. The possible buffering schemes are shown on page 14 of the datasheet. Only EP2 and EP6 can be configured for the larger 1024 FIFO size.
4) The FIFO full and empty flags are packet based and therefore represent packet boundaries. For example, if the EP6 full flag is not asserted (active low, and assuming EP6 is configured for 512-byte size, 2x buffered), then there is at least room for one more packet (512 bytes) in the FIFO. Conversely, if the EP2 empty flag is not asserted (active low, and assuming EP2 is configured for 512-byte size, 2x buffered), then there is at least one more data packet to be read by the external master (512 bytes).

文献2:

Slave FIFO Mode Synchronous Burst Read/Write with the CY7C68013 (FX2)

Title: Slave FIFO Mode Synchronous Burst Read/Write with the CY7C68013

Question:
Does the FX2 device support synchronous burst read/write in slave FIFO mode? In the FX2 Technical Reference Manual, I am unable to find an I/O waveform of synchronous burst read/write with SLRD/SLWR asserted for the entire burst duration.

Response:>
You won't find this anywhere in the FX2 TRM because it assumes a conservative approach (single-wait state access). However, it is possible to read or write a byte/word on every IFCLK edge while SLRD and SLWR remain asserted. This type of access gets you the highest achievable bandwidth over the physical interface (96MB/s).

It may be difficult to get the timing right because of the different external master requirements, but burst accesses are possible. We recommend using an external IFCLK source to get attainable setup and hold timing parameters for the data and control signals.

 

更多文章请访问:

我的博客1:http://bbs.ednchina.com/BLOG_liangziusb_440752.HTM

我的博客2:   http://www.eefocus.com/liangziusb/blog/

EDN小组http://group.ednchina.com/GROUP_GRO_14600_3466.HTM

LZ3684 USB2.0开发板(CY7C68013A), 请访问我的淘宝http://shop64171919.taobao.com

LZ3014 USB3.0开发板(CYUSB3014),请访问我的淘宝http://shop64171919.taobao.com

实体店铺:北京新中发电子市场2557号

 

良子.2012年

欢迎交流:liangziusb@163.com

QQ:2687652834    392425239

文章评论1条评论)

登录后参与讨论

用户377235 2012-6-24 18:19

实际上usb那头最多43M,写入96M有鸟用阿.徒增判断的难度.

除非用8bit跑48MHz时钟才考虑这个途径.

相关推荐阅读
liangziusb_940932268 2016-06-30 21:33
最新的良子USB2.0开发板3_AD7980数据采集开发2
      接上一篇。            这一篇介绍FPGA驱动单个AD7980的开发过程,驱动多个AD7980的级联模式可以查阅后面的帖子。单个AD7980的驱动时序图如下:   ...
liangziusb_940932268 2016-06-30 20:41
最新的良子USB2.0开发板2_AD7980数据采集开发1
     USB2.0开发板已经调试完毕了,板子上的各个芯片都编写了测试例程,例程有10个左右,和之前的USB2.0开发板例程差不多。除了上一篇介绍的配套的双摄像头子板,另外还设计了MT9M001...
liangziusb_940932268 2016-05-22 13:42
CYUSB3065开发板调试过程4_测试开发板的三种启动过程
        CYUSB3065的开发板已经调试完毕,很快就会在淘宝上架。利用这段时间,整理一下如何测试CYUSB3065开发板。开发板上设置了两种非易失性的存储器,一个是I2C接口的EEPRO...
liangziusb_940932268 2016-04-17 09:49
最新的良子USB2.0开发板1_电路板介绍
     近日在设计双摄像头的开发板,已经接近结束。这块电路板的结构还是采用FPGA+SDRAM+USB2.0的,没有太大的变化,因为这种电路结构是最优的,非常适合做数据采集和图像采集之用。之前的US...
liangziusb_940932268 2016-03-02 21:05
良子USB2.0摄像头开发板19_电路板升级
      近日升级了USB2.0摄像头开发板,现在的版本号是1.4。此外,又额外增加了几种摄像头。开发板如下,摄像头是200万像素的MT9D001,没有安装镜头:   配300万像...
liangziusb_940932268 2016-02-29 18:50
200万像素摄像头AR0237开发1
      APTINA目前发布了200万像素的CMOS芯片AR0237CS,像素阵列大小为1928 (H) x1088 (V),是一棵标准的1080@60芯片。AR0237CS支持两种输出模式,...
我要评论
1
13
关闭 站长推荐上一条 /2 下一条