USB2.0 + FPGA 开发文档
- 1 -
USB 2.0 开发资料
版本:2.1
http://www.huanor.com
技术支持:huanor_supports@hotmail.com
销售:huanor_sales@hotmail.com
USB2.0 + FPGA 开发文档
- 2 -
目录
第一章 USB 简介.......................................................................................................................12
1.1 USB 概述.......................................................................................................................12
1.2 USB 系统.......................................................................................................................12
1.2.1 USB 主机............................................................................................................12
1.2.2 USB 设备............................................................................................................12
1.2.3 USB 的连接........................................................................................................12
1.3 USB 信号和电源...........................................................................................................13
1.3.1 USB 信号............................................................................................................13
1.3.2 USB 电源............................................................................................................13
1.4
USB 事务处理................................................................................................................13
1.4.1 IN 事务处理......................................................................................................13
1.4.2 OUT 事务处理....................................................................................................13
1.4.3 PING 事务处理..................................................................................................13
1.4.4 SETUP 事务处理...............................................................................................13
1.4.5 SOF 事务处理....................................................................................................14
1.4.6 SPLIT 事务处理...............................................................................................14
1.4.7 PRE 事务处理..................................................................................................14
1.5 USB 数据传输...................................................................................... .......................14
1.5.1 控制传输.........................................................................................................14
1.5.2 中断传输........................................................................................................14
1.5.3 批量传输........................................................................................................15
1.5.4 同步传输........................................................................................................15
1.6 USB 描述符................................................................................................................15
1.6.1 设备描述符....................................................................................................16
1.6.2 设备限定描述符............................................................................................17
1.6.3 配置描述符....................................................................................................18
1.6.4 其他速率配置描述符....................................................................................18
USB2.0 + FPGA 开发文档
- 3 -
1.6.5 接口描述符.....................................................................................................19
1.6.6 端点描述符.....................................................................................................20
1.6.7 字符串描述符.................................................................................................22
1.7 USB 设备请求...............................................................................................................22
1.7.1 GetStatus 请求................................................................................................24
1.7.2 ClearFeature 请求.........................................................................................24
1.7.3 SetFeature 请求..............................................................................................24
1.7.4 SetAddress 请求.............................................................................................24
1.7.5 GetDescriptor 请求.......................................................................................24
1.7.6 SetDescriptor 请求........................................................................................24
1.7.7 GetConfiguration 请求..................................................................................24
1.7.8 SetConfiguration 请求.................................................................................24
1.7.9 GetInterface 请求.........................................................................................24
1.7.10 SetInterface 请求.......................................................................................24
1.7.11 SynchFrame 请求...........................................................................................24
1.8 USB 插头插座选择.......................................................................................................24
1.9 USB 线选择.................................................................................................................25
第二章 CY7C68013A 芯片简介................................................................................................26
2.1 芯片结构....................................................................................................................26
2.1.1 功能特点.........................................................................................................28
2.1.2 引脚说明.........................................................................................................29
2.2 增强型 8051 核..........................................................................................................35
2.2.1 数据存储器.....................................................................................................35
2.2.2 中断系统.........................................................................................................36
2.2.3 挂起和复位.....................................................................................................38
2.3 存储空间....................................................................................................................39
2.3.1 片内存储区.....................................................................................................40
2.3.2 片内 0xE000~0xFFFF 存储区.........................................................................40
USB2.0 + FPGA 开发文档
- 4 -
2.3.3 FX2 端点缓冲区.............................................................................................41
2.4 I/O 系统.....................................................................................................................42
2.4.1 I/O 口..............................................................................................................42
2.4.2 从属 FIFO 接口模式.......................................................................................44
2.4.3 GPIF 接口模式................................................................................................46
2.5 设备列举和重列举....................................................................................................47
2.5.1 缺省 USB 设备..................................................................................................47
2.5.2 端点 0 对设备请求的响应..............................................................................48
2.5.3 无 EEPROM 列举模式........................................................................................48
2.5.4 EEPROM 首字节为 0XC0 列举模式....................................................................49
2.5.5 EEPROM 首字节为 0XC2 列举模式....................................................................50
第三章 硬件说明……………………………………………………………………………51
3.1 开发板功能特点……………………………………………………………………51
3.1.1 符合 USB2.0 规范……………………………………………………………51
3.1.2 完整的固件下载方案………………………………………………………51
3.1.3 完整的在线编程方案………………………………………………………51
3.1.4 完整的在线仿真调试方案…………………………………………………51
3.1.5 完整详细的中文开发文档…………………………………………………51
3.1.6 生动的开发教程录像………………………………………………………51
3.1.7 GPIF 开发教程………………………………………………………………51
3.1.8 SLAVE FIFO 开发教程………………………………………………………51
3.1.9 实用的固件下载实例………………………………………………………51
3.1.10 丰富的实验例子……………………… …………………………………51
3.1.11 速度测试………………………………… ………………………………51
3.1.12 完整的开发源代码…………………………………………………………51
3.1.13 芯片选型……………………………………………………………………52
3.1.14 丰富的扩展接口……………… ……………… …………………………52
3.2 开发板介绍………………………………………………………………………52
USB2.0 + FPGA 开发文档
- 5 -
3.2.1 开发板布局………………… ……………………………………………52
3.2.2 开发板原理图………………………… ……………………………………53
3.2.3 电源电路…………………………… ………………………………………53
3.2.4 CY7C68013A-128AXC 主电路…………………… …………………………54
3.2.5 EEPROM 电路…………………………………………………………………55
3.2.6 FPAG 电路……………………………………………………………………55
3.2.7 SRAM 电路……………………………………………………………………57
3.2.8 JTAG 口电路…………………………………………………………………57
3.2.9 FPGA 串行配置电路…………………………………………………………58
3.2.10 FPGA 的 AS 配置方式电路…………………………………………………58
3.2.11 时钟电路……………………………………………………………………58
3.2.12 串口电路……………………………………………………………………59
3.2.13 LED 显示电路………………………………………………………………59
3.2.14 KEY 输入电路………………………………………………………………59
3.2.15 其它电路……………………………………………………………………60
3.3 电路设计注意事项……………………………………………………………………60
第四章 程序开发介绍………………………………………………………………………62
4.1 CYPREES 控制面板功能及操作介绍……………………………………………………62
4.2 控制面板源程序介绍…………………………………………………………………66
4.3 系统软件体系…………………………………………………………………………70
4.3.1 固件程序………………………………………………………………………70
4.3.2 设备驱动程序…………………………………………………………………72
4.3.3 主机应用程序…………………………………………………………………72
4.4 VC++中例程开发参数设置介绍……………………………………………………73
4.5 KEIL C 中固件开发参数设置介绍……………………………………………………74
第五章 固件编程介绍………………………………………………………………………77
5.1 功能介绍……………………………………………………………………………77
5.2 固件构架流程………………………………………………………………………77