《微机接口原理》A+学习笔记系列--接口并行

一.并行接口硬件

1.小规模数字电路

如74xx373、74xx244等小规模数字电路,一般由数据选择器        MUX和和触发器组构成,具有使用简单、控制方便的特点。但是其缺陷也十分明显,那就是工作方式单一,不可以进行工作方式选择。如下图为74xx373与74xx244逻辑符号。


 

2.可编程并行接口

工作方式更为灵活,功能覆盖面更大,是目前微机系统内主要使用的接口芯片组(如82c55A、82c55C等)在此,仅讨论可编程并行接口。

二.可编程并行接口(以8255X为例)

1.管脚特性

82C55X有四个内部端口,分别为三个数据端口、一个命令端口。
D0--D7为八位双向三态数据总线,用于与8086CPU交互数据、发送命令(仅面向cpu)
PA0--PA7、PB0--PB7、PC0--PC7为三个端口数据线,面向外设部件(仅面向外设部件)
~cs为芯片使能信号。

~RD、~WR为芯片读写使能控制线。

RESET为置数重置信号(与8086CPU的RESET管脚对应)

 其中,PC0--PC3、PC4--PC7在应答工作方式下功能略有不同:

在应答工作方式下,C端口与A、B不合用,用作专用应答线,可以由CPU按位进行读写。

在无条件传输方式下,C端口低四位与B端口合成B组,高四位与A端口合成A组

A0--A1为端口地址线,共有四个地址,分别对应A、B、C、命令端口(在IBM系统内时,8255地址为60H--63H)


2.内部逻辑

其内部逻辑如上图所示:在一些工作模式下,C端口用作专用仲裁、应答、握手信号(后续工作方式详细讨论)8255工作命令字8bit,寄存器全都是8bit,故置数任务一次汇编命令即可完成。

3.命令字格式

8255有两种命令字:分别是方式命令置位命令

其中,方式命令格式如下所示:

最高位G为特征位:G为0为置位指令,G为1则是方式指令。

A端口有三种工作方式,B端口有两种工作方式。

RA、RB、RCH、RCL为输入/输出选择,为0表示输出out,为1表示输入in。(其中:只有方式0和方式1需要指定输入/输出方向,方式2为双向通信。)

 

对于特殊的工作方式(A端口方式2)C端口工作输出方向已经确定,R位无用。


置位指令如下所示:D4--D6为无关项,随便写任意数据都行(一般规范默认写000b)

D1--D3为C端口管脚选择,共可以选择000----111共八个管脚,

D0位为置数位,为0表示置‘0’,为1表示置‘1’

 

4.功能逻辑

(1).方式0

A、B、C均用于数据端口,无需应答,该方式一般用于无条件输入/输出方式,仅作为数据三态缓冲功能,类似于74xx373、74xx244的工作逻辑。

(2).方式1

方式1用于轮询、中断方式下的接口。C端口固定用于应答工作;

1方式输入/输出方式下各有三条应答线:A端口的方式1和B端口的方式1所用应答线恰好错开:

输入方式:

 如上图是A端口的工作方式1所使用的应答线,外设请求输入时~STB为低电平,数据存入端口A后IBF为‘1’,表示寄存器已满,PC5*PC4向8086CPU发送中断申请信号。如果是查询方式,则CPU检测INTE、INTR管脚状态即可。

 在~RD信号有效,完成一次数据读取后,IBF位归零。

B端口方式1逻辑完全一致,只是所使用的C端口管脚不同而已,如下图所示:

 注:PC2位之所以要专门画两次,标注为“INTE”,是因为在中断中,其充当功能不同,是中断允许触发器的功能,故单独标注。


输出方式:

 输出方式类似有三条应答线:

~WR有效时,表示8086CPU已经将数据送入数据寄存器,~OBF为低电平,表示寄存器已满。

外设收到~OFB有效时,开始向端口取数据,完成后发出~ACK有效应答信号。

B端口方式1逻辑完全一致,只是所使用的C端口管脚不同而已,如下图所示:

总结可以发现:在IBM 8086-8255体系结构下,所有应答线均为低电平有效。

(3).方式2

只有A端口有工作方式2,B端口仅有工作方式0、1两种,故在A端口的工作方式2下:

C端口的所有管脚均作为A端口应答线。

方式2称为双向选通输入输出方式如下图所示,为A端口在1方式下输入输出应答线的合并。

且应该特别注意:工作方式2指定通信方向为双向,故一旦方式命令指定工作方式为方式2,那么输入/输出控制R位无效,无需指定方向。

方式2下输入输出握手时序与方式1完全一致,在方式2中有一个控制方式锁,以保证输入输出时序错开。


 

综上所述,可以将C端口应答线使用总结为如下表格:

 


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物质波波波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值