打印

求助: 如何选择高效合理的EZ-USB Endpoint Buffer 配置.

[复制链接]
599|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
baiyu113727|  楼主 | 2017-5-22 23:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人的设计是 EZUSB controller (CY7C68013A-56Pin) + FPGA 视频数据采集板. EZUSB 与FPGA 的接口方式是 slave fifo. 设计中的数据通道(pipe)规划有IN 和OUT. 其中IN 主要是由FPGA传送上来的视频数据 , 而OUT则是由PC HOST 端发送给FPGA 的一些命令字(几个BYTE). 工作中IN的数据是持续的且占据大部分传输时间,而OUT的命令字则是偶然的,而且主要集中在开始工作时. 因此我想知道如何依据 EZ-USB TRM ( page 30, figure 1-17 EZ-USB Endpoint Buffers)中的相关内容来合理的规划 Endpoint Buffer 配置. 从该图(TRM, page 30, Fig 1-17)中可以看到貌似第11个配置比较合理: IN: EP2 (1024X3), OUT: EP8(512X2). 但总觉得EP8(512X2)太浪费了,因为传输完几个BYTE后基本就不用了。因此我想知道类似我这种的应用中是否还有更合理的Endpoint Buffer规划。再或者是否还有我所没有掌握的一些更合理更聪明的做法。非常感谢。
沙发
cyy401| | 2017-5-23 14:16 | 只看该作者
Hi baiyu113727,

你可以尝试使用control transfer的方法传输这几个BYTE。

使用特权

评论回复
板凳
baiyu113727|  楼主 | 2017-5-23 19:29 | 只看该作者
cyy401 发表于 2017-5-23 14:16
Hi baiyu113727,

你可以尝试使用control transfer的方法传输这几个BYTE。

Control transfer 是EP0 , 但EP0按照我的理解是无法直接传输到slave fifo的.我的命令字不是发给FX2LP的,而是作为数据发给FPGA的,也就是说我的命令字对FPGA来说才是命令,对于FX2LP来说是数据,而且FX2LP根本不做任何解析,只是传输给FPGA. 我的问题实质上是非常少的几个BYTE的数据,而且只是启动系统时才偶发的, 但却需要在分配buffer时占用类似512x2的配置,有些浪费. 所以看是否有更聪明的方法来传输这些少量的OUT数据, 而将buffer资源全部留给IN, 因为IN是大量的数据. 不知道我的理解是否正确,请指正.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝