第八章 串行通信接口
§ 接口功能与数据传输方式
§ 串行传送的几个问题
§ 串行通信的数据格式
§ 串行接口标准
§ 串行通信接口任务
§ 用8251A组成的串行接口
1
§ 接口功能与数据传输方式
一、接口功能
接口的功能是在系统总线和I/O设备之间传输信号,提
供缓冲,满足接口两边时序要求。
•寻址功能
•输入输出功能
•数据转换功能
•联络功能
•中断管理功能
•复位功能
•可编程功能
•错误检测功能
2
二、数据传送的方式
数字信号的传输有并行传输和串行传输
并行传输是多位二进制数据可以同时传输,提高数据传输的效
率。通常以8位、16 位或32位的数据宽度同时进行传输。每
一位都要有自己的数据传输线和发送接收器件,在时钟脉冲
的作用下数据从一端送往另一端。
串行通信是指在单根导线上将二进制数据一位一位顺序传送,
特别适合于远距离传送。对于离计算机较近的外部设备如鼠
标、绘图仪、终端等,也常常采用串行方式交换数据。
3
一、串行数据传送方向
串行通信中,数据通常是在二个站(点对点)之间进行
传送,按照数据流的方向可分成三种传送模式:全双工、半双
工、单工
1.全双工(Full Duplex)
数据的发送和接收分别由两根可以在两个不同的站点同
时发送和接收的传输线进行传送,通信双方都能在同一时刻
进行发送和接收操作,选择的传送方式称为全双工制。
§ 串行传送的几个问题
4
特点:①每一端都有发送器和接收器
②有二条传送线
应用:交互式应用,远程监测控制
2.半双工(Half Duplex)
使用同一根传输线,既可发送数据又可接收数据,但不能同时
发送器
接收器
接收器
发送器
A站 B站
图 全双工方式示意图
5
收送数据,这样的传送方式就是半双工(Half Duplex)制,
如图所示。
发送器
接收器
发送器
接收器
A站 B站
图 半双工方式示意图
特点:①每端需有一个收/发切换电子开关
②因有切换,会产生时间延迟
应用:打印机串口,单向传送设备,发送器→接收器
6
二、信号的调制和解调
计算机的通信是要求传送数字信号,而在进行远程数据通
信时,线路往往是借用现有的公用电话网,但是,电话网是为
音频模拟信号的设计的。一般为300~3400Hz,不适合于数据
信号。
因此需要对二进制信号进行调制,以适合在电话网上传输
相应的音频信号,在接收时,需要进行解调,还原成数字信号。
计算机 MODEM MODEM
模拟信号数字信号 数字信号
CRT
1 0 1 0
10 10 10 10
图 调制电话线 7
1. 什么叫调制?
所调调制就是进行波形变换。或者说进行频谱变换,就
是将基带数字信号的频谱变换成适合于在模拟信道中传输的
频谱。
2. 作用:
调制器(Modulator)是一个波形变换器,它将基带数字的
波形变换成适合于模拟信道传输的波形。
解调器是一个波形识别器,将模拟信号恢复成原来的数
字信号。
调制器 解调器
010010 010010
8
最基本的调制方法有以下几种:
(1)调幅(AM)
即载波的振幅随基带数字信号而变化.
“1”对应有载波
“0” 对应无载波
3. 调制方法:
(2)调频(FM)
即载波频率随数字信号而变化
“0”对应”f1”
“1”对应“f2”
(3)调相(PM)
即载波初始相位随基带数字信号
而变化.
“ 0”对应相位0度
“1”对应相位180度
f1 f2
FM
AM
0 1 0 0 1 1
0度
180度
PM
9
三、信息的检错与纠错
串行数据在传输过程中,由于干扰而引起误 码是难免的,
这直接影响通信系统的可靠性,对通信中的检/纠错能力是衡是
一个通信系统的重要内容。
检错:如何发现传输中的错误,称为检错。
纠错:如何消除错误,称为纠错
例:奇偶校验检错
方阵码检错
循环冗余码(CRC)检错
方阵码检错技术:
采用奇偶校验与“检验和”的综合。
①7位编码后附加1位奇偶位。
10
②若干个字符组成一个数据块列成方阵,列向按位相加产生
一个单字节检验和附加到数据块未尾。
1 1 0 1 0 0 1 0
0 1 0 0 0 0 0 1
1 0 1 0 1 0 1 0
1 1 1 1 0 0 1 1
1 1 0 0 0 0 1 1
0 0 0 0 1 0 0 1
四、传输速率
1. 波特率:
是指在串行通信中,在基本波传输的情况下,每秒钟传送的
二进制脉冲的数目。
用波特率表示:即1波特=bit/s (位/秒)
奇偶位
11
常用的标准波特率:110,300,1K,,,,
,,56K
2.字符速率:
是指每秒所传输的字符数,这个概念使用少。
字符速率与波特率的关系:
1个字符:1个起始位+8个数据位+1个偶数位+2个终止位=12位
如果波特率:12000
则字符速率:12000/12=1000字符/s
12
§ 串行通信的数据格式
通信协议:
是指通信双方的一种约定,包括对数据格式、同
步方式,传送速度、传送步骤、检纠错方式等问题作出统一
规定。也称通信控制规程。
同步协议
异步协议
分类
面向字符(character Oriented)
面向比特(Bit)
面向字节计数
ISO(Inter national Standard Organization)国际标准化组织。
OSI(Open System Interconnection)开放系统互连参考模型。
13
一、起止式异步通信数据格式
1.格式
1 10 00 0 1 0 1 1 10 0 0空
闲
位
起始位
数据位0
低 高 校验位
停
止
位
应用:早期电传机
①每个字符总是以起始位开始(“0”),以停止位(“1”)结
束。
②字符之间没有时间间隔要求
③字符后一位校验位(可没有)
2.特点:是一个字符一个字符传输
14
二、面向字符的同步通信格式
1.功能:
是一次传送若干个字符组成的数据块,并且规定了10个特殊
字符作为这个数据块的开头与结束标志以及整个传输过程的控
制信息。
2.数据格式(一帧)
SYN SYN SOH 标题 STX 数据块 ETB/ETX块校验
15
3.特定字符的定义:
SYN:同步字符(Synchronous),表示一帧的开始;
SOH:序起字符(Start of Header),表示标题的开始;
标题:包括原地址,目的地址,路由指示等信息;
STX:文始字符(Start of Text),表示正文开始。
FTB/ETX:组终/文终字符(End of Text)
ETB(End of Transmission Block)
特点:
①一次传送是一个数据块,传输效率提高了;
②采用了一些传输控制字,增加了通信控制能力和校验能力;
③存在问题:由于数据字符与特定字符可能代码相同,发生误
解,因此,在数据字符前插入转义字符DLE,以示区别。这种
方式称为“字符填充”。
16
三、面向比特的同步通信数据格式
1.最有代表性的是:
①IBM的SDLC(Synchronous Data Link Control),同步数据
链路控制规程。
②ANSI的ADCCP(Advanced Data Communication Control
Procedure)。
③ISO的HDLC(High Level Data link Control)高级数据链
路控制规程。
④DEC公司DDCMP(Digital Data Communication Message
protocol)。
17
2.协议的特点:
1)所传输的一帧(frame)数据(或称数据包)可以是任意二进
制位。
2)通过约定的位组合模式(标志字节)来标志帧的开始和结束。
注意:
①HDLC作为国际标准ISO3309;
②ADCCP作为美国国家标准;
③我国相应国家标准GB-7496,这几个协议均大同小异。
18
§ 串行接口标准
一、EIA-RS-232接口标准
RS-232标准是美国EIA(电子工业联合会)与BELL等公司一起
开发的,1969年公布的通信协议,适合的数传率:0~20Kbps。
1.电气特性
RS-232对电气特性,逻辑电平和各种信号线的功能都作了规定。
逻辑“1”=-3V~-15V
“0”=+3V~+15V
与TTL逻辑电平不一样,可用TTL/EIA电平转换器进行,如
MC1488,MC1489IC。
19
MC1488 MC1489
RS-232
TTLEIA电平
+15V+15V
TTL
+15V
采用EIA电平比TTL电平具有更强的抗干扰性能。
另外,使用MAX232电平转换省电,可连接二对收/发线,只用单
电源。
2.机械特性
1)连接器(Connector)
常用二种:
①DB-25型,25脚,只用9个信号(2个数据线,6个控制线,1个
地址),如下图所示。 20
1
2
3
4
DB-25型连接器
5
6
7
8
9
11
13 25
22
20
18
14
发送电流(-)
发送电流(+)
DCD
GND
DSR
CTS
RTS
RXD
TXD
(-)接收电流
(+)接收电流
②DB-9型 9针,9针全
用,如下图。
1
2
3
4
5
6
7
8
9
DSR
RTS
CTS
RI
DCD
RXD
TXD
DTR
GND
DB-9型连接器
21
2.电缆长度
RS-232直接连接的最大物理距离15M,通信速率<20Kbps。
-232C接口信号的定义
25线:数据线4条(2,3,14,16)
控制线11条(4,5,6,8,12,13,19,20,22,23)
定时信号线3条(15,17,24)
地线2条(1,7)
备用5条(9,10,11,18,25)
未定义
4.信号线的连接
1)近距离连接(<15m)
只用3条线(发送线TXD,接收线RXD,信号地线)
22
TXD
RXD
TXD
RXD
A机 B机
7 7
2 2
3 3
4 5 6 20 4 5 6 20
2.远距离连接(>15m)
1)需用MODEM和专用电话线
2)需用2~9条信号线(在接口与MODEM之间)
采用MODEM时RS-232信号线的使用
计
算
机
接
口
调
制
解
调
器
DCD
RXD
TXD
RTS
CTS
SG
DSR
调
制
解
调
器
DCD
RXD
TXD
RTS
CTS
SG
DSR
终
端
专用电话线
2
┇
┇
2
采用MODEM时RS-232信号线的使用
23
二、RS-422/RS-423接口标准
1.特点:
(1)采用平衡发送器和差动接收器,由于是双线传输,大大提
高了抗共模干扰的能力。
因为是两条传输线的电位差决定逻辑电平
AA´-BD ´ <-2V,表示“1”
AA´-BD ´ >+2V,表示“0”
(2)传输速率 10Mbps(<15m时)
90Kbps(<1200m时)
2.连接
MC3487 MC3486
B
TTL
RS-422A电平
平衡发送器 差动接收器
B´
A A´
24
2)RS-423
1.连接:
2.特点:
①采用单端发送器和差动接收器,由于是差动接收器,提高了抗
共模干扰能力。
②数传率:100Kbps/90m时
1Kbps/1200m时
③逻辑“1”,4V~6V
逻辑“0”,-4V~-6V
TTL
RS-423A电平
单端发送器 差动接收器
+
-
25
三、RS-485接口标准
1.特点:
(1)兼容RS-422A,扩展RS-422A的功能;
(2)允许在电路中有多个发送器和允许一个发送器驱动多个
接收器,多达32个收/发器;
(3)抗干扰能力强,传送距离远,传输速率高。
数传率:100Kbps < 不用MODEM
<15Km
10Mbps <15m
26
§ 串行通信接口任务
一、串口的基本任务
(1)进行串,并转换
(2)实现串行数据格式化
(3)可靠性检验
(4)实施接口与端口设备之间联络控制
二、串口电路的组成
1. 内部有四个寄存器:控制寄存器、状态寄存器、
数据输入内部有寄存器、数据输出寄存器
2. 数据线
3. 联络信号线
4. 地址线与片选线
5. 串并转换和并串转换 27
§ 用8251A组成的串行接口
一、8251A的内部逻辑与外部信号
1.结构框图
8251A是通用同步异步接收/发送器USART
Universal/Synchronous Asynchronous Receiver
and Transmitter)
功能:异步起止协议
同步面向字符协议
组成:接收器、发送器、调制控制、读/写控制、数据总线
缓冲器
28
数据总线
缓冲器
读/写
控制逻辑
调制控制
发送缓冲器
发送控制
接收缓冲器
接收控制
TXD
TXRDY
TXEMPTY
TXC
RXD
RXRDY
SYNDET/BD
RXC
DTR
DSR
RTS
CTS
RESET
CLK
C/D
RD
WR
CS
29
8251A的引脚信号
30
1.发送器
①TXRDY(Transmitter Ready):发送器准备好,高电平有效
②TXE(Transmitter Empty):发送器空,状态线,高有效
③TXD:发送数据线
④TXC:发送器输入时钟
2.接收器
①RXD:接收数据线
②RXRDY:接收器准备好
③TXEMPTY:接收器空
④TXC:接收器输入时钟
3.与调制器的接口接号
①DTR:数据终端准备好
②RTS:请求发送
31
③DSR:数据装置准备好
④CTS:清除传送
二、8251的控制字与状态字
1.工作方式字
约定双方的通信方式,数据格式,传送速率
a.作用:对8251A工作方式进行选择,是异步方式还是同步方式
b.格式:
S1 S0 EP PEN L1 L0 B1 B0
D7 D6 D5 D4 D3 D2 D1 D0
停止位 奇偶校验 字符长度 波特因子
(同步) (异步)
×0=内同步 00=不用
×1=外同步 01=1位
0×=双同步 10=位
1×=单同步 11=2位
×0=无校验
01=奇校验
11=偶校验
00=5位
01=6位
10=7位
11=8位
00=同步
01=×1 异步
10=×16 -
11=×64 - 32
例1:异步通信中,若帧数据格式为:字符长度8位,停止位2
位,奇校验,波特率因数是16,则工作字是:
11011110B=DEH
MOV DX,309H ;8251命令口
MOV AL,0DEH ;异步工作方式字
OUT DX,AL
例2:同步通信中,若帧数据格式为:字符长度8位,双同步
字符,内同步方式,奇校验,则工作字是:00011100B=1CH。
MOV DX,309H ;8251命令口
MOV AL,1CH ;同步工作方式字
OUT DX,AL
2.工作命令字
a.作用:是确定8251A的实际操作,迫使8251A进行某种操作或
工作状态,以便接收或发送数据。
S1 S0 EP PEN L1 L0 B1 B0
D7 D6 D5 D4 D3 D2 D1 D0
停止位 奇偶校验 字符长度 波特因子
(同步) (异步)
×0=内同步 00=不用
×1=外同步 01=1位
0×=双同步 10=位
1×=单同步 11=2位
×0=无校验
01=奇校验
11=偶校验
00=5位
01=6位
10=7位
11=8位
00=同步
01=×1 异步
10=×16 -
11=×64 -
S1 S0 EP PEN L1 L0 B1 B0
D7 D6 D5 D4 D3 D2 D1 D0
停止位 奇偶校验 字符长度 波特因子
(同步) (异步)
×0=内同步 00=不用
×1=外同步 01=1位
0×=双同步 10=位
1×=单同步 11=2位
×0=无校验
01=奇校验
11=偶校验
00=5位
01=6位
10=7位
11=8位
00=同步
01=×1 异步
10=×16 -
11=×64 -
33
b.格式:
EH IR RTS ER SBRK RXE DIR TXEN
D7 D6 D5 D4 D3 D2 D1 D0
进入
搜索
方式
内部
复位
发送
请求
错误
标志
复位
发
中止
字符
接收
允许
数据
终端
准备好
发送
允许
D7=1
有效
D6=1
有效
D5=1
有效
D4=1
复位
ER
D3=1,发中止字符(空号)
=0,正常操作
D2=1,允许接收
=0,禁止接收
D0=1,允许发送
=0,禁止发送
D1=1,已准备好
=0,正常操作
例3:使8251内部复位,并且允许接收,
又允许发送,则程序段为: 34
MOV DX,309H ;8251命令口
MOV AL,01000000B ;置D6=1,使内部复位
OUT DX,AL
MOV AL,00000101B ;置D0=1,D2=1,允许接收和发送
3.状态字
a.作用:8251A执行命令进行数据传送后的状态字存放在状态寄
存器中,CPU通过读出状态字进行分析和判断,以决定下一步的
操作。
b.格式:
DSR SYNDET TE OE PE TXE RXRDY TXRDY
D7 D6 D5 D4 D3 D2 D1 D0
数传机
就绪
同步
检出
格
式
错
溢
出
错
奇
偶
错
发送器
空
接收
准备好
发送
准备好35
例4:若查询8251A接收器是否准备好,则用下列程序段:
MOV DX,309H ;状态口
IN AL,DX ;读状态字
AND AL,02H ;查D1=1?(RXRDY=1?)
JZ L ;未准备好,则等待
MOV DX,308H ;数据口
例5:检查出错信息,则用下列程序段
MOV DX,309H ;状态口
IN AL,DX
TEST AL,38H ;检查D5D4D3三位(FE,OE,PE)
JNZ ERROR ;若其中有一位为1,则出错
36
的方式字和命令的使用
(1)方式字:
约定双方通信的方式,数据格式,传送速率等参
数。
命令字:规定是发送数据,还是接收数据。
状态字:何时发/收、取决于状态字。
(2) 8251A的寻址
c/d接A1,对CPU始终是偶地址,始终使用低8位传
输数据,对8251,可以分奇地址和偶地址,偶地址传
输数据,奇地址传输方式字、命令字、状态字。
37
(3)8251A的初始化编程
异步方式下的初始化
8251A的初始化总是从设置方式指令开始,命令指令不能放
在方式指令之前。而方式指令必须紧跟在复位之后。如果在
使用过程中改变8251A的工作方式,也必须先用命令指令的
D6=l使825lA复位。
同步方式下的初始化
初始化的流程是:程序往此端口输出的依次为方式字、同步
字符和控制字。
三、8251A应用举例
1.要求
在甲乙二台PC之间进行串行通信,甲发送乙接收,要求
把甲机上开发应用程序(其长度为2DH)传送到乙机中去。
38
采用:
①起止式异步方式,
②字符长度为8位,
③ 2位停止位,
④波特率因子为64,无校验,
⑤波特率为4800,
⑥CPU与8251A之间用查询方式交换数据口地址分配是:309H为
状态命令/状态口,308H为数据口
2.分析
由于是近距离传输,可以不设MODEM,直接互连,同时,是
采用查询I/O方式,故收/发程序中只需检查发/收准备好的状
态是否置位,即可收发1个字节。
39
3.设计
1)硬件连接
DTE(Data Terminal Equipment)
根据以上分析把二台PC机都当作数据终端设备DTE,它们
之间只需TXD,RXD和GND三根线连接就能通信。
主要电路:
①8251串行口
②TTL/EIA变换器
③波特率发生器
④地址译码电路
2)软件编程
①发送程序:包括初始化,状态查询,I/O 40
Code SEGMENT
ASSUME CS:Code,DS:Code
TRA PROC FAR
START:MOV AX,CS
MOV DS,AX
MOV DX,309H ;命令口
MOV AL,00H ;空操作,向命令口送任意数
OUT DX,AL
MOV AL,40H ;内部复位(使D6=1)
OUT DX,AL
NOP
MOV AL,0CFH ;方式命令字(异小,2位停止位,
字符长度为8位,无校验,波特率因子为64个/位)
OUT DX,AL 41
MOV AL,37H ;工作命令字(RTS、ER、RXE、
DTR、TXEN均置1)
OUT DX,AL
MOV CX,2DH ;传送字节数
MOV SI,300H ;发送区首址
L1:MOV DX,309H ;状态口
IN AL,DX ;查状态位D0 (TXRDY)=1?
AND AL,01H
JZ L1
MOV DX,308H ;发送未准备好,则等待
MOV AL,[SI] ;数据口
OUT DX,AL
INC SI ;内存地址加1 42
DEC CX ;字节数减1
JNZ L1 ;未发送完,继续
MOV AX,4C00H ;已送完,回DOS
INT 21H
TRA ENDP
Code ENDS
END START
②接收程序(略)
43
本章结束,
谢谢合作!
44