可编程串行通信接口芯片8251A
8255A、8251A的原理及应用
8255A的内部结构,由三部分电路组成:与CPU的接口电路、内部控制逻辑电路和与外设连接的输入/输出接口电路。
D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chip select):片选信号线,低电平有效时,芯片被选中。
A1, A0(port address):地址线,用来选择内部端口。
(read):读出信号线,低电平有效时,允许数据读出。
(write):写入信号线,低电平有效时,允许数据写入。
RESET(reset):复位信号线,高电平有效时,将所有内部寄存器(包括控制寄存器)清0。
PA7~PA0(port A):A口输入/输出信号线。
PB7~PB0(port B):B口输入/输出信号线。
PC7~PC0(port C):C口输入/输出信号线。
VCC:+5V电源。
GND:电源地线。
8255A的工作方式方式0:基本输入输出方式适用于无条件传送和查询方式的接口电路方式1:选通输入输出方式适用于查询和中断方式的接口电路方式2:双向选通传送方式适用于与双向传送数据的外设适用于查询和中断方式的接口电路8255A初始化编程8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。
8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字。
方式控制字用于设置端口A, B, C的工作方式和数据传送方向;置位/复位控制字用于设置C口的PC7~PC0中某一条口线PC i(i=0~7)的电平。
两个控制字公用一个端口地址,由控制字的最高位作为区分这两个控制字的标志位。
(1)方式控制字的格式8255A工作方式控制字的格式如图7.11所示。
D0:设置PC3~PC0的数据传送方向。
D0=1为输入;D0=0为输出。
D1:设置B口的数据传送方向。
D1=1为输入;D1=0为输出.D2:设置B口的工作方式。
D2=1为方式1;D2=0为方式0。
可编程串行通信接口芯片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。
第二部分是数据格式转换部分,包括发送缓冲器、并行数据到串行数据转换的发送移位器,接收缓冲器和串行数据到并行数据转换的接收移位器,以及发送控制电路和接收控制电路。
详解8251
第六章
串行通信和串行接口8251A
•同步检测/断点检测SYNDET/BRKDET:
内同步和外同步的检测不能同时进行 内同步SYNDET作为输出,CPU执行一次读,该信号被 自动复位。 外同步时当引脚SYNDET由低电平变为高电平,使 8251A在下一个RxC的上升沿开始接收字符。
在异步工作方式下,该引脚为断点检测BRKDET。当 8251A连续收到两个全“0”组成的字符,该引脚输出高电平, 表明当前没有数据可读。直到收到“1”或8251A复位, BRKDET变低电平
第六章
串行通信和串行接口8251A
同步工作方式:
同步传送方式分为内同步和外同步
第六章
串行通信和串行接口8251A
CPU 接收数据缓冲器 接收移位寄存器 接收控制
同步字符寄 存器 同步字符寄 存器
RxD
0/1 0/1 0/1 0/1
RxC
RxRDY
SYNDET
工作于内同步: CPU发出允许接收 和进入搜索命令, 监测RxD引脚,将 接收的数据位送入 移位寄存器,并与 同步字符寄存器的 内容比较,若不同, 不断接收并且进行 移位比较操作,直 到相同出现,则 SYNDET置高电平, 表明同步实现。若 为双同步,则需两 个同步字符均一致。
第六章
串行通信和串行接口8251A
同步传送方式分为内同步和外同步 工作于外同步:由外部电路监测同步字符,当发现同步字 符后,从同步输入端SYNDET输入高电平,告知8251A, 8251A就脱离对同步字符的搜索过程,高电平需维持一个接 收时钟周期。
达到同步后, 8251A利用接收时钟采样RxD,接收同步帧 格式数据。采得的数据送往移位寄存器,当位数达到一个 字符规定的数位时,移位寄存器的内容通过片内总线送往 接收数据缓冲器,同时RxRDY引脚置高电平,且状态寄存 器的RxRDY位为1,表示已经收到一个可用字符。
串行通讯接口8251A
B U S
8286
(opotion)
D7-D0
SERIAL RxD INPUT
T
DATA-IN BUFFER
RESET RxRSY TxRDY RD WR
DATA-OUT BUFFER
TxE TxD SERIAL OUTPUT
TRANS. Shi REG
DSR DTR
3.
Intel 8251A可编程通信接口的结构与编程
• 8251A的编程 操作过程:8251A工作方式及运行由程序 控制。
复位操作
输出模式字 是
同步方式 ?
否 输出命令字 是 输出第一个同步字符 双同步 ? 是 输出第二个同步字符 否
复位 ? 传送数据 否 传递完 ? 是
异步传送模式字格式
RESET CLK C/D RD WR CS D A DSR DTR CTS RTS B U S MODEM CONTROL D A
REA D / WRITE
TRANSMIT CONTROL
TxRDY TxEMPT TxC
CONTROL LOGIC
RECEIVE BUFFER S P
RxD
RECEIVE BUFFER
8251A可编程通信接口
2. 串行通信的术语 • 全双工、半双工、单工 单工:通信一方为发送器,另一方为接收器, 一条传输线相连, 进行单向传输。 A B
发送器 接收器
单工
计算机主机与外设之间串行通信,多采用全 双工方式。
8251A可编程通信接口
2. 串行通信的术语 • 同步与异步通信方式 同步方式:通信双方用统一时钟控制通信过程, 信息传输组成数据包(数据帧)。每 帧头尾是控制代码,中间是数据块, 可有数百字节。不同的同步传输协 议有不同的数据帧格式。 数据帧 包头 数据块 包尾
8251芯片
可编程通信接口8251A(USART)1.8251A的基本结构8251A的基本结构包括5个功能模块(1)数据总线缓冲器——用于暂存接收,发送数据,CPU发来的命令及8251的工作状态。
(2)读/写控制逻辑——接收来自CPU控制总线的控制信号,控制数据的传送方向。
(3)接收器——从接收数据线RXD上接收串行数据,按指定方式将其转换成并行数据。
(4)发送器——接收CPU送来的并行数据,按指定方式将其转换成串行数据通过发送数据线TXD发送出去。
(5)调制解调器控制电路——提供4个通用的控制信号,即(数据终端准备好),(数据设备准备好),(请求发送)和(准许发送),以备8251A与外设联络。
2.8251A的工作过程(1)8251A发送数据的过程①当发送缓冲器为空时,信号TXRDY有效(或状态字的D0=1),以示发送器准备好,等待CPU送入数据。
②CPU将要发送的数据写入8251A的发送缓冲器;③发送的数据进行“并→串”转换;④插入起始位、奇/偶位和停止位或同步字符等,数据一位一位从TXD端串行输出。
(2)8251A接收数据的过程①在RXD端检测到起始位或同步字符;②开始在RXD线上采集数据;③将接收到的数据“串→并”转换,并进行奇偶校验和检查错误;④将采样到的、经过变换的8位数据由接收缓冲器送入数据总线缓冲器;⑤信号RXRDY有效(或状态字的D1=1),以示8251A已接收到一个数据,待CPU读取。
3.8251A的初始化在如前面已经强调过的,在使用可编程接口之前必须进行初始化,即在使用8251A进行数据传输前,对其进行编程,将相关方式指令字、命令指令字写入8251A。
8251A初始化的具体步骤如图7-3所示。
图7-3 8251A 初始化流程图4. CPU 对8251A 的操作和控制8251A 有两个端口地址,偶地址为输入/输出数据端口地址,奇地址为控制/状态端口地址。
引脚线C/与A 0连接:A 0=0,访问输入/输出数据端口A 0=1,访问控制/状态端口控制信号:、、C/、合成对8251A 的操作如表7-1所示。
串行通信和可编程串行接口芯片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
8251a有几个端口地址_对8251a进行初始化及流程
8251a有几个端口地址_对8251a进行初始化及流程
8251a内部结构框图8251A是一种可编程的通用同步/异步接收发送器,通常作为串行通信接口使用,被广泛应用Intel80X86为CPU的微型计算机中。
8251a有几个端口地址8251a有两个连续的端口地址,数据输入端口和数据输出端口合用同一个偶地址,而状态端口和控制端口合用同一个奇地址。
8251A初始化编程流程及程序例:8251A工作于异步方式,方式选择控制字为11111011B,工作命令控制字为00010001B。
其初始化程序为:
…
MOV AL,0FBH ;8251A方式选择字
OUT CONTR,AL
MOV AL,11H ;8251A操作命令字
OUT CONTR,AL
…
8251A的应用举例例:微机系统中两台微机之间进行双机串行通信的硬件连接和软件编程。
(1)要求
在甲乙两台微机之间进行串行通信,甲机发送,乙机接收。
要求把甲机上开发的应用程序(其长度为2DH)传送到乙机中去。
双方采用起止式异步方式,通信的数据格式为,字符长度为8位,2位停止位,波特率因子为64,无校验,波特率为4800。
CPU与8251A之间用查询方式交换数据,8251A的端口地址分配是:309H为命令/状态口,308H为数据口。
(2)分析
由于是近距离传输,因此可以不设MODEM,两台微机之间直接通过RS-232标准接口连接即可。
同时是采用查询I/O方式,故收/发程序中只需检查发/收准备好的状态是否置位,即可收发l个字节。
8251a有何特点-在串行通信中作用_8251a的工作方式
8251a有何特点?在串行通信中作用_8251a的工作方式
8251A的内部结构(1)接收器接收器包括接收缓冲器和接收控制逻辑两部分。
接收器的功能是接收在RXD引脚上的串行数据,并按规定的格式把它转换成并行数据,存放在数据总线缓冲器中。
①接收缓冲器
接收缓冲器主要由移位寄存器和数码寄存器组成。
接收器接收传送到RXD(接收数据输入端)引脚上的串行数据,并对串行数据流的特殊位(奇偶位,停止位等)和字符(同步字符)进行检查、处理,按规定的格式将串行数据转换为并行数据存放在缓冲器中。
接收移位寄存器和接收数据缓冲器组成了双缓冲器结构。
②接收控制逻辑
这一部分控制串行数据的接收,包括三条控制线:
RXRDY(Receiver Ready)接收器准备好,输出,高电平有效。
RXC(Receiver Clock)接收时钟,输入。
SYNDET/BRKDET(SYNchronous DETect/BreaK DETect)同步检测/断点检测,输出/输入,高电平有效。
(2)发送器发送器包括发送缓冲器和发送控制逻辑两部分。
①发送缓冲器和发送过程
发送数据缓冲器接收由CPU送来的并行数据,按初始化编程指定的数据格式转换成串行数据流送至发送移位寄存器,在TXC的下降沿从TXD引脚发送出去。
发送数据缓冲器和发送移位寄存器组成了发送的双缓冲器结构。
②发送控制逻辑
该部分控制串行数据的发送操作,包括3条控制线:
TXRDY(Transmitter ReaDy)发送器准备好,输出,高电平有效。
TXE(Transmitter Empty)发送器空,输出,高电平有效。
第七章终结篇——8251A的总结
第七章终结篇——8251A的总结总算把这个第七章复习完了,我把剩下⼀点关于8251A的发上来吧本来在讲解8251A书本上还有关于RS232和串⼝通信的讲解,但是太浅了,就不放了,有兴趣的朋友可以⾃⾏参考其他⽂章串⾏通信芯⽚8251A有以下特点1. 可以⽤于同步或者异步传输,同步0-64kbps,异步0-19.2kpbs2. 同步传送的时候,5-8位/字符,可以⽤于内同步或者外同步,可⾃动插⼊同步字符3. 异步传送的时候,5-8位/字符,有1,2,1.5个停⽌位4. 完全双⼯,双缓冲发送和接受数据5. 具有出错检查,奇偶校验、溢出、和帧错误等检测电路好吧,为啥要这个8251A因为计算机内部都是并⾏传输数据的,但是长距离通信都是⽤的串⾏通信的(这些概念不太明⽩的不懂的朋友可以⾃⾏百度⼀下概念或者看看书)必须要个东西来转化⼀下82518251的内部结构内部结构包括接收器,发送器,读/写控制逻辑,数据总线缓冲器和调制解调控制电路五⼤部分接收器包括接收缓冲器,并⾏转换逻辑和接受控制电路三个部分接收缓冲器对外引脚为RxD,功能是从此引脚上接收串⾏数据,然后转换成并⾏数据,是由接受移位寄存器和接收数据缓冲器组成双缓冲结构接受控制电路是配合缓冲器⼯作的,作⽤如下1 .在异步⽅式下,芯⽚复位后,先检测输⼊信号中的有效1,⼀旦检测到到,就接着寻找有效的低电平来确定启动位2 消除假启动⼲扰3 对接收到的信息进⾏奇偶校验,并根据校验结果建⽴相应的状态位4 检测停⽌位,并按检测结构建⽴状态位发送器和接收器差不多,也是有发送缓冲器,发送控制电路和并串转换逻辑3个部分发送缓冲器上⾯接的是TxD脚,发送数据缓冲器和发送移位寄存器组成了发送的双缓冲结构,发送控制电路也是辅助发送缓冲器的,但是和接受的功能不⼀样发送控制电路作⽤如下1. 在异步⽅式下插⼊起始位,校验位和停⽌位2. 在同步⽅式下,插⼊同步字符,在数据中插⼊校验位数据总线缓冲器提供与8251A和CPU系统总线相连,在CPU执⾏输⼊输出操作的时候,进⾏数据交换或者读写命令读/写控制逻辑电路⽤来配合总线缓冲器⼯作1. 写信号WR#,把数据总线的信号(数据/控制字)写⼊8251A2. 读信号RD#,将状态/数据字发送到CPU(发到数据总线)3. 接收控制/数据信号C/D#,与读。
8-3串行接口芯片8251A
串行接口芯片8251A8251A基本功能⏹可用于同步和异步通信方式(通信方式通过对方式字编程实现):☐同步方式:波特率0-64Kbps,每个字符可为5~8位,可使用内部同步检测和外部同步检测,能自动插入同步字符。
☐异步方式:波特率0-19.2Kbps,每个字符可为5~8位,自动增加起始位、停止位和校验位。
时钟TxC,RxC的时钟频率为传输波特率的1,16和64倍。
⏹全双工,具有双缓冲器接收器和发送器;⏹出错检测,具有奇偶、溢出和帧错等检测电路。
8251A的内部结构8251A的内部结构主要包括:数据总线缓冲器、接收缓冲器、接收控制电路、发送缓冲器、发送控制电路、调制/解调控制电路、读/写控制逻辑电路等数据总线缓冲器发送缓冲器发送控制电路接收缓冲器接收控制电路D0~D7SYNDETRxDRxRDY读写控制电路C / DCLKRESETRDWRCSDSRCTSDTRRTSRxCTxCTxETxRDYTxD调制解调控制电路内部总线8251A的内部结构⏹发送器:包括发送缓冲器和发送控制电路☐采用异步方式时,则由发送控制电路自动在其首尾加上起始位、奇偶校验位和停止位,然后从起始位开始,经移位寄存器从数据输出线TxD逐位串行输出。
发送速率取决于TxC接收的发送时钟频率,可以编程定义是发送速率的1、16、64倍。
8251A的内部结构☐采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才逐位串行输出数据。
◆如果CPU与8251A之间采用中断方式交换信息,那么TxRDY可作为向CPU发出的中断请求信号,表示发送缓冲器已空,可以接收CPU下一个数据。
◆当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TxE有效信号,表示发送器中移位寄存器已空。
8251A的内部结构⏹接收器:包括接收缓冲器和接收控制电路从RxD引脚上接收串行数据转换成并行数据后存入接收缓冲器。
☐异步方式:在RxD线上检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RxRDY信号送CPU,表示已经收到一个可用的数据。
可编程串行通信接口芯片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的控制字
第10章8251A
图10.4 8251A内部结构框图
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 8251A 22
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
1: 接收允许 0: 屏蔽
0: 屏蔽
图10.10 8251A的控制字格式
四、状态字
CPU向8251A发送各种操作命令,许多时候是依据8251A当前 的运行状态决定的。CPU可在8251A工作过程中利用IN指令读取 当前8251A的状态字,以控制CPU与8251A之间的数据交换。状 态字的格式如图10.11所示。
0
CPU由8251A输入数据
0
CPU向8251A输出数据
1
CPU读取8251A的状态
1
CPU向8251A写入控制命令
五、调制解调器控制电路
利用8251A进行远距离通信时,发送方要通过调制解调器将 输出的串行数字信号变为模拟信号,再发送出去。接收方也必
须将模拟信号经过调制解调器变为数字信号,才能由串行接口
10位/字符×120字符/秒=1200位/秒=1200波特 传送每位信息所占用的时间为: 1秒/1200=0.833 毫秒
10.1.4 串行接口芯片UART和USART 常用的通用串行接口芯片有两类,一种是仅用于异步通信的
串行通信和可编程接口芯片8251A
ABCD
发送数据
通过将数据写入到8251A的数据寄存器中,然 后启动发送过程。
错误检测与处理
在数据传输过程中,应进行错误检测,如奇偶校 验、帧错误等,并采取相应的处理措施。
使用8251A芯片进行数据传输的示例
设置参数
首先,配置8251A的寄存器以设置数据传输 参数,如数据格式、波特率等。
发送数据
将要发送的数据写入到8251A的数据寄存器 中,然后启动发送过程。
03 8251A芯片与串行通信的 结合
8251A芯片在串行通信中的作用
数据传输
8251A芯片作为串行通信接口, 能够实现数据在串行通道上的传 输,包括发送和接收。
协议转换
8251A芯片可以将并行数据转换 为串行数据,或者将串行数据转 换为并行数据,实现不同协议之 间的转换。
信号调制与解调
8251A芯片可以对信号进行调制 和解调,以适应不同的传输介质 和距离要求。
工业控制
02
03
智能仪表
在工业控制系统中,传感器和执 行器之间的通信通常使用串行通 信。
பைடு நூலகம்
智能仪表之间的通信通常使用串 行通信,例如通过RS-485总线进 行数据传输。
02 8251A芯片介绍
8251A芯片的特点
高度集成
01
8251A是一款高度集成的串行通信芯片,内部包含波特率生成
器、数据接收器和发送器等模块。
异常处理
在协议转换过程中,应处理可能出现的异常情况,如协议不匹配、 数据格式错误等。
05 8251A芯片的常见问题与 解决方案
8251A芯片无法正常工作的问题及解决方案
总结词
无法正常工作
详细描述
8251A芯片无法正常工作可能是由于电源问题、接口连接不良、芯 片损坏等原因。
8251芯片
接收端初始化程序和接收控制程序
2、发送器DB 数据发送来自冲器工作过程 CPU执行输出指令, 并行数据→发送缓冲器。
发送缓冲器→发送移位寄 存器,向CPU提出中断
异 或 门 0
内部 CLK ÷
申请(TxRDY=1)。
波 特 率
TXD SOUT
内部产生起始、奇偶 检验、停止位,按约定 的波特率从TxD输出。 当数据全部输出结束, 在TXD发出连续低电平 (TxE=1)。
2.两台微型计算机通过8251A相 互通信的举例
分析:初始化程序由两部分组成: ⑴是将一方定义为发送器。发送 端CPU每查询到TXRDY有效,则 向8251A并行输出一个字节数据; ⑵是将对方定义为接收器。接收 端CPU每查询到RXRDY有效,则 从8251A输入一个字节数据,一直 进行到全部数据传送完毕为止。
M O D E M 波特率 发生器
电 话 线 接 口
RTS(Request to Send)数据终端向 MODEM发出请求表 示数据已准备好需 要发送
8251A
RxC TxC 数据终端设备DTE
电 CTS(Clear to Send) 话 MODEM回应终端, 线 若TxEN有效8251可
以发送数据,发送 结束CTS=“1”。
输出第一个同步字符 双同步 输出第二个同步字符
N
输出命令字 复位 传送数据
Y
N
输入状态字
N
传送完
Y
1. 8251复位 电源上电,8251自动进入复位状态,为了确保在送方式字 和命令字之前8251正确复位,可向8251的控制口连续写 入3个“0”,然后再写入一个复位控制字(40H),用软 件使8251可靠复位。 注:对8251的控制口进行一次写入操作,需有写恢复时间。 (写恢复时间一般为16个时钟周期) DELAY1: MOV CX,02H
串行接口芯片8251
按字符一一传送为异步方式。
3、差异: 1) 同步方式须双方用一个时钟进行协调。 2) 异步方式虽也须约定一个时钟作为每一位
的长度,但无须将时钟发送出去。 3) 同步方式比异步方式效率高
第三章 串行接口芯片8251
可编程串行通讯接口8251A :
第三章 串行接口芯片8251
基本的串行通讯有两种类型: 1)同步通讯 2)异步通讯。
同步字符 信息帧 同步通讯格式
校验字符
起始位 数
5 ~8个 字符
据 校验位 停止位(1,1.5,2位) 异步通讯格式
第三章 串行接口芯片8251
2、传送速率:
串行通讯中规定,每秒传送的位 数为波特率如:110,300,600,1200, 1800,2400,4800,9600,19200标准 波特率。
第三章 串行接口芯片8251
3、硬件支持:
为实现串行通讯还必须有硬件 支持,即串行口接口的标准化。 最常用的是 RS-232-C标准。
第三章 串行接口芯片8251
1)信号电平标准:
TTL
RS-232
1489
接口 TTL 1488 RS-232
TTL 1488
TTL 1489
TTL与RS-232电平变换
接口
2)控制信号定义:
25芯插头插座。
第三章 串行接口芯片8251
通讯方式:
1、 全双I方式,半双I方式: 通讯通道中,对数据发与收两个传
输方向采用不同的通路,该通讯方式为 全双工方式。
若收与发两个传输方向使用单一通 道,为半双工方式。
第三章 串行接口芯片8251
2、 同步方式、异步方式: 将许多数据组成一个信息组(信
8251芯片
8251芯片8251芯片是一种通讯接口芯片,主要用于计算机之间或计算机与外设之间的数据传输。
该芯片通过串行和并行数据传输的方式,实现了计算机之间的数据传输和通信功能。
8251芯片提供了串行和并行两种模式的通信接口。
在串行模式下,数据以位的形式传输,适用于长距离传输和低速传输场景。
在并行模式下,数据以字节或字的形式传输,适用于短距离传输和高速传输场景。
8251芯片具有以下主要功能:1. 数据格式控制:8251芯片支持多种数据格式,包括异步串行传输、同步传输和标准格式传输等。
用户可以根据需要选择合适的数据传输格式。
2. 时钟控制:8251芯片提供了多个时钟源,可以根据需要选择不同的时钟源。
同时,芯片还支持外部时钟源的输入。
3. 数据传输控制:芯片可以根据指令进行数据传输的启动、停止和暂停等控制操作。
同时,芯片还支持自动重整、自动请求和自动调整等功能,可以提高数据传输的效率。
4. 错误检测:8251芯片提供了丰富的错误检测和纠错功能,包括奇偶校验、帧错误检测等。
可以有效减少数据传输过程中的错误和丢失。
5. 缓冲区管理:芯片内置了数据缓冲区,可以存储待传输的数据。
通过合理调整缓冲区大小和设置触发阈值,可以实现高效的数据传输。
8251芯片广泛应用于计算机和外设之间的数据传输和通信领域。
它可以与各种外设进行通信,包括打印机、调制解调器、终端设备等。
它不仅提供了稳定可靠的数据传输功能,还具备丰富的扩展接口,可实现更多的功能拓展。
总结来说,8251芯片是一种功能强大的通讯接口芯片,通过串行和并行的数据传输方式,实现了计算机之间或计算机与外设之间的数据传输和通信功能。
它具有多种数据格式控制、时钟控制、数据传输控制、错误检测和缓冲区管理等功能,广泛应用于计算机和外设之间的通信领域。
串行接口芯片8251A.
内部产生起始、奇偶 检验、停止位,按约定 的波特率从TxD输出。 当数据全部输出结束, 在TXD发出连续低电平 (TxE=1)。
停止位 1
奇偶位
发送移位寄存器
起始位
2. 8251A的引脚功能
8251A的引脚排列如下图所示
D2 D3 R XD GN D D4 D5 D6 D7 TXC WR CS C/D RD RXRDY
4. 发送/接收时钟
在异步串行通信中,发送端需要用一定频率的时钟 来决定发送每 l 位数据所占的时间长度(称为位宽 度),接收端也要用一定频率的时钟来测定每一位 输入数据的位宽度。 在进行串行通信时,根据传送的波特率来确定发送 时钟和接收时钟的频率。在异步传送中每发送一位 数据的时间长度由发送时钟决定,每接收一位数据 的时间长度由接收时钟决定,它们和波特率之间有 如下关系:时钟频率=n×波特率
(4)读/写控制逻辑信号
CS:片选信号,低电平有效。由CPU的IO/及地址信号经译码后供给。
C/D:控制/数据端。为高电平时CPU从数据总线读入的是状态信息;为低 电平时CPU读入的是数据。同样,C/D端为高电平时CPU写入的是命令; C/D为低电平时CPU输出数据。C/D与CPU的一条地址线相连。
(2)接收器 作用:接收器接收在RxD上的串行数据并按规定的 格式转换为并行数据,存放在接收数据缓冲器中。
工作过程:(异步方式)当8251允许接收并准备好接收数据时,监测RxD 端,当检测到起始位(低电平)后,使用16倍率的内部CLK,连续检测8 个0确认。然后按波特率移位、检测RXD,直至停止位。内部删除起始、 停止位 1 奇偶位 奇偶、停止位接收缓冲寄存器后,使 RxRDY 为高,向CPU提出中断申请。
8251A可编程串行接口芯片
• CTS # :允许传送,是输入信号,低电平有效。 允许传送,是输入信号,低电平有效。 通常是MODEM对8251A的信号的响应,当 的信号的响应, 通常是 对 的信号的响应 CTS#有效且工作命令字中的 有效且 位为1时 有效 工作命令字中的TxE位为 时 位为 8251A方可发送数据。 方可发送数据。 方可发送数据 • 如果在发送器工作过程中,TxE位变为 或 如果在发送器工作过程中, 位变为0或 位变为 CTS #变为无效,则发送器关闭之前要将已经 变为无效, 变为无效 写入的所有数据发送出去后才关闭。 写入的所有数据发送出去后才关闭。如果在最 后一个字符出现在串行数据流之前出现这种状 则最后一个字符将在CTS #变为有效和 况,则最后一个字符将在 变为有效和 TxE变为 时再发送一次。 变为1时再发送一次 变为 时再发送一次。
• CLK:工作时钟,由外部时钟源提供。为芯片 :工作时钟, 外部时钟源提供。 提供 内部电路提供定时, 内部电路提供定时,并非发送或接收数据的时 在同步方式下, 的频率要大于接收器 钟。在同步方式下,CLK的频率要大于接收器 或发送器输入时钟(RxC或TxC)频率的 倍。 频率的30倍 或发送器输入时钟 或 频率的 在异步方式下, 在异步方式下,CLK的频率要大于接收器或发 的频率要大于接收器或发 送器输入时钟频率的4.5倍 另外, 送器输入时钟频率的 倍。另外,CLK的周 的周 期要在0.4µs到1.35µs范围内。 范围内。 期要在 到 范围内
• TxRDY(Transmitter Ready):发送器准备好,输出, :发送器准备好,输出, 高电平有效。当它有效时, 高电平有效。当它有效时,表示发送器已准备好接收 CPU送来的数据字符,通知 送来的数据字符, 可以向8251A发送数 送来的数据字符 通知CPU可以向 可以向 发送数 据。CPU向8251A写入了一个字符以后,TxRDY自 向 写入了一个字符以后, 自 写入了一个字符以后 动复位。在用查询方式时,此信号作为一个状态位, 动复位。在用查询方式时,此信号作为一个状态位, CPU可从状态寄存器的 位检测这个信号;在用中 可从状态寄存器的D0位检测这个信号 可从状态寄存器的 位检测这个信号; 断方式时,此信号作为中断请求信号。 断方式时,此信号作为中断请求信号。 • TxEMPTY(Transmitter Empty):发送器空,输出, :发送器空,输出, 高电平有效。当它有效时, 高电平有效。当它有效时,指示发送器中的数据已发 送出去,已经没有要发送的字符了。当8251A从CPU 送出去,已经没有要发送的字符了。 从 接收待发的字符后,自动复位。 接收待发的字符后,自动复位。TxEMPTY既然表示 既然表示 发送已经结束,这样在半双工方式中, 半双工方式中 发送已经结束,这样在半双工方式中,CPU就从它知 就从它知 道何时切换数据的传输方向,由发送转为接收。 道何时切换数据的传输方向,由发送转为接收。此信 号可从状态寄存器的D2位检测到 位检测到。 号可从状态寄存器的 位检测到。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Page 36
方式字:确定 8251A 的 工 作 方 式;(异步,波 特率,字符长度, 奇偶校验)
命令字:控制 8251A按 方 式 字 所规定的方式工 作;(允许,禁 止收发数据,启 动搜索同步字符, 8251复位) 状态字:了解 8251A的工作状 态。
复位操作
输出方式字
同步方式
Y N
输出第一个同步字符 双同步 输出第二个同步字符
Page 5
1.串行数据传送方式
串行通信数据传送方式分为:单工通信方式、半双工通信 方式和全双工通信方式。 ⑴单工通信方式 传输的线路用一根线,通信的数据只允许按照一个固定的 方向传送。如图:只能从A站点传送到B站点。 A T B R
例: 单工通信类似无线电广播,电台发送信号,收音机 接收信号,收音机永远不能发送信号。
Page 11
数据
校验字符
3.串行传送速率
波特率(Baud Rate):波特率作为串行传输中数据传输速度
的衡量单位,用每秒传输数据的位数(位/秒)来表示。
例:10位/字符×120字符/秒=1200位/秒=1200波特
国际上规定的一个标准的波特率系列是:110,300,600,
1200,1800,2400,4800,9600,19200。
数据流
B T R
全双工通信工方式类似电话机,双方可以同时进行发送和 接收。
Page 8
2. 串行传送的两种基本工作方式 串行通信分为两种类型:一种是同步通信方式,另一种是 异步通信方式。 ⑴异步通信方式 它是以字符为单位进行传输的,字符之间没有固定的时间 间隔要求,而每个字符中的各位则以固定的时间传送。
Page 10
⑵同步通信方式
特点:
由一个统一的时钟控制发送方和接收方,若干字符组成一 个信息组,字符要一个接着一个传送;
没有字符时,也要发送与用的“空闲”字符或同步字符, 因为同步传输要求连续传送,字符中间丌允许有间隔。
同步传输的特征是:在每组信息的开始(常称为帧头)要加 上l一2个同步字符,后面跟着8位的字符数据。 ~ ~ 同步字符 数据 数据 ~ ~
Page 6
⑵半双工通信方式
传输的过程中依然用一根线连接,在某个时刻,只能迚行
发送,或只能迚行接收,即发送和接收丌可能同时迚行。 如图: A T 数据流 B T
R
R
例:半双工通信工方式类似对讲机,某时刻A方发送B方接 收,另一时刻B方发送A方接收,双方不能同时进行发送和 接收。
Page 7
⑶全双工通信方式 相互通信的双方,都可以是接收器也都可以是发送器。分 别用2根独立的传输线(一般是双绞线,或同轴电缆)来连 接发送信号和接收信号,这样发送方和接收方可同时进行 工作。 如下图所示。 A T R
Page 25
2) 读/写控制逻辑 8251A的控制信号与执行的操作之间的对应关系表
CS
0 0 0 0
RD
0 1 0 1
WR
1 0 1 0
C/D
0 0 1 1
执行的操作
CPU由8251A输入数据 CPU向8251A输出数据 CPU读取8251A的状态 CPU向8251A写入控制命令
Page 26
Page 17
主要引脚定义: TxD(2):发送数据,串行数据的发送端。 RxD(3):接收数据,串行数据的接收端。 RTS(4):请求发送,当数据终端设备准备好送出数据 时,就发出有效的RTS信号,用于通知数据通信设备准 备接收数据。
CTS(5):清除发送(允许发送),当数据通信设备已 准备好接收数据终端设备的传送数据时,发出CTS有效 信号来响应RTS信号。 RTS和CTS信号逻辑0为有效状态,是数据终端设备不数 据通信设备间一对用于数据发送的联络信号。
3) 接收缓冲器不接收控制器(异步方式) 接收缓冲器包括接收移位寄存器(接收RXD管脚的串行数
据)和数据输入寄存器(转为并行格式数据等待CPU取
走)。 接收控制电路是用来控制数据接收工作。接收数据的速率
取决于RxC引脚上接的时钟频率。异步方式下,接收时钟
的频率可以是波特率的1、16或64倍,即波特率系数(因 子)为1、16或64。 当CPU发出允许接收数据的命令时,接收缓冲器就一直监 视着数据引脚RxD上的电平信号,一旦检测到下降沿,就 启动接收过程。
逻辑低电平为+3V~+15V
逻辑高电平为-3V~-15V 实际常用±12V或±15V
相互转换
标准TTL电平 低电平:0V~0.8V 高电平:+2V~+5V
Page 16
RS-232C的引脚定义
RS-232C是一种标准接口,D型插座,采用25芯引 脚或9芯引脚的连接器,如图所示。
设计目的是用于连接调制解调器,现是最常用的串行通信 接口标准之一,是PC机的标准配置。 是数据终端设备DTE(例如计算机)不数据通信设备DCE (例如调制解调器)的标准接口。
可实现进距离通信,也可近距离连接两台微机。
属于网络层次结构中的最低层:物理层。
Page 15
RS-232C的电气特性 232C接口采用EIA电平
…
1
起始位——每个字符开始传送的标志,起始位 数据位——数据位紧跟着起始位传送。由5~8 校验位——用于校验是否传送正确;可选择奇 停止位——表示该字符传送结束。停止位采用 空闲位——传送字符之间的逻辑1电平,表示 采用逻辑0电平 个二进制位组成,低位先传送 检验、偶校验或不传送校验位 逻辑1电平,可选择1、1.5或2位 没有进行传送
连接及通信原理
微机 2 3 4 5 6 7 8 20 22 发送数据TxD 接收数据RxD 请求发送RTS 允许发送CTS 数据装置准备好DSR 信号地GND 载波检测CD 数据终端准备好DTR 振铃指示RI MODEM 2 3 4 5 6 7 8 20 22 MODEM 2 3 4 5 6 7 8 20 22 微机 2 3 4 5 6 7 8 20 22
Page 19
GND(7):信号地,为所有的信号提供一个公共的参考 电平。
DCD(8):载波检测,当本地调制解调器接收到来自对
方的载波信号时,该引脚向数据终端设备提供有效信号。 RI(22):振铃指示,当调制解调器接收到对方的拨号信 号期间,该引脚信号作为电话铃响的指示、保持有效。
Page 20
8251A 的外部引脚
Page 30
Page 31
Page 32
Page 33
Page 34
Page
8251A只需要两个端口地址:一个用于数据端口,一个用于控制端口。
数据输入输出用读信号RD和写WR信号区分;状态端口只能读丌能写, 控制端口只能写丌能读。 2、8251A初始化的编程流程 8251A是一种多功能的串行接口芯片,使用前必须向它写入方式字及 命令字等,对它迚行初始化编程后,才能收发数据。 初始化编程主要是对8251A的方式字、命令字和状态字迚行编程设置。
同步传送的波特率高于异步,可达64000波特。 异步通信允许发送方和接收方的时钟误差或波特率误差在4 %~5%。
Page 12
4.发送时钟和接收时钟
二进制数据序列称为比特组,由发送器发送到传输线上,
再由接收器从传输线上接收。
二进制数据序列在传输线上是以数字信号形式出现,即用
高电平表示二进制数1,低电平表示二进制数0。
Page 18
DTR(20):数据终端准备好,通常当数据终端设备一加 电,该信号就有效,表明数据终端设备准备就绪。
DSR(6):数据装置准备好,通常表示数据通信设备(即
数据装置)已接通电源连到通信线路上,并处在数据传输 方式。 DTR和DSR信号逻辑0为有效状态,可用做数据终端设备不 数据通信设备间的联络信号,例如应答数据接收。
Page 4
串行通信的基本概念
并行通信: 各位数据都是并行传输的,它以字节(或字) 为单位不I/O设备或被控对象迚行数据交换。 特点:传输速度快;硬件开销大;只适合近距离传输。 串行通信:串行通信是通过一位一位地迚行数据传输来实 现通信。 特点:具有传输线少,成本低等优点,适合进距离传送; 缺点是速度慢。
调器(modem)来实现进距离的信息传输。 调制解调器,顼名思义主要是完成调制和解调的功能。经 过调制器(modulator)可把数字信号转换为模拟信号,经过 解调器(demodulator)把模拟信号转换为数字信号。
Page 14
6. 串行通信接口RS-232C标准
美国电子工业协会EIA制定的通用标准串行接口:
每一位持续的时间是固定的,在发送时是以发送时钟作为
数据位的划分界限,在接收时是以接收时钟作为数据位的
检测。
Page 13
5. 信号的调制不解调
计算机对数字信号的通信,要求传输线的频带很宽,但在 实际的长距离传输中,若利用电话线来传输,电话线的频
带一般都比较窄。为保证信息传输的正确,要采用调制解
读/写 逻辑
发送 控制 电路
TxRDY TxE TxC
接收 缓冲器
调制解 调控制 电路
RxD
接收 控制 电路
Page 24
RxRDY RxC SYNDET
1) 数据总线缓冲器 数据总线缓冲器通过8位数据线D7~D0和CPU的数据总线 相连,负责不CPU交换信息。 还可随时把状态寄存器中的内容读到CPU中,在8251A初 始化时,分别把方式字、控制字和同步字符送到方式寄存 器、控制寄存器和同步字符寄存器中。
Page 28
5) 调制/解调器控制逻辑 利用8251A迚行进距离通信时,发送方要通过调制解调器 将输出的串行数字信号变为模拟信号,再发送出去。接收 方也必须将模拟信号经过调制解调器变为数字信号,才能 由串行接口接收。 调制解调器控制电路是与为调制解调器提供控制信号用的。