第九章 串行IO接口 微型计算机原理与应用 电子教案 教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2. 同步通信方式
是用同步字符来标识传送数据的起始与结束,其格式如图9.5所示。 在开始部位设置1~2个同步字符作为起始标志,后面是数据;在数据 的末尾,设置两个循环冗余校验码(CRC),一方面进行数据校验, 另一方面表示数据传送结束。
同步字符可以是1个或2个;也可以在起始部位设置1个,在末 尾设置1个。
9.1.1 概述
1. 串行通信 所谓串行通信,是用一条通信线 路把两台设备连接起来,数据一 位接一位地顺序传送,其示意如 图9.1所示。特点是传输线少,传 送距离远,成本低。
设
1001010
设
备
备
甲
地线
乙
图9.1 串行通信示意图
2. 串行接口电路 是把用于串行通信的电路集成在一起而构成的接口。计算机输入时,
A 发送器
数据
B
接收器
(a) 单 工 方 式
发送器 接收器
数据 发送器 接收器
(b ) 半 双 工 方 式
发送器 接收器
数据
发送器
接收器
(c) 全 双 工 方 式 图 9 .3 串 行 通 信 工 作 方 式
9.1.3 串行通信方式
目前,串行通信主要有两种类型:异步通信ASYNC和同步通信SYNC 方式。 1. 异步通信方式 在异步通信方式中,数据按照ASCII码的格式设定,因此也称为字符 格式,如图9.4所示。
V
D
C
DEI
R
RO
E
R D
R D
… … VC
V
C
D
EDI
R
VC
OR
E
R
R
D
D
DI D R R
DI D R R
图9.E8 ROS-E485半双工通E信电O路E
9.2 可编程串行通信接 8251A
9.2.1 8251A引脚与内部结构 9.2.2 8251A控制与状态寄存器
9.2.1 8251A引脚与内部结构
在RS-232C标准中,逻辑1用负电平(-3V~-15V)表示,逻辑0用 (+3V~+15V)表示。而在计算机内部采用的是TTL电平,所以常用 MC1488/MC1489进行信号转换,其示意如图9.7所示。
MC1488
MC1489
TTL
RS-232C电 平
TTL
发送
接收
图9.7 TTL电平与RS-232C电平转换示意 图
第9章 串行I/O接口
【内容简介】
主要介绍串行通信的基本概念和串行通信接口的基本组成与工作原理,然后 介绍可编程串行通信接口8251A的结构、特性、引脚及应用;最后,通过具体实 例说明串行通信的实现方法与程序设计。
【重点难点】
重点是串行通信的基本概念、类型、工作方式、可编程串行通信接口8251A 的组成原理、功能与初始化程序设计;难点是8251A的组成原理、功能与初始化 程序设计。
外部数据总线
状态 缓冲器
发 送 数 据 /命 令
接收数据
缓冲器
缓冲器
内部数据总线
R ES ET C LK RD WR C /D CS
DT R DSR RT S CTS
读 /写 控制 逻辑
发送缓冲器 发送控制
调制 解调 控制
接收缓冲器 接收控制
图 9 .1 0 8 2 5 1 A 的 内 部 结 构
状态寄存器
控制寄存器
控制
控制联 络信号
中断请求 读 写
地址 译码
地址总线
CS A0
数据输入寄存器
串 行 输 入 /并 行 输 出
并 行 输 入 /串 行 输 出
数据输出寄存器
串行输入 串行输出
发送时钟 接收时钟
图 9.2 典 型 串 行 接 口 电 路 框 图
3. 数据输入 (1)CPU向接口电路发控制命令,设置接口输入工作方式;同时,启
接收设备不断地检测传输线。在高电平之后检测到0(低电平) 时,启动内部计数器计数,当计数到一个数据位宽度的一半时,再次 检测传输线,若仍为低电平,则确认1个起始位。然后继续计数,采 样,移位接收到的数据和校验位。在收到停止位(高电平)后,组成 1帧。 若超过数据的位数而仍没有收到停止位时设置“帧错误”标 志。若校验有错,则设置“校验错”标志。计算机异步通信的速率和 有效数据的位数可由程序设置。
1. 8251A外部引脚 8251A的引脚如图9.9所示,除地线和电 源线外,可分为四组。
(1)与CPU连接引脚 D7~D0:数据线,双向,与系统数据 总线连接,传送数据、命令及8251A状 态字。 CS:片选信号,输入,低电平有效。 RD:读信号,输入,低电平有效。 WR:写信号,输入,低电平有效。
允许发送CTS
18
未定义
数据装置准备好DSR
19
(辅信道)请求发送RTS
信号地(公共回路)
20(4)
数据终端准备好DTR
接收信号线检测
21
信号质量检测
(保留供数传机测试)
22(9)
振铃指示RI
(保留供数传机测试)
23
数据信号速率(DTE/DCE)选择
未定义
24
发送信号源(DTE)定时
(辅信道)接收信号线检测
25
未定义
(辅信道)允许发送CTS
在使用电话线远距离通信时,发送端要用调制器把数字信号附 加到载波上接收端则用解调器进行解调,从载波上还原出数字 信号,其示意如图9.6所示。
数字 信号
计算 机
RS 23 2C
Mode m
模拟 传输
数字 信号
Mode m
RS 23 2C
计算 机
图9.6 RS-232C串行通信
外部设备/调制解调器上接收到一个字节的数据,等待CPU的读取。 SYNDET/BRKDET:同步/间断检测信号,双向。同步方式时作为
同步监测端,异步方式时作为间断检测端。 RxC:接收器时钟,输入,用来控制8251A接收数据的速度,
要求与TxC相同。
2. 8251A的内部结构 8251A的内部结构图如图9.10所示,由5个主要部分组成,即接收 器、发送器、调制解调控制逻辑电路、读/写控制逻辑电路和数据总线 缓冲器。
停
起始位(5~8)
止 位
D0 D1 D2 D3 D4 … DX 1/0
起
奇
始
偶
位
位
图9.4 异步通信的数据格式
有效数据5-8位,另有附加位。其中起始位1位,恒为低电平;奇偶校 验位1位,可选;停止位可以是1位、1.5位或者2位,高电平。传送一 个字符必须以起始位开始,停止位结束,称为一帧(Frame)。 通 信时每秒传送二进制数据的位数(bit)称为传输率,也称为波特率 (Band Rate),比如300、600、1200、4800、9600、19200等。 异步数据传送时,发送设备按照格式约定插入起始位、奇偶校验位和 停止位。
数据的并/串转换和串/并转换 通过移位寄存器来进行。 另外,还有总线缓冲器、地址译码 器以及控制逻辑电路。其中控制 寄存器接收CPU的控制命令,以 确定工作方式;状态寄存器用来 存储外部设备及接口的状态信息。 数据输入输出寄存器与串行输入/ 并行输出移位寄存器配合使用, 实现数据的输入输出与转换。
数据总线 缓冲器
需要把外设的串行数据转换成并行数据,输入给计算机;计算机输出 时需要把并行数据转换成串行数据,输出给外部设备。图9.2所示是 用于串行通信的接口电路,支持同步与异步工作方式,故称为通用同 步/异步接收器/发送器USART.
由图9.2可以看出,串行接口一 般包含4个寄存器,即控制寄存器、 状态寄存器、数据输入寄存器及 数据输出寄存器。
表9.2 8251A的控制信号的功能组合
CS RD WR C/D
0
0
1
0
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
X
1
X
X
X
方向 CPU←8251A CPU→8251A CPU←8251A CPU→8251A
功能 读数据 写数据 读状态 写控制命令 高阻态 高阻态
(2)与外部设备/调制解调器连接引脚 DTR:数据终端准备好,输出,低电平有效,通过编程使方式命
图 9.9 8251A 引 脚 图
C/D:控制/数据选择,输入,高电平时CPU读/写8251A控制/状 态寄存器,低电平时CPU读/写数据寄存器。
CS、RD、WR 和 C/D 信号的作用如表9.2所示。 RESET:复位信号,输入,高电平有效,宽度为6个时钟周期,复位后 8251A处于空闲等待状态。 CLK:时钟信号,同步方式时其频率≥数据传输频率的30倍;异步方式 时,≥传输频率的4.5倍。
动外设工作。 (2)外设数据通过串行输入端送入串行输入/并行输出移位寄存器,经
转换后送入数据输入寄存器。 (3)向CPU发输入请求或由CPU查询接口状态标志位,然后读取数据。 4. 数据输出 (1)CPU发控制命令,设置接口输出工作方式;同时,启动外设工作。 (2)CPU通过数据总线向接口电路发送数据和写命令,数据暂存在输
引脚 1
2(3) 3(2) 4(7) 5(8) 6(6) 7(5) 8(1)
9 10 11 12 13
表9.1 RS-232C标准信号
功能说明
引脚
功能说明
保护地
14
(辅信道)发送数据
发送数据TxD
15
发送信号源(DCE)定时
接收数据RxD
16
(辅信道)接收数据
请求发送RTS
17
接收信号源(DCE)定时
令字的D1位置1,信号有效。 DSR:数据设备准备好,输入,低电平有效,是对DTR的响应,
表示调制解调器或外设发送准备就绪,通过读入状态字的D7位检测该 信号。
RTS:请求发送,输出,低电平有效,表示8251A发送准备就绪, 通过编程使方式命令字的D5位置1,信号有效。
CTS:允许发送,输入,低电平有效,是对RTS的响应;有效时, 表示外设或调制解调器允许8251A发送数据。
D2 D3 Rx G ND D D4 D5 D6 D7 T xC WR CS C /D RD R xR D Y
1
28
2
27
3
26
4
25
5
24
6
23
7 8251A 22
8
21
9
20
ห้องสมุดไป่ตู้10
19
11
18
12
17
13
16
14
15
D1 D0
+5V R xC
DTR RT S DSR RESE CT L K T xD T xEM PT CTS S YNDET /B R KD TE x R D Y
按照同步方式工作时,发送设备自动插入同步字符和校验码。接 收设备搜索到同步字符后开始接收数据。在传输过程中,发送设备和 接收设备保持完全同步。
…..
SYN字符 SYN字符
数据
1
2
图9.5 同步通信数据格式
9.1.4 RS-232C/485标准与接口电路
1. RS-232C信号定义 RS-232C是在计算机与数据终端串行通信中普遍采用的一种传输标 准,有25条信号线,采用D型25针连接器,信号定义如表9.1所示。 而在微型计算机中串行接口COM1和COM2使用的是D型9针连接器。 其信号是对RS-232C的缩减,符合RS-232C标准。 由于RS-232C数据信号与计算机中的数据表示不一致,因此相互之 间需要电平转换电路;在远程通信时需要配置调制解调器 (Modem)。
3.RS-485接口电路
RS-485标准接口可使用单一+5V(或+3V)电源,输入输出电平
与TTL电路兼容,共模电压最大最小值分别为+12V和-7V,差分输入 范围为-7V~+12V,接收器的灵敏度为200mV,支持半双工和全双
工通信.
图9.8所示是用MAX481类芯片构成的半双工通信电路。其中每个芯 片包含一个非对称转对称的驱动器D和一个对称转非对称的接收器R。 DI表示数据输入端,RO表示数据输出端。特点是传输距离远,可靠 性高,在传输速率为9600b/s时最大距离为1500m;在传输速率为 100Mb/s时,传输距离可达15m。
(3)与发送控制有关的引脚
TxD:数据发送端,输出。 TxRDY:发送器准备好,输出,高电平有效,表示8251A准备好 接收CPU的数据。
TxE:发送器空,输出,高电平有效,表示8251A发送器空。 TxC:发送器时钟,输入,同步方式下TxC的频率等于波特率;
异步方式下TxC的频率可以是数据速率的1、16或64倍。。 (4)与接收控制有关的引脚 RxD:数据接收端,输入。 RxRDY:接收器准备好,输出,高电平有效,表示8251A从
出寄存器中。
(3)经并行输入/串行输出移位寄存器转换后,数据串行输出。 在一般串行接口电路中,控制与状态寄存器共用一个地址;数据输 入与数据输出寄存器共用一个地址。
9.1.2 串行通信类型
串行通信类型有三种,如图9.3所示,即单工、半双工和全双工方式。 1. 单工方式 数据按照一个固定的方向传送,不能反向传送。如图9.3(a)所示, 由设备A发送给设备B。 2. 半双工方式 要求通信两端的设备均具备接收和发送的能力。但是在同一时间,数 据只能沿着一个方向传送。若要双向传送,只能交替进行。如图9.3 (b)所示。 3. 全双工方式 通信两端的设备即可以发送数据,也可以接收数据,发送与接收可以 同时进行,其过程如图9.3(c)所示。