原创 CY7C68013的slave FIFO的读写速度

2009-8-6 14:32 5856 9 12 分类: 通信

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


参考文献1:



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

Last Updated: 12/19/2008


Rate this Knowledge Base Article
redstar.gifredstar.gifredstar.gifredstar.gifredstar.gif
(5/5) by 1 user

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)

Last Updated: 12/19/2008


Rate this Knowledge Base Article
star_grey.gifstar_grey.gifstar_grey.gifstar_grey.gifstar_grey.gif
Be the first to rate
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.

This is also applicable to the EZ-USB SX2.

Related Categories: USB High-Speed Peripherals

PARTNER CONTENT

文章评论3条评论)

登录后参与讨论

用户1662480 2014-11-11 19:21

他是说接口可以达到96M,如果是这样还真有意义,这样用8位的fifo就行了,速度可定是40多兆不会再高了,可以省些IO口。

用户1022472 2011-3-25 19:50

Cypress自己的测试程序才测出42MB/s,占带宽70%。这可是没什么外设,没什么协议的测试结果。再高没听说。

用户1120716 2010-12-3 16:27

瞎说! 怎么可能啊!! 96MB/S 的话, 合算下 是 768Mbit/s 一个USB2.0 也就才480Mbit/s 再加上,USB 传输还需要很多其它信息,实际当中能做到50MB/s 就已经不错了!! 大家不要被误导了!
相关推荐阅读
sealove518_112732726 2012-12-14 13:16
同時兩個surfaceview camera 中的一些開發問題
問題1: 如何將camera surfaceview 顯示在最上層:用了this.setZOrderOnTop(true);這個方法 問題2: 如何用一個BUTTON來自由控制came...
sealove518_112732726 2012-12-14 11:22
Eclipse中导入android项目名前有红叉但项目内文件无错误问题解决方法
Eclipse中导入android项目名前有红叉但项目内文件无错误问题解决方法 Eclipse中,Android项目名称前有红叉,但项目内所有文件都无错误,通常发生在导入项目时。 先可以去...
sealove518_112732726 2012-09-05 10:29
android各种权限及说明
  android.permission.ACCESS_CHECKIN_PROPERTIES 允 许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allow...
sealove518_112732726 2012-09-05 10:27
android各种权限及说明
android各种权限及说明 android.permission.ACCESS_CHECKIN_PROPERTIES 允 许读写访问”properties”表在checkin数据库中,改值...
sealove518_112732726 2012-09-04 08:54
android 获取当前程序路径
//  获取当前程序路径     getApplicationContext().getFilesDir().getAbsolutePath();   //  获取该...
sealove518_112732726 2012-01-11 09:40
mt.exe:general error c101008d 最终原因已查明
mt.exe:general error c101008d(最终原因已查明)_算法的天空_百度空间   2011-05-27 16:22:41|  分类: 坑爹软件问题 |  标签: |字号大...
EE直播间
更多
我要评论
3
9
关闭 站长推荐上一条 /3 下一条