内容正文:
微机原理与接口技术
(第2版 )
第12章 串行通信与串行接口
12.1 串行通信
12.2 可编程异步通信接口INS 8250
12.2 可编程异步通信接口INS 8250
12.2.1 INS 8250简介
12.2.2 INS 8250的引脚
12.2.3 INS 8250的内部结构与寄存器
12.2.4 可编程异步通信接口INS 8250的编程
主要功能如下。
(1)支持异步串行通信规程,发送时可自动插入起始位、停止位和奇偶校验位,接收时能自动删除。通信字符可选择的数据位为5~8位,停止位可选择1、1.5或2位,可进行奇偶校验,具有奇偶、帧和溢出错误检测电路。
(2)内部具有可编程的时钟产生电路。8250支持的数据传输速率为50~9600b/s。
(3)内部有调制解调器控制器。
(4)具有优先级排队的中断系统。
(5)发送和接收都采用双缓冲结构。
12.2.1 INS 8250简介
12.2.2 INS 8250的引脚
引脚功能说明如下。
D7~D0:数据线。
A2~A0:地址线。
片选线:8250设计了3个片选输入信号(CS0、CS1、CS2#)和一个片选输出信号(CSOUT)。
ADS#:地址选通信号。
读控制线:数据输入选通DISTR(高电平有效)和DISTR#(低电平有效)有一个信号有效时,CPU从8250内部寄存器读出数据,相当于I/O读信号。
12.2.2 INS 8250的引脚
写控制线:数据输出选通DOSTR(高电平有效)和DOSTR#(低电平有效)有一个有效时,CPU就将数据写入8250内部寄存器,相当于I/O写信号。
DDIS:驱动器禁止信号,用来禁止外部收发器对系统总线的驱动。
MR:主复位线,硬件复位信号。
INTR:中断请求线,8250有4级共10个中断源,当任一个未被屏蔽的中断源有请求时,INTR输出高电平向CPU请求中断。
12.2.2 INS 8250的引脚
时钟类信号:包括XTAL1、XTAL2、BAUDOUT#、RCLK。
XTAL1:时钟输入引脚。
XTAL2:时钟输出引脚。
BAUDOUT#:波特率输出引脚。
RCLK:接收外部提供的接收时钟信号。
12.2.2 INS 8250的引脚
串行异步接口引脚:
SIN:串行数据输入
SOUT:串行数据输出
DSR#:数据设备就绪
DTR#:数据终端就绪
RI#:振铃指示
DCD#:接收线路信号检测
RTS#:请求发送
CTS#:清除发送
输出线OUT1#和OUT2#:由调制解调器控制寄存器的D2和D3使其输出低电平有效信号。
12.2.2 INS 8250的引脚
1.INS 8250的内部结构
由数据总线缓冲器、地址选择和控制逻辑、接收/发送移位寄存器、Modem控制逻辑和可编程寄存器等组成。
12.2.3 INS 8250的内部结构与寄存器
图12.2.2 INS 8250内部结构
1.INS 8250的内部结构
1)数据总线缓冲器
2)寻址与读/写控制逻辑
3)调制解调器控制逻辑电路
4)发送器
5)接收器
6)波特率发生控制电路
该电路由波特率除数寄存器(高字节、低字节锁存器)和波特率发生器组成。
波特率因子=外部提供的标准时钟频率/(波特率×16)
7)中断控制电路
12.2.3 INS 8250的内部结构与寄存器
2.INS 8250的寄存器组
8250内部有9种可访问的寄存器,除数寄存器是16位的,占用两个连续的8位端口。
12.2.3 INS 8250的内部结构与寄存器
CS0 CS1 CS2 A2 A1 A0 DLAB COM1地址 寄存器
1 1 0 0 0 0 0 3F8H 发送保持寄存器(写)
1 1 0 0 0 0 0 3F8H 接收缓冲寄存器(读)
1 1 0 0 0 0 1 3F8H 除数锁存器(低8位)
1 1 0 0 0 1 1 3F9H 除数锁存器(高8位)
1 1 0 0 0 1 0 3F9H 中断允许寄存器(IER)
1 1 0 0 1 0 × 3FAH 中断识别寄存器(MCR)
1 1 0 0 1 1 × 3FBH 通信线路控制寄存器(LCR)
1 1 0 1 0 0 × 3FCH Modem控制寄存器(MCR)
1 1 0 1 0 1 × 3FDH 通信线路状态寄存器(LSR)
1 1 0 1 1 0 × 3FEH Modem状态寄存器(MSR)
1 1 0 1 1 1 × 3FFH (无效)
2.INS 8250的寄存器组
12.2.3 INS 8250的内部结构与寄存器
CS0 CS1 CS2 A2 A1 A0 DLAB COM1地址