《接口芯片的介绍》由会员分享,可在线阅读,更多相关《接口芯片的介绍(77页珍藏版)》请在金锄头文库上搜索。
1、第八章 可编程接口芯片微机系统中使用的接口芯片一般都是通用的、可 编程设置工作方式的。第一节 并行通信接口 u计算机与外设交换信息的过程中: 并行通信:多位数据通过多条数据线同时传送 串行通信:多位数据通过同一条数据线按位传送u在计算机内部数据是并行传送的。因此,并行接口电路相 对简单,串行接口电路由于要进行串并行转换相对复杂。u并行接口电路芯片常用的有两类: 1、普通的8位锁存器及缓冲器 2、可编程设置工作方式的并行接口一、并行接口电路 u(一)输入接口(数据部分)内 部 数 据 总 线外 部 数 据 引 脚锁存控制锁存器缓冲器D CD CD CQQQ选通u如果外设送来的数据都是静态数据,接
2、口可以简化为缓冲器 。内 部 数 据 总 线外 部 数 据 引 脚选通缓冲器u(二)输出接口(数据部分)内 部 数 据 总 线外 部 数 据 引 脚锁存控制D CQDCQD CQ读数据u如果送给外设的数据都是静态数据,接口可以简化为锁存器 。内 部 数 据 总 线外 部 数 据 引 脚锁存控制D CQDCQD CQ(三)实例u开关状态输入接口电路u74LS244是双4位的三态缓冲器,由G1和G2各控制4位的选 通。u注意:电阻用来限制输入电流。74LS244+5V10K x 8G1 G2数据总线CS RDu发光二极管输出接口电路u74LS373是8位的三态锁存器,由LE控制锁存,OE控制选通
3、。u注意:电阻用来限制输入电流。+5V74LS373300 x 8LE OE数据总线CS WR二、通用并行接口8255A u8255A 是INTEL系列的并行接口芯片,可编程来设置工作方 式。用来连接外设时,一般不需要再附加外部电路。u40PIN、DIP封装,芯片体积大,设计简单的系统通常不用 。u在目前的主板中,功能已经集成在芯片组中,但使用和编程 与8255A完全一致。(一)芯片的引脚u8255A和总线连接的引脚: D7D0,A1A0,CS,RESET,RD,WR。 说明:有22=4个8位的端口可被CPU寻址访问。u8255A和外设连接的引脚: PA7PA0,PB7PB0,PC7PC0。
4、说明:有A、B、C三组8位的口线。u电源和地线: Vcc和GND。(二)内部结构框图上C口说明: (1)A1A0端口口线00端口APA7PA0 01端口BPB7PB0 10端口CPC7PC0 11 对控制端口写控制字(2) 端口C又可以分成“上C口”和“下C口”2个部分,用作A口 和B口的控制信号线,所以把A口+上C口称为A组,B口+下 C口称为B组。(3) PA口:输入有锁存器,输出有锁存器和缓冲器, PB和PC口:输入有缓冲器,输出有锁存器和缓冲器。(三)控制字编程 (1)工作方式控制字:对A1A0=11的端口写入D7=1的数据(2)置位复位控制字: 对A1A0=11的端口写入D7=0的数
5、据表示对C口进行位操作。 (注意:对A1A0=10的端口操作表示对C口进行字节操作)(四)工作方式(1)工作方式0:基本的输入输出方式。 A口、B口、上C口、下C口都可以独立设置作为输入或 输出使用。 适合用于无条件或查询式传送。(2)工作方式1:应答式输入输出方式。 A口、B口可以分别作为数据口工作在方式1。 需要使用C口中特定的引脚作为选通和应答使用。C口 中其余的引脚仍可工作在方式0,定义为输入或输出使用。适合用于中断式传送。图例1外设响应信号 表示外设已经接收到数据输出缓冲器满信号 表示CPU已经输出了数据中断请求信号 请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOB
6、FAINTRAACKAA口、方式1、输出中断允许触发器u说明:u1、当CPU向端口A输出数据以后,在WR的上升沿使 OBFA变为低电平。u2、当外设接收到数据以后,发出一个负脉冲ACKA送 给8255A,使OBFA变为高电平。u3、ACKA和OBFA都变为高电平以后,如果INTEA允许 ,则8255A发出中断请求信号,以便使CPU再次输出 数据。WR的下降沿使INTRA恢复低电平。u可以通过对PC6的置位和复位来设置INTEA。图例2数据选通信号 表示外设已经准备好数据输入缓冲器满信号 表示A口已经接收数据中断请求信号 请求CPU接收数据PC4PC5PC3PA7PA0INTEAIBFAINTR
7、ASTBAA口、方式1、输入中断允许触发器u说明:u1、当外设数据准备好以后,发出一个负脉冲选通信号 STB ,使A口打开锁存器接收数据。u2、A口接收到数据以后,发出IBFA,由RD信号的上 升沿使IBFA恢复低电平。u3、STB和IBFA都变为高电平以后,如果INTEA允许, 则8255A发出中断请求信号,以便使CPU接收数据。 RD信号的下降沿使INTRA恢复低电平。u可以通过对PC4的置位和复位来设置INTEA。图例3图例4可通过对PC2置位或复位来设置INTEB。PC2PC1PC0PB7PB0INTEBOBFBINTRBACKBB口、方式1、输出PC2PC1PC0PB7PB0INTE
8、BIBFBINTRBSTBBB口、方式1、输入(3)工作方式2:双向应答式输入输出方式。 A口可以作为数据口工作在方式2。相当于是A口工作在 方式1的输入和输出的叠加。PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1,用PC4设置INTE2。输入和输出中断通过或门输出INTR信号。三、8255A在PC机中的应用 uPC机中有一片8255A,用作键盘输入和系统设置开关输入 的并行接口,同时提供扬声器发声和其他控制信号。u端口地址是60H63H。正常工作时A、B、C三个口都是方 式0,其中A口、C口输入,B口输出。工作方
9、式控制字是:= 99H。D7D6D5D4D3D2D1D011000011u在PC机中,主板上产生接口电路芯片片选信号的电路:u由于A4、A3、A2既没有作为片选地址线,也没有作为片内 地址线使用,所以是不完全译码。端口地址会有重叠。u例如:70H73H、64H67H等都同于60H63H。74LS138 G1G2A G2BCB AY0Y1Y2Y38237.CS (00H1FH)8259A.CS (20H3FH)8253.CS (40H5FH)8255A.CS (60H7FH)AENA9 A8A7 A6 A58255APB1PB0驱动 电路扬声器GATE2CLK2时钟信号与门8253的2#通道PA
10、7PA0PB7PB6键盘扫描码输出0,使A口接收到的是键盘数据输出1,给键盘送时钟信号键盘和扬声器控制示意图四、8255A接口实例 u例1:8255A作为连接打印机的接口,工作在方式0,输出。u工作过程:需要打印时,查询打印机是否忙?不忙时通过 8255A发送一个字符给打印机。为使打印机接收数据,要生 成一个选通脉冲(初始值是1,置0,再置1 )。u例2:使用8255A的工作方式1,设计中断式的打印机接口。u工作过程:在主程序中设置中断向量,开放中断(IF标志、 8259A的IMR、8255A的INTE)。在中断服务程序中,发送 打印字符、选通脉冲。u打印机接口简介 Centronic并行打印
11、机接口标准。 25芯D型连接器,在计算机机箱上是孔状插座。主要引脚:1、D7D08条数据引脚 2、STB打印机数据选通(负脉冲0.5ms ) 3、BUSY打印机忙 4、ACK打印机响应(负脉冲12ms) 5、缺纸、联机、出错、初始化等引脚打印机驱动程序有两种设计方案: 1、查询BUSY引脚,当为低电平时可以发送打印字符 ;2、利用ACK响应信号,引发中断发送打印字符 。80888255A打印机D7D0PAPC2PC6STBBUSY查询式打印机接口示意图例题1 题解:A口:方式0、输出数据 上C口:方式0、PC6输入状态信号 下C口:方式0、PC2输出选通信号方式控制字为: 10001000B。
12、为增强驱动能力, 可加门电路驱动u设端口地址是:0D0H0D3H,要打印的字符放在BL中。u程序如下: Setup:MOV AL,88H ;设置工作方式 OUT0D3H,AL MOV AL,5;置PC2为1 OUT0D3H,AL Ready:IN AL,0D2H TEST AL,40H;测试PC6状态 JNZReady MOV AL,BL;打印的字符送AL中 OUT0D0H,AL MOV AL,4;置PC2为0 OUT0D3H,AL MOV AL,5;置PC2为1 OUT0D3H,AL0.5ms80888255A打印机D7D0PAPC2PC6STBACK中断式打印机接口示意图例题2 题解:A口
13、:方式1、输出数据PC6输入外设响应信号 下C口:方式0、PC2输出选通信号PC3IR2INTRINTA8259A方式控制字为: 10100000B。u设端口地址是:0D0H0D3H,用DI指示字符在缓冲区的位置 。u程序如下:1、中断服务程序:(假设开始位置是2000H:1000H)PRNDRV: MOV AL, DI ;打印的字符送AL中 OUT0D0H,AL INC DI MOV AL,4;置PC2为0 OUT0D3H,AL MOV AL,5;置PC2为1 OUT0D3H,AL MOV AL,20H;向8259A发EOI命令 OUT 20H,AL IRET ;该程序做了简化处理。2、主程
14、序INIT8259A: MOV AL,13H ;初始化8259A OUT 20H,AL MOV AL, 8 OUT 21H,AL MOV AL,9 OUT 21H,ALINIT8255A:MOV AL,0A0H;设置8255A工作方式 OUT0D3H,AL MOV AL,5;置PC2为1 OUT0D3H,ALINSTDRV: MOV AX,0;安装中断向量 MOV DS,AX;IR2的中断类型是0AH MOV Word Ptr 0AH*4 ,1000H MOV Word Ptr 0AH*4+2 ,2000HSETUPIF: MOV AL,0DH;设置8255A的INTEA OUT0D3H,AL
15、 IN AL,21H;设置8259A的IMR,允许IR2 AND AL,0FBH OUT 21H,AL STI;开中断1233、打印驱动程序假设字符缓冲区从3000H:0000H处开始存放, 在3000H:1000H处存放一个字,表示打印字符数。PRINT:MOV AX,3000H MOV DS,AX MOV DI,0000H INT 0AH;第一次中断,可以软件触发 LOOP1:CMP DI,1000H JB LOOP1 MOV AL,0CH;关闭INTEA OUT 0D3H,AL 说明:打印结束也可以在中断服务程序中进行判断。第二节 定时/计数器 u在接口电路设计中,常用到定时、计数、分频
16、单元。uIntel 8253采用NMOS工艺,DIP封装,24pinu最高计数时钟频率为2.6MHz。u8253内部有3个完全相同、又相互独立的16位减法计数器 。u可以用二进制或十进制计数。u工作方式和计数常数编程设置。一、内部结构u说明: 1、每个计数器各有三根I/O线CLK:时钟信号输入OUT:计数器输出GATE:门控信号,用于启动或允许计数器工作2、通过对控制寄存器写操作,来设置工作方式。3、有A1A0两条地址线,在PC机中的端口地址是40H43H。 A1A0端口定义 0040H0#计数器 0141H1#计数器 1042H2#计数器 1143H控制寄存器二、工作方式u8253有六种工作方式,在输出波形和启动方式上略有区别 。工作方式 输出波形的比较 计数值 方式 0方式 1方式 2方式 3方式 4方式 5每次设置N0只设一次N0N0只设一次N0/N110只设一次NN/2 N