Ø 8255A的内部结构 在这里插入图片描述

方式0:基本的输入/输出方式

	○ 方式0输入:
		i. 决定对哪个口读取数据
		ii. 外部数据输入到8255A芯片
		iii. CPU发出读数据的功能指令
		iv. CPU从D0-D7读走数据
	○ 方式0输出:
		i. 决定对哪个口输出数据
		ii. CPU发出写数据指令
		iii. CPU通过D0-D7数据总线写入数据
		iv. 通过8255A芯片输出数据

方式1:选通的输入/输出方式

在这里插入图片描述

4. 时序动态分析:

	i. 当外设的数据送入8255A的端口总线时,外设向8255A发送STB非选通信号将数据锁存进输入锁存器(外设发送了/STB=0)
	ii. 输入缓冲器满IBF=1,8255A输出IBF=1给外设,阻止外设输送数据;
	iii. 同时(若INTE=1)IBF=1,8255A会产生中断请求也即INTR=1
	iv. CPU响应中断,发出/RD读数据信号;在/RD的下降沿会清除中断请求INTR=0
	v. 读完数据信息后,/RD完成之时,复位IBF,使IBF=0
	vi. 回到最初状态

5. 方式1输出:

在这里插入图片描述
在这里插入图片描述

6.时序动态分析:

	i. CPU响应中断,输出(WR非=0)写入信号,向输出缓冲器写数据
	ii. 很快的时间内,数据写入完毕,(WR非)恢复到高电平(上升沿)(已查资料,确实是上升沿消除中断)
     	会触发两个方面:1.消除上次的中断请求(INTR=0)
	                   2.输出缓冲器满(OBF非=0)通知外设读取数据
	iii. 外设应答取走数据(ACK非=0),输出缓冲器再次变空(/OBF=1)
	iv. 在外设结束应答时,ACK非的上升沿(且INTE=1),引起新的中断请求(INTR=1)
	v. 回到 第一步

8255A的两个控制字

在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐