您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 第二章输入输出接口和输入输出通道22
2020/9/241本节主要任务:学会对存储器、I/O端口的编址;掌握I/O接口与系统的连接,I/O接口的扩展技术;设计一般的I/O接口硬件电路。2.3I/O接口设计2020/9/242I/O接口设计任务:(1)根据生产过程和生产机械或管理的要求及外设的特性选定I/O控制方式;(这取决于对信息交换的速度和CPU的工作效率的要求)(2)设计I/O接口硬件并编写相应的接口控制程序。(这取决于控制速度、可靠性及成本)2020/9/243一、I/O接口的编址方式编址方式是为了区别存储器和I/O接口读写操作而设定的。分为I/O接口和存储器统一编址,I/O接口独立编址。编址方式是由所选定的微处理器决定的。(一)I/O接口独立编址方式将存储器地址空间和I/O接口地址空间分开设置,互不影响。设有专门的IN、OUT指令来完成I/O操作。如:Z80利用MREQ和IORQ区分访问存储器还是I/O接口。8086在最小模式下利用M/IO来区分访问存储器还是I/O接口。(P29)2020/9/2448086在最大模式下,由于引脚不够用,没有直接输出M/IO、RD、WR,而是由S2,S1,S0输出三个总线周期状态信号编码送至总线控制器8288,经8288解决后,再生成IORC(读I/O口)IOWC(写I/O口),即S0S1S2CPU总线时间8288控制信号001读I/O口IORC010写I/O口IOWC101读存储器MRDC110写存储器MWTC2020/9/245独立编址方式示意图存储器I/O端口00000HFFFFFH0000HFFFFH执行指令MOV,ADD,SHL,……执行指令IN,OUT2020/9/246(二)I/O接口与存储器统一编址方式该方式把所有的I/O接口的端口都当作是存储器的一个单元对待,不设专门的I/O指令,所有传送和访问存储器的指令都可用来对I/O口操作。Intel51系列、96系列单片机都是采用统一编址方式的。比较两种编址方式:(P29)独立编址:内存地址空间和I/O接口地址空间分开,互不影响,译码电路较简单;设有专门的I/O指令,程序易区分、执行时间短。缺点是要采用专门的I/O周期、I/O控制线和有限的I/O指令,使微处理器复杂化。统一编址:I/O接口可与存储器公用译码和控制电路;访问内存的指令都可以用于I/O操作,数据处理能力强。缺点是I/O接口要占用存储器地址空间的一部分;指令共用,难以区分I/O操作。2020/9/247二、I/O接口与系统的连接常用的I/O接口芯片有Z-80PIO、8255A和8251A。I/O接口与外设之间的连接2020/9/248接口芯片与CPU之间必要的连接信号有4类:1)数据信号2)读写控制信号3)片选信号和地址线A1、A04)时钟、复位、中断控制、联络等信号2020/9/2492020/9/24102020/9/2411三、I/O接口扩展1扩展I/O接口地址及存储器容量。1)地址扩展常用地址译码器有2:4(四中选一)、3:8(八中选一)和4:16(十六中选一)译码器等。比如74LS138(3:8)译码器和74LS139和74LS155(双2:4)译码器。2020/9/241274LS138(3:8)译码器2020/9/2413解答步骤:第一步、了解设计中所涉及到的芯片的引脚分布及其工作原理;Z80CPU、并行接口芯片PIO、计数器/定时器CTC、8位ADC0808、8位DAC0832第二步、分析各芯片地址分配情况;第三步、连线。例一:采用8位的Z80CPU微机控制系统,按控制要求扩展一个并行接口芯片PIO、一个计数器/定时器CTC、一个8位的A/D转换器ADC0808和一个8位的D/A转换器DAC0832。指定它们的地址分别是40H~43H、44H~47H、58H和5CH。2020/9/24142020/9/2415试分析下图中8237A、8259A、8253、8255A的地址范围2020/9/24162存储器容量的扩展存储器容量:指一个存储器芯片所能存储的二进制信息量。容量=字数X字长如:Intel2732表示为4KX8B、Intel27512表示为64KX8B。当单片存储器芯片(RAM或ROM)的容量不能满足系统要求时,许多片组合以扩充字长(位扩充)或字数(字扩充)。a)存储器位扩充——举例说明用1KX1B的SRAM芯片位扩充形成1KX8B的芯片组,所需芯片为:)(81181片BKBK2020/9/2417位扩展示意图这8篇芯片地址线A0~A9、片选信号CS以及读/写控制信号WE都分别连到一起,只有数据输出端8片各自独立,每片代表一位。当CPU访问该芯片组时,其发出的地址和控制信号同时传给8个芯片,选中每个芯片的同一单元(一位),其单元内容被同时读至数据线的相应位或数据总线上的内容分别同时写入相应单元。2020/9/2418字扩展示意图存储器位数满足要求需要扩充字数(单元数)时,同样需要多个芯片组成芯片组。如,用上述的1KX8B芯片组扩充成4KX8B芯片组,则需要的芯片组数)(48184组BKBK2020/9/2419例二:用4片16KX8B的存储器芯片组成64KX8B存储器连接线路。分析:16K存储器芯片的地址为14位,而64K存储器的地址应有16位。连接时,各芯片的14位地址线可直接接地址总线的A0~A13,而地址总线的A15、A14则接到2—4译码器的输入端,其输出端四根选择线分别接到四片芯片的片选CS端。4000H2020/9/2420用16KX8B的存储器芯片组成64KX8B存储器2020/9/24213负载能力的的扩展扩展的I/O接口和存储器的数据线都同时挂在CPU的数据线上,各芯片的地址都要挂到CPU的地址线上,控制线也都挂到CPU的控制总线上。但系统总线的负载能力有限,所以在设计者自己设计微机控制系统时,需要考虑CPU各总线的负载能力。微机系统中,通常采用两种不同工艺制造的器件,即TTL器件和MOS器件(TTL又分标准TTL器件74XXX,和低功耗肖特基TTL器件74LSXXX)。它们之间级连使用,逻辑电平是一致的(“1”电平≥1.8~3.8V,”0”电平≤0.8~0.3V),但功耗和驱动能力有差别。表2-4列出了TTL和MOS器件的I/O电流。2020/9/2422MOS器件的输入电流小,驱动能力也差。一个MOS器件只能带一个标准74XXX器件(约-1.6mA)或四个74LSXXX器件(-0.4mA),但它可以驱动10个左右的MOS器件。通常,同类器件带8~10个没有问题,若超过了就要加驱动器。2020/9/2423表2-4的讨论TTL—CMOS电平转换:TTL输出低电平最大值CMOS允许输入低电平最大值TTL输出高电平最小值CMOS要求输入高电平最小值+5V供电的CMOS可直接与TTL相连,TTL的输出电平较低,要用上拉电阻Rv把TTL输出电平拉高。+5V附:TTLCMOS输出12.2—54.99--500.4---00.01-0输入12---53.5--500.8---01.5--0TTLCMOSRv2020/9/2424CMOS器件的工作电压范围在5—15V,若CMOS器件用5v以上电源时,TTL电路的输出级应用集电极开路的OC门电路,用上拉电阻把输出电平提高到所需要的值,如图+5V5—15VRv值取决不同系列型号的集成电路,一般都可满足电平转换要求。TTLCMOSRv2020/9/2425CMOS---TTL电平转换采用+5V电源的CMOS器件可直接驱动LSTTL门,但对标准门即74系列芯片一般要加一级晶体管驱动级。由表2-4可见,CMOS器件的输入电流小,驱动能力也差。2020/9/2426四、I/O接口设计的方法、步骤及设计举例1)I/O接口设计的方法、步骤接口设计的任务包括确定各外围设备的控制方式,接口硬件电路设计和接口控制软件设计。具体设计步骤如下:首先:了解外设或被控设备与CPU之间信息交换的要求;(联络信号、I/O数据格式、I/O线数量、最短响应时间和服务时间估算、I/O控制方式等)其次:考虑软硬件功能分配;(速度、成本、特性、设计难以程度等)再次:进行I/O端口的数量统计、数据流向安排和端口地址号分配;2020/9/2427四、I/O接口设计的方法、步骤及设计举例第四:I/O接口硬件电路的扩展设计;(包括扩展方案选择、地址译码器扩展和负载能力扩展等)第五:I/O接口控制软件设计。最后:软硬件联调。I/O接口扩展方案选择:1)购置现成的多功能I/O接口板2)自行设计、安装接口电路2020/9/24282)举例说明I/O接口设计例1:8088CPU系统,有8组8位的数字量和开关量由外部输入,同时有8组8位的控制和显示数据输出到外部。若指定8个输入端口号为E8H~EFH,8个输出端口地址号为F0H~F7H,所有输入输出信息交换均可采用无条件传送方式。试按此要求为该微机系统设计I/O接口电路。2020/9/2429地址分析输入端口8个用74LS244,端口地址号为E8H~EFH地址总线译码器有效信号Y0Y1Y2Y3Y4Y5Y6Y7译码器A输出244片选输入CEACEBCECCEDCEECEFCEGCEHG1G2BG2ACBA100A7A6A5A4A3A2A1A011101000111010011110101011101011111011001110110111101110111011112020/9/2430I/O接口电路设计8088G1G2BG2ACBAY0G1G2BG2ACBA》1&IOR74LS244CE:::A0A1A2A3A4A5A6A7174LS138A74LS138B74LS322020/9/2431I/O接口电路设计8088G1G2BG2ACBAY0G1G2BG2ACBA》1&IOR74LS244CE:::A0A1A2A3A4A5A6A774LS138A74LS138B74LS32数据输入12020/9/2432地址分析输出端口8个用74LS273,端口地址号为F0H~F7H地址总线译码器有效信号Y0Y1Y2Y3Y4Y5Y6Y7译码器B输出273片选输入G1G2BG2ACBA100A7A6A5A4A3A2A1A01111000011110001111100101111001111110100111101011111011011110111CPACPBCPCCPDCPECPFCPGCPH2020/9/2433I/O接口电路设计8088G1G2BG2ACBAY0G1G2BG2ACBA》1&IOR74LS244ACE:::A0A1A2A3A4A5A6A7174LS138A74LS138B》174LS3274LS3274LS273HCP:::数据输入Y712020/9/2434例2:在8086最小模式系统中,采用8255A作为连接打印机的接口,若指定分给8255A的A、B、C和控制端口号分别为FFF8H、FFFAH、FFFCH和FFFEH,试设计接口电路和有关的软件。2020/9/2435设计过程:(1)8255A与打印机端口的连接CPU与打印机的联络既可以用程序控制方式,也可以用中断方式,这里以程序控制方式来设计。设定8255A的A端口工作于方式0,输出方式,向打印机传送字符数据。B端口不用。C端口用于传送状态和控制信息,也工作于方式0,分配PC2做状态线来接收打印机的忙状态信号。分配PC6作为控制信号,由它产生和输出一个负脉冲作为数据选通信号,将数据线上的数据打入打印机缓冲器。2020/9/2436(2)8086与8255A的连接8086的MN/MX端接+5V,表示其工作于最小模式。因8255A只用8位数据线,用8086的低8位数据线与之相连即可。选用3片正电平触发的八D触发器74LS373作为地址锁存器,锁存地址信号AD0~AD19和BHE信号。其中A2、A1经锁存器后,直接加到8255A的A1、A0端;A3~A15及BHE接到地址译码器74LS138上。A15~A6A5A4A3A2A1A0FFF8H
本文标题:第二章输入输出接口和输入输出通道22
链接地址:https://www.777doc.com/doc-7055632 .html