可编程串行接口芯片
可编程串行通信接口芯片8251A

可编程串行通信接口芯片8251A可编程串行通信接口芯片8251A2010-05-25 15:058251 A是一个通用串行输入/输出接口,可用来将86系列CPU以同步或异步方式与外部设备进行串行通信。
它能将主机以并行方式输入的8位数据变换成逐位输出的串行信号;也能将串行输入数据变换成并行数据传送给处理机。
由于由接口芯片硬件完成串行通信的基本过程,从而大大减轻了CPU的负担,被广泛应用于长距离通信系统及计算机网络。
8251A是一个功能很强的全双工可编程串行通信接口,具有独立的双缓冲结构的接收和发送器,通过编程可以选择同步方式或者异步方式。
在同步方式下,既可以设定为内同步方式也可以设定为外同步方式,并可以在内同步方式时自动插入一个到两个同步字符。
传送字符的数据位可以定义为5~8位,波特率0~64K可选择。
在异步方式下,可以自动产生起始和停止位,并可以编程选择传送字符为5~8位之间的数据位以及1、1/2位之中的停止位,波特率0~19.2K可选择。
同步和异步方式都具有对奇偶错、覆盖错以及帧错误的检测能力。
一、8251A内部结构及功能图8.5.1为8251A结构框图。
作为常用的通信接口,和8255A类似,8251A 的结构也可以归纳为以下三个部分:第一部分是和CPU或者总线的接口部分,其中包括数据总线缓冲器、读/写控制逻辑。
数据总线缓冲器用来把8251A和系统数据总线相连,在CPU执行输入/输出指令期间,由数据总线缓冲器发送和接收数据,此外,控制字,命令字和状态信息也通过数据总线缓冲器传输,读/写控制逻辑电路用来配合数据总线缓冲器工作。
CPU通过数据总线缓冲器和读写控制逻辑向8251A写入工作方式和控制命令字,对芯片初始化;向8251A写入要发送字符的数据代码,送到发送缓冲器进行并行到串行的转换,并且将接收的、已转换成并行代码的接收缓冲器中的字符数据读入CPU。
第二部分是数据格式转换部分,包括发送缓冲器、并行数据到串行数据转换的发送移位器,接收缓冲器和串行数据到并行数据转换的接收移位器,以及发送控制电路和接收控制电路。
第十九讲 可编程接口芯片及应用(8250A)(2)

第八章 可编程接口芯片及应用技术
4)具有独立的接收时钟输入引脚。 )具有独立的接收时钟输入引脚。 5)有CPU发向调制解调器的信号,还有能接收 ) 发向调制解调器的信号, 发向调制解调器的信号 并记录由调制解调器发送到计算机的状态信息。 并记录由调制解调器发送到计算机的状态信息 。 可方便地与MODEM相连。 相连。 可方便地与 相连 6)具有带优先级排序的中断系统,有多种中断 )具有带优先级排序的中断系统, 源。 7)具有可记录所有状态信息的状态寄存器和检 ) 查起始位出错的能力。 查起始位出错的能力。
图 6 33 传 输 线 控 制 寄 存 器 LCR LCR
的 0= 1= 0= 1= 00=5 01=6 10=7 11=8 1 (D4=1,D3=1, 0 , 0=1 1= 6~8 SOUT 2 的 5 1.5
的 控 制 字 格
, D4=0,D3=1, 1) 0= 1=
(DLAB) 0= RBR TBR IER 1= 存器 DLL DLH
第八章 可编程接口芯片及应用技术
第十九讲 7.3 可编程串行输入 输出接口芯片 可编程串行输入/输出接口芯片 输出接口芯片8250A
7.3.2 Intel 8250A
返回本章首页
第八章 可编程接口芯片及应用技术
7.3.2 Intel 8250A
1.主要功能 . INS 8250的主要功能有: 的主要功能有: 的主要功能有 1)8250支持异步通信规程。 ) 支持异步通信规程。 支持异步通信规程 2)8250的异步通信的数据格式可由 ) 的异步通信的数据格式可由 用户编程选择。 用户编程选择。 3)内部具有可编程时钟产生电路。 )内部具有可编程时钟产生电路。
AL,0EH ;7位字符,1位停止位,奇校验 , 位字符, 位停止位 位停止位, 位字符 DX,AL ;写入 , 写入LCR控制字 控制字 DX,2FCH , AL,03H , DX,AL , DX,2F9H ;设定 , 设定IER口地址 口地址 ;禁止一切中断 ;设定MCR口地址 设定 口地址 ;置MCR控制字 控制字
串行通信和可编程串行接口芯片8251A

控制线的连接
控制线用于控制8251a芯片的工作方式和状态,如起始位、 停止位、波特率等。
控制线通常由微处理器通过编程设置,以实现串行通信的参 数配置和控制。
地址线的连接
地址线用于标识8251a芯片在系统中的地址,以便微处理 器能够正确寻址和访问。
02
movwf CR ; 将值写入CR寄存器
03 movlw 0x01 ; 设置IER寄存器,允许接收中断
初始化编程
movwf IER ; 将值写入IER寄存器
```ቤተ መጻሕፍቲ ባይዱ
数据发送编程
01 发送步骤
02
将数据写入发送缓冲寄存器(THR)。
03
通过设置控制寄存器(CR)的发送使能位启动发送过
程。
数据发送编程
编程控制
通过编程控制8251A的工作模式、 波特率、数据位、停止位等参数, 实现灵活的串行通信功能。
感谢您的观看
THANKS
05 串行通信协议及8251a的 应用
RS-232C协议
定义
RS-232C是一种标准的串行通信协议,用于 连接计算机和其他设备。
特点
采用单端信号传输方式,具有高电平、低电 平两种逻辑状态,传输距离较近。
应用
常用于连接计算机和调制解调器、打印机等 低速设备。
RS-485协议
定义
RS-485是一种改进的串行通信协议,克服了RS-232C传输距离较 近的限制。
• 数据发送代码示例
数据发送编程
01
```
02
movlw 0x12 ; 要发送的数据是0x12
03
常用接口芯片及应用(3)

方法2:微机利用232C接口直接连接进行 短距离通信。不使用调制解调器。
3. RS-232C的电气特性
232C接口采用EIA电平
高电平为+3V~+15V 低电平为-3V~-15V 实际常用±12V或±15V
△CTS 位 1=CTS 引脚电平发生变化 △DSR 位 1=DSR 引脚电平发生变化 △ RI 位 1=RI 引脚电平发生变化
△RLSD 位 1=RLSD 引脚电平发生变化
反映4个控制输入信号的当前状态及其变化
MSR高4位中某位为1,说明相应输入信号当前为低有效,否则为高电平
MSR低4位中某位为1,则说明从上次CPU读取该状态字后,相应输入信号 已发生改变,从高变低或反之
源,当任一个未被屏蔽的中断源有请求时, INTRPT输出高电平向CPU请求中断
(2) 时钟信号
时钟输入引脚XTAL1:8250的基准工作时钟 时钟输出引脚XTAL2:基准时钟信号的输出端 波特率输出引脚BAUDOUT*:基准时钟经8250
内部波特率发生器分频后产生发送时钟 接收时钟引脚RCLK:接收外部提供的接收时钟
站B
半双工
站A
站B
单工
站A
站B
4. 调制解调器
调制(Modulating)
把数字信号转换为电话线路传送的模拟信号
解调(Demodulating)
将电话线路的模拟信号转换为数字信号
调制解调器MODEM
具有调制和解调功能的器件合制在一个装置
二. 串行通信总线(串行接口标准)RS-232C
字符长 00=5 位 01=6 位 10=7 位 11=8 位
HD7279

BIT_COUNT DATA 07FH TIMER DATA 07EH TIMER1 DATA 07DH TEN DATA 07CH DATA_IN DATA 020H DATA_OUT DATA 021H
CS CLK DATA KEY
(2).接收一字节子程序:(接收字符存于A中) STJS: MOV R7,#08H LP1: SETB P1.1 SETB P1.2 MOV R6,#02H LP2: DJNZ R6,LP2 MOV C, P1.2 RLC A CLR P1.1 MOV R6,#01H LP3: DJNZ R6,LP3 DJNZ R7,LP1 RET
D7 1 D6 0 D5 1 D4 0 D3 0 D2 0 D1 0 D0 0
与左移指令类似,但所做移动为自左向右(从第8位 向第1位)移动,移动后,最左边一位为空。 B.带有数据的指令 (1). 下载数据且按方式0译码
D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0
(2). 左移指令A1H
D7 1 D6 0 D5 1 D4 0 D3 0 D2 0 D1 0 D0 1
例如,原显示为:
4 2 5 2 L P 3 9
其中第2位‘3’和第4位‘L’为闪烁显示,
执行了左移指令后,显示变为:
2 5 2 L P 3 9
第2位‘9’和第4位‘P’为闪烁显示。
(3).右移指令A0H
4.串行接口的时序图。 A、HD7279A的指令结构类型: (1)、不带数据的纯指令,指令的宽度为8个BIT。即微处 理器需发送8个CLK脉冲。 (2)、带有数据的指令,宽度为16个BIT,即微处理器需 发送16个CLK脉冲。 (3)、读取键盘数据指令,宽度为16个BIT,前8个为微处 理器发送到HD7279A的指令,后8个BIT为HD7279A返 回的键盘代码。执行此指令时,HD7279A的DATA端在 第9个CLK脉冲的上升沿变为输出状态,并与第16个 脉冲的下降沿恢复为输入状态,等待接收下一个指 令。 B、串行接口的时序图:
第7章 常用接口芯片

-12- -
目录
上页
下页
结束
2. 8255的引脚功能 的引脚功能
8255芯片有 根 芯片有40根 芯片有 引脚, 引脚,各引脚信号 如图所示. 如图所示
-13- -
目录
上页
下页
结束
7.1.3 8255 的工作方式
方式0: 方式 :基本输入输出方式
适用于无条件传送和查询方式的接口电路
方式1: 方式 :选通输入输出方式
2. 并行接口
无论是并行通信还是串行通信,就其I/O接口与CPU之间的通信而言,均 是以并行通信方式传送数据的。 并行通信由并行接口完成,它以字节(或字)为单位与I/O设备或被控对 象进行数据交换,以同步方式传输。如打印机接口,A/D、D/A转换器接 口,IEEE488接口,开关量接口,控制设备接口等。 从并行接口的电路结构来看,并行口有硬连线接口和可编程接口之分。 一个并行接口中包括状态信息、控制信息和数据信息,这些信息并行接 口中分别存放在状态寄存器、控制寄存器和数据缓冲寄存器中。
-18- -
目录
上页
下页
结束
方式1输入联络信号 方式 输入联络信号
STB*——选通信号,低电平有效 选通信号, 选通信号
由外设提供的输入信号,当其有效时, 由外设提供的输入信号,当其有效时,将输入设备送来 的数据锁存至8255A的输入锁存器 的数据锁存至 的输入锁存器
IBF——输入缓冲器满信号,高电平有效 输入缓冲器满信号, 输入缓冲器满信号
-11- -
目录 上页 0 0 0 0 0 1 1 0 1 0 1 I/O地址 地址 60H 61H 62H 63H 读操作RD* 读操作 读端口A 读端口 读端口B 读端口 读端口C 读端口 非法 写操作WR* 写操作 写端口A 写端口 写端口B 写端口 写端口C 写端口 写控制字
8251应用

接收时钟/发送时钟是波特率的倍数,称为波特率因子。
F(时钟频率)=波特率因子ⅹ波特率
• 波特率因子:时钟频率与数据传输率(波特率) 之间的比例系数. 例如波特率因子为16,则16个时钟脉冲移位1次。 P93
无信号时,RxD端为高电平,一旦检测到RxD端为低电平, 则启动接收控制中的内部计数器,计数到半个数位传输时 间8个RxC,再次检测RxD引脚,若仍为低电平,则确认起 始位到来,之后,每隔16个RxC,进行一次采样。
•接收时钟RxC: 是接收器的工作时钟,它控制8251A接收字符的速度,在上 升沿采集串行输入线。在同步方式下, RxC的频率即为接 收数据的波特率;在异步方式下,该频率可为波特率的1倍、 16倍或者64倍。
•同步检测/断点检测SYNDET/BRKDET:
内同步和外同步的检测不能同时进行
内同步SYNDET作为输出,CPU执行一次读,该信号被 自动复位。
功能 从8251A读接收到的数据 从8251A读状态字 写发送数据到8251A 写命令字到8251A
(3)接收缓冲器和接收控制电路:
包括接收移位寄存器、串/并转换电路、接收数据 缓冲器和同步字符寄存器
CPU
接收数据缓冲器
接收移位寄存器 接收控制
同步字符寄 同步字符寄
存器
存器
RxD
0/1 0/1
0/1 0/1
同步字符(SYN1) 同步字符(SYN2)
数据(DATA)
字符1,字符2 …… 字符n 校验字符
数据块
6.1.4 串行通信的传送速率和收发时钟
收发时钟
6.1.4 串行通信的传送速率和收发时钟
串行接口完成的主要功能
1)完成串行数据的格式化 2) 实现串到并和并到串的转换 3) 进行可靠性检验 4) 实施接口与DCE之间的联络控制
可编程串行通信接口芯片8251A

• 2)在同步发送方式中,发送缓冲器在准备发送的数据前面先插入由初始化程序设 定的一个或两个同步字符,在数据中插入奇偶校验位。然后在发送时钟TXC的作用 下,将数据逐位地由TXD引脚发送出去。
能根据编程为每个字符设置1个、1.5个或2个停止位。 • (4)所有的输入输出电路都与TTL电平兼容。 • (5)全双工双缓冲的接收/发送器。
2
1.1 8251A内部逻辑与工作原理
• 8251A的结构框图如图1.1所示,可分五个主要部分:写控制逻辑电路和调制解调控制电路。
6
(3)接收缓冲器
• 1)在异步接收方式,当“允许接收”和“准备好接收数据”有效时,接收缓冲器 监视RXD线。在无字符传送时,RXD线上为高电平,当RXD线上出现低电平时,即 认为它是起始位,就启动接收控制电路中的一个内部计数器,计数脉冲就是8251A 的接收时钟脉冲RXC,当计数器计到一个数据位宽度的一半(若时钟脉冲频率为波 特率的16倍,则计数到第8个脉冲)时,又重新采样RXD线,若其仍为低电平,则 确认它为起始位,而不是噪声信号。
17
• 1.方式选择控制字:根据题意,方式选择控制字为00111000B(即38H),写入控 制端口,端口地址为91H。
• 2.命令控制字:设置为10010111B(即97H),使8251A进入同步字符检测,出错 标志复位,允许发送和接收,置引脚有效,写入控制端口,端口地址为91H。
• 3.同步字符:2个同步字符,均为3AH。 • 4.初始化程序:
9
1.3 8251A的控制字
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
接收 过程
9.1 串行接口系统概述 9.1.1串行I/O接口
CPU
数据总线 收发器
中断请求
控制
信号
读
逻辑 写
状态 寄存器
控制 寄存器
数据输入寄存器
输入移位寄存器
输出移位寄存器
地址
译码
cs 数据输出寄存器
外部设备
联络信号
串行输入 接收时钟 发送时钟 串行输出
可编程串行接口芯片
6.1.2 串行通信基础
2. 发送/接收时钟(Txc /Rxc) 波特率:单位时间内传送的二进制数据的位数,以位/ 秒(b/s)表示,也称为数据位率。它是衡量串行通信 速率的重要指标。 收/发时钟直接决定了通信线路上数据传输的速率,对于 收/发双方之间数据传输的同步有十分重要的作用。
一般在发送端是由发送时钟的下降沿使送入移位寄存器 的数据串行移位输出。而接收端则是在接收时钟的上升 沿作用下将传输线上的数据逐位打入移位寄存器。
可编程串行接口芯片
6.1 串行接口系统概述
6.1.1 串行I/O接口 6.1.2 串行通信基础 6.1.3 串行通信协议
可编程串行接口芯片
6.1.1串行I/O接口
串行通信方式 异步方式 串行异步接口 通用异步收发器 同步方式 串行同步接口 通用同步收发器
可编程串行接口芯片
6.1.1串行I/O接口
⑶ 输入移位寄存器:它以接收时钟的速率把出现在 串行数据输入线上的数据逐位移入,当数据装满后, 并行送往输入缓冲寄存器,即将串行数据转换成并 行数据。
可编程串行接口芯片
串行接口的基本结构如下(续):
⑷ 输入缓冲寄存器:它从输入移位寄存器中接收并行数 据,然后由CPU取走。
⑸ 控制寄存器:它接收CPU送来的控制字,由控制字的 内容,决定通信时的传输方式以及数据格式等。例如采用 异步方式还是同步方式,数据字符的位数,有无奇偶校验, 是奇校验还是偶校验,停止位的位数等参数。
⑹ 状态寄存器:状态寄存器中存放着接口的各种状态信 息,例如输出缓冲区是否空,输入字符是否准备好等。在 通信过程中,当符合某种状态时,接口中的状态检测逻辑 将状态寄存器的相应位置可编“程1串”行,接口以芯片便让CPU查询。
6.1.1串行I/O接口源自三、串行接口的工作过程发送 数据
串行接口将CPU送来的并行数据转换成串行数 据,并对有效数据“包装”,即加上起始位、产 生奇偶校验位和停止位,再发送出去。
第6章 可编程串行接口芯片16550
6.1 串行接口系统概述 6.2 可编程串行接口芯片16550
可编程串行接口芯片
6.1 串行接口系统概述
串行通信方式用于远程通信。
数据在单条传输线上,一位接一位地按顺序传送 的方式称为串行通信。串行通信主要优点是节省 通信线路,但具有数据传输效率低的特点。因此, 串行通信适合于远距离传送,可以从几米到数千 公里。对于长距离、低速率的通信,串行通信往 往是唯一的选择。
一、串行接口的基本功能
串行接口与输入输出设备之间以串行方式传送数据, 与CPU之间以并行方式传送数据。
CPU 并行
串行 接口
串行
外部 设备
可编程串行接口芯片
6.1.1串行I/O接口
串行接口的基本功能如下:
功能1 实现串行和并行数据格式之间的转换。
功能2 实现数据缓冲功能。 功能3 控制功能。接收CPU的命令,输出接口的状 态等。
1 (Baud)=1 bit/s
传送一个二进制位所需的时间为位时间,用Td表示。位时间与波特 率的关系是Td=1/B
可编程串行接口芯片
6.1.2 串行通信基础
2. 发送/接收时钟(Txc /Rxc)
发送数据时数,据 总发线 送器在 收发器
发送时钟作用下,将“发 送移位寄存器”的数中据断 请按求
状态 寄存器
采样重复进行,直至采样到停止位。
接收控制逻辑对接收的数据进行格式检查,若不
正确,则将状态寄存器中的相应位置“1”;若正确, 则将有效数据位并行传送到输入缓冲器。
然后,将状态寄存器中的“接收数据准备好”位置
“1”;若接口处于中断允许状态,则还向CPU发出 中断请求信号。CPU可以通过查询或中断方式读取 输入缓冲寄存器中可的编程有串行效接口数芯片据。
一、数据传输率 数据传输率是指单位时间内传输的信息量,
可用比特率和波特率来表示。
1. 波特率(Baud)
⑴比特率:比特率是指每秒传输的二进制位数,单位为bit/s ( bps)表示。
⑵ 波特率:波特率是指每秒传输的符号数,若每个符号所含的信息 量为1比特,则波特率等于比特率。单位为Baud。
在计算机中,一个符号的含义为高低电平,它们分别代表逻辑1和逻辑 0,所以每个符号所含的信息为1位,因此在计算机通信中,常将比特率 称为波特率,即
可编程串行接口芯片
6.1.1串行I/O接口
二、串行接口的基本结构
可编程串行接口芯片
串行接口的基本结构如下:
⑴ 输出缓冲寄存器:接收CPU从数据总线上送来的 并行数据,并加以保存。
⑵ 输出移位寄存器:它接收从输出缓冲器送来的并行 数据,以发送时钟的速率把数据逐位移出,即将并行 数据转换为串行数据输出。
控制 寄存器
数据输入寄存器
位串行移位输控 制出; 信号
读
逻辑
接受数据时,接受器写在
输入移位寄存器
接收时钟作用下,对来 自通信线上的串行数据
输出移位寄存器
按位串行移入地译 址码“接收移 位寄存器”。
cs
数据输出寄存器
可编程串行接口芯片
联络信号
串行输入 接收时钟 发送时钟 串行输出
6.1.2 串行通信基础
口可以接收CPU写入下一个有效数据。
在输出移位寄存器中。由发送控制逻辑对有效数 据进行“包装”,即加上起始位、奇偶校验位和停 止位。
经包装后的数据由输出移位寄存器按选定的传输 率逐位移出,变成串行数据发送到串行输出线上 去。
可编程串行接口芯片
6.1.1串行I/O接口
接 收 过 程
接收控制电路不断地监视串行数据输入线上的电 平,一旦出现持续一个位周期的低电平(异步方式 下),则开始采样有效数据位,并使数据进入输入 移位寄存器。
发送
CPU
串行 接口
外部 设备
接收 数据
接收
串行接口将串行输入的数据转换成并行数据,同样要对有 效数据进行处理(去掉起始位、校验位和停止位)和奇偶 校验,然后等待CPU取走。
可编程串行接口芯片
6.1.1串行I/O接口
发 送
有效数据由CPU写入接口中的输出缓冲寄存器, 再送到输出移位寄存器。
过 同时将状态寄存器中的“发送准备好”位置“1”, 程 并发出中断请求信号(用中断方式时),表示接