第七章输入输出总线接口技术主要内容微型计算机的最小系统
CPU与外设之间数据传送的方式并行接口芯片 8212
可编程并行接口芯片 8255A
串行接口通信的基本概念可编程串行接口芯片 8251A
接口功能
地址译码和设备选择
数据缓冲
设置、保存控制命令和译码
监测、保存外部设备的状态
信息转换
中断控制微型计算机的最小系统输入 /输出接口芯片 8282,8286
特点:
8282是典型的数据锁存器,传送的数据位数是 8位,数据传送的方向是单向的。
8286为数据收发器,双向传送 8位数据。
微型计算机的最小系统输入 /输出接口芯片 8282,8286
微型计算机的最小系统微型计算机的最小系统
8086的 MIN/ 端接高电平,说明 8086
工作在最小模式。 8086与外设进行信息交换时,有 3片 8282用来作为地址锁存器。
当系统中所连的外设多时,使用 2片 8286
来增加数据总线的驱动能力。
选用 8282芯片作地址信息锁存器,以获取地址信息;选用 8286芯片作数据信息寄存器,以获取数据信息。
MAX
微型计算机的最小系统微型计算机的最小系统
CPU
与外设之间数据传送的方式程序传送方式程序传送方式以 CPU为中心,数据传送的控制来自 CPU,通过执行预先编制的输入 /输出程序实现数据传输。
程序传送方式可分为无条件传送和查询传送方式。
无条件传送方式在传送信息时,已知外部设备是准备好的状态,所以输入输出时都不需要查询外部设备的状态。在输入或输出时,相应给出 IN或 OUT
指令即可。但这种方式必须确信外部设备已准备好的状态才可使用,否则就会出错,故很少使用。
CPU
与外设之间数据传送的方式程序传送方式
无条件传送方式
CPU
与外设之间数据传送的方式程序传送方式
查询传送方式查询方式的数据传送过程如下:
( 1) CPU从状态端口读取状态字 。
( 2) CPU判断状态位是否,准备就绪,,如果没准备好,就返回上一步,继续读取状态字 。
( 3) 如果准备好,则执行数据传送操作 。
CPU
与外设之间数据传送的方式中断传送方式当外设准备好后,外设 接口 便主动向
CPU发,中断请求,信号。 CPU响应这样这一请求,则暂停正在执行的程序,而转入与外设操作有关的中断服务程序。
在中断服务程序中完成数据的输入或输出,中断服务程序执行完毕,CPU返回到原来程序的断点继续执行。
CPU
与外设之间数据传送的方式中断传送方式
CPU
与外设之间数据传送的方式
DMA传送方式基本思想,在存储器和外设之间建立起直接的数据传送通路,即不经由 CPU,而由专门的 DMA控制器实现存储器和外设之间的操作。于是,传送就不必进行保护现场等一系列额外操作,从而减轻了 CPU
的负担,因此特别适合于高速度大批量数据传送的场合。但是,这种方式要增设 DMA控制器,硬件电路比前两种方式更为复杂,
CPU
与外设之间数据传送的方式
DMA传送方式
CPU
与外设之间数据传送的方式
DMA传送方式
CPU
与外设之间数据传送的方式
DMA传送方式
DMA传送的基本过程如下:
( 1) 当 I/ O接口准备好,希望进行 DMA操作时,就向 DMA控制器 ( DMAC) 发出 DMA
请求信号 ( DRQ)
( 2) DMA控制器将此请求信号转变成对 CPU
的总线请求信号 ( DMA HRQ)
( 3) CPU当前机器周期执行结束,响应 DMA
请求发出总线应答信号 ( HLDA),此时,
由 DMA控制器接管对总线的控制 。
CPU
与外设之间数据传送的方式
DMA传送方式
( 4)由 DMA控制器对存储器寻址,并发出相应控制信号( DACK、,),使存储器与 I/ O接口之间直接交换数据。
( 5) 在传送一字节数据后,DMA控制器自动修改存储器地址和传送字节计数器,
并检测传送是否结束 。
( 6) DMA传送结束,DMA控制器向 CPU发出结束信号,并释放总线,使 CPU重新获得总线控制,恢复正常工作。
WR
RD WR
并行接口芯片
8212
8212介绍
Intel 8212 是一个八位的输入输出接口芯片
引脚图
Intel8212包括 8位锁存器,三态输出缓冲器,
控制和选择逻辑电路和中断请求逻辑等部分。
并行接口芯片
8212
8212介绍并行接口芯片
8212
8212工作方式
1、输出接口并行接口芯片
8212
8212工作方式
2、输入接口
( 1)直通式并行接口芯片
8212
8212工作方式
2、输入接口
( 2)选通输入可编程并行接口芯片
8255A
8255A结构外部引脚可编程并行接口芯片
8255A
8255A结构内部结构可编程并行接口芯片
8255A
8255A结构内部结构
8255A由三部分组成。
1,与外设接口部分
8255A内部包括三个 8位的输入输出端口,分别是端口 A、
端口 B,端口 C,相应信号线是 PA7~ PA0,PB7~ PB0、
PC7~ PC0。 端口都是 8位,都可以作为输入或输出,但功能上各有特色:
端口 A,一个 8位数据输出锁存和缓冲器;一个 8位数据输入锁存器。
端口 B,一个 8位数据输入 /输出、锁存 /缓冲器;一个 8位数据输入缓冲器。
端口 C,一个 8位数据输出锁存 /缓冲器;一个 8位数据输入缓冲器(输入没有锁存)。
可编程并行接口芯片
8255A
8255A结构
2、与微处理器接口部分这部分主要完成数据传送及逻辑控制。
3、内部控制部分由 A,B两组控制电路组成。
主要作用是根据 CPU送来的控制字用以决定两组端口( A组为 A口 C口的高 4位,B组为 B口和
C口的低 4位。)的工作方式,也可根据控制字的要求对 C口按位进行置位或复位。
可编程并行接口芯片
8255A
8255A控制字
1、工作方式控制字可编程并行接口芯片
8255A
8255A控制字
2,8255A置位复位控制字可编程并行接口芯片
8255A
8255A工作方式三种基本的工作方式:
方式 0-基本的输入输出方式方式 1-选通输入输出方式方式 2-双向传送方式 。
1,方式 0
方式 0不使用联络信号,也不使用中断,A口和
B口可定义为输入或输出口,C口分成两个部分
(高四位和低四位),C口的两个部分也可分别定义为输入或输出。在方式 0,所有口输出均有锁存,输入只有缓冲,但无锁存,C口还具有按位将其各位清 0或置 1的功能。
可编程并行接口芯片
8255A
8255A工作方式
2、方式 1
A口借用 C口的一些信号线用作控制和状态线,形成 A组,B口借用 C口的一些信号线用作控制和状态线,组成 B组。在方式
1下,A口和 B口的输入输出均带有锁存。
可编程并行接口芯片
8255A
8255A工作方式
方式 1的输入
A口工作于方式 1且用作输入口时,C口的 PC4
线用作选通输入信号线 STBA,PC5用作输入缓冲器满输出信号线 IBFA,PC3用作中断请求输出信号线 INTRA。 B口工作于方式 1且用作输入口时,C口的 PC2线用作选通输入信号线 STBB,
PC1用作输入缓冲器满输出信号线 IBFB,PC0
用作中断请求输出信号线 INTRB。
可编程并行接口芯片
8255A
8255A工作方式可编程并行接口芯片
8255A
8255A工作方式各状态、控制信号线
:选通信号,输入,低有效。这是由外设送来的信号,
有效时将由外设送来的位于 A口(或 B口)引线的 8位数据锁存到 A口(或 B口)的输入锁存器中。
IBF,输入缓冲器满,输出,高有效 。 这是 8255A送给外设的联络信号,有效时表示数据已送入到输入锁存器中 。
该信号由外设发出的 置位 ( 变为有效 ),由 CPU
发出的 信号的上升沿复位 ( 变为无效 ) 。
INTR,中断请求,输出,高有效。这是 8255A送给 CPU的中断请求信号。它是 当信号将外设的数据送入 8255A
的输入锁存器,使 IBF为有效,并且中断允许( INTE为高)时,由 8255A发出的。换句话,在中断允许的前提下,输入选通信号结束时,外设已经将数据送入 8255A
的输入锁存器,这时 8255A向 CPU提出中断请求,让 CPU
来读取位于 8255A输入锁存器中的数据。
STB
STB
BOBF
RD
STB
可编程并行接口芯片
8255A
8255A工作方式各状态、控制信号线
INTE,中断允许。它是由内部的中断控制触发器发出的允许中断或屏蔽中断的信号。 INTE
= l,允许 A口或 B口向 CPU申请中断,INTE= 0,
禁止 A口或 B口向 CPU申请中断。 INTE没有外部引出端,它是利用 C口的按位置位/复位的功能来使其置 1或清 0的,INTEA由 PC4控制,INTEB
由 PC2控制。需要指出的是,在方式 1时,PC4
和 PC2的置位/复位操作分别用于控制 A口和 B
口的中断允许信号,这是 8255A的内部操作,
这一操作对 PC4和 PC2引脚用于 A口和 B口的数据选通输入和的状态没有任何影响。
可编程并行接口芯片
8255A
8255A工作方式
方式 1的输出当 A口工作于方式 1且用作输出口时,C口的 PC7线用作输出缓冲器满 信号,
PC6用作外设收到数据后的响应信号,
PC3用作中断请求输出信号线 INTRA。 当 B
口工作于方式 l且用作输出口时,C口的
PC1线用作输出缓冲器满 信号,PC2
用作外设收到数据后的响应信号,
PC0用作中断请求输出信号线 INTRA。
AOBF
AACK
BACK
BOBF
可编程并行接口芯片
8255A
8255A工作方式可编程并行接口芯片
8255A
8255A工作方式各状态、控制信号线
,输出缓冲器满,输出,低有效 。 这是
8255A送给外设的控制信号,有效时表示数据已送入到输出锁存器中,用该信号通知外设将数据取走 。 该信号由 CPU发出的而置成低电平 ( 变为有效 ) 而由外设来的 ACK信号使其恢复为高电平 ( 无效 ) 。
,应答,输入,低有效 。 这是由外设送来的信号,有效时将表示外设已经从端口输出线上将数据取走 。
ACK
OBF
ACK
可编程并行接口芯片
8255A
8255A工作方式
INTR,中断请求,输出,高有效。这是
8255A送给 CPU的中断请求信号。它是当外设将数据取走并应答 信号之后,
并且中断允许( INTE为高电平)时,由
8255A发出的。
在中断允许的前提下,信号有效时,
外设已经将数据取走,这时 8255A向 CPU
提出中断请求,让 CPU输出一个新的数据。
ACK
ACK
可编程并行接口芯片
8255A
8255A工作方式
INTE,中断允许。它是由内部的中断控制触发器发出的允许中断或屏蔽中断的信号。
INTE= 1,允许 A口或 B口向 CPU申请中断,
INTE= 0,禁止 A口或 B口向 CPU申请中断。
它是利用 C口的按位置位/复位的功能来置 1或清 0的,INTEA由 PC6控制,INTEB由
PC2控制。
在方式 1时,PC4和 PC2的置位/复位操作分别用于控制 A口的 B口的中断允许信号,
可编程并行接口芯片
8255A
8255A工作方式
3、方式 2
方式 2是 A组独有的工作方式。外设既能在 A口的 8条引线上发送数据,又能接收数据。此方式也是借用 C口的 5条信号线作控制和状态线,A口的输入和输出均带有锁存 。
可编程并行接口芯片
8255A
8255A工作方式
,输出缓冲器满,输出,低有效 。 这是 8255A
送给外设的控制信号,有效时表示数据已送入到 A口输出锁存器中,用该信号通知外设将数据取走 。
:应答,输入,低有效 。 这是由外设送来的信号,有效时表示外设已经从 A口输出线上将数据取走 。
OBF
ACK
可编程并行接口芯片
8255A
8255A工作方式
,选通信号,输入,低有效 。 这是由外设送来的信号,有效时将由外设送来的位于 A口引线的 8位数据锁存到 A口的输入锁存器中 。
IBFA,输入缓冲器满,输出,高有效。这是 8255A送给外设的响应信号,有效时表示数据已送入到输入锁存器中。该信号由外设发出的置位(变为有效),由 CPU
发出的信号的上升沿复位(变为无效)。
ASTB
A STB
可编程并行接口芯片
8255A
8255A工作方式
INTRA,中断请求,输出,高有效。这是
8255A送给 CPU的中断请求信号。
无论是输入操作还是输出操作,当一个操作完成,要进行下一个操作时在 8255A
都通过该引脚向 CPU发中断请求信号。
方式 2的 A口输入传送和输出传送各自作为一个中断源,两个中断请求信号在
8255A内部相或,只产生一个中断请求通过 PC3发给 CPU。
可编程并行接口芯片
8255A
8255A工作方式
INTE1,中断允许 1。 它是由内部的中断控制触发器发出的允许中断或屏蔽中断的信号 。 INTE= l,允许 A口在输出缓冲器变空 ( 数据已被外设取走 ) 时向 CPU申请中断,让 CPU输出一个新的数据;
INTE1= 0,则屏蔽了输出中断请求,这样,即使 A口的输出缓冲器已经变空了,
也不能在 INTR上产生中断请求信号 。
INTE1为 0还是为 1是由软件通过对 PC6复位/置位来完成的,PC6= 0使 INTE1为 0,
PC6= l使 INTE1为 1。
可编程并行接口芯片
8255A
8255A工作方式
INTE2,中断允许 2。 它也是由内部的中断控制触发器发出的允许中断或屏蔽中断的信号 。 INTE2= 1,允许 A口在输入数据就绪时向 CPU申请中断,让 CPU将数据取走; INTE2= 0,则屏蔽了输入中断请求 。
INTE2为 0还是为 1是由软件通过对 PC4复位/置位来完成的,PC4= 0使 INTE2为 0,
PC4= 1使 INTE2为 1。
可编程并行接口芯片
8255A
8255A应用可编程并行接口芯片
8255A
8255A应用串行通信接口的基本概念数字信号的并行传输和串行传输并行传输 是多位二进制数据可以同时传输,
提高数据传输的效率 。 通常以 8位,16
位或 32位的数据宽度同时进行传输 。 每一位都要有自己的数据传输线和发送接收器件,在时钟脉冲的作用下数据从一端送往另一端 。
串行通信 是指在单根导线上将二进制数据一位一位顺序传送,特别适合于远距离传送 。 对于离计算机较近的外部设备如鼠标,绘图仪,终端等,也常常采用串行方式交换数据 。
串行通信接口的基本概念串行通信的同步方式
1、字符同步方式字符同步方式又称起止式同步方式或异步传输方式。它是以字符为单位进行传输。发送端每发一个字符之前先发送一个同步参考信号,接收端根据同步参考信号产生与数据位同步的时钟脉冲。
这样,在发送端和接收端之间,每个字符都要同步一次。发送端在发送一个字符的串行数据前加 l位起始位,在字符之后要加 l位校验位(任选)和 l~ 2位的停止位。
串行通信接口的基本概念串行通信的同步方式
2,位同步方式位同步方式,即在发送端对每位数据位都带有同步信息。在发送端可以附加发送与数据位同步的时钟脉冲,在接收端用这个时钟脉冲来读入数据。
串行通信接口的基本概念串行数据传送方式
1,单工方式 ( Simplex Mode)
在这种方式下,只允许数据按一个固定的方向传送 。 图中 A只能发送,称为发送器; B只能接收,叫做接收器 。 不能从 B
传向 A。
串行通信接口的基本概念串行数据传送方式
2,半双工方式 ( Half-Duplex Mode)
在这种方式下,数据既可以从 A传向 B,也可以从 B传向 A。 因此 A和 B既可作为发送器,又可作为接收器,通常称为收发器 。
但是,由于 A和 B之间只有一根传输线,
所以在同一时刻,只能进行一种传送,
不能同时双向传输 。 因此,将其称为
,半双工,方式 。 在这种工作方式下,
要么 A发送 B接收,要么 B发送 A接收 。
串行通信接口的基本概念串行数据传送方式
3,全双工方式 ( Full-Duplex Mode)
在 A,B之间增加一条线,使 A和 B两端均可同时工作在收发方式数据可以由 A传向
B,也可以由 B发送到 A。 与半双工方式相比,虽然对每个站来讲,都有发送器和接收器,但图中有两条传送线,用不着收发切换,因而传送速率可成倍增长 。
串行通信接口的基本概念信号调制和解调把数字信号转换为适于传输的模拟信号,
而在接收端再将其转换成数字信号,前一种转换称为调制,后一种转换称为解调。完成调制、解调功能的设备称为调制解调器( Modem)。
调制解调器常用的方式有:
幅移键控 ASK( Amplitude Shift Keying)
频移键控 FSK( Frequency Shift Keying)
相移键控 PSK( Phase Shift Keying)
串行通信接口的基本概念波特率所谓波特率是指每秒钟传送二进制数据的位数 。 单位是位 /秒 ( bit/s) 。
1波特= 1位/秒 ( 1bps)
例如,设数据传送的速率为 120字符 /秒,
每个字符 ( 帧 ) 包括 10个数据位,则传送的波特率为:
10× 120= 1200位 /秒= 1200波特率每一位传送的时间为 T= 1/1200=0.833ms
可编程串行接口芯片
8251A
Intel 8251A是一种通用的同步异步接收/发送器( USART) 芯片。它作为一种外围器件,可通过编程选用某一种串行通信技术。
8251A具有独立的发送器和接收器.因此,它能够以单工、半双工或全双工方式进行通信,并且提供一些基本的控制信号,可以方便地与 MODEM连接。
可编程串行接口芯片
8251A
8251A的引脚信号可编程串行接口芯片
8251A
8251A的内部结构可编程串行接口芯片
8251A
I/O缓冲器
I/O缓冲器用来与 CPU的数据总线 D7~ D0
相连 。 I/O缓冲器中设有三个缓冲器,分别为状态缓冲器,接收数据缓冲器和发送数据/命令缓冲器 。 状态缓冲器用来存放 8251A的内部工作状态,供 CPU查询;
接收数据缓冲器用来存放接收器已经装配好的字符,准备送给 CPU; 发送数据/
命令缓冲器用来存入 CPU送入 8251A的数据或命令 。
可编程串行接口芯片
8251A
读/写控制逻辑读/写控制逻辑接收来自 CPU的控制信号,
对数据在内部总线上的传送方向进行控制。
接收器接收器从 RXD引脚接收串行数据,按指定的方式变成并行数据。在异步方式下,
当接收器成功地接收到起始位后,8251A
便接收数据位、校验位和停止位,接着将并行的数据通内部总线送入数据缓冲器。
可编程串行接口芯片
8251A
发送器发送器从 CPU接收并行数据,加上适当的字符格式信号后,再将其转换成串行的数据从 TXD引脚发送出去。
MODEM控制
MODEM控制部分有,,和四条信号线,该四条信号线一般用于与 MODEM相连时的联络控制信号。但是,它们也可以用作与外设联系的标准信号使用。
可编程串行接口芯片
8251A
8251A的工作方式
8251A的工作方式是由 CPU执行程序设定的 。
在开始数据发送与接收之前,必须由 CPU
送出一组控制命令字来预置 825lA,以提供所需要的通信格式 。 控制命令字分为两种:方式控制指令和命令指令 。
1,方式控制指令方式指令定义 825lA的一般工作特性,它必须跟在一个复位操作(内部的或外部的)之后。
在方式指令由 CPU写入 8251A之后,就可写入同步字符和命令指令。
可编程串行接口芯片
8251A
8251A的工作方式可编程串行接口芯片
8251A
8251A的工作方式
2,命令字在完成 SYN字符的装入后 ( 或在异步方式控制指令装入之后 ),接着必须装入命令指令 。 命令指令控制 8251A按方式所规定的工作方式进行操作 。 命令字的格式如下图所示 。
可编程串行接口芯片
8251A
8251A的工作方式
3,状态字
8251A用状态寄存器来寄存本身的状态信息,CPU可以读取状态寄存器的内容,获得 8251A当前的工作状态。
可编程串行接口芯片
8251A
8251A的初始化编程
异步方式下的初始化
8251A的初始化总是从设置方式指令开始,
命令指令不能放在方式指令之前。而方式指令必须紧跟在复位之后。如果在使用过程中改变 8251A的工作方式,也必须先用命令指令的 D6= l使 825lA复位。
同步方式下的初始化初始化的流程是:程序往此端口输出的依次为方式字、同步字符和控制字。