8.3 习题解答
1.计时器在计算机中有哪些用途?
解
计时器在计算机中有如下用途:
①时间间隔发生器,产生周期时标信号,用于相关的各种用途;
②各种限时器,以用于“到时警告”或者“超时告警”;
③波特率发生器,以灵活决定串行传输速率;
④直流马达的速度控制(PWM输出);
⑤其他用途。
2.为精确测定事件发生的时间,计时器应具备什么功能?
解
计时器应具有“输入捕获”功能,以捕获当前时刻。
3.计时器的自动重装入功能有什么用途?
解
计时器的自动重装入功能用于定时间隔发生器和波特率发生器。
4.8253有哪几种工作方式?GATE信号在各种方式中的作用是什么?
解
8253有6种工作方式,分别是:
·方式0——计数结束中断(低电平输出,单次电路);
·方式1——硬件触发的单稳电路(计数过程输出低电平);
·方式2——分频器(波特率发生器);
·方式3——方波发生器;
·方式4——软件触发的选通信号发生器;
·方式5——硬件触发的选通信号发生器。
在方式0、2、3、4这4种方式中,GATE信号由高到低变化,其下降沿都会使其停止计数,GATE低电平都是禁止计数。在方式1和5中,因为是硬件触发方式,所以GATE信号的上升沿开始计数,之后该信号变化不影响计数。
5.利用8253作为波特率发生器(方式2),当CLK=1.193 MHz,波特因子为16时,要求产生4 800波特的传输率,计算8253的定时常数。
解 波特率是每秒传输的数据位数。在实际传输中,发送1位或接收1位数据,是在时钟脉冲作用下进行移位实现的。发送时用发送时钟,从发送器移出;接收时用接收时钟,向接收器移入。每传输1位所需的时钟个数叫做波特率因子。所以
式中TxC为输出时钟,Baud为波特率,F为波特率因子。由于8253的输出时钟作为串行通信的发/收时钟,所以
而
其中CLK为计数器输入时钟,TC为定时常数。故有
6.并行传输接口的特点是什么?它有哪几类?各有哪些用途?
解
并行传输接口的特点是:接口电路简单,适于近距离传输。
并行传输接口分为简单接口〔包括位控(bit)接口〕和选通接口两种。
简单接口常用作命令口和状态口;而选通接口常用作数据传输接口。
7.简单接口和选通接口的主要区别是什么?
解
简单接口是“无条件传送”接口,而选通接口是“条件传送”接口。
8.什么是位控口?它有什么好处?
解
位控口是指同一接口内的每一条线既可作为输出线,也可作为输入线。它的好处是每条线的作用完全由用户依需要决定。
9.说明8255A有哪几种工作方式,各有何特点?
解
8255A有3种工作方式。
(1)方式0,基本输入/输出方式
特点:不用联络信号,或不使用固定的联络信号,可以采用无条件或查询方式传送数据,不能采用中断方式传送数据;输出有锁存功能,输入有三态缓冲而无锁存功能;A、B、C 3个口都可以工作于此方式。
(2)方式1,选通输入/输出方式(或称为应答方式)
特点:需设置专用的联络信号或应答信号;可采用查询传送或中断传送;输入/输出都有锁存功能;借用C口的6条信号线作为A口和B口数据传送的联络信号线;A口和B口都可工作于该方式。
(3)方式2,双向选通输入/输出方式
特点:借用C口的5条信号线作为数据传送的联络信号线;只有A口有此方式,B口则没有此方式。
10.并行接口8255A的B口为什么不能工作于方式2?当A口工作于双向方式时,B口能否工作于方式1?
解
因为C口只有8条信号线,当A口工作于双向方式时,要用5条C口的线作为联络信号线,剩下3条线不能满足B口工作于双向方式。
当A口工作于双向方式时,B口可工作于方式1,此时C口还有3条信号线(PC0~PC2),正好用于B口方式1的联络信号线。
11.DMAC怎么分类?各有哪些优点和缺点?8237是什么类型的DMAC?
解
DMAC分为两类:单地址DMA控制器和双地址DMA控制器。
单地址DMAC的I/O访问和CPU访问采用了不同的寻址方式,因此I/O接口要单独设计,而它们的存储器接口却完全一样,因此它们可以共用同一个存储器接口。单地址DMAC内部逻辑简单,因此同一芯片内可集成多个DMA通道。在存储器和I/O接口的DMA传输期间,只需一个总线周期就可以进行一次传送(存储器到存储器传送则需要两个总线周期),而且传送的数据宽度只与数据总线宽度有关,因此,8位DMAC可进行16位、32位或64位数据传送。
双地址DMAC因为传送数据要经DMAC暂存,所以,传送数据的宽度与DMAC数据总线宽度有关,且一次DMA传输需两个总线周期。但其与存储器和I/O的接口可与CPU接口共享,因此接口电路设计简单。
8237是4通道单地址DMAC。
12.DMAC的传输方式指的是什么?它是怎么控制的?
解
DMAC的传输方式是指“在DMA传输期间,每申请一次总线,进行多少次DMA传输”的确定方式。通常,它由“命令字”和“DMA请求的定时”联合确定。在命令字确定后,它每申请一次总线,进行多少次传送就完全由DREQ的持续时间来决定了。
13.DMAC的工作类型有哪几种?一次存储器到存储器传输要几个总线周期?存储器到I/O传输要几个总线周期?
解
DMAC的工作类型或操作方式有“数据传送”和其他类型,如信息检索、校验等,依DMAC的不同而不同。其中“数据传送”又分为存储器到存储器传送、存储器到I/O传送、I/O到存储器传送和I/O到I/O传送。
对于存储器到存储器传送,传送的数据要在DMAC内暂存,因此需两个总线周期。而存储器到I/O之间的传送则与DMAC的类别有关:对于双地址DMAC,需两个总线周期;对于单地址DMAC,只需一个总线周期即可实现一次DMA传输。
14.8237在DMA传输期间怎样与被控设备实现总线联络?联络线是什么?
解
在DMA传输期间,8237的传输联络和8086 CPU的联络方式一样,采用半同步总线联络。联络线是Ready。
15.DREQ有几种生成方式?各有什么用途?
解
DREQ有内部和外部两种生成方式。
对存储器和I/O之间的传送,由I/O发出请求信号,采用外部生成方式。
对于存储器到存储器的传送,只能用内部生成(在CPU控制下)方式。
16.8237各通道的优先级是如何控制的?
解
8237各通道的优先级可设置为固定优先和循环优先两种方式,通过命令字来控制。
17.在8237的接口中地址A0~A3、读和写
等信号为什么是双向的?
解
一般接口芯片中的地址信号和读/写都是单向的,且都是输入信号,因为这些芯片在系统中都是从设备。而8237是DMA控制器,它在系统中可作为从设备,与一般接口芯片一样,上述地址和读/写信号也是输入信号,作为CPU对它操作的信号;同时它也可_作为主设备控制系统总线,控制存储器和I/O之间的数据传送,这时地址A0~A3、读和写
信号就是输出信号,A0~A3作为8237发出的存储器的低4位地址,
和
作为它对I/O设备的读/写信号。所以上述这些信号都是双向的。
18.8237在系统中如何生成访问内存的有效地址?如何实现对I/O设备寻址?
解
19.什么是DMA页面地址寄存器?它有何作用?
解
DMA页面地址寄存器是产生DMA通道高4位(A16~A19)或高8位(A16~A23)存储器地址的寄存器部件。它一般是由具有三态输出的若干个4位或8位寄存器组组成的,组内各寄存器的端口地址在读出和写入时是分开的。由它来提供DMAC寻址的存储器的高位地址。
20.8237的传输结束有哪几种方式?如何通知CPU?
解
8237的传输结束方式有两种:内部“块结束”方式和外部强制结束(通过输入线)方式。
必要时,可由输出线生成“中断请求”信号,向CPU请求中断管理,或者通过CPU的程序查询来管理。
21.实现串行传输要解决哪些问题?数据串行传输有哪几种常用协议?各有什么优点和缺点?
解
串行通信要解决同步(包括位同步、帧同步和数据块同步)、差错控制(检错和纠错)、通信协议(规程)等问题。
串行传输中常用的协议主要如下。
(1)异步通信协议
优点:接收端自动实现位同步和字符同步,而被传送的字符与字符的间隔是可变的;对接收时钟的精度要求不高;接收电路相对简单。
缺点:由于要在每个字符的前后加上起始位和停止位等附加位,所以传送的数据有效位减少了,传输效率低。
(2)同步通信协议
同步通信协议包括面向字符的同步通信协议和面向比特的同步通信协议。
优点:收发两端时钟要严格同步,接收电路复杂,硬件开销大;由于每个字符前后都没有附加位,所以传输效率高,传送速度快。
缺点:对于面向字符的同步通信协议,字符填充技术实现起来麻烦,且依赖于字符的编码。面向比特的同步通信协议要增加“0”插入和删除措施,这使硬件增加了复杂度。
22.在串行通信中,何谓“0”插入和删除技术?
解
在串行通信中,面向比特的传输协议的同步识别码称为FLAG,码形为01111110。为保证码流中不出现假的FLAG,采用特殊措施把假的FLAG码形打乱。即在发送端,在连续5个“1”后面自动插入一个“0”,而在接收端若连续接收到5个“1”(除标志字节),就自动将其后的一个“0”删除。这就是“0”插入和删除技术。该措施保证了同步识别码的唯一性,从而提高了识别的可靠性。传送过程中的“0”插入和删除是由硬件自动完成的。
23.在串行通信中,转义字符DEL有何作用?什么是字符填充技术?
解
在面向字符的通信协议中,若传输的信息流中出现控制字符,由于它不是真正的控制字符,就要在该字符前加一个转义字符DEL。
在面向字符的通信协议中,每帧的比特长度是字符长度的整数倍,其帧同步码大多采用ASCII码控制字符SYN。SYN是同步字符,每一帧开始处都有SYN,但它不能保证信息流中不出现假的SYN字符。在该协议中,规定10个特殊字符(如SYN、SOH、STX、ETB等)作为控制字符。在数据块中传送的数据如果与控制字符相同,采用字符填充(填入DLE)方式。DLE为转义字符。例如:数据中若有ETX,则转义为DLE ETX;数据中若有DLE,则转义为DLE DLE。
24.RS-232C有哪些主要接口信号?其发、收的逻辑电平是如何规定的?
解
RS-232C主要接口信号有10个(此外还有信号地):
·发送和接收数据(Tx D和Rx D);
·MODEM联络信号(6个),包括请求发送(RTS)、清除发送(CTS)、DTE准备就绪(DTR)、DCE准备就绪(DSR)、载波检测(DCD)、振铃指示(RI);
·发送时钟和接收时钟(Tx C和Rx C)。
发、收逻辑电平如下。
·发送端:数据1或控制OFF(无效),低于-6 V;数据0或控制ON(有效),高于+6 V。
·接收端:数据1或控制OFF,低于-3 V;数据0或控制ON,高于+3 V。
在实际工作中,应保证电平在5~15 V与-15~-5 V之间。
25.RS-232C与TTL电路之间进行什么转换?为什么?
解
RS-232C与TTL电路之间进行电平和逻辑关系的转换。因为RS-232C是用正负电压(±15 V)来表示逻辑状态的,而TTL电路是以高低电平来表示逻辑状态的,所以它们之间必须进行转换才能连接。实现转换可以用分立元件,也可用集成芯片。
26.8250可实现哪种传输协议?它可控制哪些参数?
解
8250可实现异步通信协议。
8250可控制的参数有:字长;停止位数;是否奇偶校验以及要什么校验方式;正常工作或自测(TEST)方式;是否采用中断管理或哪一种事件用中断管理;以及波特率系数等。
27.串行通信接口芯片中的发送移位寄存器和接收移位寄存器有何作用?
解
发送移位寄存器的作用是把发送数据寄存器的并行数据转换成串行数据并向传输线路发送;接收移位寄存器的作用是把从线路接收来的串行数据转换成并行数据并存入接收数据寄存器中。
28.8250的环测功能实现了哪些信号的环回?
解
本地环回(local loopback):发送和接收数据环回、MODEM信号环回。
29.8250有哪些中断源?各是怎样指示的?
解
8250的中断源有发送中断、接收中断、特殊接收条件(接收线路)中断、MODEM(外部条件改变)中断。它们是由“线路状态寄存器LSR”和“MODEM状态寄存器MSR”的相应位来指示的。
30.串行通信中发送中断、接收中断、线路状态中断、MODEM状态中断的中断源各是什么?它们的置位和复位条件是什么?
解
请参看本章的例8.12。
31.什么是MODEM状态改变?它有什么用处?在8250中,它是怎么指示的?它指示的是哪段时间发生了这种改变?
解
8250中有一个MODEM状态寄存器MSR,它的低4位表示来自MODEM联络控制信号状态的改变(即ΔCTS、ΔDSR、ΔRLSD、ΔRI)。
MODEM状态改变的作用是:在MSR的D0~D3中的任意一位置“1”,在中断允许时(IER中D3=1),均产生MODEM状态改变中断。
在CPU读MSR时,把低4位清零,如果其中某一位(即ΔCTS、ΔDSR、ΔRLSD、ΔRI)置1,说明在上次CPU读取MSR之后,MODEM状态寄存器的相应位CTS、DSR、RLSD、RI发生了改变,也就是来自MODEM的联络控制信号的逻辑状态发生了变化,信号由无效变为有效,或相反。比如:当ΔRI=1时,表示MODEM来的RI信号由逻辑“1”状态变为逻辑“0”状态(由接通到断开)。
32.D/A转换有哪几种实现方法?T形网络电路有何优点?
解
D/A转换常用的方法有加权电流法、T形网络法、分压电阻和开关树法。
T形网络电路的优点是:所用电阻种类少,只有两种(R和2R);转换精度可以很高。
33.A/D转换有哪几种实现方法?比较它们的转换速度、精度和价格差别。
解
A/D转换常用的方法有逐次逼近法、双积分法、模拟环法和并行编码法。
双积分法和逐次逼近法的比较:转换精度前者高于后者;转换速度前者低于后者;后者电路简单,成本低。
并行编码法转换速度极快,但精度较差,且价格昂贵。模拟环法与双积分法类似。
34.简述A/D转换中逐次逼近法的工作原理。若是一个10位的A/D转换器,采用逐次逼近法,实现A/D转换比较器最多比较几次?
解
逐次逼近法的工作原理是:从0开始的计数器由逐次逼近寄存器代替,它不是从0开始计数的,而是从最高位开始的,通过设置试探值进行计数。即当第一个时钟来到时,控制电路把最高位置1并送给逐次逼近寄存器(SAR),使其输出为10000000B。即DAC的输出电压Vo为满量程的一半,然后根据Vo与Vi的大小,再设置试探值,这样经过若干次试探、比较,逐次逼近Vi值。
对于10位A/D转换器,采用逐次逼近法,比较器最多比较10次即可完成转换。
35.模拟通道的制造工艺应注意哪些问题?
解
注意的主要问题是,减少数字信号对模拟信号的干扰。应从减少电源耦合,减少地线耦合,减少外部电磁信号对模拟信号的干扰等方面考虑。
36.定时器8253和中断控制器8259A与ISA总线的连接如图8.22所示,图中给出了计数通道1的输出波形和中断矢量寄存器的内容,看懂电路,回答下列问题。
图8.22 习题36的电路图
①写出该电路中8253和8259A的端口地址范围。各芯片有无地址重叠?若有,重叠几次?
②8253通道1工作于何种方式?写出计数通道1的计数初值(并列出计算式)和CLK1的频率。
③写出8253计数通道1的方式控制字和初始化程序段。
④根据电路图分别写出8253通道1、键盘、软驱对应的中断类型号。当8253产生中断时,由哪个部件在何时把中断类型号送到数据线上?计数器1的中断服务程序的入口地址应放在内存的哪几个单元?
⑤若8259A工作于正常全嵌套和固定优先级方式(IRQ0优先级最高,IRQ7优先级最低),CPU响应计数通道1中断的条件是什么?
⑥在题⑤的条件下,若CPU正在为计数通道1服务,键盘与软驱都发出了中断请求,8259A此时将如何处理?8259A在何时把哪些ISR位置成1。
解
这是计数器和中断控制器结合的综合应用题,答题前应仔细审查题目。
①8253的地址为220H~22FH,因为A3、A2没参加译码,所以地址有重叠,重叠4次。8259A的地址为230H~23FH,因为A3~A1没参加译码,所以地址有重叠,重叠8次。
②8253计数通道1工作于方式2,波特率发生器(或分频器)。计数器初值为TC=104/5=2 000;因为5 000 ns就是CLK1波形的周期,所以CLK1=1/(5×10-6)=200 kHz。
③8253的方式控制字为01110100B=74H(或01110101B=75H)。
程序段如下:
④8253通道1、键盘、软驱对应的中断类型号分别为7BH、7DH、79H。由8258A在第二个中断响应周期)把类型号7BH送到数据线上。
计数器1的中断服务程序的入口地址应放在内存的单元为0:1ECH~0:1EDH(存放入口地址的偏移量)、0:1EEH~0:1EFH(存放入口地址的段地址)。
⑤计数器1响应中断的条件是:
·8259A的中断屏蔽寄存器对IRQ3的请求没有屏蔽;
·CPU的IF=1;
·软驱和NMI都没有中断请求。
⑥由于软驱级别高,8259A会把软驱的中断请求发给CPU,CPU暂时中止对计数器1的服务,优先响应软驱的请求。在对软驱的中断响应过程中,使ISR1=1,此时ISR3仍为1。
37.ADC 0809通过并行接口8255A与PC总线连接的接口电路如图8.23所示,请回答如下问题。
图8.23 习题37电路图
①写出8255A的端口地址。
②8255A的B口、C口高4位和C口低4位各工作于何种方式?写出8255A的控制字。此时A口能否工作于双向方式?
③若ADC 0809的通道IN1有模拟信号输入,此时的引脚PC6 PC5 PC4=?
④如何控制ADC 0809转换的开始?
⑤CPU如何知道ADC 0809转换结束?CPU如何得到ADC 0809转换好的数字信号?
⑥若不用如图的方式通知CPU,还可用哪种方式通知CPU得到ADC已转换好的数字信号?
⑦试编写一程序段,完成模拟通道IN1的转换与A/D数据的输入(要求给程序注释)。
解
这是并行接口和A/D转换器的综合应用题,仔细审查题目,按要求回答如下。
①8255A的端口地址为384H~387H(4个口地址)。
②B口:方式0基本输入。C口高4位:方式0输出。C口低4位:方式0输入。控制字:1×××0011B=83H~F3H的任一个都可以。A口此时不可工作于双向方式。
③PC6 PC5 PC4=001B。
④CPU通过8255A让PC7输出高电平,即可使A/D转换开始。
⑤CPU通过查询方式(检查EOC为高电平,即PC2为低电平)即可知道A/D转换是否结束,然后读8255A的B口即可得到转换好的数字信号。
⑥采用中断方式通知CPU,即把转换结束信号EOC作为中断请求信号接到8259A的IRQ上,作为8259A的中断源。
⑦程序段如下: