第10章_串行通信和DMA控制接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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
1:内部复位,使8251A回到方式选择格式 1:搜索同步字符
D7
D6
D5 D4
D3
D2
D1
D0
EH IR RTS ER SBPK RxE DTR TxEN
D0 允许发送位,只有当D0=1时,才允许发送器通过 TxD引脚向外设发送数据。
D1 数据终端准备好位,当D1=1时,使 DTR 引脚输出 低电平,表示已做好了接收数据的准备。
同步字符1
同步字符2
数据字符
串行传送速率
每秒钟传送的数据位数称为波特率,单位 为波特(bps)。在串行通信中,利用波特 率来表示数据传送的速率。
异步串行传送常用的波特率为110,300, 600,1200,2400,4800,9600,19200, 28800,36400,57600波特。同步传送的波 特率高于异步传送的波特率。
间可以同时发射和接收数据。
串行传送的基本工作方式
1.异步方式
不发送数据时,数据信号线为高电平,处于空闲状态。当有 数据要发送时,数据线变为低电平,表示传送字符开始,该位称 为起始位。起始位之后,在信号线上依次出现发送的每一位字符 数据,最低有效位D0最先出现,因此它被最早发送出去。在数据 位的后面有一个奇偶校验位。在奇偶校验位的后面有1到2位的高 电平,称为停止位,用于表示字符的结束。如果传输完一个字符 后,立即传输下一个字符,则后一个字符的起始位就紧跟在前一 个字符的停止位后,否则停止位后又进入空闲状态。
发送缓冲器和控制电路
D7~D0
RESET CLK C/D RD WR CS
DSR DTR CTS RTS
数据 总线 缓冲器
读/写 控制 电路
调制器 调控制 电路
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
RxD
RxRDY RxC SYNDET/BRKDET
D2 允许接收位,只有当D1=1时,才允许接收器通过 RxD引脚从外设接收数据。
D3 发送空白字符位。正常工作时,该位为0,当D3=1 时,使TxD引脚变为低电平,也就是一直在发送0。
读/写控制电路
数据
D7~D0
总线
RESET为复位信号,输
缓冲器
入,高电平有效。
RESET CLK
读/写
C/D
控制
该信号有效时,8251A
RD WR
电路
CS
进入空闲状态,等待对 DSR
DTR
调制器
, 芯片进行初始化编程。
CTS RTS
调控制 电路
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
WR CS
电路
冲器就开始检测RxD
DSR DTR
调制器
Βιβλιοθήκη Baidu
CTS
调控制
上的信号,一旦
RTS
电路
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
RxD
RxRDY RxC SYNDET/BRKDET
检测到RxD上出现启动信号,接收控制器中的内部计 数器对 RxC 上的时钟频率进行计数,输入的数据送到 移位寄存器中,被移位和奇偶校验,然后删除起始位 和停止位,转换为并行数据,进入接收数据缓存器中, 并将RxRDY上输出高电平,通知CPU取走数据。
外同步和内同步所
不同的是同步字符检测
数据
D7~D0
总线
不是由8251A完成的,
缓冲器
而是由外部电路来实现 RESET
CLK
读/写
C/D
控制
同步字符的检测,当检
RD WR
电路
CS
测到同步字符时,通过 DSR
DTR
调制器
SYNDET引脚给8251A
CTS RTS
调控制 电路
发送 缓冲器
发送 控制 电路
1.数据总线缓冲器
D7~D0 为相关联的引脚。
D7~D0
数据 总线 缓冲器
数据总线缓冲器是CPU与
RESET CLK
读/写
C/D
控制
8251A的数据接口,CPU与
RD WR
电路
CS
8251A的数据传送必经过该 DSR
DTR
调制器
缓冲器。8251A内部包含了3 CTS RTS
调控制 电路
个8位的缓冲寄存器。
接收缓冲器和接收控制电路
D7~D0
数据 总线 缓冲器
接收缓冲器由接收
RESET
移位寄存器、串/并变
CLK C/D
读/写 控制
RD
电路
换电路和同步字符寄存
WR CS
器构成。
DSR DTR CTS RTS
调制器 调控制
电路
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
输入的频率可以是发送波特率的1倍、16倍或64倍。
当工作于同步方式时,发送控制器给发送数据加 上1到2个同步字符,依次从TxD端发送出去。同步发送
时,数据传输率等于 TxC 上输入的时钟频率。
TxRDY为发送器准备好信号,当发送数据/命令缓 冲器为空时,8251A的TxRDY引脚输出高电平,表示 已准备好从CPU接收数据。对于中断数据传送方式, 该信号可作为中断请求信号,请求CPU输出数据。
D3D2:用来确定字符数据的长度,通过不同的组合,字符的 长度可以是5、6、7、8位。
D4:用来确定是否可以带奇偶校验位。当D4=1时,表示带奇 偶校验位,当D4=0时,表示不带奇偶校验位。
D5:用来确定是采用偶校验,还是奇校验。当D4=0时,该位 为任意项。
D7D6:在同步和异步时的含义是不同的。在异步工作方式时, 是用来确定停止位的长度。在同步工作方式时,确定内同步还 是外同步。当为内同步时,确定内同步字符的个数。
第二节 串行通信接口芯片8251A
8251A的内部结构和引脚
D7~D0
数据 总线 缓冲器
RESET CLK C/D RD WR CS
DSR DTR CTS RTS
读/写 控制 电路
调制器 调控制 电路
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
RxD
RxRDY RxC SYNDET/BRKDET
当8251A工作于
数据
D7~D0
总线
内同步时,CPU发出
缓冲器
允许接收数据命令后,RESET
CLK
读/写
8251A开始检测RxD
C/D RD WR
控制 电路
CS
上的信号,把接收到
DSR
DTR
调制器
的数据送入移位
CTS
调控制
RTS
电路
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
单工 数据流
半双工
B R
T R
个方向上传输数据,两 T R
R T 全双工
个设备之间进行通信时,一边发射数据,另一边只能接
收数据。
2.半双工 半双工传送方式中,数据可以在两个设备之间任意方向
传送,但是由于只有一根传输线,故在同一时间内只能
在一个方向上传输数据,不能同时收发。
3.全双工 由于在两个设备之间有两根数据传输线,所以两个设备
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
输入高电平,只要输入的SYNDET高电平维持一个时 钟周期,8251A便认为已达到同步。
BRKDET为异步工作方式时使用。当8251A从 RxD端连续收到两个由全0位组成的字符时,BRKDET 上输出高电平,表示当前无数据可读。
RxD
RxRDY RxC SYNDET/BRKDET
寄存器中,并与同步字符寄存器的内容相比较,若两 者不符,则继续接收并比较,直到相同后,在
SYNDET上输出高电平,表示同步字符已找到。如果 8251A是双同步字符工作方式,则还需要搜索到第二 个同步字符才表示已全部找到同步字符。找到同步字
符后,就可以从RxD端接收数据位了。其余步骤同异 步工作方式。
第10章 串行通信和DMA控制接口
第一节 串行通信的基本概念
远距离通信一般都采用串行通信 方式,和并行数据传送不同,在串行 数据传送时,要传送的数据要按照所 规定的格式进行编码,逐位进行传送, 接收端再根据编码格式进行逐位接收, 合并成字符。
数据传送的方式
A
T
1.单工 T
单工传送方式只能在一 R
当CPU要向外设输出数据时,利用OUT指令把 要发送的数据经8251A的D7~D0进入到8251A的发 送缓冲器中,再由发送缓冲器中的移位寄存器将并 行数据转换成串行数据,然后经TxD端发送出去。
当工作于异步方式时,发送控制器给发送数据加 上起始位、奇偶校验位和停止位,依次从TxD端发送出
去。发送速率取决于TxC 输入的发送时钟频率,TxC 上
D0 空闲位 起始位
一帧
第n个字符
D1
……
数据位(5~8)位
第n+1个字符
DX
(1~2位)
D0 ……
校验位 停止位 空闲位 起始位
2.同步方式
同步方式数据传送格式如图10.3所示。没有数据发 送时,数据线处于空闲状态。为了表示数据传输开始, 发送方先发送一个或两个特殊字符,称为同步字符。接 着就可以一个字符接着一个字符地发送一块数据,不需 要用到起始位和停止位。这样就可以提高数据的传输速 率。
RxD
RxRDY RxC SYNDET/BRKDET
在时钟脉冲控制下,从引脚RxD端接收串行数据, 转换成并行数据后存入接收缓冲器。接收控制电路配 合接收缓冲器工作。
异步工作方式
D7~D0
数据 总线 缓冲器
在异步工作方式下,
当CPU发出允许接收 RESET CLK C/D
读/写 控制
RD
数据命令后,接收缓
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为波 特率系数。
发送 缓冲器
发送 控制 电路
接受 缓冲器
接受 控制 电路
TxD
TxRDY TxE TxC
RxD
RxRDY RxC SYNDET/BRKDET
其中状态缓冲器和接收数据缓冲器分别用于存放8251A的状 态信息和接收的数据,CPU可用IN指令从这两个缓冲器中读 取状态和数据。第3个缓冲器为发送数据/命令缓冲器,用来 存放CPU用OUT指令向8251A写入的数据或命令字。
TxD
TxRDY TxE TxC
RxD
RxRDY RxC SYNDET/BRKDET
CLK 为时钟输入信号:时钟信号作为8251A内部的定时
信号,比 RxC 和 TxC 的频率都大。
RD ,WR 分别为读、写控制信号,低电平有效。
CS 为片选信号,低电平有效
C/ D (Control/Data)控制/数据信号,通常作为低
位地址输入端。
C/ D =1时,对应控制口,当前数据总线传送的是控
制信息或状态字。
C/ D =0时,对应数据口,当前数据总线传送的是数
据信息。
C/ D 类似于8259A的地址端A0,所以8251A占用两
个端口地址。
调制解调控制电路
(1)DTR 数据终端准备好信号,输出,低电平有效。 该信号通知调制解调器,可以接收数据。 (2)DSR 数据设备准备好信号,输入,低电平有效。 该信号由调制解调器发出,通知8251A可以接收数据。 (3) 请求发送信号,输出,低电平有效。 该信号R表TS示计算机已准备好数据,请求发送。 (4) 允许发送信号,输入,低电平有效。
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引脚输出低电平
相关文档
最新文档