当前位置:
文档之家› 第10章_串行通信和DMA控制接口
第10章_串行通信和DMA控制接口
1.数据总线缓冲器
D7~D0 为相关联的引脚。
D7~D0
数据 总线 缓冲器
数据总线缓冲器是CPU与
RESET CLK
读/写
C/D
控制
8251A的数据接口,CPU与
RD WR
电路
CS
8251A的数据传送必经过该 DSR
DTR
调制器
缓冲器。8251A内部包含了3 CTS RTS
调控制 电路
个8位的缓冲寄存器。
CTS
8251A的编程
1.方式选择控制字
D7
D6
D5 D4
D3
D2
D1
D0
S2
S1
EP PEN L2
L1
B2
B1
00:同步方式 01:异步方式(×1) 10:异步方式(×16) 11:异步方式(×64)
00:字符长度为5位 01:字符长度为6位 10:字符长度为7位 0:带奇偶校验 11:字符长度为8位 0:偶校验 1:不带奇偶校验 1:奇校验
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
RxD
RxRDY RxC SYNDET/BRKDET
其中状态缓冲器和接收数据缓冲器分别用于存放8251A的状 态信息和接收的数据,CPU可用IN指令从这两个缓冲器中读 取状态和数据。第3个缓冲器为发送数据/命令缓冲器,用来 存放CPU用OUT指令向8251A写入的数据或命令字。
发送缓冲器和控制电路
D7~D0
RESET CLK C/D RD WR CS
DSR DTR CTS RTS
数据 总线 缓冲器
读/写 控制 电路
调制器 调控制 电路
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
RxD
RxRDY RxC SYNDET/BRKDET
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
RxD
RxRDY RxC SYNDET/BRKDET
输入高电平,只要输入的SYNDET高电平维持一个时 钟周期,8251A便认为已达到同步。
BRKDET为异步工作方式时使用。当8251A从 RxD端连续收到两个由全0位组成的字符时,BRKDET 上输出高电平,表示当前无数据可读。
输入的频率可以是发送波特率的1倍、16倍或64倍。
当工作于同步方式时,发送控制器给发送数据加 上1到2个同步字符,依次从TxD端发送出去。同步发送
时,数据传输率等于 TxC 上输入的时钟频率。
TxRDY为发送器准备好信号,当发送数据/命令缓 冲器为空时,8251A的TxRDY引脚输出高电平,表示 已准备好从CPU接收数据。对于中断数据传送方式, 该信号可作为中断请求信号,请求CPU输出数据。
读/写控制电路
数据
D7~D0
总线
RESET为复位信号,输
缓冲器
入,高电平有效。
RESET CLK
读/写
C/D
控制
该信号有效时,8251A
RD WR
电路
CS
进入空闲状态,等待对 DSR
DTR
调制器
, 芯片进行初始化编程。
CTS RTS
调控制 电路
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
同步字符1
同步字符2
数据字符
串行传送速率
每秒钟传送的数据位数称为波特率,单位 为波特(bps)。在串行通信中,利用波特 率来表示数据传送的速率。
异步串行传送常用的波特率为110,300, 600,1200,2400,4800,9600,19200, 28800,36400,57600波特。同步传送的波 特率高于异步传送的波特率。
S2 S1 0 0 无效 异 0 1 1位停止位 步 1 0 1.5位停止位 1 1 2位停止位 0 0 2个同步字符,内同步SYNDET为输出 同 0 1 2个同步字符,外同步SYNDET为输入 步 1 0 1个同步字符,内同步SYNDET为输出 1 1 1个同步字符,外同步SYNDET为输入
D1D0:用来确定8251A是工作于同步方式还是异步方式。如果 是异步方式,则D1D0=01,表示输入的时钟频率与波特率相同; D1D0=10,表示输入的时钟频率是波特率的16倍;D1D0=11, 表示输入的时钟频率是波特率的64倍。通常称1、16、64为波 特率系数。
外同步和内同步所
不同的是同步字符检测
数据
D7~D0
总线
不是由8251A完成的,
缓冲器
而是由外部电路来实现 RESET
CLK
读/写
C/D
控制
同步字符的检测,当检
RD WR
电路
CS
测到同步字符时,通过 DSR
DTR
调制器
SYNDET引脚给8251A
CTS RTS
调控制 电路
发送 缓冲器
发送 控制 电路
位地址输入端。
C/ D =1时,对应控制口,当前数据总线传送的是控
制信息或状态字。
C/ D =0时,对应数据口,当前数据总线传送的是数
据信息。
C/ D 类似于8259A的地址端A0,所以8251A占用两
个端口地址。
调制解调控制电路
(1)DTR 数据终端准备好信号,输出,低电平有效。 该信号通知调制解调器,可以接收数据。 (2)DSR 数据设备准备好信号,输入,低电平有效。 该信号由调制解调器发出,通知8251A可以接收数据。 (3) 请求发送信号,输出,低电平有效。 该信号R表TS示计算机已准备好数据,请求发送。 (4) 允许发送信号,输入,低电平有效。
当8251A工作于
数据
D7~D0
总线
内同步时,CPU发出
缓冲器
允许接收数据命令后,RESET
CLK
读/写
8251A开始检测RxD
C/D RD WR
控制 电路
CS
上的信号,把接收到
DSR
DTR
调制器
的数据送入移位
CTS
调控制
RTS
电路
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
D2 D3 RxD GND D4 D5 D6 D7 TxC WR CS C/D RD RxRDY
1
28
2
27
3
26
4
25
5
24
6
23
7
22
8251A
8
21
9
20
10
19
11
18
12
17
13
16
14
15
D1 D0 VCC RxC DTR RTS DSR RESET CLK TxD TxEMPTY CTS SYNDET/BRKDET TxRDY
RxD
RxRDY RxC SYNDET/BRKDET
在时钟脉冲控制下,从引脚RxD端接收串行数据, 转换成并行数据后存入接收缓冲器。接收控制电路配 合接收缓冲器工作。
异步工作方式
D7~D0
数据 总线 缓冲器
在异步工作方式下,
当CPU发出允许接收 RESET CLK C/D
读/写 控制
RD
数据命令后,接收缓
间可以同时发射和接收数据。
串行传送的基本工作方式
1.异步方式
不发送数据时,数据信号线为高电平,处于空闲状态。当有 数据要发送时,数据线变为低电平,表示传送字符开始,该位称 为起始位。起始位之后,在信号线上依次出现发送的每一位字符 数据,最低有效位D0最先出现,因此它被最早发送出去。在数据 位的后面有一个奇偶校验位。在奇偶校验位的后面有1到2位的高 电平,称为停止位,用于表示字符的结束。如果传输完一个字符 后,立即传输下一个字符,则后一个字符的起始位就紧跟在前一 个字符的停止位后,否则停止位后又进入空闲状态。
第10章 串行通信和DMA控制接口
第一节 串行通信的基本概念
远距离通信一般都采用串行通信 方式,和并行数据传送不同,在串行 数据传送时,要传送的数据要按照所 规定的格式进行编码,逐位进行传送, 接收端再根据编码格式进行逐位接收, 合并成字符。
数据传送的方式
A
T
1.单工 T
单工传送方式只能在一 R
2.操作命令控制字
D7
D6
D5 D4
D3
D2
D1
D0
EH IR RTS ER SBPK RxE DTR TxEN
1:允许发送 0:禁止发送 1:使DTR引脚输出低电平 1:允许接收 0:禁止接收 1:使TxD线变低,发送空白字符 0:正常工作
1:使错误标志PE,OE,FE均复位 1:使RTS引脚输出低电平
D2 允许接收位,只有当D1=1时,才允许接收器通过 RxD引脚从外设接收数据。
D3 发送空白字符位。正常工作时,该位为0,当D3=1 时,使TxD引脚变为低电平,也就是一直在发送0。
D3D2:用来确定字符数据的长度,通过不同的组合,字符的 长度可以是5、6、7、8位。
D4:用来确定是否可以带奇偶校验位。当D4=1时,表示带奇 偶校验位,当D4=0时,表示不带奇偶校验位。
D5:用来确定是采用偶校验,还是奇校验。当D4=0时,该位 为任意项。
D7D6:在同步和异步时的含义是不同的。在异步工作方式时, 是用来确定停止位的长度。在同步工作方式时,确定内同步还 是外同步。当为内同步时,确定内同步字符的个数。
1:内部复位,使8251A回到方式选择格式 1:搜索同步字符