第8章 模拟量的输入输出和基本接口技术
8-1.简述行列式键盘矩阵的读入方法。
8-2.简述用反转法实现键的识别的基本方法。(将题目中的键改为闭合键。)
8-3.LED数码管显示器共阴极和共阳极的接法主要区别是什么? 8-4.A/D和D/A转换在微机应用中分别起什么作用?
8-5.D/A转换器和微机接口中的关键问题是什么?对不同的D/A芯片应采用何种方法连接? 8-6.什么叫D/A转换器的分辨率?
8-7.若一个D/A转换器的满量程(对应于数字量255)为10V。若是输出信号不希望从0增长到最大,而是有一个下限2.0V,增长到上限8.0V。分别确定上下限所对应的数。
8-8.DAC与8位总线的微机接口相连接时,如果采用带两级缓冲器的DAC芯片,为什么有时要用三条输出指令才能完成10位或12位的数据转换?
8-9.已知某DAC的输入为12位二进制数,满刻度输出电压Vom=10V,试求最小分辨率电压VLSB和分辨率。
8-10.已知某DAC的最小分辨电压VLSB=5mV,满刻度输出电压Vom=10V,试求该电路输入二进制数字量的位数n应是多少? 8-11.A/D转换器和微机接口中的关键问题有哪些?
8-12.A/D转换器为什么要进行采样?采样频率应根据什么选定? 8-13.若ADC输入模拟电压信号的最高频率位20KHz,取样频率的下限是多少?完成一次A/D转换时间的上限是多少?
8-14.双积分式ADC电路中的计数器是十进制的,最大计数容量N=(1000)10,时钟脉冲频率为5KHz,完成一次转换最长需要多少时间? 部分答案:
8-1.答:将行线接输出口,列线接输入口,采用行扫描法,先将某一行输出为低电平,其它行输出为高电平,用输入口来查询列线上的电平,逐次读入列值,如果行线上的值为0时,列线上的值也为0,则表明有键按下。否则,接着读入下一列,直到找到该行有按下的键为止。如该行没有找到有键按下,就按此方法逐行找下去,直到扫描完全部的行和列。
8-2.答:用反转法识别闭合键,需要用可编程的并行接口。行线和列线分别接在PA和PB 2个并行口上,首先让行线上的PA口工作在输出方式,列线上的PB口工作在输入方式,通过编程使PA口都输出低电平,然后读取PB口的列线值,如果某一列线上的值为0,则判定改列有某一键按下。为了确定是哪一行要对PA和PB进行反转,即对PA口重新进行初始化工作在输入方式,列线上的PB口工作在输出方式,并将刚读取的列线值从列线所接的PB口输出,再读取行线所接的PA口,取得行线上的输入值,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可读得一对唯一的行值和列值。根据这一对行值和列值就可判断是哪一行哪一列的键被按下。
8-3.答:LED数码管显示器共阴极的接法是发光二极管的阴极接地,当数码管的笔划发光二极管的阳极为高电平时,该笔划被点亮。共阳极的接法是发光二极管的阳极接高电平,当数码管的笔划发光二极管的阴极为低电平时,该笔划被点亮。总之,主要区别在于LED数码管的接法和驱动笔划的数据电平的不同。
8-4.答:在微机应用中A/D转换器完成输入模拟量到数字量的转换,供微机采集数据。D/A转换器完成微机输出数字量到模拟量的转换,实现微机控制。
8-5.答:D/A转换器和微机接口时主要注意两点:第一要了解所选用的D/A转换器本身是否带有数据锁存器,如果芯片内部带有锁存器可以直接和CPU的数据总线相连接;如果芯片内部不带有锁
存器,在接口电路中需要通过数据锁存器来连接CPU的数据总线
和D/A转换器的数据线。第二是要注意D/A转换器的位数和所要连接的微机数据总线的位数是否一致。以便决定在需要加数据锁存器时,加几级锁存器,如果CPU的数据总线是8位,使用的是大于8位的D/A转换器,通常采用两级缓冲结构和CPU数据总线相连。
8-6.答:D/A转换器的分辨率指它所能分辨的最小输出电压与最大输出电压的比值。通常用D/A转换器输入数字量的位数来表示。 8-7.答:因为满量程为10V,则每一步的电压变化量为:10V/256步 = 0.039V/步于是,下限是:2.0V/(0.039V/步)= 51.3步,取51,即33H。上限是:8.0V/(0.039V/步)= 205.1步,取205,即CDH。
8-8.答:因为在使用内部不带数据寄存器的DAC时,常常需要在DAC前面增加数据缓冲器,用来锁存CPU通过数据总线发出的数字。如果总线为8位,而DAC超过8位(例如10位或12位)时,CPU必须分2次才能把控制数字送入数据缓冲器,例如先送数据的低8位,然后送剩下的高位,因此需要执行2条输出指令。另外,为了避免DAC在得到局部输入时,其输出端输出并不是最后结果的模拟量,通常采用2级数据缓存结构,相应地CPU也需要再增加执行一次输出指令,使在第一级缓冲器中锁存的数据经第二级缓冲器后能一次加到DAC输入端。第三条输出指令仅仅是使第二级缓冲器得到一个选通信号。
8-9.答:12位D/A的分辨率=1/(212-1)= 1/4095 = 0.0244% 最小分辨率电压VLSB= [(1/(212-1)) × Vom = 0.00244V 8-10.答:n=11
8-11.答:A/D转换器和微机接口时的关键问题主要有6个。 ① A/D转换器输出和CPU的接口方式,主要有2种连接方式:一种是A/D芯片输出端直接和系统总线相连;另一种是A/D芯片输出端通过接口电路和总线相连。
② A/D转换器的分辨率和微机数据总线的位数匹配:当10位以上的A/D转换器和8位数据总线连接时,由于数据要按字节分时读出,因此从8位数据线上需分2次来读取转换的数据。设计接口时,数据寄存器要增加读写控制逻辑。
③ A/D转换的时间和CPU的时间配合问题:要注意A/D转换的启动方式,通常启动信号分为电平控制启动和脉冲启动两种。其中又有不同的极性要求。还要注意转换后信号的处理。
④A/D的控制和状态信号。因为A/D转换器的控制和状态信号的类型与特征对接口有很大影响,在设计时必须要注意分析控制和状态信号的使用条件。
⑤ 输入模拟电压的连接,特别是多路模拟电压的切换控制。 ⑥ 接地问题,为了减轻数字信号脉冲对模拟信号的干扰,数字地和模拟地要正确连接。
8-12.答:因为被转换的模拟信号在时间上是连续的,瞬时值有无限多个,转换过程需要一定的时间,不可能把每一个瞬时值都一一转换成模拟量。因此对连续变化的模拟量要按一定的规律和周期取出其中的某一瞬时值,这个过程就是将模拟量离散化,称之为采样,采样以后用若干个离散的瞬时值来表示原来的模拟量。通常为了使A/D输出信号经过D/A还原后能更好地反映输入模拟信号的变化,根据采样定理,采样频率一般要高于或至少等于输入信号中最高频率分量的2倍,就可以使被采样的信号能够代表原始的输入信号。在输入信号频率不是太高的实际应用中,一般取采样频率为最高频率的4~8倍。
8-13.答:取样频率的下限为:20kHZ×2=40 kHZ 完成一次转换的最长时间是:1/40kHZ=0.025ms
8-14.答:由于双积分式A/D的工作模式是固定时间正向积分、固定斜率反向积分。正向积分与反向积分的切换是由正向积分开始时计数器从0计数到计满后产生的溢出信号控制,较高的反极性的基
准电压进入积分器反向积分,计数器再次从0开始计数,直至反向积分至0时停止计数,此时的计数值就是对应的输入量的变换数字量。因此完成一次转换的最长时间不大于2倍正向积分时间(即计数器从0到计满时间的2倍)。 在该题为:1/5kHZ×1000×2=400ms
第9章 扩充知识--微计算机总线
9-1.采用一种总线标准进行微型计算机的硬件结构设计具有什么优点?
9-2.一个总线的技术规范应包括哪些部分? 9-3.总线的定义是什么?简述总线的发展过程。
9-4.微型计算机系统总线由哪三部分组成?它们各自的功能是什么?
9-5.扩充总线的作用是什么?它与系统总线的关系是什么? 9-6.为什么要引入局部总线?它的特点是什么? 9-7.总线定时协议分哪几种?各有什么特点? 9-8.总线上数据传输分哪几种类型?各有什么特点?
9-9.总线的指标有哪几项,它工作时一般由哪几个过程组成? 9-10.为什么要进行总线仲裁?
9-11.为什么集中式总线仲裁方式优于菊花链式? 9-12.ISA总线信号分为多少组,它的主要功能是什么? 9-13.ISA 16位总线是在ISA 8位总线基础上扩充了哪些信号而形成的?
9-14.PCI总线访问时,怎样的信号组合启动一个总线的访问周期,又怎样结束一个访问周期? 部分答案:
9-1.答:为适应用户不断变化的要求,微机系统设计必须采用模块化设计,不同的模块组合形成一定的功能。模块之间的连接关系采用标准的总线结构可使不同功能的模块便于互连,兼容性好、生命周期长。模块采用标准化总线结构设计可使模块的生产供应规模化、多元化、价格低、有利于用户。 9-2.答:总线技术规范应包括:
(1)机械结构规范:模块尺寸、总线插头插座形式与结点数以及模块与插头插座的机械定位。
(2)功能规范:总线信号名称、功能以及相互作用的协议。 (3)电气规范:总线中每个信号工作时的有效电平、动态转换时间、负载能力以及电气性能的额定值与最大值。
9-3.答:总线就是两个以上模块(或子系统)间传送信息的公共通道,通过它模块间可进行数据、地址码及命令的传输。最早的标准化总线是S-100总线(1975),80年代初IBM PC/XT个人计算机采用8位ISA总线,之后又在IBM PC/AT机上推出16位ISA总线。随着外设接口对总线性能要求的不断提高,出现了EISA总线及PCI总线。PCI总线目前已被个人计算机广泛采用,成为新的工业标准。 9-4.答:由地址总线、数据总线和控制总线三部分组成。地址总线用于指出数据的来源或去向;数据总线提供了模块间数据传输的路径;控制总线用来传送各种控制信号以便控制数据、地址总线的操作及使用。
9-5.答:扩充总线是将许多I/O接口连接在一起,集中起来经桥接电路与系统总线相连,减轻系统总线的负载,提高系统性能。系统总线与扩充总线的之间有专门的连接电路,它们各自工作在不同的频宽下,可适应不同工作速度的模块的需要。
9-6.答:早期的扩充总线(ISA总线)工作频率低,不能满足象图形、视频、网络接口等高数据传输率I/O设备的要求。在处理器的系统
总线与传统扩充总线之间插入一个总线层次,它的频率高于传统扩充总线,专门连接高速I/O设备,满足它们对传输速率的要求。这一层次的总线即局部总线。局部总线与系统总线经桥接器相连,局部总线与传统扩充总线也经桥接器相连,三个层次的总线相互隔开,各自工作在不同的频宽上,适应不同模块的需要。
9-7.答:总线有三种定时方法。(1)同步定时,信息传输由公共时钟控制,总线信号中包括一个时钟信号,各模块上所有的操作都在时钟开始时启动。(2)异步定时,信息的传输的操作均由源或目的的特定信号跳变所确定,总线上每一个操作的发生均取决于前一个操作的发生,总线操作过程不用公共时钟来同步。(3)半同步定时,总线上各操作之间的时间间隔可以变化,但这个变化只允许为公共时钟周期的整数倍,信号的出现,采样和结束以公共时钟为基础。 9-8.答:分单周期方式和突发方式两种。在单周期方式中,每个总线周期只传送一个数据。在突发方式下,占用一次总线要进行多个数据的传输,源模块发出首地址去访问目的模块的数据1,以后的数据是在首地址的基础上按一定的规则去寻址目地模块。 9-9.答:总线的指标有(1)总线宽度,一次总线操作可以传输的数据位数;(2)总线工作频率,总线上基本定时时钟的频率,它代表总线操作的最高频率;(3)单个数据传输所用时钟周期数。总线上信息传输过程可分解为:(1)请求总线;(2)总线裁决;(3)寻址;(4)数据传送;(5)错误检查。
9-10.答:总线结构的特点是,一个传送信息的公共通路总线为多个模块共同使用。但在某一时刻,只能允许一个主模块使用总线进行数据传输。当有多个主模块要占用总线进行数据传输时,要有一个总线的请求及转交的过程,首先按一定规则进行总线使用权的仲裁,把总线的使用权交给优先级最高的请求者。
9-11.答:菊花链式为串行总线仲裁逻辑,离处理器较远的主模块因前级主模块的占用而在较长时间内得不到响应,优先权的级别与逻辑上级连位置有关,因此灵活性差,缺少公平性。集中式为并行总线仲裁逻辑,请求与响应信号都是独立与仲裁逻辑相连,优先级的处理可采用多种方式,不至因为某个请求设备的故障而造成整个仲裁逻辑的瘫痪,灵活性好。
9-12.答:分为总线基本信号、总线访问信号及总线控制信号。总线基本信号主要用来提供基本定时时钟、系统复位、电源和地信号。总线访问信号主要用来提供对总线目标模块访问的地址、数据、访问应答控制信号。总线控制信号的主要功能是提供中断、DMA处理时的请求及响应信号以及扩展模块主控状态的确定信号。 9-13.答:ISA 16位总线在ISA 8位总线基础上把数据线由8位扩充到16位,把地址线由20位扩充到24位;还扩充了中断请求信号、DMA请求与响应信号;还增加了16位数据访问的控制信号等。 9-14.答:PCI总线上的主设备取得总线控制权以后,在CLK-1期间发出FRAME#有效信号、要访问的从设备的地址信号及操作类型的命令字,从而启动了一个总线访问周期。结束一个访问周期是通过使FRAME#信号变为无效且保持主设备准备就绪信号IRDY#为有效,完成最后的数据传送后结束这个总线操作。此外用STOP#信号从设备可以主动仃止数据访问周期。
第10章 扩充知识---先进微处理器介绍
10-1.提高微处理器性能的途径有哪些?
10-2.提高微处理器内部执行的并行性有哪些措施? 10-3.奔腾微处理器采用什么技术来提高指令执行的效率? 10-4.高能奔腾微处理器与第一代奔腾微处理器相比,采取了哪几种主要的技术措施来进一步提高性能? 部分答案:
10-1.答:(1)提高芯片内部时钟的工作频率;
(2)增加芯片数据总线的宽度,提高微处理器与片外传送数据或指令代码的速率,同时片内的数据路径也必然加宽,内部的数据处理速度会加快。
(3)采用能够并行执行指令的微体系结构及其它相关技术。 10-2.答:(1)采用超级流水线技术。把指令执行的过程分成很多级,各级所对应的操作可并行进行,即多条指令在同一时刻完成不同级的操作,实现了指令的并行执行。流水线级分的越多,可并行执行的指令条数也越多。
(2)采用超标量技术。在芯片内部设置多重功能相同或接近的功能部件,同一时刻可向多个功能部件分派指令去流水执行,实现了指令执行的并行化。
10-3.答:第一代奔腾微处理器采用了超标量结构来提高指令执行的效率。它内部设有两条流水线,一个时钟周期内可发射两条整数指令给两条流水线去执行,另外还有一个浮点部件可执行浮点指令。这种多重功能部件的结构就是一种超标量的结构。
10-4.答:(1)采用了RISC的设计概念。高能奔腾把X86指令转换成多个较小且易执行的指令,这些转换后的指令是三操作数格式,内部设置大量物理寄存器,这是RISC结构的特点,可以提高指令执行的效率。
(2)采用超级流水线与超标量技术,处理器具有较高的吞吐率,处理器工作频率尽可能提高,增加了指令执行的并行度,性能有明显的改善。
(3)采用动态执行技术,处理器对指令的执行进行调度,打破原有指令顺序,对以后指令执行的顺序进行预测,形成最佳执行顺序来达到最高的指令执行并行度,避免因分支或数据相关等因素对指令执行的并行性所产生的影响。