9.2可编程并行接口8255A9.1概述本章介绍两种通信方式与两种接口芯片,以此构建并行与串行通信系统。重点:通信的基本概念;8255A的功能、结构与编程。难点:8255A与设备、系统的连接。教学重点1.掌握并行通信和串行通信的基本概念,2.掌握并行接口芯片8255A的基本结构和特点3.熟悉8255A的三种工作方式及其应用4.掌握8255A的控制字的含义教学要求本节主要内容并行通信串行通信9.1概述1.并行接口定义:实现并行通信的接口电路,就是并行接口。分类:输入并行接口、输出并行接口和输入/输出并行接口。特点:传输速度快,硬件开销大,适合近距离传输。9.1概述9.1.1并行通信2.并行接口组成并行接口电路常由输入数据缓冲器、输出数据缓冲器、状态寄存器和控制寄存器组成。(1)输入数据缓冲器:负责接收设备送来的数据。(2)输出数据缓冲器:负责接收CPU送来的数据。(3)状态寄存器:用来存放外设的运行状态信息。(4)控制寄存器:用于设置接口工作方式、操作方式。9.1概述9.1.1并行通信3.并行通信工作过程(1)输入外设将输入数据放到外设到接口的数据总线上;使“数据输入准备好”状态选通信号有效,数据输入到接口的输入数据缓冲器内;使“数据输入应答”信号有效,作为对外设输入的响应;外设撤销输入数据和“数据输入准备好”信号;接口在状态寄存器中设置“输入准备好”状态位通知CPU;CPU从接口输入缓冲器中读取数据,接口自动清除状态寄存器中“输入准备好”状态位,并使数据总线处于高阻状态。9.1概述9.1.1并行通信3.并行通信工作过程(2)输出CPU输出的数据到达接口的输出缓冲器;接口清除“输出准备好”状态位,并将数据送往外设的数据线上,同时给外设发送“驱动信号”启动外设接收数据。外设接收数据,并往接口发一个“数据输出应答”信号;接口收到此信号,便将状态寄存器中的“输出准备好”状态位置1。9.1概述9.1.1并行通信(1)串行通信中的工作方式串行通信中的工作方式分为:单工通信方式、半双工通信方式和全双工通信方式发送器接收器单工方式(a)A站点B站点发送器接收器发送器接收器(b)A站点B站点发送器接收器发送器接收器(c)A站点B站点9.1概述9.1.2串行通信(2)发送时钟和接收时钟①发送时钟:串行数据的发送由发送时钟控制,数据位的时间间隔由发送时钟周期来划分。②接收时钟:串行数据的接收由接收时钟来检测,接收线送来的串行数据由接收时钟作为移位寄存器的触发脉冲,逐位打入移位寄存器。③波特率与比特率波特率:表示在通信信道上每秒传输的信号单元数(任意进制数据)。比特率:表示在通信信道上每秒传输的二进制数的位数。波特率与比特率的关系是:比特率=波特率×N2Log9.1概述9.1.2串行通信波特率因子:表示发送1个二进制位需要的时钟个数。用M表示。它与收发时钟的关系是:收(发)时钟=M×波特率(3)数据终端设备和数据通信设备①数据终端设备DTE(DataTerminalEquipment)。是对属于用户的所有联网设备和工作站的统称,是数据的发送端或数据的接收端。②数据通信设备DCE(DataCommunicationEquipment),称为数据电路终端设备(DataCircuit-terminatingEquipment)。DCE是对网络设备的统称,该设备为用户设备提供入网的连接点。9.1概述9.1.2串行通信1.异步通信方式及协议异步通信方式也叫起止式异步协议,是指在传送信息流中相邻字符之间的时间间隔是不固定的,而同一字符内相邻各位之间的时间间隔是固定的。异步通信的特点为:(4)同步通信和异步通信方式①在通信的信息流中,以字符为单位进行传送,字符之间异步,字符内各位间同步;②每个字符传输总是以一个起始位为准,以相同的速率进行数据位的收发;③通信双方必须约定相同的字符数据格式、校验方法和传输速率。9.1概述9.1.2串行通信2.同步通信方式及协议所谓同步通信是指在传送的信息流中每个二进制位都需时钟同步,同步通信的特点:在通信的信息流中,以数据块为单位进行传送,数据块包含多个字节(字符),数据块内各位间同步;同步通信总是以同步字符作为数据块帧传送的开始,收发双方以相同的速率进行数据位的收发;通信双方也必须约定相同的数据帧格式和传输速率。根据同步通信的协议类型,分为面向字符的和面向比特的同步协议。9.1概述(4)同步通信和异步通信方式9.1.2串行通信异步、同步通信协议9.1概述9.1.2串行通信(4)同步通信和异步通信方式本节主要内容9.2.18255A功能结构9.2.28255A引脚功能9.2.38255A工作方式9.2.48255A编程9.2可编程并行接口芯片8255AIntel82C55A的封装图9.2可编程并行接口芯片8255A9.2.18255A功能结构Intel公司出品的82C55-AIntel82C55A的芯片实物PLCC封装9.2可编程并行接口芯片8255A9.2.18255A功能结构9.2可编程并行接口芯片8255A9.2.18255A功能结构1.D7-D0:数据总线,双向,三态。与系统数据总线相连,用于与系统交换数据。2.A1-A0:地址线,输入。与系统的低位地址线相连,用于选择三个数据端口和控制端口。3.CS:片选信号引脚,输入。常与译码器输出线相连,用于使能8255A。RD:读信号引脚,低电平有效,输入。与8086/8088的RD相连。WR:写信号引脚,低电平有效,输入。与8086/8088的WR相连。RESET:复位引脚,高电平有效,输入。与8284相连,有效时,8255A复位。复位时,所有寄存器清0,端口设置为方式0的输入状态,即高阻态。4.Vcc:电源引脚,输入。接+5V电压。GND:接地引脚。5.PA7-PA0:端口A的8个数据输入/出引脚,双向,三态。一个8位数据输入或8位输出锁存/缓冲器。5.PB7-PB0:端口B的8个输入/出引脚,双向,三态。一个数据I/O锁存/缓冲器或一个数据输入缓冲器。5.PC7-PC0:端口C的8个输入/出引脚,双向,三态。一个8位数据输出锁存/缓冲器和一个数据输入缓冲器(输入不锁存)。9.2可编程并行接口芯片8255A9.2.28255A的引脚信号1.方式0-基本输出输入方式方式0是基本的输入/输出方式。A,B,C三个口均可以工作在方式0下,每一个口均可设置为输入口或者输出口。方式0主要应用于主机与外设间的无条件输入输出与查询方式下进行数据传输。如果需要联络信号时,可以通过软件编程将某些I/O线设置为联络控制线。在这种方式下,只能单方向传递数据。9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.1方式1工作过程(输出)1111向C口写PC4位置1,开放中断109.2可编程并行接口芯片8255A9.2.38255A的工作方式11111向CPU发中断请求CPU处理中断请求给8255A发写信号9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.1方式1工作过程(输出)11111CPU将数据送到数据总线进入数据缓冲器数据进入8255的A口通知外部设备取走数据0外部设备取走数据00撤消中断请求信号9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.1方式1工作过程(输出)110000外设取走数据发回应答信号1电平变高代表数据已取走缓冲区为空11再次进行中断请求9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.1方式1工作过程(输出)注意各脉冲的变化时间9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.1方式1输出工作时序小结:需要事先设置开放内部中断;CPU产生数据送入8255A;将输出缓冲区满信号激活,通知外设有数据到来;外设取走数据后,发响应信号给8255A,同时与内部INTE联合作用激活INTR,向CPU发出中断请求号,让CPU再次送数据。注意:ACK只持续一个时钟周期,OBF在外设读取数据后才变成无效,而INTR是最晚改变的一个信号。9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.1方式1输出工作过程111外设产生数据数据出现在外部数据总线外设发选通信号数据进入8255A的A口1通知外设缓冲区已满,不能再送入数据。1向C口写P4位置1,开放中断向CPU发中断请求信号CPU发读信号注意:此工作是8255A初始化时完成的!!!9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.2方式1工作过程(输入)9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.2方式1输入工作时序小结:需要事先设置开放内部中断;外设产生数据,发选通信号,将数据送入8255A;一方面将输入缓冲区满信号激活,通知外设不再送入数据;一方面与内部INTE信号联合作用产生INTR信号,通知CPU外设送来数据等待处理;CPU响应后,发出读信号,取走数据。注意:STB只持续一个时钟周期,IBF在CPU读取数据后才变成无效,是最晚改变的一个信号。9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.2方式1输入工作过程8255A中只允许端口A处于工作方式2,可用来联接双向I/O设备或用于在两台处理机之间实现双向并行通信等。控制信号由端口C提供,可向CPU发出中断请求信号。9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.3方式2选通双向传送方式9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.3方式2选通双向传送方式9.2可编程并行接口芯片8255A9.2.38255A的工作方式2.3方式2工作时序8255A的3种不同工作方式是根据工作需求与环境不同来设计,设计完成后就要对8255A进行编程,编程就是要向8255A写入控制字。8255A的控制字有工作方式控制字、C口的位置位/复位控制字。9.2可编程并行接口芯片8255A9.2.48255A的编程1D0D1D2D3D4D5D6方式控制字标志位1:端口C(PC3~PC0)输入0:端口C(PC3~PC0)输出1:端口B输入0:端口B输出1:端口B方式10:端口B方式01:端口C(PC7~PC4)输入0:端口C(PC7~PC4)输出1:端口A输入0:端口A输出00:端口A方式001:端口A方式11X:端口A方式29.2可编程并行接口芯片8255A9.2.48255A的编程8255A工作方式控制字格式0××××D7D0D1D2D3D4D5D6标志位000011110011001101010101PC0PC1PC2PC3PC4PC5PC6PC71:置位0:复位9.2可编程并行接口芯片8255A9.2.48255A的编程C口置位/复位控制字格式9.2可编程并行接口芯片8255A例:8255A与打印机接口