中文摘要 | 第1-4页 |
英文摘要 | 第4-10页 |
第一章 绪论 | 第10-12页 |
1.1 起因 | 第10-11页 |
1.2 USB的设计目标 | 第11页 |
1.3 使用的分类 | 第11页 |
1.4 特色 | 第11-12页 |
第二章 体系结构概述 | 第12-23页 |
2.1 USB系统的描述 | 第13-14页 |
2.1.1 总线布局技术 | 第13-14页 |
2.1.1.1 USB的主机 | 第13-14页 |
2.1.1.2 USB的设备 | 第14页 |
2.2 物理接口 | 第14-15页 |
2.2.1 电气特性 | 第14-15页 |
2.2.2 机械特性 | 第15页 |
2.3 电源 | 第15-16页 |
2.3.1 功率分配 | 第15页 |
2.3.2 电源管理 | 第15-16页 |
2.4 总线协议 | 第16页 |
2.5 健壮性 | 第16-17页 |
2.5.1 错误检测 | 第16-17页 |
2.5.2 错误处理 | 第17页 |
2.6 系统设置 | 第17-18页 |
2.6.1 USB设备的安装 | 第17页 |
2.6.2 USB设备的拆除 | 第17-18页 |
2.6.3 总线标号 | 第18页 |
2.7 数据流总类 | 第18-19页 |
2.7.1 控制数据传送 | 第18页 |
2.7.2 批量数据传送 | 第18页 |
2.7.3 中断数据传送 | 第18-19页 |
2.7.4 同步传输 | 第19页 |
2.7.5 指定USB带宽 | 第19页 |
2.8 USB设备 | 第19-23页 |
2.8.1 设备特性 | 第20页 |
2.8.2 设备描述 | 第20-23页 |
2.8.2.1 集线器 | 第21页 |
2.8.2.2 功能部件 | 第21-23页 |
2.9 USB主机:硬件和软件 | 第23页 |
2.10 体系结构的扩充 | 第23页 |
第三章 USB数据流模型 | 第23-38页 |
3.1 实现者的视图 | 第23-25页 |
3.2 总线拓扑 | 第25-29页 |
3.2.1 USB主机 | 第25-26页 |
3.2.2 USB设备 | 第26-27页 |
3.2.3 总线的物理拓扑结构 | 第27-28页 |
3.2.4 总线逻辑拓扑结构 | 第28-29页 |
3.2.5 客户软件层与应用层的关系 | 第29页 |
3.3 USB通信流 | 第29-35页 |
3.3.1 设备端点 | 第31-33页 |
3.3.1.1 对0号端点的要求 | 第32页 |
3.3.1.2 对非0号端点的要求 | 第32-33页 |
3.3.2 通道 | 第33-35页 |
3.3.2.1 流通道 | 第34页 |
3.3.2.2 消息通道 | 第34-35页 |
3.4 传送类型 | 第35-36页 |
3.5 控制传送 | 第36-37页 |
3.6 同步传送 | 第37页 |
3.7 中断传送 | 第37页 |
3.8 批传送 | 第37-38页 |
第四章 协议处理 | 第38-61页 |
4.1 位定序 | 第38页 |
4.2 同步字段 | 第38页 |
4.3 包字段格式 | 第38-42页 |
4.3.1 包标记符字段 | 第38-40页 |
4.3.2 地址字段 | 第40-41页 |
4.3.2.1 地址字段 | 第40页 |
4.3.2.2 端口字段 | 第40-41页 |
4.3.3 帧号字段 | 第41页 |
4.3.4 数据字段 | 第41页 |
4.3.5 循环冗余校验 | 第41-42页 |
4.3.5.1 标记CRC | 第42页 |
4.3.5.2 数据CRC | 第42页 |
4.4 包格式 | 第42-46页 |
4.4.1 标记包 | 第42-43页 |
4.4.2 帧开始(SOF,Start-of-Frame)包 | 第43页 |
4.4.3 数据包 | 第43-44页 |
4.4.4 握手包 | 第44-45页 |
4.4.5 握手回答(Handshake Response) | 第45-46页 |
4.4.5.1 功能部件对输入事务回答 | 第45页 |
4.4.5.2 主机对输入事务回答 | 第45-46页 |
4.4.5.3 功能部件对输出事务回答 | 第46页 |
4.4.5.4 功能部件对建立事务的回答 | 第46页 |
4.5 事务格式 | 第46-54页 |
4.5.1 批处理事务 | 第47-48页 |
4.5.2 控制传送 | 第48-52页 |
4.5.2.1 汇报状态结果 | 第50-51页 |
4.5.2.2 可变长度数据阶段 | 第51页 |
4.5.2.3 最后数据事务的出错处理(Error Handling) | 第51-52页 |
4.5.2.4 控制管道返回的STALL握手 | 第52页 |
4.5.3 中断事务 | 第52-53页 |
4.5.4 同步事务 | 第53-54页 |
4.6 数据切换同步和重试 | 第54-58页 |
4.6.1 通过建立标记初始化 | 第54-55页 |
4.6.2 成功的数据事务 | 第55页 |
4.6.3 损坏,或者不被接受数据 | 第55-56页 |
4.6.4 损坏的ACK握手 | 第56-57页 |
4.6.5 低速事务 | 第57-58页 |
4.7 错误检测和恢复 | 第58-61页 |
4.7.1 包错误种类 | 第58-59页 |
4.7.2 总线周转(Turn-around)时间 | 第59-60页 |
4.7.3 错误的EOP | 第60-61页 |
4.7.4 超时干扰和活动性丧失的恢复 | 第61页 |
第五章 USB接口电路发射端的设计 | 第61-77页 |
5.1 系统结构框图 | 第62-63页 |
5.1.1 模拟收发器 | 第62页 |
5.1.2 串行接口引擎(SIE) | 第62页 |
5.1.3 与80C51并行接口举例 | 第62-63页 |
5.2 SIE(串行接口引擎 | 第63-71页 |
5.2.1 Receiver端的研究 | 第64-65页 |
5.2.2 发射端(Transmitter)的研究 | 第65-71页 |
5.2.2.1 NRZI编码 | 第66-67页 |
5.2.2.2 比特填充 | 第67-68页 |
5.2.2.3 同步方式 | 第68-69页 |
5.2.2.4 并行/串行转换 | 第69页 |
5.2.2.5 CRC循环冗余校验 | 第69-70页 |
5.2.2.5.1 标记CRC | 第69页 |
5.2.2.5.2 数据CRC | 第69-70页 |
5.2.2.6 分组标记识别 | 第70-71页 |
5.3 设计的Verilog-HDL实现 | 第71页 |
5.4 自上而下(Top-Down)的设计方法 | 第71-73页 |
5.5 利用硬件描述语言(HDL)的硬件电路设计方法 | 第73-74页 |
5.6 设计工具 | 第74-77页 |
5.6.1 Verilog HDL语言 | 第75页 |
5.6.2 编译、仿真软件——Active-HDL 5.1 | 第75-76页 |
5.6.3 综合软件——Synplify 7.0 | 第76-77页 |
第六章 仿真结果分析 | 第77-80页 |
第七章 FPGA实物验证 | 第80-82页 |
第八章 总结与展望 | 第82-84页 |
8.1 总结 | 第82页 |
8.2 USB技术展望 | 第82-84页 |
附录1 缩略词表 | 第84-89页 |
参考文献 | 第89-90页 |
致谢 | 第90页 |