资源描述
第十章习题与思考题
典型例题解析
例10-1串行通信接口电路的基本任务(功能)有那些?
答案:串行通信接口电路的基本任务(功能)有:
1 .实现数据格式化
因为来自CPU的数据是并行数据,所以,接口电路应具有实现不同串行通信方式下的数 据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方 式下,接口要在待传送的数据块前面加上同步字符。
2 .进行串并转换
串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由 计算机送至数据接收端时,首先把并行的数据转换为串行的数据再传送。而在计算机接收由 发送端送来的数据时,要先把串行数转换为并行数才能送入计算机处理。因此串并转换是串 行接口电路的重要任务。
3 .控制数据传输速率
串行通信接口电路应具有对数据传输速率——波特率进行选择和控制的能力。
4 .进行错误检测
在发送时接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接 口电路检查字符的奇偶校验位或其他校验码,以确定是否发生传送错误。
5 .进行TTL与EIA电平转换
CPU和终端均采用TTL电平及正逻辑,他们与EIA采用的电平及负逻辑不兼容,需在接 口电路中进行转换。
6 .提供符合EIA-RS-232c接口标准所要求的信号线
远距离通信采用MODEM时,需要9根信号线;近距离零MODEM方式,只需要3根信号线。 这些信号线由接口电路提供,以便与MODEM或终端进行联络与控制。
例10-2在串行传输中为什么要采用格式化数据?
答案:在串行通信中,在通信线上传输的字符,已不是原始的字符,而是经过格式化之后的 字符。为什么在串行传输中,要使用格式化数据呢?主要是为了解决通信双方的同步问题, 也就是如何进行双方联络的问题。由于串行通信是使用1根线传送信息,但是,串行通信中, 除传送数据之外,还要传送其他用于联络或控制的信号。因此,把数据和联络控制信号组合 在一起,形成一种特殊格式的数据,通过格式化数据来解决1帧数据何时开始接收,何时结 束,以及判断有无错误的问题。
例10-3试述串行通信工作方式的分类及其特点。
答案:串行通信有异步通信和同步通信两种方式。
异步通信方式的特点是:
(1)以字符为单位,起止式格式;字符内部位与位之间同步,而字符与字符之间异步,字符与字符之间传送没有严格 的定时要求。
(2) 传输速率低;异步传送,在每个字符前后都加起始位和停止位,传送的有效信息位少,附加信息 多,因而传输效率低;
(3) 异步串行通信一般用在数据传送时间不能确定,发送数据不连续,数据量较少和数 据传输速率较低的场合。
同步通信方式的特点是:
(1)以数据块为单位,面向字符格式;
(2) 字符内部位与位之间的传送是同步的,字符与字符之间的传送也是同步的。
(3) 传输速率高;同步传送,只在整个数据块前后加附加控制信息,传送的有效信息位多,传输速 率高;
(4) 同步串行通信用在要求快速,连续传输大批量数据的场合。
例10-4所谓异步串行通信是指()数据传送是异步的。
A.位与位之间B.字符与字符之间C.位与位之间和字符与字符之间 D.字符与位之间
答案:B分析:同步通信的最在特点是在传输时字符内部位与位之间的传送是同步的,并且,字符与 字符之间的传送也是严格同步的。因为同步通信是以数据块为单位传送的,每个数据块经过 格式化之后,形成一帧数据,作为一个整体进行发送与接收,因此,传送一旦开始,要求每 帧数据内部的每一位都要同步。而异步通信是指字符与字符之间的传送是异步的,而字符内 部位与位之间的传送是同步的。所以选择B。
例10-5双机串行通信的应用设计设计要求:
在甲乙两台微机之间进行串行通信,甲机发送,乙机接收。要求把甲机上开发的应用程 序(其长度为2DH)传送到乙机中去。采用起止式异步方式,字符长度为8位,2位停止位, 波特率因子为64,无校验,波特率为4800b/s。CPU与8251A之间用查询方式交换数据。口 地址分配是:309H为命令/状态口,308H为数据口。
(2)分析
由于是近距离传输,可以不需MODEM,而直接互连,并且,采用查询I/O方式,故收/ 发程序中只需检查发/收准备好的状态是否置位,即可发收1个字节。
(3)设计
①硬件连接
根据以上分析把两台微机都当作DTE,它们之间只需TxD、RxD、SG三根线连接就能通信。 采用8251A作为接口芯片再配置少量附加电路,如波特率时钟发生器、RS-232C与TTL电 平转换电路、地址译码电路等就可构成一个串行通信接口,如图10-4所示。
8251A8251A
图10-4双机串行通信接口
②软件编程接收和发送程序分开编写,每个程序段中包括8251A初始化,状态查询和输入/输出等
局部。
发送程序
CSEG
(略去 STACK 和 DATATRA
START:
SEGMENTASSUME CS:CSEG, PROC FAR
DS:CSEGLI:
TRACSEG
MOV
MOV
OUT
MOVOUT
NOPMOV
DX, AL, DX, AL, DX,AL,
309H
OOH
AL 40HAL
OCFII;命令口
;空操作,向命令□送任意数;内部复位(使D6=l)
;方式命令字(异步,2位停止位,字符长度为8位, ;无校验,波特率因子为64个/位)OUT MOV OUT MOV MOV MOV
DX, AL, DX, CX, SI, DX,IN AL,
AND JZ MOV MOV OUT INC DEC JNZ MOV INTAL, LI DX, AL, DX, SI
CX LI AX, 21HENDP
AL 37H AL 2DH 300H 309HDX
01H
308H
[SI] AL4C00H
ENDSEND START
接收程序(略去STACK和DATA段):
SCEGREC
BEGIN:
SEGMENTASSUME CS:REC, DS:
PROC FARSCEG
;工作命令字(RTS、ER、RxE、DTR、TxEN 均置 1);传送字节数
;发送区首址
;状态口
;查状态位 Do (TxRDY)=l?
;发送未准备好,那么等待;数据口
;发送准备好,那么从发送区取一字节发送;内存地址加1
;字节数减1;未发送完,继续
;已送完,回DOSMOV
MOVOUT
MOVDX,
AL,
DX, AL,309H
OOHAL 5011
;命令口;空操作,向命令口写任意数
;内部复位(含D6=l)
OUT DX, ALNOP
MOV AL, OCFH
OUT DX, AL MOV AL, 14H OUT DX, AL MOV CX, 2DH MOV DI, 400H
L2:MOV DX, 309H
IN AL, DX
TEST AL, 38H JNZ ERR
AND AL, 02H
JZ L2
MOV DX, 308H IN AL, DX MOV [DI], AL INC DI
LOOP L2
JMP STOP
ERR: (略)
STOP: MOV AX,4C00H
INT 21H
;方式字
;命令字(ER、RxE置1)
;传送字节数
;接收区首址
;状态口
;查错误
;有错,那么转出错处理
;查状态位 D 1 (RxRDY)=l?
;接收未准备好,那么等待
;数据口
;接收准备好,那么接收1字节
;并存入接收区
;修改内存
;未接收完,继续
;已接收完,程序结束,退出
;返回DOS
REC ENDPCSEG ENDS
END BEGIN习题与思考题
一、填空题.目前数据通信方式一般分为① 和 ② 两种方式。
1 .串行通信基本通信方式是一①一 和②o.异步通信中相邻两个字符之间间隔可以是 长度。
2 .在异步通信格式中,如果选择偶校验方法进行校验,那么数据位和奇偶校验位中1的数目 之和应该是 数。
3 . 8251A是用硬件实现① 通信的 ②一电路。
4 . 8251A中的“接收器”用来把①转换成并行码;“发送器”用来把并行码 转换成 ②。
5 . RS—232c是由美国电子工业协会EIA推荐的应用于数据通信设备和数据终端设备之间 的 标准。
6 .串行通信是指 o.串行接口主要包括个寄存器,即 ② o
7 .在串行接口内部,数据输入寄存器总是和 移位寄存器配对使用。
8 .在串行接口内部,数据输出寄存器总是和 移位寄存器配对使用。
9 .串行接口电路中,①寄存器和②寄存器是只写不读的,③ 寄存器和 ④寄存器只读不写的。
10 .串行通信的连接方式分为①、② 和 ③ 三种方式。
11 .波特率是 o. 0 MODEM方式是指 o
二、选择题•数据传送速率与距离成()o
A.相等B.不相等
C.正比D.反比.异步通信传输信息时,其特点是()o
A.通信双方不必同步
B.每个字符的发送是独立的
C.字符之间的传输时间长度应相同
D.字符发送速率由波特率确定.同步通信传输信息时,其特点是()o
A.通信双方必须同步
B.每个字符的发送不是独立的
C.字符之间的传输时间长度可不同
D.字符发送速率由数据传输率确定4.同步通信传输速率高于异步通信,其原因是()。
A.双方通信同步字符之间无间隔
B.发生错误的概率小
C.附加位信息总量少
D.双方通信同步5.对可编程串行接口芯片8251进行编程,多个命令字共用一个端口,识别的方法是
()oA.置特征位来区别。
B.次序完全固定,按先后顺序写入不同的命令。
C.用不同的控制信号来区别。
D.根据读/写操作命令来区别。
6 .波特率是串行通信的一项重要参数,以下说法中正确的选项是()oA.波特率是指单位时间内传送的字符数
B.波特率也称为波特率因子C. RS-232的标准波特率可取64bps
D.波特率是指单位时间内传送的二进制位数.以下关于串行通信的表达中,正确的选项是( )o
A.串行通信只需用一根导线B.半双工就是串口只工作一半的工作时间
C.异步串行通信是以字符为单位逐个发送和接收的D.同步串行通信的发/收双方可使用各自独立的时钟
7 .在通用微机中普遍采用的串行接口标准是()oA. IEEE-488 B. RS-423 C. RS-485 D. RS-232
三、判断题:
1 .所谓异步串行通信是指位与位之间和字符与字符之间数据传送是异步的。
2 .同步通信方式属于串行通信,接收/发送双方根据同步信号实现同步。
3 .异步通信属于并行通信,接收/发送双方根据通信协议的规定实现通信。
4 .异步通信数据传输速率要比同步通信的高。
5 .全双工是通信双方同时进行发送和接收操作,因此需设置两根传输线。
6 .半双工是通信双方分时进行发送和接收操作,因此只设置1根传输线。
7 .当远距离通信时,在发送方要用解调器把数字信号转换成模拟信号。
8 .串行接口是指接口电路与外部设备之间利用一根数据线进行数据传送的接口。
9,异步通信方式的“异步”主要表达在字符与字符之间传送没有严格的定时要求。
10.当远距离通信采用 线时,在接收方要用解调器把数字信号转换成模拟信号。
四、问答题.什么是串行通信的全双工和半双工?
1 .为什么串行通信的传送信号需要调制?
2 .什么是MODEM?在什么情况下要使用MODEM?什么是零MODEM方式?
3 .什么是发送(接收)时钟?有什么作用?
4 .什么是波特率因子?使用波特率因子有什么意义?
5 .波特率,波特率因子和时钟脉冲(发送时钟与接收时钟)之间的关系?
6 .设异步通信的1帧字符有8个数据位,无校验,1个停止位。如果波特率为4800bps,那么 每秒能传输多少个字符?
7 .异步通信和同步通信的方式有那些不同?两者的根本区别是什么?
8 . EIA-RS-232c标准对信号的逻辑1和逻辑0是如何定义的?为什么要这么定义的?
9 . EIA-RS-232c标准与TTL之间进行什么转换?如何实现这种转换?
IL EIA-RS-232c标准的连接器(插头插座)有哪两种类型?
12 .试画出串行接口的典型结构简图。
13 .试说明8251A的方式选择控制字、操作命令字、状态字三者之间的关系。
参考答案
一、填空题.①串行;②并行
1 .①异步通信;②同步通信.任意
2 .偶.①串行;②接口
3 .①中行码;②串行码.串行接口
4 .利用一根传输线一位一位依次进行传送的数据通信方式.①4;②数据输入寄存器、数据输出寄存器、控制寄存器和状态寄存器
5 .串行输入/并行输出.并行输入/串行输出
6 .①控制寄存器;②数据输出寄存器;状态寄存器;数据输入寄存器.①单工;②半双工;③全双工
7 .每秒传送串行数据的位数.在15米以内的近距离串行通信时,不采用调制解调器的的通信方式
二、选择题
1-5 DBBCB 6-8 DCD三、判断题
1-5 X V X X V 6-10 V X V V V四、问答题
1 .答案:全双工是通信双方同时进行发送和接收操作,因此,须设置2根传输线。半双工 是通信分时进行发送和接收操作。发送时,不能接收;接收时,不能发送。只设置1根传输 线。
2 .答案:串行通信所传送的数据是以0, 1组成的数字信号,它包含了从低频到高频的谐 波成分,要求传输线的频带很宽。假设采用窄带的 线进行传输,高次谐波衰减的很厉害, 使传送的信号产生严重的畦度和失真,而在 线上传输模拟信号,那么失真较小。故当远 距离通信采用 线时,在发送方要用调制协调器把数字信号调制成模拟信号,而在接收 方要用协调器,把收到的模拟信号协调为数字信号。
3 .答案:MODEM是调制协调器,是一种远程通信设备。它用在采用 线进行远距离通信 的情况。在近距离(小于等于15m),就不使用MODEM而直接传送。把这种不使用MODEM直接 传送的情况叫做零MODEM方式。
4 .答案:发送(接收)时钟是由波特率时钟发生器产生的时钟脉冲信号,其作用有二: 一是作为发送(接收)的移位脉冲,把数据按位发送出去(接收进来)。二是作为位同步信 号,使发收端实现位同步。
5 .答案:波特率因子是发送(接收)一位二进制数据所需的发送/接收时钟时脉冲个数, 或者说是波特率的倍数。一般都设置位波特率的整数倍,如1, 16, 32, 64倍。
6 .答案:波特率(Baud),波特率因子(factor)和时钟频率(TxC或TxC)三者之间的 关系为:TxC =BaudX factor.答案:每秒能传输480个字符。
7 .答案:异步通信方式与同步通信方式的不同之处表现在:
< 1)同步方式不同 异步方式的字符与字符之间的传送是同步的,同步方式的字符与字 符之间的传送是同步的。
< 2)数据格式不同 异步方式是以字符为单位,起止式格式,同步方式是以数据块为单 位,面向字符格式。
< 3)传输速率不同 异步传输的速率低,同步传输的速率高
< 4)传输的效率不同 异步传输的效率低,同步传输的效率高
< 5)检纠错的方式不同 异步方式采用的奇偶校验,同步方式采用的是CRC校验。
< 6)交换数据方式不同 异步方式采用的是查询或者中断,同步方式常采用DMA o
< 7)实现的技术难度不同异步方式易与实现,同步方式技术复杂,难度大。
(8)应用范围不同 异步方式用于数据传输的时间不能确知,发送数据不连续,数据量 较少和数据传输速率较低的场合;同步方式那么用在要求快速,连续传输大批量的数据的场合。 两者的根本区别是同步方式不同和数据格式不同。
9 .答案:EIA-RS-232c标准对信号的逻辑定义是,逻辑1二一15v5v,逻辑0=+5v〜+15v这样定义的B的是为了提高抗噪音干扰的能力和补偿传输线上的信号衰减。
10 .答案:TTL与EIA之间进行逻辑关系(正逻辑一一负逻辑)以及逻辑电平(低电平/低摆 幅-一高电压/高摆幅)的转换。这种转换可以通过专用芯片如MC1488/1489, SN75150/75154, MXAA232等来实现。
11 .答案:£14-1«-232(:标准的连接器有口8-25型和。8-9型两种,这两种连接器的信号引脚 定义和排列都不兼容,使用时要特别的小心。
12 . 答案:串行接口的典型结构简图如下:
13.答案:8251A的方式命令字、工作命令字和状态字的作用及其之间的关系是:方式 命令字只是约定了双方通信的方式(同步/异步)及其数据格式(数据位和停止位长度,校 验特性,同步字符特性),传送速率(波特率因子)等参数,但并没有规定数据传送的方向 是发送还是接收,故需要工作命令字来控制发/收。但何时才能发/收?这就取决于8251A的 工作状态,即状态字。只有当8251A进入发送/接收准备好的状态,才能真正开始数据的传 送。
展开阅读全文