新闻中心

EEPW首页>模拟技术>设计应用> 高速USB接口设计

高速USB接口设计

作者: 时间:2009-04-27 来源:网络 收藏

Void TD_PoLL(void):此函数在设备运行时被重复的调用,应包括完成特别任务的代码。在该函数返回前,优先级高的任务可能己完成。若它返回值为假,EZ―FX2将不会影响设备请求和总线设备挂起事件。若需要大量的处理时间,EZ-FX2会通过多次调用TD_PoLL函数将时间分段。
BooL TD_suspend(void):此函数是在设备进入挂起状态前调用,在其中加入适当的代码,配置设备的工作状态,可使设备处于低功耗状态并返回真值。可以改动TD_Suspend的程序代码,使其返回为假,可使EZ-USBFX2不进入挂起状态。
Void TD_Resume (void):当外部要求重新启动时,设备会通过调用此函数对处理器重启,即TD_SUspendO函数的逆操作。此时,设备在正常电源下重新启动。设备请求函数主要完成对来自主机的命令和请求的处理工作。
4.2 固件主程序
fw.c是固件程序的主程序文件,负责处理主机发出的各种USB设备请求。该程序首先初始化所有的内部状态变量,然后调用TD_InitO函数初始化,并打开中断。然后,固件程序开始列举USB设备,直至在端点0上接收到SETUP包为止。一旦接受到令牌包,框架将开始交互的任务调度。
整个系统实现过程中,设置一些重要寄存器。表1列出EZ―USBFX2为异步从属FIFO自动模式时,需要配置的相关寄存器。

本文引用地址://m.amcfsurvey.com/article/188948.htm

5 FPGA程序的设计
编程思路:由于CY7C68013设置为异步SlaveFIFO模式,根据异步FIFO读写状态图,选择状态机来编写进程。其状态图如图3所示。

6 结语
以CY7C68013和FPGA接口为例描述了USB芯片的SlaveFIFO固件程序流程和设计思想,并且在项目中得到了实际应用,并且数据连续传输无误码,无丢失。


上一页 1 2 下一页

关键词:USB接口设计

评论


相关推荐

技术专区

关闭