第4章41-44微机接口技术_第1页
第4章41-44微机接口技术_第2页
第4章41-44微机接口技术_第3页
第4章41-44微机接口技术_第4页
第4章41-44微机接口技术_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章41-44微机接口技术第一页,共72页。4.1微型计算机接口技术主机将数据送到外设,称为输出外设将数据送到主机,称为输入简称I/O操作接口—“桥梁”,主机与外设进行数据传输,必须经过接口。接口电路CPU

I/O设备数据状态控制数据状态控制2014/07第二页,共72页。内存PCI插槽北桥芯片:负责与CPU的数据通信,并控制内存、AGP等数据的传输。南桥芯片:与I/O设备等相连,实现I/O总线之间的通信,负责管理中断及DMA通道。2014/07第三页,共72页。§4.1.1I/O接口传递的信息1、数据信息:2、状态信息:3、控制信息:数字量、模拟量、开关量准备就绪(READY)、忙(BUSY)等读/写、选中片选等§4.1.2

I/O接口的端口1、端口数据端口、状态端口、控制端口。端口1端口2端口3端口—用于存放信息的、

CPU直接访问锁存器、缓冲器。2014/07第四页,共72页。①数据端口数据端口根据I/O设备的需要,可能单向输出、单向输入或是双向的,双向数据端口往往同时具有锁存及三态缓冲功能。②状态端口

CPU通过读状态端口了解I/O设备的工作状态,状态端口是只读端口,一般包含三态缓冲器。③控制端口对I/O设备的控制命令通过写控制端口发出。控制端口是只写端口,一般都具有锁存功能。2、端口的分类2014/07第五页,共72页。§4.1.3I/O接口的主要功能实现与不同外设的速度匹配数据缓冲、隔离、和锁存改变信号的形式和数据格式进行变换实现I/O端口的寻址2014/07第六页,共72页。RD/WR0000H1FFFH2000H2FFFH存储器I/O一致的读写信号1、统一编址I/O与存储器(RAM)的地址不重复,读写指令一致,只是根据地址来区分操作对象是RAM还是I/O。优点:无需专门的I/O指令,对I/O操作指令丰富,可进行算术和逻辑运算;缺点:占用存储器地址,因外设功能各不相同,需要复杂的电路进行时序配合。§4.1.4I/O接口编址2014/07第七页,共72页。2、独立编址

I/O与存储器(RAM)的地址重复,用不同的读写信号和指令区分。存储器读写:MEMW,MEMR,I/O读写:IOR,IOW(PC/XT)优点:电路简单,不占用MEM空间;缺点:I/O指令单一。INAL,10HOUT10H,ALAND[SI],AXADD[DI],BX2014/07第八页,共72页。程序控制方式、中断控制方式、直接存储器存取方式。(DMA方式)和输入/输出处理机方式。程序控制方式是指在程序控制下进行信息传送。分为无条件传送方式和有条件传送方式。1、程序控制方式1)无条件传送(同步传送):应用于定时为已知的且固定不变的低速I/O。无需等待的高速I/O。§4.1.5I/O接口控制方式2014/07第九页,共72页。查询方式,一般查询传输时一个I/O设备有两个端口地址,一个为数据口地址,一个为状态口地址。CPU先读取状态口的数据,看看当前外设的状态准备好没有,若准备好则开始读写数据口,传输数据;若未准备好则循环读取状态口地址等待外设准备好。2)有条件传送方式2014/07第十页,共72页。

D7D6D0

数据端口状态端口

D78位1位数据口状态口控制口A7~A0Poll:Inal,S_portTestal,80hJzpollInal,D_port

查询式输入接口电路2014/07第十一页,共72页。状态口数据口I/O控制线控制线查询式输出接口电路Poll:Inal,S_portTestal,80hJnzpollmoval,storeOutD_port,al2014/07第十二页,共72页。2、中断控制方式当外部设备与CPU进行数据交换时,由接口发出一个中断请求信号,CPU响应中断请求,在中断服务程序中完成一个字节或一个字的信息交换。中断请求中断服务程序中断返回中断响应主程序每操作一次,CPU要打断原来执行的程序去执行中断服务程序,对速度较高的外部设备会产生信息丢失。2014/07第十三页,共72页。3、DMA控制方式DMA控制方式是一种块传送数据的方式。存储器I/O接口外设CPU(AL,AX)DMAC直接存储器访问控制HLDA发存储器地址传送数据传送结束?DMA结束修改地址指针2014/07第十四页,共72页。4.2I/O接口结构及芯片分类§4.2.1I/O接口的内部结构§4.2.2I/O接口的外部特性I/O接口的外部特性由其对外的引出信号体现。接口信号分为面向主机或CPU一侧的信号和面向外设一侧的信号。对面向CPU一侧的信号,有数据总线、地址总线和控制总线。2014/07第十五页,共72页。§4.2.3I/O接口芯片分类1、通用接口芯片支持通用的输入/输出及控制接口芯片;适用于大部分外部设备,例如并行接口芯片8255,串行接口芯片8251等。2、面向微机系统的专用接口芯片与CPU配套使用,以增强其整体性能。例如用来扩展系统中断功能的中断控制器8259A,用来支持DMA数据高速传送的DMA控制器8237,用来为系统提供定时和计数功能的定时/计数器8253等。3、面向外设的的专用接口芯片针对某种外设而设计,例如键盘/显示器接口芯片8279可支持简易键盘和数码显示器。2014/07第十六页,共72页。4.3I/O接口结构及芯片分类8255A是Intel系列的并行接口芯片,它是可编程的,可设置其工作方式,不需要再附加外部电路。§4.3.18255A内部结构及引脚功能1、与外设接口端口A1个8bit的数据输入锁存,一个8bit的数据输出锁存/缓冲器;2)端口B1个8bit的数据输入缓冲,一个8bit的数据输出锁存/缓冲器;3)端口C1个8bit的数据输入缓冲,一个8bit的数据输出锁存/缓冲器;2014/07第十七页,共72页。2、内部控制逻辑电路端口C:端口C常被分成2个4位端口,分别作为端口A和端口B的输入输出控制线和状态信号线,与端口A、端口B配合使用。2014/07第十八页,共72页。接受CPU对控制端口的命令(控制字),可以独立地设置8255A中3个端口的工作方式。1)数据总线缓冲器

双向三态8bit数据缓冲器,与CPU的数据总线相连,同时与8255A的内部数据总线相连,接受从CPU发出的控制字,输入输出数据,同时也向CPU传输8255A的状态字。2)读/写控制逻辑电路

CPU发送的读/写信号,其中A0,A1寻址8255A内部寄存器,共有3个数据端口,1个控制端口。3、与CPU接口2014/07第十九页,共72页。1).PA7~PA0,PB7~PB0,PC7~PC0与外设相连的并行扩展口。2).D7~D0:与CPU的数据总线相连,传输8255A的命令字或I/O数据。3).RESET:高有效,8255A内部寄存器清零,3个端口均为输入。4).CS:片选信号,低电平5).RD:为低读有效,CPU可以从3个端口读入数据。6).WR:为低写有效,CPU可以向3个端口输出数据,同时利用写信号可以向8255A的控制口写控制命令,设置8255A的工作方式。2014/07第二十页,共72页。

8255A接口工作状态选择表2014/07第二十一页,共72页。1、工作方式控制字8255A的方式控制字1方式选择控制字的标识位D6D500—方式0A端口方式选择10—方式201—方式1D4

端口A:1—输入

0—输出D0PC3~PC0:1—输入0—输出D1端口B:1—输入0—输出D2B端口方式选择0—方式01—方式1D3PC7~PC4:1—输入

0—输出A组B组§4.3.28255A控制字2014/07第二十二页,共72页。例:由工作方式控制字格式,可得控制字为:

10111000B=0B8H 则初始化程序为:

MOVAL,0B8H OUT63H,AL

某系统要求使用8255的A口工作于方式1作为输入,B口工作于方式0作为输出,C口的上半部输入、下半部输出。8255端口地址为6063H。完成其初始化程序。第二十三页,共72页。2、端口C置位/复位控制字

8255A端口C置位/复位控制字1=置10=置0

D00C端口置1/置0标识符

D6D5D4×××无关PC0PC1PC2PC3PC4PC5PC6PC7010101010011001100001111D3D2D1位选择:

2014/07第二十四页,共72页。 在上例中,若A口工作于方式1作为输入,要使用中断传送方式,完成对C口的置位操作。例:当A口工作于方式1作输入时,采用中断传送方式必须对PC4位置1。 MOVAL,00001001B OUT63H,AL第二十五页,共72页。§4.3.38255A的工作方式2、方式1:选通输入/输出方式。

共有3个口,被分为两组。A组包括A口和PC7~PC4,A口可由编程设定为输入或输出,PC7~PC4作为输入/输出操作的选通信号和应答信号。B组包括B口和PC3~PC0,这时C口作为8255A和外设或CPU之间传送某些状态信息及中断请求信号。1、方式0:基本输入/输出方式。

这种方式不需选通信号。PA,PB,PC中任一端口都可以通过方式控制字设定为输入或输出。2014/07第二十六页,共72页。STB:

外设送入的选通信号,与外设数据一起送入,相当于8255A的启动信号。PA7~0PC4ASTBPC5IBFAINTEAPC3INTRAPC6PC7RD方式1(端口A)输入IBF:InputBufferFull,输入缓冲器满,高有效,由8255发往外设,表示8255收到数据,但未被CPU取走,通知外设不可再送数据;当其为低时,表示CPU已取走数据,允许外设送新的数据。INTRA:8255向CPU申请中断,高有效。3个条件:1)STB为高,数据打入8255;2)IBF为高,8255收到数据;3)INTE(中断请求允许)为高,8255允许中断应答。INTEA:

中断允许信号。INTE没有外部引出端,由软件对C口某位进行置0或置1的操作实现。A口,是PC4;B口,是PC2。置1允许中断,置0屏蔽中断。1)方式1输入2014/07第二十七页,共72页。PB7~0PC2BSTBPC1IBFBINTEBPC0INTRBRD方式1(端口B)输入

PC0~2属于B口联络线,PC3~5属于A口联络线,PC6,PC7没有被重新定义,仍可作为基本I/O口使用,属于C口的高半部分,在控制字中定义其输入输出特性。2014/07第二十八页,共72页。工作时序INTRtSIT从外设来的输入数据tPStPH①STBtST②③tRIB④IBFtSIBtRITRD外设向8255的启动信号8255向CPU发出中断请求信号CPU向8255发出的读数据信号来自外设的输入数据2014/07第二十九页,共72页。CPU经8255A输入数据的步骤:CPU8255I/O设备③INTR①STB②IBF④RD初始状态时,并口输入缓冲器为空,IBF为无效。IBF有效电平将阻止外设数据送出新数据,并使INTR有效数据由外设->8255,选通信号STB有效8255在STB有效电平下将数据锁存,并送出IBF有效到外设CPU响应中断并在中断处理程序中读入并口数据。而该操作产生的RD有效信号会使INTR和IBF无效2014/07第三十页,共72页。2)方式1输出PA7~0PC6AACKPC7INTEAPC3INTRAPC4PC5WR方式1(端口A)输出AOBFOBFA:OutputBufferFull,输出缓冲器满,8255A将接到CPU送来的数据连带这个信号一起送往外设,相当于启动信号,通知外设开始接收数据。INTR:中断请求信号,由8255发往CPU,高有效。高电平条件:WR、OBF、ACK和INTE均为高电平。ACK

:

外设应答信号,外设送入8255,低有效。有效时表示外设已接到数据,可将OBF变高,表示CPU可以进行下一次传输。2014/07第三十一页,共72页。PB7~0PC1BACKPC2INTEBPC0INTRBWR方式1(端口B)输出BOBF

PC0~2属于B口联络线,PC3,PC6,PC7属于A口联络线,PC4,PC5没有被重新定义,仍可作为基本I/O口使用,属于C口的高半部分,在控制字中定义其输入输出特性。2014/07第三十二页,共72页。方式1输出数据的时序INTRtWITWRtAOB①②③④OBFtWOBtAITtAKACKtWB送往外设的数据数据有效2014/07第三十三页,共72页。CPU通过8255A输出数据的流程:

(首次输出必须在中断服务程序外进行)将数据送到外设,并使OBF为有效电平,INTR变为无效。CPU响应中断,向接口输出新数据(WR有效)。CPU进入中断处理程序向并口输出缓冲器写数据外设在OBF有效电平作用下取回数据,ACK有效电平8255收到ACK有效电平后使OBF无效并使INTR有效(向CPU发中断请求)。CPU经8255A输出数据的步骤:CPU8255I/O设备①WR②OBF③ACK④INTR2014/07第三十四页,共72页。3、方式2——双向输入/输出方式该方式只能用于端口A,A口既输入口又输出口,可采用中断或查询方式与CPU交换数据,C口用5个高位数位为A口提供应答信号。这时,端口B仍可以方式0或方式1工作。PA7~0PC6AACKPC7AOBFPC4ASTBPC5IBFAINTE1INTE2PC3INTRARDWR方式2(端口A)方式2的信号联络线实际上是方式1输入输出的组合。2014/07第三十五页,共72页。端口C各位作A、B口控制、状态信号的对应关系CPU可以通过对控制信号的置位/复位,实现与外设的应答联络;可通过读取C口的状态,来查询和判断数据口的状态2014/07第三十六页,共72页。若8255A的工作方式设定为方式1或方式2时,读PC口便可读得相应的状态字,以便了解8255A的工作状态,并供CPU查询。方式1§4.3.48255A的状态字2014/07第三十七页,共72页。方式22014/07第三十八页,共72页。例:

8086系统扩展8255并行接口,PA口接输出设备,PB口接输入设备,PC.7~PC.4连接四个开关,CPU将开关状态取入,然后根据开关状态去控制PC.3~PC.0驱动四个发光二极管(高电平亮,低电平灭)。设PA口的端口地址为A0H,用138译码器译码设计电路并编写驱动程序。①工作方式选择字100010108AH②设计电路第三十九页,共72页。第四十页,共72页。初始化程序:MOVAL,8AHOUTA6H,AL第四十一页,共72页。

注:对于8255的四个端口地址是连续的,当某个端口地址被确定以后,其余的端口地址也就自然确定了,CPU执行OUT指令时,IOWR=0,M/IO=0,地址译码后CS=0,具备了选通8255的条件。INAL,0A2HOUT0A0H,ALPB口输入数据PA口输出数据INAL,0A4HANDAL,0F0HPC口输入开关状态屏蔽掉低四位第四十二页,共72页。MOVCX,4SHRAL,CXOUT0A4H,AL右移四位PC口低四位去控制发光二极管4.8255A的PC口的功能①

可独立使用(方式0)与外设连接②可以拆成两部分A组高四位B组低四位联络信号握手信号第四十三页,共72页。000—PC.0001—PC.1010—PC.2011—PC.3100—PC.4101—PC.5110—PC.6011—PC.7输出状态01例:8086系统扩展8255并行接口,其数据线接8086CPU数据线低8位,设8255某端口地址为A6H,利用其位控功能实现灯灭、继电器闭合,电机起转。第四十四页,共72页。8259A的主要功能:可对8个中断源实现优先级控制可扩展至对64个中断源实现优先级控制每一个中断均可通过编程屏蔽或允许可编程设置不同工作方式根据中断源向CPU提供中断类型码可与CPU直接连接,不需外加硬件电路特点:可编程、8级向量优先中断、级联、优先权动态地改变。4.4可编程中断控制器8259A2014/07第四十五页,共72页。

数据总线缓冲器读/写控制电路级联缓冲/比较控制电路中断服务寄存器

(ISR)优先权判别器

(PR)中断请求寄存器

(IRR)中断屏蔽寄存器

(IMR)内部总线§4.4.18259A内部结构及引脚功能2014/07第四十六页,共72页。控制电路中断服务寄存器

(ISR)优先权判别器(PR)中断请求寄存器

(IRR)中断屏蔽寄存器

(IMR)内部总线1)中断请求寄存器IRR:保存从IR0~IR7来的中断请求信号,某位=1表示对应的IRi有中断请求(保存正在申请中断的状态)2)中断屏蔽寄存器IMR:存放中断屏蔽字,某位=1表示对应的IRi输入被屏蔽

1、内部功能寄存器3)优先权判别器PR:当IR7

IR0中有多个中断请求信号同时产生时,PR判定哪个中断请求具有最高优先权,并把它置入ISR的相应位。4)中断服务寄存器ISR:保存所有正在服务的中断源,某位=1表示对应的IRi中断正在被服务。多重中断情况下,ISR中多位被同时置“1”。1.控制电路:根据IRR的置位情况和优先权判别器PR的判定结果,向8259A内部其它部件发出控制信号,并向CPU发出中断请求INT和接收来自CPU的中断响应INTA。2014/07第四十七页,共72页。1)数据总线缓冲器:双向8位三态缓冲器,构成8259A与CPU之间的数据接口。2、与CPU的接口2)读/写控制逻辑:完成来自CPU的读写命令,及与片选信号CS与A0(0或1)决定访问片内某个寄存器。3)级联缓冲/比较器:用于多片8259之间的连接,主片8259A的CAS2~CAS0是输出线,从片8259A的CAS2~CAS0是输入线SP/EN:双功能引脚。2014/07第四十八页,共72页。IR0~IR7:8个异步中断请求输入信号。分别接来自不同外设的中断源,高电平或上升沿表示有请求。INT:中断请求信号(输出),向CPU发中断请求。CAS2~CAS0:主从级连双向信号。一个是主控制器,其余是从控制器。从片的INT输出接到主片的一个IR输入。A0:地址选择信号,对内部寄存器选择,接总线的A0。8259A的内部寄存器占两个地址,称为奇地址和偶地址。INTA:中断响应输入信号,接收CPU响应中断后的应答信号。2014/07第四十九页,共72页。§4.4.28259A的工作方式

8259A具有非常灵活的中断管理方式,可满足使用者的不同要求,而中断优先级是中断管理的核心问题。1、8259A的优先级管理方式完全嵌套方式自动循环方式特殊循环方式特殊完全嵌套2014/07第五十页,共72页。1)

完全嵌套方式

系统复位后自动进入的默认方式,8个中断源在该方式下自动将IR0设置为最高级,IR7级别最低。要求在中断服务程序结束之前,执行一段程序,将要结束的中断请求的ISR相应位清“0”,以便响应下一级的中断请求。2)自动循环方式优先级的顺序不是固定不变的,一个设备受到中断服务后,其优先级自动降为最低。初始优先级的顺序为IR0~IR7。初始IR0IR1IR2IR3IR4IR5IR6IR7优先级:高低IR0申请后IR1IR2IR3IR4IR5IR6IR7IR0IR1申请后IR2IR3IR4IR5IR6IR7IR0IR12014/07第五十一页,共72页。3)优先级指定轮换方式

与优先级自动轮换方式一致,但初始的最高优先级是指定的,然后再按顺序自动轮换。初始指定IR2IR2IR3IR4IR5IR6IR7IR0IR1IR2申请后IR3IR4IR5IR6IR7IR0IR1IR22014/07第五十二页,共72页。4)特殊全嵌套方式(级联)中断优先级按IR0~IR7顺序排列,当执行某一级中服时,可响应同级中断源提出的中断请求,从而实现中断请求的特殊嵌套。IR2的优先级大于IR5,应该打断IR5的中服,但对主片而言,它们同是一个优先级IR3,所以如果工作在正常全嵌套方式下,CPU不能执行从片IR2的中服。所以,在级联情况,应使主片工作在特殊的全嵌套方式下。2014/07第五十三页,共72页。2、屏蔽中断源方式CPU关闭中断是最直接的中断源屏蔽方式,CPU将禁止所有的可屏蔽中断请求。1)普通屏蔽方式将8259A内部中断屏蔽寄存器IMR中的某一位或某几位置“1”,即可将相应级的中断请求屏蔽掉。可在中断服务程序中将IMR寄存器的响应位置“1”,称作普通屏蔽方式。2)特殊屏蔽方式假设当CPU正在处理某级中断时,要求对本级中断进行屏蔽,而允许级别低的中断请求进入系统,须采用特殊屏蔽方式。而这种中断嵌套用普通屏蔽方式无法实现。2014/07第五十四页,共72页。

任何一级中断处理完毕,CPU应向8259A回送EOI结束命令,以便8259A将ISR寄存器中的相应位清“0”,标志本级中断结束。3、结束中断的处理方式普通EOI方式特殊EOI方式自动AEOI方式非自动EOI方式结束中断的处理方式就是对ISR中的该位进行处理。2014/07第五十五页,共72页。1)自动中断AEOI方式在中服程序的最后,中断返回之前,不需要软件发送清除ISR对应位的命令,机器在中服运行之前(第二个INTA)自动清除该中服程序所对应的ISR位。这种方式用在中断不会嵌套的系统中。特点:中断服务程序中不用程序结束,只要执行IRET指令即可,CPU响应中断时就将对应的ISR清“0”。2014/07第五十六页,共72页。

2)非自动中断EOI方式①正常EOI命令

该EOI命令,使ISR中为“1”的当前优先级最高的位复位。在中服程序中,是一个通用的命令EOI命令(常用)。②指定的EOI命令

在特殊的全嵌套方式下,只根据ISR的对应位是无法确定哪一级中断是最后响应和处理的,所以在程序中要发一指定的EOI命令,向8259A指出要清除的ISR中的具体位。这是在8259A的命令字中实现的,一般用于复杂的多片级联系统中。2014/07第五十七页,共72页。4、中断请求触发方式1)电平触发当8259A输入端IRi输入为高电平时,8259A便向CPU申请中断。在电平触发下,当执行EOI命令后,ISR中对应位的ISRi位被复位。2)边沿触发当8259A输入端IRi输入由低电平变为高电平时才能触发8259A。在边沿触发方式下,当中断服务程序执行结束后,若IRi输入仍为高电平,此时8259A也不会重复响应IRi的中断请求。2014/07第五十八页,共72页。INT&1、中断请求信号INT的产生§4.4.38259A中断控制过程2014/07第五十九页,共72页。2、中断响应对8086CPU而言,响应中断申请后,向8259A回送两个负脉冲INTA。第一个INTA到达时,8259A做3件事:①IRR锁存功能失效,不接受任何申请;②使ISR相应位置位,提供判优依据;③使IRR清零。第二个INTA到达时,8259A做3件事:①恢复IRR功能;②将中断类型号送上数据总线的D7~D0,传给CPU;③如果方式控制字(ICW4),自动中断结束位为1,那么在第二个脉冲结束时,8259A会将第一个INTA脉冲到来时设置的ISR清0。2014/07第六十页,共72页。D7D6D5D4D3×××D2D1D0与用户选择类型码有关,选择系统没有占用的。000—IR0001—IR1010—IR2011—IR3100—IR4101—IR5110—IR6111—IR7

中断类型码肯定是连续的,它们在中断类型表中的位置取决于D7~D3

位的状态。

例:D7~D3=01000

则中断类型码将40H~47H

3、中断矢量号的设置每一个中断源都有一个中断矢量号(设备号)。8259A中断类型码的确定:2014/07

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论