前言 1
第1章 数据通信基础 1
本章学习目标 1
1.1 数据通信及其实现技术 1
1.1.1 数据通信概述 1
目录 1
1.1.2 通信协议 3
1.1.3 数据传输模式 4
1.1.4 数据通信系统的质量标准 6
1.1.5 数据传输媒质 7
1.2 数据通信中的调制解调技术 10
1.2.1 调制解调技术原理 10
1.2.2 调制解调器 12
1.2.3 调制解调器技术规范 14
1.2.4 调制解调器的选择 16
1.3.1 流量控制 17
1.3 数据链路控制 17
1.3.2 差错控制 19
1.3.3 数据链路控制协议 22
本章小结 28
思考与练习 28
第2章 输入和输出 29
本章学习目标 29
2.1 概述 29
2.1.1 CPU与I/O接口 29
2.1.2 I/O接口与系统的连接 30
2.1.3 接口与系统的连接 31
2.1.4 输入输出的寻址方式 31
2.2 输入/输出数据传送方式 32
2.2.1 程序控制传送方式 32
2.2.2 中断传送方式 34
2.3 8086 CPU的输入/输出 35
2.2.3 DMA方式 35
本章小结 36
思考与练习 36
第3章 中断接口技术 37
本章学习目标 37
3.1 8086的中断系统 37
3.1.1 中断分类及中断类型码 37
3.1.2 中断向量和中断向量表 38
3.1.3 中断响应过程与时序 39
3.2 中断控制器Intel8259A 41
3.2.1 8259A的性能概述 41
3.2.2 8259A的内部结构和工作原理 42
3.2.3 8259A的外部引脚 42
3.2.4 8259A的工作过程 43
3.2.5 8259A的工作方式 43
3.2.6 8259A的编程 46
3.2.7 8259A的级联 50
3.2.8 8259A的应用举例 51
本章小结 53
思考与练习 53
第4章 并行输入/输出接口芯片 55
本章学习目标 55
4.1 可编程并行接口芯片8255A 55
4.1.1 并行通信与接口 55
4.1.2 8255A的编程结构 55
4.2 8255A的引脚功能 56
4.2.1 与外设相连的引脚 56
4.2.2 与CPU相连的引脚 56
4.3 8255A的工作方式 57
4.3.1 方式0 58
4.3.2 方式1 58
4.3.3 方式2 60
4.4.1 8255A的编程 61
4.4 8255A的控制字和状态字 61
4.4.2 接口应用举例 63
本章小结 66
思考与练习 67
第5章 可编程定时器/计数器接口芯片8253与DMA控制器Intel8237 68
本章学习目标 68
5.1 8253的内部结构 68
5.2 8253的引脚功能 70
5.3 8253的工作方式 71
5.3.1 方式0-计数结束时中断 71
5.3.2 方式1-可编程序的单拍负脉冲 72
5.3.3 方式2-频率发生器 72
5.3.4 方式3-方波发生器 73
5.3.6 方式5-硬件触发 74
5.3.5 方式4-软件触发 74
5.4 8253的编程 75
5.5 8253的应用举例 75
5.6 DMA控制器Intel 8237 77
5.6.1 DMA概述 77
5.6.2 DMA控制器芯片Intel 8237的性能概述 78
5.6.3 8237的内部组成与结构 78
5.6.4 8237的工作周期 80
5.6.5 8237的外部结构 80
5.6.6 8237的工作方式 82
5.6.7 8237的DMA传输类型 82
5.6.8 8237各个通道的优先级及传输速率 83
5.7 DMA控制器8237 83
5.7.1 8237的内部寄存器组 83
5.7.2 8237的编程及应用 87
思考与练习 92
本章小结 92
第6章 总线 94
本章学习目标 94
6.1 概述 94
6.2 总线类型 95
6.3 总线结构 97
6.3.1 ISA总线结构 97
6.3.2 MCA总线结构 97
6.3.3 EISA总线 97
6.3.4 VESA总线 98
6.3.5 PCI总线 98
6.3.6 USB总线 99
6.3.7 AGP总线 99
6.3.8 PCI-x总线 99
6.4 微机总线技术性能指标及功能 100
6.4.1 总线技术性能指标 100
6.3.9 3 GIO 100
6.4.2 微机总线主要功能 101
本章小结 101
思考与练习 102
第7章 PCI总线 103
本章学习目标 103
7.1 PCI总线的原理时序和仲裁分析 103
7.1.1 PCI总线结构和性能 103
7.1.2 总线操作周期 104
7.1.3 PCI总线仲裁 109
7.2 PCI总线技术 110
7.2.1 PCI总线与处理器的关系 110
7.2.2 PCI总线仲裁控制方式 110
7.2.3 PCI总线的时延 110
7.2.4 排他性访问 111
7.2.5 PCI总线的容错性 111
7.3.1 总线信号及命令描述 112
7.2.6 支持快速存取的PCI总线性能 112
7.3 PCI总线的传输协议概述 112
7.3.2 总线传输协议 114
本章小结 117
思考与练习 117
第8章 串行通信总线标准及接口技术 118
本章学习目标 118
8.1 串行通信概述 118
8.1.1 串行通信方式 118
8.1.2 串行通信的传送方向 119
8.1.3 串行I/0实现 120
8.1.4 信号的调制与解调 120
8.2 EIA RS-232C接口 121
8.2.1 引脚规定 121
8.2.2 电气性能规定 121
8.2.4 RS-232C的典型应用 122
8.2.3 电平转换 122
8.3 可编程串行接口芯片8251A 123
8.3.1 基本性能 123
8.3.2 内部结构 123
8.4 8251A的引脚功能 125
8.4.1 与CPU的连接信号 125
8.4.2 与MODEN接口的信号线 126
8.5 8251A的编程 126
本章小结 128
思考与练习 129
第9章 USB通用串行总线及应用 130
本章学习目标 130
9.1 USB总线体系结构 130
9.1.1 起因 130
9.1.2 USB规范的目标 130
9.1.5 特色 131
9.1.4 使用的分类 131
9.1.3 USB的设计准则 131
9.1.6 体系结构 132
9.2 USB数据流模型 140
9.2.1 实现者的视图 140
9.2.2 总线拓扑 141
9.2.3 总线的物理拓扑结构 142
9.2.4 总线逻辑拓扑结构 143
9.2.5 客户软件层与应用层的关系 143
9.2.6 USB通信流 144
9.2.7 传送类型 146
9.2.8 控制传送 147
9.2.9 同步传送 148
9.2.10 中断传送 148
9.2.11 批传送 149
9.2.12 传送的总线访问 150
9.3.1 信号的发送 153
9.3 USB的电气特性 153
9.3.2 电压分布 154
9.3.3 设备的动态加载与卸载 154
9.4 协议层 155
9.4.1 位定序 155
9.4.2 同步字段 155
9.4.3 包字段格式 155
9.4.4 包格式 158
9.4.5 错误检测和恢复 161
9.5 USB设备架构 163
9.5.1 USB设备状态 163
9.5.2 通用USB设备操作(Generic USB Device Operations) 166
9.5.3 USB设备请求 168
9.5.4 描述表 170
9.6.1 USB主机概况 171
9.6 USB主机:硬件与软件 171
9.5.5 设备类定义 171
9.6.2 主机控制器功能 174
9.6.3 软件功能概论 175
9.6.4 主机控制器驱动器 178
9.6.5 USBD 178
本章小结 185
思考与练习 186
第10章 Windows设备驱动程序 187
本章学习目标 187
10.1 Windows操作系统内核结构 187
10.1.1 虚拟机的含义 188
10.1.2 VxD与操作系统内核 195
10.1.3 Windows 98系统内存结构 196
10.2 虚拟设备驱动程序基础知识 197
10.2.2 VxD的数据结构 198
10.2.1 VxD的文件结构 198
10.2.3 VxD的消息处理 200
10.2.4 VxD的运行机制 206
10.3 开发工具剖析 211
10.3.1 系统环境的设置 212
10.3.2 VToolsD的工具程序 214
10.3.3 实例开发 219
10.4.1 框架类 224
10.4 VToolsD类库剖析 224
10.4.2 事件处理类 228
10.5 VxD的调试技术 244
10.5.1 SOFTICE的安装与设置 244
10.5.2 SOFTICE调试技术 249
10.5.3 DBGVIEW调试工具 252
本章小结 252
思考与练习 253
11.1.1 S5933的内部结构 254
11.1 S5933控制芯片的功能 254
第11章 基于PCI接口的设备驱动程序开发 254
本章学习目标 254
11.1.2 S5933引脚图 255
11.1.3 三种数据传输方式的特点 255
11.2 S5933的配置和初始化 256
11.2.1 S5933的配置空间 257
11.2.2 S5933的初始化 259
11.3 S5933的操作寄存器 260
11.4 S5933的邮箱操作 260
11.4.1 邮箱空/满状态 261
11.4.2 邮箱中断 262
11.5 S5933的DMA操作 263
11.5.1 S5933的DMA传输配置 264
11.5.2 PCI发起的DMA传输配置 266
本章小结 267
11.7 PCI设备驱动程序VxD的设计 267
11.6 PCI设备的INF文件 267
思考与练习 268
第12章 USB产品开发和驱动程序设计 269
本章学习目标 269
12.1 Windows世界中的USB设备 269
12.1.1 Windows 98中的USB设备 269
12.1.2 Windows 98环境下的IEEE 1394设备 270
12.2 USB硬件产品开发 270
12.3 USB设备驱动程序设计 275
12.3.1 Windows USB驱动程序接口 277
12.3.2 USBDI的IOCTL 280
12.3.3 USBDI结构定义 280
12.4 USB的定义 283
本章小结 284