·上一文章:允许USB旁路大电容的限流器
·下一文章:基于EZ-USB的电脑眼接口设计
本设计方案使用了一个控制端点(端点 0)和一个大端点(端点 2)传输数据。其中控制端点是所有 USB设备所必备的,它用于在设备枚举时传输 USB请求和相关数据,在本设计中,控制端点还用来传输专门设计的 USB厂商请求来控制配置进程、获取配置状态。大端点用来传输配置数据,由于配置数据需要及时、无误的传输,因此使用可以同时保证传输准确性和最大延时的中断传输方式,并设置端点缓存为 1KB、做 4倍缓冲,最大传输间隔为一个微帧(125us),且每个传输间隔内传输 3个有效载荷为 1KB的包(最后一个包的载荷可能小于 1KB),这样配置数据在 USB通道中的传输速率可达到 3*1KB*(1/125us) =24000KB/s。
根据配置时序所设计的 GPIF状态机的状态转移图如图 2所示。配置时钟为 48MHz,所以 PROG低脉冲要维持 25个时钟周期,状态机会根据端点 FIFO的空满状态控制 FPGA的 CS引脚,确保 FPGA在 FIFO有配置数据输出的情况下进行数据采样,数据输出在字节计数达到 FPGA配置比特流文件的字节数值时停止,500万门的 XC3S5000为 13271936 bit[5]。