720 likes | 868 Views
第 8 章 输入 / 输出接口. 8.4 串行通信和串行接口 8.5 可编程串行通信接口825 1A. 8.4 串行接口和串行通信. 串行接口 串行通信涉及的几个问题. 8.4.1 串行接口. 串行通信 定义:数据是 一位一位 的传送,在传送过程中,每位数据 占据一个固定的时间长度 优点:节省线路、适合 远距离传输 缺点:速度 较慢. 串行接口组成. 串行接口部件有4个主要寄存器,即: 控制寄存器 状态寄存器 数据输入寄存器 数据输出寄存器. 8.4.2 串行通信涉及的几个问题. 串行通信线路制式( 3 种)
E N D
第8章 输入/输出接口 8.4 串行通信和串行接口 8.5 可编程串行通信接口8251A
8.4串行接口和串行通信 串行接口 串行通信涉及的几个问题
8.4.1 串行接口 串行通信 定义:数据是一位一位的传送,在传送过程中,每位数据占据一个固定的时间长度 优点:节省线路、适合远距离传输 缺点:速度较慢
串行接口组成 串行接口部件有4个主要寄存器,即: 控制寄存器 状态寄存器 数据输入寄存器 数据输出寄存器
8.4.2 串行通信涉及的几个问题 串行通信线路制式(3种) 串行数据的传送方式(2种) 传输率
1.串行通信线路制式 单工方式:其中一边发送另一边接收,只能用在单向传输的场合 半双工方式:接收和发送使用同一通路。(不能同时收发) 全双工方式:接收和发送用不同的通路。(可同时收发)
数据 发送端 接收端 单工方式 半双工方式 全双工方式
2.串行数据的传送方式 同步通信:多个字符组成一个信息块,开始处加上同步字符,结尾处加上CRC字符后作为一帧数据传输。通信双方以相同的时钟频率进行,而且准确协调。 异步通信:通常以一个字符加上起始和终止位后作为一帧数据传输。不要求双方同步,收发方可采用各自的时钟源。
异步通信数据格式 SYNC SYNC 同步通信数据格式
同步方式和异步方式比较: 同步方式每个字符之间没有间隔,传输效率较高,但还要同时传输时钟信号,所以硬件上较复杂。 异步方式传送字符的时间间隔不确定,效率稍低,但不要同步时钟信号,只要收发时钟频率偏差在允许范围内即可。
3. 串行通信的传输率 所谓传输率就是指每秒传输多少位,传输率也常叫波特率,单位bps。 国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为300、600、1200、2400、4800、9600和19200等。
例1 异步传输过程:设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为 1200/10=120个
例2 同步传输:用1200bps的波特率工作,含2个同步字符和2个CRC,每个字符有7个信息位和1个奇偶校验位,那么,每秒钟能传输的字符数则为 8(N+4)/1200=1s→N=146个 可见,在同样的传输率下,同步传输的 实际字符传输率要比异步传输时高。
8.5 可编程串行通信接口8251A 8.5.1 8251A的基本性能 8.5.2 8251A的基本工作原理 8.5.3 8251A的对外信号 8.5.4 8251A的编程 8.5.5 8251A编程举例 8.5.6 8251A的使用实例
8.5.1 8251A的基本性能 可以工作在同步或异步方式。 均能用5、6、7或8位代表字符 均允许奇偶校验 在同步方式时 能自动检测同步字符 在异步方式下 能增加1个启动位 能增加1个、1.5个或2个停止位。
8.5.2 8251A的基本工作原理 8251A的编程结构 8251A的功能结构 8251A的发送和接收
2.8251A的功能结构 包含5个组成部分: 发送器 接收器 数据总线缓冲器 读写控制逻辑电路 调制解调控制电路
3 1 4 2 5 8251A的内部工作原理
发送器 发送控制电路功能: 在异步方式下,为数据加上起始位、校验位和停止位。 在同步方式下,插入同步字符和校验位。
接收器 接收控制电路的功能: 寻找起始位。 消除假起始位干扰。 对接收到的信息进行奇偶校验。 检测停止位。
数据总线缓冲器 与CPU数据总线相连(8位): 数据的发送、接收 方式控制字、操作命令字和状态字的输出、输入
读写控制逻辑电路 WR#——写入数据或控制字 RD#——读取数据或状态字 C/D#——控制/数据信号。 CLK——主时钟,完成内部定时,0.74~3.1MHz之间。 RESET——复位后收发器均空闲。
调制解调控制电路 功能: 远程串行通信需要调制解调器 提供一组通用控制信号,使8251可以直接与调制解调器连接。
3. 8251A的发送和接收 (1) 异步接收方式 条件:RXEN=1,RXD引脚上检测到低电平 过程:检测到负跳变后,再经过半位的时间又采样,如果还为0,表示是起始位。 接着每隔一位的时间采样一次,数据进入移位寄存器,直到停止位(1)。 并行数据送入数据输入寄存器 发出RXRDY信号
(2) 异步发送方式 • 条件:允许发送位TXEN=1有效,外设所发的请求响应信号CTS#=0有效 • 过程:发送时加发送位、校验位、停止位
(3) 同步接收方式 条件: RXEN=1,搜索到同步字符 过程:监测RXD引脚,数据位送入移位寄存器,并与同步字符比较,同则启动接收,同时使SYNDET引脚为高电平有效。 双同步字符则要比较2个字符同时相同才启动接收。 外同步则通过SYNDET输入高电位实现同步。
(4) 同步发送方式 • 条件:允许发送位TXEN=1有效,外设所发的请求响应信号CTS#=0有效 • 过程:先发送1~2个同步字符,然后发送数据,若出现数据中断,则补上同步字符以保证数据无间隙。
8.5.3 8251A的对外信号 1.8251A和CPU之间的连接信号 2.8251A与外部设备之间的连接信号
1 2 3 4 5 8251A的对外信号 8088
1. 8251A和CPU之间的连接信号 (1) 片选信号 CS#为低电平时,8251A被选中 (2) 数据信号 D7~D0与系统的数据总线相连
(3) 读写控制信号 RD#为读信号。 WR#为写信号。 C/D#为控制/数据信号。
(4) 收发联络信号 TXRDY(发送器准备好信号):高电平有效,要求TXEN位、CTS#引脚有效,发送缓冲器为空时才有效。 TXEmpty(发送器空信号):高电平有效,表示并入串出移位寄存器为空,指示一个发送动作已完成。
RXRDY(接收器准备好信号):高电平有效,表示已接收到一个字符,正等待CPU取走RXRDY(接收器准备好信号):高电平有效,表示已接收到一个字符,正等待CPU取走 • SYNDET(同步检测信号):只用于同步方式 • 内同步——输出高电平,表示达到同步状态 • 外同步——输入至少维持一个RXC#时钟周期的高电平,使8251在下一个RXC#时钟下降沿的时候开始接收字符
2. 8251A与外部设备之间的连接信号 (1) 收发联络信号 DTR# 数据终端准备好信号(控制) DSR# 数据设备准备好信号(状态) RTS# 请求发送信号(控制) CTS# 清除请求发送信号(状态)
说明: • 1)4个信号可分为两组,DTR#和DSR#一组,RTS#和CTS#一组,前者一般用于接收,后者一般用于发送; • 2)这些信号是CPU与外设(调制解调器)连接时使用的联络信号;
3)使用时,若处在收发状态,除CTS#必须为低电平以外,其他可以悬空3)使用时,若处在收发状态,除CTS#必须为低电平以外,其他可以悬空 • 4)在与不同外设连接时,这些信号可以赋予特定的物理意义,也可以只接其中的一部分。
(2) 数据信号 TXD 发送器数据信号端 RXD 接收器数据信号端 TXC 发送器时钟(同步=波特率,异步=1、16或64倍波特率) RXC 接收器时钟(同步=波特率,异步=1、16或64倍波特率)
8.5.4 8251A的编程 8251A的初始化 模式寄存器的格式(方式控制字) 控制寄存器的格式(操作命令字) 状态寄存器的格式(状态字)
1. 8251A的初始化 8251A初始化的约定: 复位后,用奇地址写入的值送模式寄存器。 若为同步模式,接着往奇地址端口输出的字节为同步字符。 此后,往奇地址写入的值将送到控制寄存器,往偶地址端口写入的值送到数据输出寄存器。
1 82 51 A 的 初 始 化 2 3 4
2. 模式寄存器的格式(方式控制字) (a) 异步模式
8.5.5 8251A编程举例 8251和调制解调器的连接 异步模式下的初始化程序举例 同步模式下的初始化程序举例 利用状态字进行编程的举例