微机接口ppt课件第8章微型计算机常用接口和接口芯.ppt
《微机接口ppt课件第8章微型计算机常用接口和接口芯.ppt》由会员分享,可在线阅读,更多相关《微机接口ppt课件第8章微型计算机常用接口和接口芯.ppt(254页珍藏版)》请在三一办公上搜索。
1、微机原理与接口技术,作者:徐建平 成贵学,第8章微型计算机常用接口和接口芯片,计算机接口是实现计算机与外部设备之间信息交换的桥梁,在微机系统的设计和应用过程中起着极其重要的作用。本章从应用角度出发,首先介绍计算机接口的相关知识,然后重点讲述典型微型计算机接口芯片8255A、8251A和8253A的外部引脚、内部结构、工作方式及编程方式。,【本章内容提要】,了解计算机接口的功能和结构掌握并行接口技术和串行接口技术的相关知识,以及RS-232C串行接口标准掌握可编程并行接口芯片8255A的结构、工作方式和编程方式掌握可编程串行接口芯片8251A的结构和编程方式掌握可编程定时器/计数器接口芯片825
2、3A的结构、工作方式和编程方式,8.1 微型计算机接口概述,计算机接口是主机与外部设备的连接部件,是CPU与外部设备进行信息交换的桥梁。任何外部设备都必须通过接口电路与系统总线相连。,8.1.1 接口的功能与结构,接口的种类很多,有专门用于输入设备的输入接口,有专门用于连接输出设备的输出接口,也有用于连接通信设备的通信接口,等等,如图8-1所示。,1接口的功能,一般来说,接口都具有以下几方面的功能。,(1)数据缓冲功能,CPU的速度很高,而外设的速度相对较慢,为了解决CPU与外设速度不匹配的问题,接口中一般都设置数据寄存器或锁存器,将数据在输入/输出接口中缓存起来,从而起到缓冲、隔离和锁存的作
3、用,避免因速度不一致而丢失数据。,(2)设备选择功能,微机系统中一般连有多种外设,每种外设也可能有多台,而CPU在同一时间只能选择一个接口进行数据传送,因此,只有被选中的设备才能与CPU进行数据交换。,(3)信息转换功能,由于计算机直接处理的信号形式和数据格式等与外设使用的可能不相同,接口可以在它们之间进行相互转换。例如数字量与模拟量的转换、串行数据与并行数据格式的转换等。,(4)I/O端口寻址功能,外设的接口电路中可能包含有若干个可供CPU直接访问的寄存器或功能电路,称为端口,例如数据端口、状态端口等。每个端口都对应一个端口地址,只有被选中的端口才能与CPU进行信息交换。接口电路通过对端口地
4、址进行译码,从而找到相应的端口。,(5)与CPU和外设进行联络,CPU与外设进行数据传送时,接口电路:一方面接收和执行CPU送来的命令,实施对外设的控制和管理;另一方面将外设的状态信号或应答信号等工作状况反映给CPU。,(6)中断管理功能,在接口中可设置中断控制器,专门处理有关中断事务,使CPU与外设并行工作,以提高CPU的利用率。,(7)可编程功能,现在的接口芯片基本上都是可编程的,这样不需要改变硬件,只需修改相应的程序就可以改变接口的工作方式,大大增加了接口的灵活性和可扩充性。,2接口的结构,接口电路的内部通常是由数据寄存器、状态寄存器和控制寄存器构成的,如图8-2所示。,数据寄存器:可以
5、读出可以写入,用来存放CPU与外设之间进行交换的数据信息。状态寄存器:只能读出不能写入,用来存放外设当前的工作状态信息。控制寄存器:只能写入不能读出,用来存放CPU向外设发送的控制命令信息。,可编程接口概述 一个简单的具有输入功能和输出功能的可编程接口电路如下图:它包括一个输入接口,其组成主要是八位的三态门;一个输出接口,其组成主要是八位的锁存器;另外还有八位的多路转换开关及控制这个开关的寄存器FF。,8.1.2 并行接口技术,按照与外部设备之间数据传输形式的不同,接口可以分为并行接口和串行接口两类。并行接口中有多条数据线,并且数据线的长度必须相同,每次可同时在两个设备之间并行传输多位数据。并
6、行传输方式主要用于实现CPU与并行外设之间的近距离通信。计算机内的总线结构、并行打印机、LED显示器等都是采用并行传输方式。,并行接口一般具有以下几个特点:,在并行接口中,数据通道的宽度就是传输的位数。微型计算机中最常见的数据通道的宽度为8位,当采用并行接口与外设交换数据时,8位数据是同时传输的,称为8位并行接口。例如打印机的接口有8条数据线,每次可同时传送一个字符的ASCII码。数据通道的宽度也可以为16位、32位或更高。,并行接口中除了有数据通道以外,还应有握手联络信号,以实现接口和外设之间的联络。并行数据的传送格式不固定。并行通信的优点是传输速度快、处理简单;但是,当距离较远时,成本会大
7、大增加。,8.1.3 串行接口技术,计算机与外部信息交换方式有两种:一种是并行通信。并行通信时,数据各位同时传送。另一种是串行通信。串行通信时,数据和控制信息是一位接一位串行地传送下去。这样,虽然速度会慢一些,但传送距离比并行通信长,硬件电路也相应简单些。,1串行接口的特点,串行接口中一般只需要一条数据线,在串行通信传输时,数据一位一位按一定顺序进行传送,经过8个时间单位才能传送一个字节的数据。如果是双向串行接口,需要两条数据线,每个方向使用一条,如图8-4所示。,串行通信的硬件条件,在硬件上,串行通信系统的核心部件是移位寄存器在发端要有一个并入串出移位寄存器,在收端要有一个串入并出移位寄存器
8、。,在实际传送过程中,发送端按固定的时间间隔依次向数据线发送高低不同的电平,接收端按照与发送端相同的时间间隔识别出相应的数据信息,并通过相应的联络线以保证数据传输的可靠性。,串行通信的同步为了可靠的串行通信,同步信号起到至关重要的作用。在理想情况下,同步信号应该在数据信号线上出现有效数据期间的中心点有效,因为这时数据线上的数据是最稳定的。,但在典型的串行通信系统中,是不存在同步信号线的!如何实现串行通信的中数据传送的同步呢?系统从软件和硬件两方面采取了后面提到的措施:设置波特率、设置数据的传送格式、设置波特率因子。,串行通信的优点是通信线路简单,且只需一对数据线,可以是电话线,这样大大降低了成
9、本,特别适用于远距离通信。串行通信的抗干扰能力十分强。但是,串行通信的传送速度慢,若并行通信所需时间为T,则串行通信的时间至少为NT(其中N为位数)。,现在的台式PC机一般至少有两个RS232串行口COM1和COM2,通常COM1使用的是9针D形连接器,而COM2使用的是老式的DB25针连接器。,2数据传送速率,串行通信中反映数据传送速率主要有数据传输率和波特率两个指标。,(1)数据传输率,数据传输率是指单位时间内传输二进制代码的有效位数,其单位为bit/s或bps(位/秒)。数据传输率越高,要求传输通道的频带越宽。例如,在某串行通信中,每秒可以传送600个字符,每传送一个字符需要8位,则数据
10、传输率为:600字符/秒8位/字符4800位/秒。,(2)波特率,波特率是指单位时间内信号电平变化的次数,它反映的是数据信号对载波的调制速率。常用的标准波特率为110、300、600、1200、1800、2400、4800、9600和19200。其中,如果数据未进行压缩,由于传送数据时除传送数据信息外,还需传送校验位等信息,故波特率要高于数据传输率;如果数据进行了压缩,则数据传输率要高于波特率。,3数据传送方式,串行通信中,数据通常是在两个设备之间进行传送,按照数据传送方式的不同而不同串行通信有单工、半双工和全双工三种传送方式。,(1)单工方式,仅使用一条数据线,数据只能沿一个固定的方向传送,
11、这种数据传送方式为单工方式,如图8-5(a)所示。例如计算机与打印机之间只能是计算机向打印机传送数据,故为单工传送方式。,(2)半双工方式,可以使用一条或两条数据线,通信双方既可发送数据又可接收数据,但不能同时收发数据,这种数据传送方式为半双工方式,如图8-5(b)所示。在这种方式下,同一时刻只能由一方发送数据,另一方接收数据,并通过收/发开关进行方向转换。,(3)全双工方式,通信双方在同一时刻既可以发送数据又可以接收数据,使用两条数据线进行传输,这种数据传送方式为全双工方式,如图8-5(c)所示。在这种方式下,无需转换方向,数据能同时在两个方向上进行传送。,4通信控制方式,按照收发双方同步的
12、方式,串行通信可分为异步通信和同步通信两类。,(1)异步通信,异步通信是指,数据以字符为单位按照约定的波特率进行传送,通信双方不需要专门的同步信号,分别用各自的时钟信号来控制发送和接收。,异步通信中数据的格式如图8-6所示,包括以下4个部分:起始位:字符开始的标志,占用一位,发送端开始传送数据时,在要发送的字符前加上低电平。数据位:位数可以是58位,字符编码为7位。奇偶校验位:用来校验所传送数据的正确性。如果是奇校验传输,使数据位和校验位中1的个数为奇数个;如果是偶校验传输,使数据位和校验位中1的个数为偶数个。停止位:字符结束的标志,位数可以是1位、1.5位或2位,发送端在要发送的字符后加上高
13、电平。,这四部分将构成一个数据帧,它被作为异步通信传送数据时的基本单位。每一个字符以起始位和停止位作为字符开始和结束的标志。传送时,各个字符可以连续传送,也可以随机传送。在一个字符的停止位之后,立即发送下一个字符的起始位,开始一个新字符的传输,称为连续的串行数据传送;一个字符的停止位之后维持数据线的空闲状态,称为断续的串行数据传送。,波特率因子在异步通信方式进行通信时,发送端需要用时钟来决定每1位对应的时间长度,接收端也需要用一个时钟来测定每1位的时间长度前一个时钟叫发送时钟,后一个时钟叫接收时钟。这两个时钟的频率可以是波特率的数倍,一般取16倍、32倍或64倍。这个倍数就称为波特率因子。,(
14、2)同步通信,在同步通信方式中,去掉异步通信时每个字符的起始位和停止位,在数据块之前加上同步字符,如下图所示。这样,在发送数据信号的同时发送一个时钟信号,使发送端和接收端在约定的波特率下保持同步。,5误码率和差错控制,在进行远距离通信时,由于线路本身特性的影响导致的随机噪声、信号衰减或畸变以及各种外界因素,都会造成信号在传输过程中失真,即接收端接收到的二进制数与发送端实际发送的二进制数不一致。,在数据通信过程中,一般用误码率(Pe)来衡量信道数据传输的质量。所谓误码率是指,二进制数据在传输过程中出现差错的概率,计算公式为:Pe发生差错的位数传输的总位数,串行接口的基本结构主要是异步接收/发送器
15、(UART)它不仅包括并行数据和串行数据之间的相互转换,还有检测串行通信在传送过程中可能发生错误的逻辑部件。,6、异步接收/发送器(UART),TBE为发送数据缓冲寄存器空标志位,由于模拟信号的传输比数字信号传输更为有效,因而可将数字信号调制成模拟信号进行传输;接收时用解调器把接收的模拟信号再转换成数字信号。,7、信号的调制和解调,8.1.4 RS-232C串行接口标准,RS(Recommended Standard)-232C是目前最常用的一种串行接口标准,由美国电子工业协会EIA和国际电报电话咨询委员会CCITT联合制定。RS-232C中的信号电平与通常并行接口中使用的TTL电平是不同的:
16、规定5V15V为逻辑“1”,5V15V为逻辑“0”。,设有一个微机化仪器,其内部的8086 CPU要通过8255A实现与PC的串行通信。设数据的传输格式为1个起始位,8个数据位,1个停止位。要求传送波特率为1200,8255A的地址分布为88H8EH,C口的第0位作为发送数据线TxD,C口的第4位线作为接收数据线RxD。,【例子】,每一位所占用的时间。Td=ls/1200=1000ms/1200=0.833ms 假设程序库中己有两个重要的延时程序:一个是delay1,其功能是延时0.833ms;另一个是delay2,其功能是延时0.417ms,即大约为delay 1延时时间的一半。相应软件分3
17、个程序段:8255A的初始化,串行发送程序段和串行接收程序段。,8255A初始化-根据上述要求,C口的低4位为输出,高4位为输入。A口、B口未用,设为方式0的输入方式。8255INIT PROC FAR;8255初始化程序段MOV AL,10011010B;8255A方式控制字 OUT 8EH,AL MOV AL,00000001B OUT 8EH,ALRET 8255INIT ENDP,送数据程序段-其功能是把DL中的数据按照传输的格式发送出去。具体过程如下:(1)发送起始位;(2)通过寄存器DL右移发送数据位,过程如下:令i=0。发送DL中的第i位。i+1i。重复上两步8次。(3)发送停止
18、位。(4)结束。,SIO_SEND PROC FAR;把DL中的数据通过PC0发送 PUSH AX;保护现场 PUSH CX PUSH DX PUSHF CALL SEND0;送起始位(发送数据0)MOV CX,8;循环送8位 SIO_SEND3:SHR DL,1;第i位进CF标志 JC SIO_SEND1;判断第i位是否为1 CALL SEND0;第i位为0,则发送数据0 JMP SIO_SEND2 SIO_SENDl:CALL SEND1;第i位为1则发送数据1SIO_SEND2:LOOP SIO_SEND3;循环8次,CALL SEND1;送停止位(发送数据1)POPF;恢复现场 POP
19、 DX POP CX POP AX RET;返回SIO_SEND ENDP,SEND0 PROC FAR MOV AL,00000000B;发送数据0 OUT 8EH,AL;复位PC0,PC0=0CALL DELAY1;延时0.833MS RET;返回SEND0 ENDP SEND1 PROC FAR;发送数据1 MOV AL,00000001B;置位PC0,PC0=1 OUT 8EH,ALCALL DELAY1 RET SEND1 ENDP,接收数据程序段 其功能是把接收的数据存入寄存器DL中。这段程序比发送程序要稍微复杂些,它包括检测发送端是否有数据发送过来以及如何实现在数据有效期间的中点
20、对接收信号线进行采样。,具体算法如下:(1)检测RxD线上是否是低电平:否,则重复本步骤;是,则执行下一步。(2)延时0.417ms对数据再采样,检测是否是低电平:否,则重复上一步;是,则认为是起始位,执行下一步。(3)通过寄存器DL移位采集数据。(4)判断最后1位是否是停止位(即逻辑1)。若是,表示正确接收数据,置CF有效。注意,步骤(1)、(2)的功能就是启动一次接收数据过程,同时使CPU在数据位的中心点进行采样。,;如果正确接收,CF=1,数据放在DL中 SIO_REV PROC FAR PUSH AX PUSH CX PUSH DX SIO_REV1:IN AL,8CH TEST AL
21、,00010000BJNZ SIO_REV1 CALL DELAY2;延时0.417毫秒 IN AL,8CH;在数据中心点再取样 TEST AL,00010000B;再一次确认是否是起始位 JNZ SIO_REV1;不是起始位,转移 MOV CX,8;置循环次数,开始采集8位数据 SIO_REV2:CALL DELAY1;延时0.833毫秒 IN AL,8CH;采样TEST AL,00010000B;判断数据位是否是0,CLC;CF清0 JZ SIO_REV3;数据位为0,CF=0STC;数据位为1,CF=1 SIO_REV3:RCR DL,1;把CF右移到寄存器DL LOOP SIO_REV
22、2;重复采集8次 CALL DELAY1;延时0.833毫秒 IN AL,8CH;取停止数据位 TEST AL,00010000B CLC JZ SIO_REV4;数据位为0,CF=0,数据不正确STC;数据位为1,CF=1,数据正确SIO_REV4:POP DX;恢复现场 POP CX POP AX RET;返回SIO_REV ENDP,8.2 可编程并行接口芯片8255A,8255A是Intel公司生产的一种高性能可编程输入/输出并行接口芯片,可以通过编程的方法来设定各种功能。由于它通用性强,使用灵活,可以方便地连接在Intel系列的微处理器系统中,所以应用较为普遍。,8.2.1 8255
23、A的引脚及功能,8255A是40引脚的双列直插式芯片,其引脚如图8-10所示。下面分别介绍各个引脚的功能。,D7D0:三态、双向数据线,与CPU数据总线相连,用于传送数据。CS:片选信号,由CPU输入,低电平有效。该信号有效时,表示8255A被选中,允许与CPU交换信息。RD:读信号,输入,用于控制数据流的读出,低电平有效。该信号有效时,表示允许CPU从8255A端口中读取数据或状态信息。WR:写信号,输入,用于控制数据的写入。该信号有效时,表示允许CPU向8255A中写入数据。,A1和A0:端口选择信号,输入信号。8255A有3个独立的8位并行I/O端口A、B、C和一个控制寄存器,具有数据控
24、制和锁存功能,利用该信号可以寻址各端口,如下表所示。,RESET:复位信号,输入信号,高电平有效。当该信号有效时,8255A复位,所有控制寄存器内容被清零,所有端口被置为输入方式。PA7PA0:端口A的输入/输出信号。PB7PB0:端口B的输入/输出信号。PC7PC0:端口C的输入/输出信号。,8.2.2 8255A的内部结构,8255A的内部结构如图8-11所示,它由以下四部分组成:,输入/输出端口:3个8位的并行端口A、B、C,其中,端口A和端口B分别有一个8位数据输出锁存/缓冲器和一个8位数据输入锁存器,端口C有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器。端口C被分成高4位和低
25、4位,可作为基本输入/输出端口、状态或控制信息传送端口,分别与端口A和端口B配合工作,控制寄存器:包括A组控制电路和B组控制电路,用于控制接收来自CPU的控制命令,控制端口A、B、C的工作方式。其中,A组控制电路用来控制端口A和端口C的高4位(PC7PC4),B组控制电路用来控制端口B和端口C的低4位(PC3PC0)。,数据总线缓冲器:三态、双向、8位寄存器,用于与系统数据总线相连是8255A与CPU进行信息传送的通道,可用来传送数据、控制命令和状态信息。,读/写控制逻辑:包括读出信号RD、写入信号WR、片选信号CS和端口选择信号A1、A0用于控制8255A内部寄存器的读/写操作,如表8-4所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 接口 ppt 课件 微型计算机 常用
链接地址:https://www.31ppt.com/p-5975796.html