CY7C68013A概述
USB接口有着速度快,成本低的优点,在现代计算机上已经成为了必备接口。USB2.0 HIGH-SPEED接口理论速度为480Mbit/S,实际使用带宽在200M以上,在一些对可靠性以及实时性要求不是特别高的场合,USB简单易用开发容易的特点使得其成为最佳的通讯接口选择。赛普拉斯 EZ-USB®FX2LP™ (CY7C68013A/14A)是高度集成、低功耗 USB 2.0 的微控制器。其接口速率可以达到96Mbytes/s,且成本仅仅十多元RMB。
CY7C68013A(FX2LP)同FPGA连接
我们在一些定制设备中使用了USB接口,现在市场上最主流的USB外设接口芯片为Cypress公司的CY7C68013A,为了实现高带宽的通讯,CY7C68013需要工作在GPIF或者SLAVE FIFO模式,初学者往往对这两种模式不是很清楚,结合我们已有的经验,我们对两种模式做一下简要的说明:
- GPIF模式适合CY7C68013主动同外部芯片通讯,GPIF通过几个控制信号来实现状态机的转换,进而产生不同的时序。在外接SRAM、CMOS SENSOR、CPU、DSP等场合可以使用这个模式,其中DSP、CPU工作在从模式;
- SLAVE FIFO模式适合同FPGA等自身可以跑状态机的芯片配合使用。
在利用CY7C68013同FPGA通讯的时候,一般使用SLAVE FIFO模式。EZ-USB_TRM2中第9章即是详细讲述SLAVE FIFO模式的。在CY7C68013中一共有4个端点,每一个端点都可以收或者发,对应的SLAVE FIFO有2条地址线用来选择相应的端点缓冲区。SLAVE FIFO一个很重要的设置就是时钟设置,其可以工作异步或者同步模式,在实际使用时,推荐同步模式,为了降低成本,可以使用CY7C68013自身产生的48Mhz时钟,详细的设置说明可以看Fig.9-6。SLAVE FIFO有4个标志引脚用来指示FIFO状态(空、半满、满、自定义等),在FPGA中写状态机的时候需要用到这几个引脚,特别注意的是FLAGD引脚可以用作SLAVE FIFO的片选,当总线上有不止一个设备的时候需要用到这个功能,其他时候可以不考虑。其他的引脚和标准的FIFO没有什么特别,大家一看就可以明白。利用51程序将CY7C68013初始化好后,计算机同FPGA的通讯即可以打通。如果使用了多个端点,在FPGA上就要注意有一个有效的调度算法,以免某一个端点缓冲区内的数据迟迟不取出来导致通讯出错。 还有什么不明白的或者需要帮助的欢迎和我联系!
发表评论