[USB 控制器] FPGA在读取EP2数据之前怎么控制 FIFOADR0 ,FIFOADR1端口地址线指向EP2端口啊?

[复制链接]
46|11
 楼主 | 2018-7-10 18:24 | 显示全部楼层 |阅读模式
关于68013A开发采集卡的问题想问一下, (68013A )作为USB的控制芯片通过上位机软件与FPGA进行通信, FPGA与USB之间通信采用slave-fifo的方式,FPGA不断从USB的FIFO中的EP2读取控制数据,FPGA不断写数据到USB的FIFO中的EP6端口。
FPGA在启动写数据到USB的FIFO中的EP6端口中,需要先读取EP2端口的控制命令,请问FPGA在读取EP2数据之前怎么控制 FIFOADR0 ,FIFOADR1端口地址线指向EP2端口啊?
 楼主 | 2018-7-10 18:28 | 显示全部楼层
那一般情况下FPGA是怎么读取上位机PC机的控制命令数据的?
| 2018-7-10 18:30 | 显示全部楼层
不知这两个帖子是否对你有帮助如何在FPGA和ASIC设计中结合高速USB功能 http://bbs.21ic.com/viewthread.php?tid=328149
| 2018-7-10 18:32 | 显示全部楼层
如何实现FX2LP™-FPGA接口 http://bbs.21ic.com/viewthread.php?tid=345910
 楼主 | 2018-7-10 18:35 | 显示全部楼层
多谢!但还是没解决我的问题啊?我想知道的是FPGA主控器如何接收PC机的IN或OUT控制命令啊?
| 2018-7-10 18:37 | 显示全部楼层
FIFOADR1 ,FIFOADR0两根线的不同值的组合,就代表了不同的大端点(EP2、EP4、EP6、EP8),如果为00,则指向EP2;如果为01,指向EP4;如果为10,指向EP6;如果为11,指向EP8,很简单的。详细的说明可以参考TRM第九章。用FPGA控制这两根线,赋不同的电平值就可以了。
| 2018-7-10 18:39 | 显示全部楼层
楼主可以发邮件给support_china@cypress.com,或者在官网上建case
 楼主 | 2018-7-10 18:42 | 显示全部楼层
谢谢大家的关注!我的疑问是:在CY68013a接收到PC机的控制命令解析后,CY68013a通过什么方式告诉我的FPGA控制器执行相应的命令?是中断还是通过IO口?
| 2018-7-10 18:44 | 显示全部楼层
用FIFO SLAVE模式,就不要用8051参与解析了,把68013看成一个没有大脑的接口芯片,数据直接从主机到FPGA。如果你不仅让68013解析命令,又让它处理FIFO数据,那就让它工作在GPIF方式。TRM手册里的那两章分开看比较好,别混在一起。
 楼主 | 2018-7-10 18:46 | 显示全部楼层
  数据直接从主机到FPGA?那FPGA也得知道控制FIFOADR1 ,FIFOADR0这两地址线啊,所以在传数据之前是否有个CY68013A提供给FPGA的读写判断命令吧?这判断命令是怎么给FPGA控制器的呢?谢谢
| 2018-7-10 18:49 | 显示全部楼层
这两条线是FPGA控制的。如果想让FPGA接收数据,那么就让FPGA处于接收状态,接收某个端点数据(地址线选中该端点,读),读到一帧数据之后,处理,如果有上传,就把数据写到另外一个端点(地址线选中此端点,写)。至于读出多少,写入多少,可以用8051初始化。

仔细读手册,翻译出来抄写十遍,基本就懂了。
 楼主 | 2018-7-10 18:51 | 显示全部楼层
搞定了,呵呵,犯了低级错误……结贴啦,多谢各位
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

分享 快速回复 返回顶部 返回列表