这是slave fifo中的cyfxslfifosync.h文件中的一段代码
我对同步从fifo的接口的数据流还是不太清楚
我希望的是FPGA通过FX3实现与PC之间的双向通信
我的理解如下:
FPGA->PC的数据流向(P2U)
GPIF II 通过CY_U3P_PIB_SOCKET_0将数据写进DMA的buffer中,通过CY_U3P_UIB_SOCKET_CONS_1端口读取数据到PC中,端点endpoint用的是0x81。期间的buffer数量为8个,每个buffer大小为16KB-16bit
PC->FPGA的数据流向(U2P)
PC通过CY_U3P_UIB_SOCKET_PROD_1将数据写进DMA的buffer中,通过CY_U3P_PIB_SOCKET_3端口读取数据到FPGA中,端点endpoint用的是0x01。期间的buffer数量为4个,每个buffer大小为16KB-16bit
但是我总觉得自己的理解有些问题,因为我查到的资料显示,在FPGA->PC的数据流和FPGA->PC的数据流中,P2U和U2P的通道都是同时存在的,具体如下表所示
Buffer_count | P2U | U2P |
FPGA->PC | 8 | 4 |
FPGA->PC | 4 | 8 |
所以还是对数据流还是很迷惑,
希望在论坛上能得到一个比较正确的解释
已解决! 转到解答。
DMA buffer的总大小不得超过224k。关于DMA buffer count与DMA buffer size的计算请参考:
既然您认为我的理解没有问题
您方便梳理一下这整个数据流向是如何从一个produce_socket到另一个consumer_socket的吗
因为,我自己只是迷迷糊糊的明白 实际让我解释 我解释不清楚
还有您说超过8个buffer就超过了 RAM的大小
这里的8个buffer是指的P2U和U2P的buffer数量总和,
还是说在FPGA->PC的数据流向上,RAM可以同时使用8个P2U的buffer,4个U2P的buffer?
还望不吝赐教
另外 刚刚发现我上面的表格有个问题,更正一下
Buffer_count | P2U | U2P |
FPGA->PC | 8 | 4 |
PC->FPGA | 4 | 8 |
你好
在使用FX3的slavefifo2bit固件的过程中,我的PC和FPGA可以进行通信,因此我想进行测试一下我的通信速度是多大
但是在使用streamer的时候发现,无法使用,请问我应该怎么修改才可以呢?
谢谢
在 2020-07-10 15:36:45,"YiZ_31" <community-manager@cypress.com> 写道:
|
|
Cypress Developer Community
|
|
slavefifod的数据流向
reply from YiZ_31 in USB Superspeed Peripherals - View the full discussion
DMA buffer的总大小不得超过224k。关于DMA buffer count与DMA buffer size的计算请参考:
DMA Buffer Count - KBA218339
Reply to this message by replying to this email, or go to the message on Cypress Developer Community |
Start a new discussion in USB Superspeed Peripherals by email or at Cypress Developer Community |
Following slavefifod的数据流向 in these streams: Inbox |
This email was sent by Cypress Developer Community because you are a registered user.
You may unsubscribe instantly from Cypress Developer Community, or adjust email frequency in your email preferences
|
|
如果Jul 18的问题还没解决请开一个新帖,此贴结帖了。