自序PREFACE 1
编辑部序EDITORIAL PREFACE 1
第1章 序论-USB的基本结构与特征 1
第2章 USB基本结构与特性 7
2-1 USB协议总览 7
2-2 USB的总线结构 8
2-3 USB数据流的模式与管线的概念 9
2-4 USB的传输类型 10
2-5 USB的连接头与缆线 12
2-5-1 USB接口的电气特性 14
2-5-2 USB的电源管理 15
2-6 USB的编码方式 16
2-7 USB接口的通信协议 17
2-7-1 数据域位的格式 17
2-7-2 封包格式 19
2-7-3 数据交易格式 21
2-7-4 输出入要求封包(IRP) 24
2-8 USB描述符 24
2-9 USB的标准设备要求 30
2-10 USB接口的重置、暂停、恢复与远程唤醒 32
2-11 USB主机 33
2-12 设备类 35
2-13 结论 36
第3章 Cypress-USB微控制器 37
3-1 主要特性与功能 39
3-2 CY7C63411/12/13与CY7C63511/12/13 41
3-3 CY7C63612与CY7C63613 44
3-4 CY7C64011/12/13~CY7C64111/12/13 45
3-5 CY7C64213与CY7C64313 47
3-6 CY7C65013与CY7C65113 49
3-7 CY7C660XX~CY7C661XX 51
3-8 结论 53
第4章 USB微控制器的硬件与结构 56
4-1 I/O端口 58
4-2 内存的规划 62
4-2-1 程序内存的规划 62
4-2-2 保密用的保险丝位 63
4-2-3 数据存储器的规划 63
4-3 重置 64
4-3-3 USB总线重置 66
4-3-1 打开电源重置(POR) 66
4-3-2 重置(WDR) 66
4-4 内建的定时器 67
4-5 立即唤醒的功能(在暂停模式下) 67
4-6 中断 68
4-6-1 中断的迟滞时间 70
4-6-2 GPIO中断 70
4-6-5 唤醒中断 72
4-7 USB引擎 72
4-6-4 定时器中断 72
4-6-3 USB中断 72
4-7-1 USB设备列举的过程 73
4-7-2 端点0 74
4-7-3 端点1 77
4-7-4 USB状态与控制 78
4-8 结论 79
第5章 CYASM汇编语言 80
5-1 如何执行CYASM? 80
5-2 USB微处理器 81
5-3 地址的空间规划 82
5-3-2 寻址的模式 83
5-3-1 指令的格式 83
5-4 汇编语言的语法 84
5-3-3 指令执行后的目的地 84
5-5 列表文件的格式 86
5-6 组译器指令 87
5-7 指令集 92
5-8 结论 114
6-1 固件技术 119
6-1-1 CPU版本的差异 119
第6章 以固件实现USB接口通信 119
6-1-2 程序内存结构 121
6-2 USB通信 126
6-3 如何使用CY7C630/1/2XX执行端点的通信工作 135
6-4 USB通信程序(使用CY7C7630/1/2xx) 137
6-5 结论 146
第7章 Cypress USB微控制器的开发系统 147
7-1 如何运用Cypress USB MCU工具进行快速、有效的设计 148
7-1-1 最初的概念性设计 148
7-1-3 以在线仿真器ICE来调试 149
7-1-4 最后的验证 149
7-1-2 以仿真器Simulator/Emulator来实现 149
7-2 USB Starter Kit-CY3640 150
7-2-1 功能与特性 150
7-3 低速USB Developer’s Kit-CY3650 152
7-3-1 USB的开发环境 152
7-3-2 USB的开发环境--安装硬件 153
7-3-3 USB的开发环境--调试/监控软件 155
7-3-4 USB的开发环境--如何操作 155
7-3-5 扩充接脚的描述 159
7-3-6 自我测试 162
7-4 低速USB Developer’s Kit-CY3651 163
7-4-1 S1开关的设定 164
7-4-2 JI连接器与目标芯片 164
7-4-3 自我测试 166
7-4-4 仿真板与MCU之间的差异 167
7-5 结论 167
第8章 程序的仿真、调试与刻录 168
8-1 基本的系统需求与安装 168
8-2-1 操作软件的结构 169
8-2 USB开发系统软件 169
8-2-2 内部程序内存 170
8-2-3 内部主菜单栏 174
8-3 Cypress USB MCU的刻录 177
第9章 USB微控制器的实践入门 179
9-1 读取按钮的输入值 179
9-2 键盘扫描 180
9-3 调整LED亮度与光敏晶体管感度 182
9-4 读取电位计的电阻值 183
9-5-1 异步通信所传送数据的结构 185
9-5 实现RS-232串行通信的接口 185
9-5-2 执行RS-232的通信协议 186
9-6 结论 201
第10章 USB鼠标 202
10-1 鼠标的基本构造 202
10-2 硬件设计 203
10-3 固件设计 206
10-3-1 USB的接口 206
10-3-2 USB鼠标描述符 209
10-3-3 电源管理 212
10-4 结论 214
10-3-4 位移的计算 214
第11章 USB摇杆 215
11-1 模拟摇杆的基本结构 215
11-2 硬件的设计 216
11-3 固件的设计 217
11-3-1 USB摇杆描述符 218
11-3-2 校准 222
11-3-3 位移偏移量的计算 223
11-4 结论 223
12-1-1 键盘的开关与扫描矩阵 224
第12章 USB键盘 224
12-1 PS/2键盘的基本结构 224
12-1-2 PS/2控制器 225
12-1-3 PS/2缆线 226
12-2 硬件的设计 226
12-3 固件设计 227
12-3-1 USB键盘的描述符 229
12-4 功能与特性 231
12-4-1 主循环 231
12-4-2 扫描的工作 232
12-4-3 弹跳 234
12-4-4 按键码的表格 236
12-5 结论 236
第13章 USB输入/输出设备 237
13-1 系统结构 237
13-2 USB微控制器的固件规划 239
13-2-1 INC包括文件 240
13-2-2 主程序 243
13-3 载入WDM的驱动程序 246
13-4 USB设备的测试 254
13-5 Windows应用程序的编写 258
13-6 结论 261
第14章 USB输入/输出设备电路模块 262
14-1 主程序 262
14-2 输入-指拨开关 271
14-3 输出模块-LED显示 272
14-4 输入模块-矩阵开关 273
14-5 输出模块-七段显示器 279
14-6 USB?RS232数据网桥 281
14-7 模拟/数字转换器 284
14-8 结论 288
附录 APPENDIX 289