书籍详情

计算机USB系统原理及其主/从机设计

计算机USB系统原理及其主/从机设计

作者:马伟编著

出版社:北京航空航天大学出版社

出版时间:2004-01-01

ISBN:9787810773812

定价:¥29.50

购买这本书可以去
内容简介
  本书在精练、准确地阐述USB协议原理的基础上,总结了设计USB系统所需的软件编程和硬件设计的基础知识,以及实际的项目开发经验。然后重点讲述了在嵌入式系统中USBHost功能的实现,包括嵌入式USB主机系统的原理、硬件电路设计和单片机的C语言源代码分析。最后,介绍了USB设备的开发,内容包括通用USB设备固件的源代码分析和设备实例。在这些内容中穿插了USB主机、MassStorage设备类、HID类和Hub类等的协议。本书不仅可作为大学高年级学生学习计算机硬件技术和系统原理课程的参考用书,也可作为高等院校研究生单片机与嵌入式系统教学、实验和开发的教学参考资料;同时,也适合作为工程师使用USB技术以及进行嵌入式USB主机系统设计和设备开发的指南。
作者简介
暂缺《计算机USB系统原理及其主/从机设计》作者简介
目录
第1部分 USB概述
第1章 USB技术的出现和发展2
1.1 身边的USB2
1.2 计算机总线概述3
1.3 USB的出现和发展5
1.3.1 传统的计算机接口的局限性5
1.3.2 新型总线标准USB诞生5
复习题6
第2章 USB的特点及优点7
2.1 即插即用7
2.2 广泛的软硬件支持7
2.3 低功耗7
2.4 可选择的多种速度模式7
2.5 完备的总线拓扑结构8
2.6 多种设备类8
2.7 硬件结构标准化8
2.8 低廉的价格8
复习题8
第3章 USB关键字9
第2部分 USB协议基础
第4章 USB系统资源12
4.1 USB系统模型12
4.2 计算机平台上的USB系统12
4.2.1 PC上的USB系统组成部分12
4.2.2 USB在PCI总线上的位置15
4.3 设备级的USB系统16
4.3.1 USB Hub16
4.3.2 USB设备17
4.4 USB的拓扑体系18
4.4.1 USB的拓扑结构图18
4.4.2 完整的USB系统软硬件组成19
复习题20
第5章 USB的机械和电气特性21
5.1 USB的机械特性21
5.1.1 USB图标21
5.1.2 USB接插件21
5.1.3 USB插座的PCB设计23
5.1.4 USB电缆23
5.1.5 USB电缆线编号与颜色25
5.2 USB的电气特性25
5.2.1 USB的供电模式26
5.2.2 低功耗的实现27
5.2.3 即插即用技术27
复习题29
第6章 USB数据通信结构30
6.1 数据通信协议简介30
6.1.1 通信协议的主要内容30
6.1.2 USB数据通信结构概况31
6.1.3 二进制数的位发送顺序31
6.2 二进制数的序列——域32
6.2.1 同步域32
6.2.2 标识域33
6.2.3 地址域34
6.2.4 端点域35
6.2.5 帧号域35
6.2.6 数据域36
6.2.7 校验域36
6.3 最基本数据单元——包37
6.3.1 令牌包37
6.3.2 数据包38
6.3.3 握手包38
6.4 数据传输类型39
6.4.1 数据传输概论39
6.4.2 中断传输40
6.4.3 批量传输42
6.4.4 同步传输44
6.4.5 控制传输46
6.5 数据流模型51
6.5.1 端点51
6.5.2 管道51
6.5.3 USB数据传输过程51
复习题53
第3部分 USB系统软硬件
第7章 USB协议栈设备框架及固件软件编程基础55
7.1 标准的USB描述符55
7.1.1 设备描述符56
7.1.2 配置描述符59
7.1.3 接口描述符60
7.1.4 端点描述符62
7.1.5 字符串描述符63
7.2 标准的USB设备请求命令64
7.2.1 设备请求命令的格式64
7.2.2 获取状态请求GET_STATUS66
7.2.3 清除特性请求CLEAR_FEATURE68
7.2.4 设置特性请求SET_FEATURE69
7.2.5 设置地址请求SET_ADDRESS70
7.2.6 获取描述符请求GET_DESCRIPTOR70
7.2.7 设置描述符请求SET_DESCRIPTOR71
7.2.8 获取配置请求GET_CONFIGURATION72
7.2.9 设置配置请求SET_CONFIGURATION73
7.2.10 获取接口请求GET_INTERFACE74
7.2.11 设置接口请求SET_INTERFACE75
7.2.12 同步帧请求SYNCH_FRAME75
7.3 USB协议栈设备框架的软件实现76
7.3.1 必需的一些常量76
7.3.2 设备描述符的程序实现77
7.3.3 配置描述符的程序实现79
7.3.4 接口描述符的程序实现80
7.3.5 端点描述符的程序实现80
7.3.6 字符串描述符的程序实现82
7.4 通用USB固件程序流程84
7.4.1 USB设备的暂态84
7.4.2 USB的枚举过程86
7.4.3 USB固件协议栈的整体描述86
复习题88
第8章 USB设备类90
8.1 USB设备类简介90
8.1.1 类的定义90
8.1.2 类协议在整个USB协议体系中的位置90
8.2 标准的USB设备类92
复习题93
第9章 USB硬件设计基础94
9.1 基本的USB硬件电路分析94
9.1.1 USB连接点电路95
9.1.2 信号线配置电路95
9.1.3 时钟电路95
9.1.4 信号线上拉电路95
9.1.5 USB芯片及其外围电路95
9.1.6 USB中断信号电路96
9.1.7 CPU接口电路96
9.2 USB硬件系统的PCB设计基础96
9.2.1 电磁兼容性简介97
9.2.2 USB系统中控制噪声的措施97
复习题98
第4部分 嵌入式USB主机开发技术
第10章 嵌入式USB主机系统规划100
10.1 USB主机嵌入式化的必要性和迫切性100
10.1.1 为什么要开发嵌入式USB主机100
10.1.2 嵌入式USB主机在数据存储和交换中的应用101
10.1.3 嵌入式USB主机的应用前景分析101
10.2 USB主机协议简介102
10.2.1 USB主机接口的工业标准102
10.2.2 USB主机系统的功能103
10.2.3 USB主机系统的结构103
10.2.4 USB主机控制器104
10.2.5 主控制器驱动程序105
10.2.6 USB核心驱动程序106
10.3 USB Mass Storage类协议108
10.3.1 Mass Storage类概述108
10.3.2 单批量BulkOnly传输协议109
10.3.3 Mass Storage的子类命令简介112
10.4 USB主机嵌入式化的主要思路116
10.4.1 PC上USB主机的工作原理总结116
10.4.2 嵌入式USB主机的硬件设计思路117
10.4.3 嵌入式USB主机的软件设计思路117
10.5 嵌入式USB主机系统的软硬件规划118
10.5.1 系统结构及其硬件设计118
10.5.2 软件设计120
复习题122
第11章 嵌入式USB主机系统的硬件设计123
11.1 嵌入式USB主机接口芯片SL811HS介绍123
11.1.1 SL811HS的功能模块及特点123
11.1.2 SL811HS芯片引脚分布124
11.1.3 SL811HS的相关寄存器介绍125
11.2 嵌入式USB主机核心CPU芯片MC68HC912D60A的介绍130
11.2.1 MC68HC912D60A的特性130
11.2.2 MC68HC912D60A的引脚介绍132
11.2.3 MC68HC912D60A相关寄存器简介134
11.3 嵌入式USB主机系统的供电系统设计139
11.3.1 供电系统电路139
11.3.2 电压转换电路139
11.3.3 电源指示电路140
11.4 MC68HC912D60A单片机最小系统电路设计140
11.4.1 供电系统及引脚信号定义140
11.4.2 时钟电路141
11.4.3 BDM背景调试模式接口电路142
11.4.4 MC68HC912D60A工作模式选择电路143
11.4.5 单片机复位电路143
11.5 SL811HS外围电路设计144
11.5.1 系统供电及引脚信号定义144
11.5.2 时钟电路144
11.5.3 USB下行端口设计145
11.5.4 复位电路145
11.6 SL811HS与MC68HC912D60A通信接口设计146
11.6.1 MC68HC912D60A通信引脚分配146
11.6.2 SL811HS与MC68HC912D60A的端口I/O电平比较146
11.6.3 电平转换电路设计148
11.7 系统其他模块的电路设计与实现148
11.7.1 LCD显示电路设计149
11.7.2 键盘中断电路149
11.7.3 串口通信电路151
11.7.4 CAN模块电路151
11.7.5 系统运行状态的LED显示电路152
11.8 嵌入式USB主机系统的PCB设计153
11.8.1 元器件的布置153
11.8.2 系统PCB布线154
11.8.3 PCB覆铜155
复习题155
第12章 嵌入式USB主机系统的软件设计157
12.1 开发工具及软件结构简介157
12.1.1 MC68HC912D60A单片机的开发工具157
12.1.2 CodeWarrio集成开发环境简介158
12.1.3 嵌入式USB主机系统源文件清单160
12.2 MC68HC912D60A初始化及用户交互界面设计160
12.2.1 MC68HC912D60A的初始化程序设计161
12.2.2 LCD液晶驱动程序设计162
12.2.3 键盘中断模块程序设计170
12.2.4 LED显示模块程序设计174
12.2.5 串口通信模块程序设计174
12.3 SL811HS与MC68HC912D60A的通信程序设计175
12.3.1 通信总线的定义175
12.3.2 读数据177
12.3.3 写数据179
12.3.4 读/写批量数据180
12.4 USB主机的系统软件设计181
12.4.1 嵌入式USB主机系统的核心程序之间的关系181
12.4.2 SL811HS的初始化182
12.4.3 实现USB的设置. 输入和输出事务182
12.4.4 实现USB的数据传输方式189
12.4.5 实现标准的USB请求命令191
12.4.6 枚举设备和获取描述符192
12.5 Mass Storage类协议的程序设计194
12.5.1 命令块封包CBW和命令状态封包CSW的定义194
12.5.2 单批量BulkOnly传输协议的程序设计195
12.5.3 UFI子类请求命令的实现197
复习题197
第13章 嵌入式USB主机系统实例198
13.1 嵌入式USB主机系统Demo的外观及使用198
13.2 系统启动199
13.3 USB设备的连接与配置201
13.4 主机和设备之间Mass Storage类协议数据通信202
13.5 基于FAT系统的文件管理及实验202
第14章 USB协议2.0补充版本OnTheGo简介205
14.1 什么是USB OnTheGo205
14.2 USB OTG设备的功能205
14.3 USB OTG的机械层和电气层协议206
14.3.1 USB OTG的接插件206
14.3.2 USB OTG总线的电流要求207
14.4 USB OTG体系的软件描述207
14.4.1 OTG配置描述符207
14.4.2 会话请求协议208
14.4.3 主机交流协议208
14.4.4 OTG的软件结构209
14.5 开发USB OTG设备209
14.5.1 支持USB OTG的芯片209
14.5.2 如何开发USB OTG设备209
复习题209
第5部分 USB设备开发技术
第15章 通用的USB固件源代码分析212
15.1 概述212
15.2 端点的数据读/写处理213
15.3 控制传输与USB标准请求命令的处理214
15.4 其他传输方式的实现220
复习题221
第16章 USB Hub设计222
16.1 USB Hub结构及功能简介222
16.1.1 USB Hub对USB体系的重要意义222
16.1.2 USB Hub的功能223
16.1.3 USB Hub的结构223
16.2 USB Hub的软件编程基础225
16.2.1 USB Hub的电源工作模式225
16.2.2 USB Hub的描述符226
16.2.3 USB Hub的类特定请求228
16.3 基于GL652USB的7端口USB Hub的设计229
16.3.1 GL652USB简介230
16.3.2 USB Hub的电路原理图设计231
16.3.3 USB Hub的PCB设计233
16.4 USB Hub在嵌入式系统中的灵活应用234
复习题234
第17章 基于HID的USB设备开发实例235
17.1 内嵌USB模块的单片机MC68HC908JB8介绍235
17.1.1 MC68HC908JB8的特点235
17.1.2 MC68HC908JB8的功能结构236
17.1.3 MC68HC908JB8的USB模块238
17.1.4 MC68HC908JB8的开发手段247
17.2 USB HID设备类协议251
17.2.1 HID设备类简介251
17.2.2 HID设备类在USB中的定义251
17.2.3 HID的数据传输方式252
17.2.4 HID的属性描述符253
17.2.5 HID描述符实例256
17.2.6 HID的特定设备类请求260
17.3 USB安全钥概述265
17.3.1 USB安全钥的完整功能265
17.3.2 USB安全钥的功能流程与扩展266
17.4 在单片机MC68HC908JB8上实现HID类协议267
17.4.1 MC68HC908JB8上HID类协议的固件设计原理267
17.4.2 USB中断服务程序的实现269
17.4.3 USB HID类协议固件的程序设计272
17.5 利用Visual C 开发HID的PC端软件281
17.5.1 PC端USB设备的驱动程序结构281
17.5.2 查找HID设备282
17.5.3 读取HID的功能285
17.5.4 获取KeyID函数Get_KeyID 286
17.5.5 设置KeyID函数Set_KeyID 287
17.5.6 用户程序界面的设计288
17.5.7 程序运行结果演示290
复习题292
参考文献293
猜您喜欢

读书导航