第12章串行通信与串行接口
习题
12.1 什么是串行通信?串行通信与并行通信相比,有哪些基本特点?
【参考答案】串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。
如果一组数据的各数据位在多条线上同时被传输,这种传输方式称为并行通信。并行通信是把一个字符的各数位用几条线同时进行传输,传输速度快,信息率高。但它比串行通信所用的电缆多,故常用在传输距离较短(几米至几十米)、数据传输率较高的场合。同步通信和异步通信的区别
12.2 在串行通信中有哪几种数据传送方式,各有什么特点?
【参考答案】在串行通信中,按照在同一时刻数据流的方向可分为三种基本传送模式:单工传送、半双工传送和全双工传送。
单工传送方式仅支持在一个方向上的数据传送。即由设备A传送到设备B。在这种传送模式中,A只作为发送器,B只作为接收器。
半双工传送方式支持在设备A和设备B之间交替地传送数据。即设备A为发送器发送数据到设备B,设备B为接收器。也可以设备B做发送器发送数据到设备A,设备A 为接收器。由于A、B之间仅一根数据传送线,它们都有独立的发送器和接收器,所以在同一个时刻只能进行一个方向的传送。
全双工传送方式支持数据在两个方向同时传送。即设备A可发送数据到设备B,设备B也可以发送数据到设备A,它们都有独立的发送器和接收器,并有两条传送线。
12.3 全双工和半双工通信的区别是什么?在二线制电路上能否进行全双工通信?为什么?
【参考答案】全双工是指在二线上可以同时进行收发两个动作,半双工是指在二线上在某一个时刻只能进行收发中的一个动作。全双工和半双工通信,双方都既是发送器又是接收器。两者的区别在于全双工可以同时发送和接收。半双工不能同时双向传输,只能分时进行。在二线制电路上是不能进行全双工通信的,只能单端发送或接收。因为一根信号线,一根地线,同一时刻只能单向传输。
12.4 什么是异步通信?什么是同步通信?异步通信的特点是什么?同步通信的特点是什么?
【参考答案】串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。串行通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。
异步通信中,数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。
同步通信与异步通信区别:
(1)同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。
(2)同步通信效率高;异步通信效率较低。
(3)同步通信较复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。
(4)同步通信可用于点对多点;异步通信只适用于点对点。
12.5 什么是波特率?试举出几种常用的波特率系列。
【参考答案】所谓波特率,是指单位时间内传送二进制数据的位数,以位/秒(b/s)为单位,所以有时也称数据位率,它是衡量串行数据传送速度快慢的重要指标和参数。在微机异步串行通信中,常用的波特率系列为50、75、110、150、300、600、1200、1800、2400、4800、9600、19200、38400、57600、115200、230400、460800、921600 b/s。
12.6  已知异步通信接口的帧格式由1个起始位、7个数据位、1个奇偶校验位和1个停止位组成。当该接口每分钟传送3600个字符时,其传送波特率是多少?位周期为多少?
【参考答案】已知异步通信接口的帧格式由1个起始位、7个数据位、1个奇偶校验位和1个停止位组成。当该接口每分钟传送3600个字符时,其传送波特率是6000b/s,位周期为1/6000=0.157us。
12.7 为什么要调制?通常有哪几种调制方法?简述它们的调制原理。
【参考答案】数据通信传输的是数字信号,即传送的数据都是以“0”、“1”序列组成的数字信号。这种数字信号的频谱包含了从低到高的极其丰富的谐波分量,其传送要用的传输线的频带很宽。在远距离传送时,若直接传输数字信号,信号就会发生畸变。因此,在远距离传送时,需用调制器将数字信号转换成模拟信号后进行传输,接收端再
·2·
用解调器将其转换成数字信号。
调制的方法很多,按照调制技术的不同,有调频(FM)、调幅(AM)和调相(PM)3种基本方法。它们分别按传输数字信号的变化规律去改变载波信号的A sin
(2πft+φ)的频率f、幅度A或相位φ,使之随数字信号的变化而变化。在数字调制中,由于数字信号离散取值的特点,一般用数字电路组成的电子开关,像扳键一样来控制载波的频率、振幅或相位的变化。因此,在数据通信中又常将调频、调幅、调相分别称为频移键控(Frequency Shift Keying,FSK)法、幅移键控(Amplitude Shift Keying,ASK)法和相移键控(Phase Shift Keying,PSK)法。
12.8  RS-232C总线的主要特点是什么?它的逻辑电平是如何定义的?
【参考答案】RS-232C总线是为了电话网络进行数据通信而制定的标准。该标准属于异步通信总线,主要用于主机与CRT或调制解调器之间的通信,以及某些多机通信的情况。RS-232C总线的逻辑电平是负逻辑,以+3~+15之间的任意电压表示逻辑“0”,以-3~-15V之间的任意电压表示逻辑“1”,在实际使用中,电平常为12V或15V。
12.9  RS-232C标准与TTL之间需要进行什么转换?如何实现这种转换?
【参考答案】RS-232C标准与TTL之间要进行逻辑关系(正逻辑负逻辑)及逻辑电平(低电平/低摆幅高
电压/高摆幅)的转换。这种转换可通过专用芯片如MC1488/MC1489,MAX232/MAX233等接口电路实现。
12.10  RS-485是什么?简述其作用和特点。
【参考答案】RS-485是一种多发送器/多接收器的串行接口标准。RS-485采用共线电路结构,在一对平衡传输线的两端配置终端电阻,其发送器、接收器、组合收发器可刮在平衡传输线的任何位置,实现多个驱动器和多个接收器共用同一传输线的多点通信。它也是RS-232C的改进型标准,并且也是一种平衡传输方式的接口标准。因此,它的直接传输距离、传输速率以及可靠性都比单线传输方式的RS-232C标准要高得多。
12.11  RS-232C、20mA电流环和RS-485这3种接口有何异同?画出采用RS-485通信的计算机和终端连接图。
【参考答案】RS-232C串行接口标准既是一种电气标准又是一种物理接口功能标准。物理上采用25芯(后来又出现9芯插座)插头座。RS-232C电气标准是单端驱动、单端接收的单端双极性电路;逻辑0规定为+5至+15V,逻辑1规定为-5至-15V。
20mA电流环是一种简单的串行接口,它由4根线(发送正、发送负、接收正、接收负)组成一个输入电流回路,一个输出电流回路,以无电流为逻辑0,有电流
(20mA)为逻辑1。电流环串行通信接口的优点是对电气噪声不敏感,并且容易实现光电隔离。
RS-485为一种串行口的电气标准。对物理接口未作规定。RS-485是平衡驱动差分接收的方法,取消了地线,对共模干扰有较好的抑制作用,传输速度和距离都大为提高。
·3·
RS-485是半双工方式,可用一对平衡差分电路构成,发送端多了一条使能控制线,以保证任一时刻,线路上只能进行一个方向的传输。
采用RS-485通信的计算机和终端连线图如下:
12.12 串行通信接口电路的基本功能有哪些?
【参考答案】串行通信接口电路的基本功能主要有:
(1)实现数据格式化;
(2)进行串并转换;
(3)控制数据传输速率——波特率进行选择和控制的能力;
(4)进行错误检测;
(5)进行TTL与EIA-RS-232C电平转换。
12.13 简述可编程异步通信接口INS 8250的内部结构及工作过程。
【参考答案】可编程异步通信接口INS 8250由数据总线缓冲器、地址选择和控制逻辑、接收/发送移位寄存器、Modem控制逻辑和可编程寄存器等组成。
INS 8250串行数据发送过程如下:CPU执行OUT指令,将待发送的数据写入发送保持寄存器暂存,当发送移位寄存器空闲时自动装入,后者在发送器时钟控制下为并行数据添加起始位、校验位、停止位,然
后在发送时钟控制下,从SOUT引脚一位一位地串行输出给接收方。当发送缓冲寄存器中的数据进入发送移位寄存器后,发送缓冲寄存器即为空,若线路状态寄存器D5位为“1”,即可通过INTR输出中断请求信号,由中断服务程序将新的帧数据写入发送缓冲寄存器后,线路状态寄存器D5位自动为“0”,如此循环重复,直至数据发送完毕。
8250接收数据的过程如下:当8250初始化后进入允许接收和准备好接收数据状态时,监视SIN线。当检测到起始位后,接收器每隔16个波特率周期对SIN输入的数据进行采样。在接收器时钟控制下,接收移位寄存器一位一位地接收串行数据,自动去掉起始位、校验位、停止位,并转换成并行数据送到接收缓冲寄存器中暂存,在接收过程
·4·
中对一帧数据自动进行校验。当SIN引脚在接收时钟的控制下,将接收到的数据通过移位寄存器转换为并行数据送入接收缓冲寄存器时,若线路状态寄存器D0位为“1”,则可通过INTR输出中断请求信号,由中断服务程序将接收到的帧数据存入指定存储器单元后,线路状态寄存器D0位自动为“0”,如此循环重复,直至数据接收完毕。
12.14  INS 8250中有多少个可访问的寄存器和多少个端口地址?请写出它们的对应关系。INS 8250可编程接口芯片中是如何解决寄存器多、端口地址少的矛盾的?
【参考答案】INS8250中有10个可访问的寄存器,但是只有8个端口地址。用
A2、A1、A0三条地址线区分。寄存器多,地址少,所以有的寄存器要共用地址。方法是把通信线路控制器中的D7位用作访问除数寄存器的标志位DLAB。DLAB=l,访问除数寄存器;DLAB=0,则不访问除数寄存器。寄存器地址分配如表T12.14:
表T12.14 INS 8250内部寄存器
CS0 CS1 CS2 A2 A1 A0 DLAB COM1地址寄存器
1    1 0 0 0 0 0 3F8H 发送保持寄存器(写)
1    1 0 0 0 0 0 3F8H 接收缓冲寄存器(读)
1    1 0 0 0 0    1 3F8H 除数锁存器(低8位)
1    1 0 0 0    1    1 3F9H 除数锁存器(高8位)
1    1 0 0 0    1 0 3F9H 中断允许寄存器(IER)
1    1 0 0    1 0 ×3FAH 中断识别寄存器(MCR)
1    1 0 0    1    1 ×3FBH 通信线路控制寄存器
(LCR)
1    1 0    1 0 0 ×3FCH Modem控制寄存器(MCR)
1    1 0    1 0    1 ×3FDH 通信线路状态寄存器(LSR)
1    1 0    1    1 0 ×3FEH Modem状态寄存器(MSR)
1    1 0    1    1    1 ×3FFH (无效)
12.15  INS 8250的初始化编程的内容和步骤有哪些?
【参考答案】INS 8250初始化编程主要需完成波特率的设定、通信数据格式的设定、通信方式(查询、中断、自检)的确定工作。通过对8250的内部控制寄存器进行编程写入实现,包括如下4个内容。
(1)通过写除数寄存器(端口0和端口1),设置波特率,即设置数据传输率。
(2)通过写线路控制寄存器(端口3),设置通信数据格式。
(3)通过写Modem控制寄存器(端口4),设置Modem控制字,即设置工作方式。
(4)通过写中断允许寄存器(端口1),设置中断允许控制字。
12.16 使用INS 8250作为串行接口时,要求以1200的波特率发送一个字符,字符格式为7个数据位、1个停止位、1个奇校验位。试编写8250的初始化程序(设8250的
·5·
基地址为2F8H)。
【参考答案】INS 8250初始化编程如下。INS 8250在PC中的基地址为2F8H,则INS 8250在PC中的地址范围为2F8H~2FFH。
(1)设置数据传输率。通过写入除数寄存器来实现。
MOV AL,80H
MOV DX,2FBH
OUT DX,AL ;写入通信线路控制寄存器,使DLAB=1
MOV AX,96 ;分频系数:1.8432×106÷(1200×16)=96D=60H
MOV DX,2F8H
OUT DX,AL ;写入除数寄存器低8位
MOV AL,AH
INC DX
OUT DX,AL ;写入除数寄存器高8位
(2)设置字符格式。通过写入通信线路控制寄存器来实现。例如,设置8250通信的数据格式8位、1位停止位、奇校验的初始化程序。
MOV AL,0BH
MOV DX,2FBH
OUT DX,AL ;写入通信线路控制寄存器,使DLAB=0
(3)设置工作方式。通过写入调制解调器控制寄存器来实现。
;设置查询通信方式
MOV AL,03H ;控制OUT2#为高,DTR#和RTS#为低
MOV DX,2FCH
OUT DX,AL ;写入调制解调器控制寄存器
;设置中断通信方式
MOV AL,0BH ;控制为OUT2#低,允许INTR产生请求
MOV DX,2FCH
OUT DX,AL
(4)设置中断允许或屏蔽位。通过写入中断允许寄存器来实现。
MOV AL,0 ;禁止所有中断
MOV DX,2F9H
OUT DX,AL ;写入中断允许寄存器(此时DLAB=0)
12.17 使用INS 8250芯片作为异步串行数据传送接口,若传送的波特率为2400,则发送器(或接收器)的时钟频率为多少?
【参考答案】发送器或接收器的时钟频率是2400×16,等于38400Hz。
12.18 要用INS 8250以300波特率发送汉字编码信息,编写INS 8250的初始化程序(地址自定)
【参考答案】每个汉字占用两个字节.每字节为8位(机内码).所以数据位取8位,
·6·

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。