USB接口技术PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:李肇庆等编著
- 出 版 社:北京:国防工业出版社
- 出版年份:2004
- ISBN:7118034525
- 页数:406 页
第1章USB简介 1
1.1 问题的产生 1
目录 1
23.3 HID特定要求 35 1
3.2信息包 5 1
1.2问题的解决 3
1.3 USB的发展 4
1.3.1 USB规范的版本 4
1.3.2 USB 2.0 5
1.3.3 IEEE-1394 5
1.4 USB的优点 6
1.4.1容易使用 6
1.4.5稳定性 7
14.7.1 USB设备列举的过程 19 7
1.4.3低价位 7
1.4.2传输速度快 7
1.4.4低能耗 7
1.4.6操作系统的支持 8
1.4.8有弹性 8
1.4.7外围设备的支持 8
1.5 USB的缺点 9
1.6与其他接口的比较 10
1.7.1主机控制器 11
1.7 USB对PC的软硬件要求 11
1.7.2操作系统 11
1.7.3组件 11
1.7.4信道 12
1.7.5连接端口 13
1.8主机的功能 14
1.9外围设备的功能 15
1.10传输速度 17
1.11开发的流程 17
1.11.1所需组件 18
1.11.2开发工具 18
2.1传输的基础 19
2.1.1 配置 19
2.1.2应用程序 19
第2章USB传输 19
2.1.3数据的管理 20
2.1.4总线速度 20
2.2传输的要件 21
2.2.1设备的端点 21
2.2.2管道 22
2.2.3传输类型 23
2.3事务 24
2.2.5传输的初始化 24
2.2.4消息管道与流管道 24
2.3.1事务相让 26
2.3.2信息包的串行化 27
2.3.4分割事务 28
2.3.3时间的限制 28
2.4联络信号 30
2.4.1 ACK 31
2.4.2 NAK 31
2.4.3 STALL 31
2.4.5 ERR 32
2.4.6没有响应 32
2.4.7控制传输的状态 32
2.4.4 NYET 32
2.5错误的检验 33
2.5.1错误校验位 33
2.5.2数据交替位 33
2.6控制传输 35
2.6.1 结构 35
2.6.2信息包大小 37
2.6.3传输速度 38
2.6.4检测错误 40
2.7批量传输 40
2.7.1结构 40
2.7.2信息包大小 41
2.7.3传输速度 41
2.7.4检测错误 42
2.8中断传输 42
2.8.2信息包大小 43
2.8.3传输速度 43
2.8.1 结构 43
2.8.4检验错误 45
2.9实时传输 45
2.9.1结构 46
2.9.2信息包大小 46
2.9.3传输速度 47
2.10传输的关键 48
2.10.1总线的带宽 48
2.10.2设备的能力 49
2.10.3主机软件的能力 49
2.10.4 Windows的延迟 49
第3章USB事务处理 50
3.1概述 50
3.2.1 同步序列 51
3.2.2信息包的标识符 52
3.2.5信息包的结束(EOP) 53
3.2.4循环冗余校验(CRC) 53
3.2.3信息包的特定信息 53
3.3令牌包 54
3.3.1 SOF包 54
3.3.2 IN包 55
3.3.3 OUT包 55
3.3.4 SETUP包 55
3.3.5数据包 56
3.3.6握手包 57
3.3.7前导包 58
3.4事务处理 58
3.4.1IN事务处理 58
3.4.2 OUT事务处理 60
3.4.3 SETUP事务处理/控制传输 62
4.1.1令牌信息包 65
4.1 设置阶段 65
第4章控制传输 65
4.1.2数据信息包 66
4.1.3联络信息包 69
4.2数据阶段 69
4.2.1令牌信息包 70
4.2.2数据信息包 70
4.2.3联络信息包 70
4.3.3联络信息包 71
4.3状态阶段 71
4.3.1令牌信息包 71
4.3.2数据信息包 71
4.4检测错误 72
4.5要求 72
4.5.1 Clear_Feature 73
4.5.2 Get_Configuration 74
4.5.3 Get_Descriptor 74
4.5.4 Get_Interface 75
4.5.5 Get_Status 76
4.5.6 Set_Address 77
4.5.7 Set_Configuration 77
4.5.8 Set_Descriptor 78
4.5.9 Set_Feature 79
4.5.10 Set_Interface 79
4.5.1 1 Synch_Frame 80
4.5.12类别特定的要求与厂商的要求 80
5.1概述 82
5.2信息包错误 82
5.2.1 PID检查 82
第5章错误恢复 82
5.2.2 CRC错误 83
5.2.3位填充错误 83
5.2.4信息包相关错误处理 83
5.3总线超时 85
5.5数据触发出错 86
5.4错误的EOP 86
5.6特殊情况 93
5.7.1时间片计时器 94
5.7串扰/LOA检测和恢复 94
5.7.2主机到集线器的时滞 95
5.7.3集线器中继器状态机制 95
第6章检测设备 97
6.1检测设备的过程 97
6.1.1检测的步骤 98
6.1.3移除设备 101
6.2.1类型 101
6.2描述符 101
6.1.2检测集线器 101
6.2.2设备描述符 103
6.2.3 Device_Qualifier描述符 105
6.2.4配置描述符 106
6.2.5 Other_Speed_Configuration描述符 107
6.2.6接口描述符 108
6.2.7端点描述符 110
6.2.8字符串描述符 111
6.3 USB 2.0兼容设备的描述符 112
7.1 USB的供电 114
7.2.1 电流预算 114
第7章USB供电分配 114
7.2集线器 114
7.2.2过流保护 115
7.2.3压降预算 115
7.2.4电源开关 115
7.3总线供电的集线器 116
7.3.1在集线器配置过程中的电源 116
7.3.2连接到500mA端口的总线供电的集线器 116
7.3.3与100mA端口相连的总线供电的集线器 117
7.3.4与大于100mA而小于500mA端口相连的总线供电的集线器 117
7.3.5外电流限制 117
7.4.1低功率设备 118
7.4.2高功率设备 118
7.4总线供电的集线器设备 118
7.5 自供电的集线器 119
7.5.1在配置过程中的供电 120
7.5.2电流限制 121
7.6 自供电设备 121
第8章USB电源管理 123
8.1供电保持 123
8.1.1设备对挂起的响应 123
8.1.2集线器对挂起的响应 123
8.2.1启动全局挂起 124
8.2.1从全局挂起状态恢复 124
8.2全局挂起 124
8.3选择性挂起 126
8.3.1启动选择挂起 126
8.3.2 从选择性挂起状态恢复 126
8.3.3 当集线器被连接时的选择性挂起 127
8.4在全局挂起之后的选择性挂起 129
8.5通过复位恢复 130
第9章USB配置处理 131
9.1概述 131
9.2配置模型 132
9.3根集线器的配置 132
9.3.2复位操作强迫设备被分配为默认的地址 133
9.3.3主机分配惟一的设备地址 133
9.3.1 设备为了配置而隔离 133
10.1集线器的配置 135
10.1.1默认管道 135
第10章集线器配置 135
10.1.2状态变化管道 136
10.2读取集线器的端点描述符 136
10.2.1 集线器设备描述符 136
10.2.2集线器配置描述符 138
10.2.3 集线器接口描述符 139
10.2.4状态端点描述符 140
10.2.5集线器类的描述符 141
10.3给集线器供电 143
10.4检查集线器的状态 144
10.5集线器端口状态概述 145
11.1概述 147
11.2集线器请求类型 147
第11章集线器请求 147
11.3集线器类的请求 149
11.4获得/设置位描述符 149
11.5获取集线器状态的请求 150
11.5.1 集线器的状态字段 150
11.5.2集线器状态变化字段 150
11.6设置/清除集线器的特征请求 151
11.7获取端口状态请求 152
11.7.1 端口状态字段 152
11.7.2端口变化字段 153
11.8设置/清除端口特征 154
11.9获取总线状态 155
12.1概述 156
12.2 USB的描述符 156
第12章USB设备配置 156
12.4设备描述符 157
12.3设备类 157
12.5配置描述符 160
12.6接口描述符 161
12.7端点描述符 163
12.8设备状态 164
第13章USB微控制器 166
13.1主要特性与功能 168
13.2 CY7C63411/12/13与CY7C63511/12/13 170
13.3 CY7C63612与CY7C63613 172
13.4 CY7C64011/12/13~CY7C64111/12/13 173
13.5 CY7C64213与CY7C64313 175
13.6 CY7C65013与CY7C65113 177
13.7 CY7C660XX~CY7C661XX 179
第14章USB微控制器的硬件与结构 182
14.1 I/O端口 184
14.1.1一般目的(GPIO)I/O端口 184
14.1.2输入 185
14.1.3输出 186
14.1.4 XTALIN/XTALOUT 187
14.2内存的规划 188
14.3重置 190
14.3.2重置 191
14.3.1打开电源重置 191
14.3.3 USB总线重置 192
14.4内建的定时器 192
14.5立即唤醒的功能 192
14.6中断 193
14.6.1 中断的迟滞时间 195
14.6.2 GPIO中断 195
14.7 USB引擎 197
14.6.5唤醒中断 197
14.6.4定时器中断 197
14.6.3 USB中断 197
14.7.2端点0 198
14.7.3 端点1 201
14.7.4 USB状态与控制 202
15.1如何执行CYASM 204
第15章CYASM汇编语言 204
15.2 USB微处理器 205
15.3地址的空间规划 206
15.3.1指令的格式 206
15.3.2寻址的模式 207
15.3.3指令执行后的目的地 208
15.4汇编语言的语法 208
15.5列表文件的格式 209
15.6组译器指令 210
15.7指令集 215
第16章以固件实现USB接口通信 238
16.1固件技术 238
16.1.1 CPU版本的差异 238
16.1.2程序内存结构 240
16.2 USB通信 243
16.3如何使用CY7C630/1/2XX执行端点的通信工作 252
16.3.1端点0 252
16.3.2端点1 253
16.4 USB通信程序 253
17.1如何运用Cypress USB MCU工具进行设计 263
第17章Cypress USB微控制器的开发系统 263
17.1.1概要设计 264
17.1.2以Simulator/Emulator来实现 264
17.1.4验证 265
17.2 CY3640 265
17.2.1功能与特性 265
17.1.3用ICE来调试 265
17.3低速的CY3650 267
17.3.1 USB的开发环境 267
17.3.2安装硬件 268
17.3.3调试/监控软件 270
17.3.4操作方法 270
17.3.5扩充接脚的描述 274
17.3.6测试 276
17.4低速CY365 1 277
18.1系统需要与安装 281
18.2 USB开发系统软件 281
第18章程序的仿真、调试与刻录 281
18.2.1操作软件的结构 282
18.2.2内部程序内存 282
18.2.3 内部主菜单栏 284
18.3 Cypress USB MCU的刻录 286
第19章USB微控制器的实践入门 287
19.1读取按钮的输入值 287
19.2键盘扫描 288
19.3调整LED亮度与光敏晶体管感度 290
19.4读取电位计的电阻值 291
19.5实现RS-232串行通信的接口 293
19.5.1异步通信所传送数据的结构 293
19.5.2执行RS-232的通信协议 294
20.1 鼠标的基本结构 310
第20章USB应用实例(一) 310
20.2硬件设计 311
20.3固件设计 313
20.3.1 USB的接口 313
20.3.2 USB鼠标描述符 315
20.3.3 电源管理 319
20.3.4位移的计算 319
第21章USB应用实例(二) 321
21.1模拟摇杆的基本结构 321
21.2硬件的设计 322
21.3固件的设计 322
21.3.1 USB摇杆描述符 323
21.3.2校准 327
21.3.3 移偏移量的计算 328
第22章USB应用实例(三) 329
22.1 PS/2键盘的基本结构 329
22.2硬件的设计 330
22.3固件设计 332
22.4功能与特性 335
22.4.1主循环 335
22.4.2扫描的工作 335
22.4.3弹跳 338
22.4.4按键码的表格 339
23.1 HID简介 340
第23章HID设备 340
23.1.1硬件要求 341
23.1.2固件要求 342
23.2 HID的描述符 342
23.4传输数据 354
23.4.1传送数据给主机 354
23.4.2 从主机接收数据 355
23.5报表的结构 358
23.5.1短项目 . 358
23.5.2 长项目 359
23.6 Main项目类型 360
23.7 Global项目类型 363
23.8 Local项目类型 367
23.9填充 369
23.10实体描述符 369
第24章HID程序设计 370
24.1主机的通信 370
24.2调用API函数 372
24.2.1使用VisualC++ 372
24.2.2使用VisualBasic 373
24.3取得HID类别的GUID 375
24.3.1使用VisualC++ 375
24.3.2使用Visual Basic 375
24.4.1使用VisualC++ 376
24.4取得HID信息的结构数组 376
24.4.3 详解 377
24.4.2 使用Visual Basic 377
24.5识别HID接口 378
24.5.1使用VisualC++ 378
24.5.2使用Visual Basic 379
24.5.3 羊解 380
24.6取得设备的路径 380
24.6.1使用VisualC++ 380
24.6.2使用Visual Basic 381
24.7取得设备的代号 383
24.7.1使用VisualC++ 383
24.7.2使用Visual Basic 384
24.8.1使用Visual C++ 385
24.8取得厂商与产品ID 385
24.8.2使用Visual Basic 386
24.8.3 详解 386
24.9取得包含设备能力的缓冲区指针 386
24.9.1使用Visual C++ 387
24.9.2使用Visual Basic 387
24.9.3详解 387
24.10取得设备的能力 388
24.10.1使用VisualC++ 388
24.10.2使用Visual Basic 389
24.10.3详解 389
24.12.1使用Visual C++ 390
24.11取得数值的能力 390
24.12传送输出报表给设备 390
24.12.2使用Visual Basic 391
24.12.3详解 392
24.13从设备该项输入报表 392
24.13.1使用Visual C++ 392
24.13.2使用Visual Basic 392
24.13.3详解 393
24.14使用重叠ReadFile读取报表 394
24.14.1使用Visual C++ 394
24.14.2使用Visual Basic 395
24.15使用多线程的ReadFile读取报表 397
24.15.1使用Visual C++ 398
24.15.2使用Visual Basic 399
24.16传递特征报表给设备 399
24.16.1使用Visual C++ 400
24.16.2使用Visual Basic 400
24.17从设备读取特征报表 400
24.17.1使用Visual C++ 401
24.17.2使用Visual Basic 401
24.18关闭通信 401
24.18.1使用Visual C++ 402
24.18.2使用Visual Basic 402
附录USB参考资料 404
参考文献 406
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《抗战三部曲 国防诗歌集》蒲风著 1937
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《陶瓷工业节能减排技术丛书 陶瓷工业节能减排与污染综合治理》罗民华著 2017