21世纪高等学校计算机规划教材

微型计算机接口技术

全国最畅销的《微型计算机接口技术》作者刘乐善教授的最新力作。内容在保持传统接口技术基本内容的基础上,增加了无线通信接口等新技术。
分享 推荐 2 收藏 4 阅读 1.7K
刘乐善 , 卢 , 萍 , 陈进才 , 李 , 畅 (编著) 刘乐善 , 陈进才 (主编) 周 可 , 周 可 (主审) 978-7-115-40028-4

关于本书的内容有任何问题,请联系 张斌


1. 在保持传统接口技术基本内容的基础上,增加了无线通信接口等新技术
2. 提出接口技术分层次概念,把接口技术划分为上层设备接口与底层总线接口两个层次
3. 采用接口芯片与接口模块的编程模型方法,有力化解学习硬件的难度
¥42.00 ¥35.70 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书根据当前微机技术的发展与应用发生深刻变化的形势,对接口技术的内容进行了调整与更新,在保持传统接口技术基本内容的基础上,增加了无线通信接口等新技术。对接口电路的配置方式明确提出分为外置式接口与内置式接口两种布局,这两种布局各有优势,对台式微机与嵌入式微机是各得其所。

前言

目前对接口技术课程内容的讨论很热烈,主要集中在两个方面:一是讲台式微机系统还是讲嵌入式微机系统的接口技术;二是讲单个分立式的接口芯片还是讲多个接口并与处理器集成在一起的接口模块。主张后者观点的主要理由是,实际应用中(指在计算机的控制应用领域中)后者比前者多,尤其是在当今“互联网+”、物联网以及设备智能化应用中,ARM、MCU有着明显的优势。
这一话题的讨论,涉及两个层面的问题,一是接口技术所依附的微处理器,是选基于X86处理器的台式微机,还是选基于ARM处理器的嵌入式微机;二是微机接口电路本身及其布局,即接口电路的配置方式是采用分立式接口芯片并放在CPU外部,构成外置式接口电路,还是采用接口模块的形式与CPU集成在一块,形成内置式接口电路。
本书以讲台式微机系统的外置式接口为主。为什么要这样安排?首先,台式微机通用性强,体系结构完整,作为教材具有典型性,而嵌入式微机多为量身定制,典型性、代表性不够,作为教材不好选型。其次,台式微机与嵌入式微机配置的接口所起的作用与基本工作原理相同,只是接口电路的布局与组织结构不尽相同,各有所长。一般来说,前者接口电路的功能完整、全面,具有通用性,因而结构复杂,常常做成单独分立的接口芯片,布局在CPU外部,通过总线与CPU进行连接,形成外置式接口电路。后者接口电路功能单一,针对性强,因而结构简单,往往以接口模块形式与CPU放在一起,形成内置式接口电路,无需通过总线在外部进行连接,简化了芯片之间的连线,系统整体结构紧凑。所以,从系统结构上来看,台式微机采用外置式接口,嵌入式微机采用内置式接口,可以说是各得其所。但从教学的观点来看,采用分立式接口芯片,构成外置式接口电路,然后通过系统总线与接口连接,使接口与系统的边界清晰,而内置式接口模糊了接口与系统总线的边界,不利于对接口电路工作原理的理解。为此,在本书中,讲接口设计时,增加了接口电路设计解决方案的分析,以加强对接口电路配置方式问题的考虑。
对在教材中要不要讲那么多接口芯片,也有不同的看法,对此,还是来简单地回顾接口芯片的来历与作用。在早期的计算机系统中并没有设置独立的接口电路,对外设的控制与管理完全由CPU直接操作。随着微机技术的发展,其应用越来越广泛,外设门类、品种大大增加,且性能各异,操作复杂,CPU再也无力直接操作如此庞杂的外部设备,需要在外部设置支持电路来协助CPU处理外设的问题,从而导致了接口的出现,有了接口也就有了实现接口功能的接口芯片,所以讲接口技术就回避不了接口芯片。问题是如何讲,为此本书提出接口芯片的编程模型方法,其基本思路是,分析一个接口芯片,不论它是简单还是复杂,主要注重其内部寄存器编程特性——寄存器格式、寄存器的端口地址以及装入寄存器的信息,而不深究芯片的逻辑结构,这样既降低了学习硬件的难度,又不失对芯片的应用。
从接口技术应用角度来看,做原创性开发与做二次应用设计所涉及的接口技术问题是不同的。为此,本书提出接口分层次的概念,把接口分为两个层次:上层设备接口和底层总线接口——总线桥。上层设备接口是面向设备的,因此也称设备接口,包括用户总线与设备之间的接口和用户应用程序。底层总线接口是面向总线的,也称总线接口,包括用户总线与PCI总线之间的总线桥和设备驱动程序,两者形成一个完整的接口。一般用户在已有的平台上进行接口应用设计,只做上层接口(因为底层接口已经由平台供应商给做好了),若要开发新设备的接口,则还需要进行总线桥和设备驱动程序设计。显然,开发底层接口的难度与复杂度比上层接口要高得多,由于篇幅原因,本书不展开讨论,可参见文献[7]~[11],[23],[24]。
按接口技术的层次,本书只讲了上层接口,且以接口技术基本原理与接口设计方法为主,因为读者若真正掌握了这些接口技术基本知识,能举一反三,在实际应用中,遇到更复杂的接口问题就会知道如何下手了。在校学生作为初学者,学习一门课程时,还是应从基本的知识开始,逐步深入为宜。例如第5章例5.1和例5.2中断技术举例时,只举了用按键申请中断的例子,设备虽然简单,但可以从中领会到可屏蔽中断的全过程以及学习编写中断服务程序的方法,突出了中断技术知识点的核心。然后到第9章A/D、D/A转换器接口中,采用中断方式的数据采集的例9.2举例时又把中断技术的应用提升了一些,进一步加深对中断技术的认识。这种以基本原理与方法为牵引,循序渐进、逐步深入的安排,可能更易被读者接受。
微机接口技术是一门实践性很强的课程,除了课堂理论学习之外,还需要强有力的实践性环节与之配合。对于接口技术课程,如果只有理论知识学习,而无实验实践,其学习效果与收获会大打折扣。为此,我们编写了实验教材,研制并推出了“微机接口与汇编语言实验平台”,适于配合课堂教学实验和课程设计、毕业设计、实习和实际动手能力的实训等多种实践环节。实验系统和本书的内容紧密配合,相互补充,书中例举的接口实例,可以通过实验平台进行实际操作和实验,真正做到课堂原理讲授和实践环节一脉相承。
本书共13章,其中第12章无线通信接口和第13章基于FPGA的接口电路设计是新增加的教学内容,其余各章均在原有教学内容的基础上进行了大幅度修改和补充,尤其是在本书编写的思路和内容的组织方面有新的提升,以期为读者提供一本(对读者)可读性好、(对教师)可操作性强、内容基本、方法具体、应用可鉴的微机接口技术教材。
本书由刘乐善、陈进才主编,周可主审。其中,卢萍、陈进才编写第13章,李畅编写了第11章和第12章,其余章节由刘乐善编写。全书由刘乐善统稿。本书的出版得到了华中科技大学计算机科学与技术学院大力支持,在此表示衷心的谢意。同时要特别感谢参考文献的作者,他们提供了丰富多彩的技术文献。
由于计算机技术发展神速,加之编者水平有限,书中难免存在不足之处与错误,诚挚希望读者赐正,不胜感激。

目录

目 录

第 1章 概述 1
1.1 接口的基本任务与接口技术的
发展概况 1
1.1.1 接口的基本任务 1
1.1.2 接口技术的发展概况 1
1.2 接口的分层次概念 3
1.2.1 硬件分层 3
1.2.2 软件分层 3
1.2.3 接口技术内容的划分 3
1.3 设备接口 4
1.3.1 设备接口的功能 4
1.3.2 设备接口的组成 5
1.3.3 设备接口与CPU交换数据的方式 6
1.3.4 分析与设计设备接口电路的
基本方法 6
1.4 接口电路设计的解决方案 8
1.4.1 接口电路的配置方式 8
1.4.2 接口电路芯片的选择 8
习题1 9
第 2章 总线技术 10
2.1 总线的作用与组成 10
2.2.1 总线的作用 10
2.1.2 总线的组成 10
2.2 总线的性能参数 11
2.3 总线传输的操作过程 12
2.4 总线标准及总线插槽 12
2.5 现代微机总线的新技术 13
2.6 ISA总线 16
2.6.1 ISA总线在多总线结构中的
作用 16
2.6.2 ISA总线的信号线定义及插槽 16
2.6.3 ISA总线的特点及应用 17
2.7 PCI总线 18
2.7.1 PCI总线的特点 18
2.7.2 PCI总线的信号线 19
2.7.3 PCI总线的三种地址空间 21
2.7.4 PCI设备 22
2.7.5 PCI设备配置空间 22
2.7.6 PCI配置空间的访问 28
习题2 31
第3章 I/O端口地址译码技术 33
3.1 I/O地址空间 33
3.2 I/O端口 33
3.2.1 什么是端口 33
3.2.2 端口的共用技术 34
3.2.3 I/O端口地址编址方式 34
3.2.4 I/O端口访问 35
3.3 I/O端口地址分配及选用的原则 36
3.3.1 早期微机I/O地址的分配 36
3.3.2 现代微机I/O地址的分配 37
3.3.3 I/O端口地址选用的原则 37
3.4 I/O端口地址译码 38
3.4.1 I/O端口地址译码的方法 38
3.4.2 I/O端口地址译码电路的输入与
输出信号线 38
3.4.3 的物理含义 39
3.5 设计I/O端口地址译码电路应注意的
问题 39
3.6 单个端口地址译码电路的设计 39
3.7 多个端口的I/O地址译码电路的设计 40
3.8 开关式I/O端口地址译码电路的设计 42
3.9 采用GAL的I/O端口地址译码电路
设计 43
习题3 45
第4章 定时/计数技术 46
4.1 定时与计数 46
4.2 微机系统中的定时系统 46
4.3 外部定时方法及硬件定时器 47
4.3.1 定时方法 47
4.3.2 定时器 48
4.4 实现外部定时/计数的解决方案 48
4.4.1 定时/计数器82C54A的
外部特性 48
4.4.2 定时/计数器82C54A的
工作方式 49
4.4.3 定时/计数器82C54A的
编程模型 53
4.5 外部定时/计数器的计数初值计算及
装入 56
4.5.1 计数初值的计算 56
4.5.2 计数初值的装入 56
4.5.3 计数初值的范围 57
4.6 外部定时/计数器的初始化 57
4.7 定时/计数器的应用 58
4.7.1 系统配置的定时/计数器应用 58
4.7.2 用户扩展的定时/计数器应用 59
4.8 定时/计数器的应用设计举例 59
4.8.1 定时/计数器用作测量脉冲宽度 59
4.8.2 定时/计数器用作定时 61
4.8.3 定时/计数器用作分频 61
4.8.4 定时/计数器同时用作计数与定时 62
4.8.5 定时/计数器用作发声器 64
习题4 67
第5章 中断技术 69
5.1 中断 69
5.2 中断的类型 69
5.2.1 外部中断 70
5.2.2 内部中断 70
5.3 中断号 71
5.3.1 中断号与中断号的获取 71
5.3.2 中断响应周期 71
5.3.3 中断号的分配 72
5.4 中断触发方式与中断排队方式 73
5.4.1 中断触发方式 73
5.4.2 中断排队方式 74
5.5 中断向量与中断向量表 74
5.5.1 中断向量与中断向量表 74
5.5.2 中断向量表的填写 75
5.6 中断处理过程 76
5.6.1 可屏蔽中断的处理过程 76
5.6.2 不可屏蔽中断和软中断的
处理过程 76
5.7 处理外部中断的解决方案 76
5.7.1 中断控制器82C59A的
外部特性 77
5.7.2 中断控制器82C59A的
工作方式 77
5.7.3 中断控制器82C59A的
编程模型 79
5.7.4 中断控制器对CPU处理中断的
支持作用 83
5.8 可屏蔽中断的体系结构及初始化 84
5.8.1 可屏蔽中断的体系结构 84
5.8.2 可屏蔽中断的初始化设置 85
5.9 系统中断资源的应用 87
5.9.1 修改中断向量 87
5.9.2 编写中断服务程序 89
5.10 中断服务程序设计 89
5.10.1 主中断控制器的中断服务程序
 设计 89
5.10.2 从中断控制器的中断服务程序
 设计 92
习题5 95
第6章 DMA传输技术 96
6.1 DMA传输方式 96
6.1.1 DMA传输的特点 96
6.1.2 DMA传输的过程 96
6.2 DMA操作 97
6.2.1 DMA操作类型 97
6.2.2 DMA操作方式 98
6.3 DMA控制器与CPU之间的
总线控制权转移 98
6.3.1 DMA控制器的两种工作状态 98
6.3.2 DMA控制器获得总线控制权和
进行DMA传输的过程 99
6.4 DMA传输的解决方案 100
6.4.1 DMA控制器82C37A的外部
特性 100
6.4.2 DMA控制器82C37A的编程
模型 101
6.5 DMA体系结构及初始化 106
6.5.1 DMA体系结构的组成 106
6.5.2 DMA传输的初始化设置 108
6.6 系统DMA资源的应用 108
6.6.1 DMA传输参数设置的内容 108
6.6.2 DMA传输参数设置的程序 109
习题6 110
第7章 并行接口 111
7.1 并行接口的特点 111
7.2 组成并行接口电路的元器件 111
7.3 并行接口电路的解决方案 112
7.3.1 通用并行接口82C55 A的
外部特性 112
7.3.2 通用并行接口82C55 A的
工作方式 113
7.3.3 通用并行接口82C55 A的
编程模型 114
7.4 步进电机控制接口设计 116
7.5 声-光报警器接口电路设计 120
习题7 124
第8章 串行通信接口 126
8.1 串行通信的基本概念 126
8.1.1 串行通信的基本特点 126
8.1.2 串行通信的工作制式 127
8.1.3 串行通信数据传输的基本方式 127
8.1.4 串行通信中的调制与解调 128
8.2 串行通信协议 128
8.2.1 串行通信中的传输速率控制 128
8.2.2 串行通信中的差错检测 130
8.2.3 串行通信中的数据格式 131
8.3 串行通信接口标准 134
8.3.1 RS-232C标准 135
8.3.2 RS-485标准 137
8.4 串行通信接口电路 139
8.4.1 串行通信接口电路的基本任务 139
8.4.2 串行通信接口电路的解决方案 140
8.5 RS-232C标准的串行通信接口
电路设计 141
8.5.1 设计要求 141
8.5.2 设计方案分析 141
8.5.3 电路与程序设计 145
8.6 RS-485标准的串行通信接口
电路设计 148
8.6.1 设计要求 148
8.6.2 设计方案分析 148
8.6.3 电路与程序设计 149
8.7 基于UART的串行通信接口电路 153
8.7.1 设计要求 153
8.7.2 设计方案分析 153
8.7.3 电路连接与程序设计 157
习题8 159
第9章 A/D与D/A转换器接口 161
9.1 模拟量接口的作用 161
9.2 A/D转换器 161
9.2.1 A/D转换器的主要技术指标 162
9.2.2 A/D转换器的外部特性 162
9.3 A/D转换器接口设计的任务与方法 163
9.3.1 A/D转换器与CPU的连接 163
9.3.2 A/D转换器与CPU之间的数据
交换方式 164
9.3.3 A/D转换器的数据在线处理 164
9.3.4 A/D转换器接口设计需考虑的
问题 164
9.4 查询方式的ADC接口电路设计 165
9.5 中断方式的ADC接口电路设计 167
9.6 DMA方式的ADC接口电路设计 172
9.7 D/A转换器 174
9.7.1 D/A转换器的主要技术指标 174
9.7.2 D/A转换器的外部特性 175
9.8 D/A转换器接口设计的任务与方法 175
9.8.1 D/A转换器与CPU的连接 175
9.8.2 D/A转换器与CPU之间的数据
交换方式 175
9.8.3 D/A转换器接口设计需考虑的
问题 176
9.9 锯齿波三角波发生器接口电路设计 176
习题9 180
第 10章 基本人机交互设备接口 184
10.1 人机交互设备 181
10.2 键盘 181
10.2.1 键盘的类型 181
10.2.2 线性键盘的工作原理 182
10.2.3 矩阵键盘工作的动态扫描技术 184
10.3 LED显示器 185
10.3.1 LED显示器的工作原理 185
10.3.2 LED显示器的字形码 185
10.3.3 LED显示器动态显示的扫描
 方式 186
10.4 键盘/LED接口电路解决方案 187
10.4.1 键盘/LED接口芯片82C79A的
 外部特性 187
10.4.2 键盘/LED接口芯片82C79A的
 编程模型 188
10.5 LED显示器接口电路设计 192
10.6 矩阵键盘接口电路设计 193
10.7 打印机接口 195
10.7.1 并行打印机接口标准 195
10.7.2 并行打印机接口电路设计 197
习题10 199
第 11章 USB设备接口 200
11.1 USB总线概述 200
11.1.1 USB技术的发展 200
11.1.2 USB标准的设计目标及使用
 特点 201
11.2 微机USB系统结构 202
11.2.1 USB系统的组成 202
11.2.2 USB通信模型及数据流模型 204
11.2.3 USB数据传输类型与传输
 方式 208
11.3 USB接口与信号定义 210
11.3.1 USB物理特性与电气特性 210
11.3.2 USB信号定义 211
11.3.3 USB数据编码与解码 212
11.4 USB设备接口设计基础知识 213
11.4.1 USB设备接口逻辑结构 214
11.4.2 USB设备状态及转换 215
11.4.3 USB设备的配置及描述符 216
11.4.4 USB设备的标准操作及请求 222
11.4.5 USB设备接口控制器 225
11.5 USB设备接口设计 228
11.5.1 USB设备接口设计方案 228
11.5.2 USB设备接口设计要求 228
11.5.3 实现步骤及关键例程设计 228
习题11 233
第 12章 无线通信接口 234
12.1 SPI串行设备接口与无线收发器
 芯片 234
12.1.1 SPI串行设备接口简介 234
12.1.2 SPI工作方式与原理 235
12.1.3 无线收发模块介绍 236
12.2 无线通信接口的设计 239
12.2.1 设计要求 239
12.2.2 硬件连接 239
12.2.3 软件程序流程 240
12.3 ZigBee网络简介 242
12.3.1 ZigBee的技术特点 243
12.3.2 ZigBee网络层次模型及协议栈
 简介 243
12.3.3 ZigBee网络中的设备 246
12.3.4 ZigBee无线通信开发解决方案的
 选择 246
习题12 248
第 13章 基于FPGA的接口电路
 设计 249
13.1 接口电路实现的技术趋势 249
13.2 FPGA设计基础 250
13.2.1 FPGA的工作原理 250
13.2.2 FPGA的设计流程 251
13.2.3 FPGA的开发工具 253
13.3 用Verilog HDL进行电路设计 253
13.3.1 HDL简介 254
13.3.2 VHDL和Verilog HDL的
 区别 254
13.3.3 基于HDL的电路设计方法 255
13.3.4 Verilog HDL的模块结构 255
13.3.5 Verilog HDL语言的描述方法 256
13.4 并行接口8255 A的FPGA设计 261
13.4.1 模块划分 261
13.4.2 顶层主模块设计 262
13.4.3 IOB模块和IOB1模块设计 263
13.4.4 8255 A内核模块设计 263
13.4.5 控制模块设计 265
13.4.6 C口输出及控制模块设计 268
13.4.7 A/B口输入/输出模块设计 270
13.4.8 多路数据选择模块设计 271
13.5 8255 A的功能仿真 271
习题13 272
参考文献 273

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

刘乐善,华中科技大学计算机学院教授。1962年清华大学研究生毕业,38年高校教龄。长期从事计算机应用领域科研与教学工作以及研究生培养,科研成果丰硕,获国家科技进步三等奖,国家教委科技进步一等奖。发表学术论文30余篇。从1993年开始,先后主编出版9本教材,其中国家级和部级规划教材四部,被全国50多所高校采用和诸多教材作者引用,深受广大读者的欢迎与同行专家的好评。《微型计算机接口技术及应用》多次获省部级优秀教材奖和全国高校出版社优秀畅销书一等奖,并作为湖北省微机接口技术课程精品课程的主教材,在全国具有较大影响,对计算机人才培养作了重要贡献。

推荐用户

同系列书

  • C++程序设计习题与实验指导

    石亮 祁云嵩

    本书是C++程序设计语言的参考书,章节和内容编排与《C++程序设计基础教程》配套,主要包括各章节知识点概要、习...

    ¥19.80
  • 网络规划与设计实用教程

    何利

    本书根据网络工程项目工作安排知识点,脉络清晰,理论知识系统。注重理论与实践的紧密结合,充分考虑了各类型、各层次...

    ¥49.80
  • 数据库原理及应用(SQL Server 2012)

    王丽艳

    全书分为三部分:第一部分为基础部分,介绍数据库的基本原理和SQL语句;第二部分为应用部分, 介绍了SQL程序设...

    ¥49.80
  • Visual Basic语言程序设计实验教程

    吴昊

    本书是《VB语言程序设计教程》配套的实验教材,书中详细的介绍了每个实验的实验目的、实验分析、实验设计、实验代码...

    ¥39.80
  • C++程序设计基础教程

    张晓如 华伟

    《C++程序设计基础教程》利用通俗易懂的语言以及大量浅显易懂的典型实例,循序渐进地介绍C++程序设计的基础知识...

    ¥46.00

相关图书

  • 数字电子技术基础实验指导与习题解析

    罗杰 秦臻 罗淑曼 编著

    本书是人民邮电出版社出版的《数字电子技术基础》(罗杰,秦臻 编著)的配套教材。全书分为硬件电路实验指导、仿真实...

    ¥59.80
  • 汇编语言程序设计(第3版)(微课版)

    刘慧婷

    本书系统地讲解了汇编语言程序设计的相关知识,全书共有11章,系统地论述了汇编语言基础知识,计算机基本原理,上机...

    ¥69.80
  • 新型传感技术与应用

    李成

    本书结合国际上传感技术及应用方面的发展趋势,梳理了新型传感技术的共性基础问题,包括传感器特性、传感器测量不确定...

    ¥59.80
  • 数字IC设计及EDA应用

    杜慧敏

    本书面向集成电路设计与集成系统、微电子科学与工程高年级本科生和相关专业低年级研究生以及有一定Verilog H...

    ¥89.80
  • 单片机原理及应用技术(基于Keil C与Proteus)

    赵全利

    本书全面、详细地讲授51系列及兼容单片机的体系结构、工作原理、功能部件和软硬件应用开发资源。在51单片机硬件编...

    ¥79.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部