第八章接口技术.ppt
《第八章接口技术.ppt》由会员分享,可在线阅读,更多相关《第八章接口技术.ppt(89页珍藏版)》请在三一办公上搜索。
1、8.1 概述 8.1.1 接口的功能 8.1.2 接口与系统的连接 8.2 并行通行和并行接口芯片 8.2.1 并行通信 8.2.2 8255A可编程并行接口芯片 8.3 串行通信和串行接口芯片 8.3.1 串行通信的基本概念 8.3.2 8251A可编程串行通信接口,8.4 计数器/定时器接口电路 8.4.1 可编程计数器/定时器的工作原理 8.4.2 8253可编程计数器/定时器 8.5模拟通行道接口 8.5.1 概述 8.5.2 数/模(D/A)转换器 8.5.3 模/数(A/D)转换器,接 口 技 术,第 八 章,811 接口的功能,概述,接口的功能,信息的输入与输出,信息的转换功能,
2、联络和中断管理功能,可编程功能,错误检测功能,81,地址译码和I/O设备的选择,接口与系统的连接,总线收发器和相应逻辑电路,联络信号,地址译码器,菊花链逻 辑,输入/输出设备,地址总线,控制总线,数据总线,数据/状态/控制,控制,读/写,使能,存储器和I/O选择,片选,寄存器选择,状态寄存器控制寄存器,数据输入寄存器和数据输出寄存器,控制线,数据线,DMA控制器,中断请求,中断回答信号,图8-1 典型I/O接口与系统总线连接逻辑图,812,接口,与系统总线相连,与I/O设备相连,实现与CPU的启动、选中接口等控制信号的配合,提供传输数据信息的I/O端口。,随接口类型的不同而异,其电路结构与设备
3、传输数据的要求以及数据格式紧密相关。,812,接口与系统的连接,821 并行通信,并行通信和并行接口芯片,并行接口内部设置有一个控制寄存器,用来寄存CPU写出的控制命令。另有一个状态寄存器提供各种状态位供CPU查询。,所谓并行通信就是把一个字符的全部n个数据位用n条线同时进行传输。与串行通信相比,它具有传输速度快、信息率高等优点。,82,图8-2 并行接口连接外设示意图,821,并行通信,822,8255A可编程并行接口芯片,图8-3 8255A的结构框图,8255A可编程并行接口芯片,1.8255A的内部逻辑结构,(1)外设接口部分(数据端口A、B、C),1)端口A。端口A内部包含一个8位数
4、据输入锁存器和一个8位数据输出锁存/缓冲器。,2)端口B。端口B内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。,3)端口C。端口C内部包含一个8位数据输入缓冲器和一个8位数据输出锁存/缓冲器。通过向芯片写入方式选择控制字,端口C可以被分成两个4位端口。,822,(2),这两组控制电路,根据芯片内部的控制寄存器内容(存放着CPU输出的方式选择控制字)和“读/写控制逻辑”发出的读/写命令,控制两组端口的工作方式和读/写操作。,A组控制电路控制端口A、端口C高4位(PC7PC4)。,B组控制电路控制端口B、端口C低4位(PC3PC0)。,内部逻辑,(A组和B组控制电路),(3),1)
5、读/写控制逻辑电路,地址线A1和A0、CS(片选)、RD(读控制)、WR(写控制)、RESET(复位)信号的组合,用来控制8255A进行数据信息、状态信息和控制信息的传输。,2)数据总线缓冲器,它是一个8位的双向三态数据缓冲器,它是8255A与CPU数据总线的接口,所有数据的输入/输出,以及CPU用输出指令向8255A发出的控制字和用输入指令向8255A发出的控制字和用输入指令从8255A读入的外设状态信息,都是通过这个缓冲器传送的。,CPU接口部分,8255A的引脚及功能,2.,图6-10 8255A引脚分布图,8255A的引脚及功能,8255A的引脚,与外设相连的引脚,与CPU相连的引脚,
6、PA7PA0,PB7PB0,PC7PC0,数据线引脚,控制线引脚,2.,8255A的控制字,(1)方式选择控制字,1)8255A有三种工作方式,方式0基本的输入/输出方式方式1选通的输入/输出方式方式2双向传输方式,2)端口A可以工作于三种工作方式中任何一种,端口B只能工作于方式0或者方式1,端口C既可以分为两个4位端口,作一般的输入/输出端口使用,更经常的是用于配合端口A和B工作,为它们提供控制信号和状态信号。,3)由内部逻辑(A组和B组控制电路)可以将三个数据端口划分为两组,分别为A组(端口A和端口C高4位PC7PC4)和 B组(端口B和端口C低4位PC3PC0)。,3.,(2),端口C经
7、常用于配合端口A和B工作,为它们提供控制信号和状态信号,因此端口C的各个位经常作为控制位或状态位来使用,为了方便用户单独设置某一个控制位或状态位,8255A提供了端口C置位/复位控制字。,端口C置位/复位控制字,(1)方式0基本输入/输出方式,8255A的工作方式,两个8位端口A、B及两个4位端口(端口C的高4位、低4位)中的任一端口,均可以作为输入端口或输出端口,且各端口均是独立的。,四个端口的输入或输出,可以有16种不同的组合,故可以适用于多种用途。,各端口输入时无锁存,输出时有锁存。,特点,4.,(2),两个8位数据输入/输出端口(均带锁存功能)A和B,在端口C 的配合下工作。,端口C中
8、有3位用于端口A的输入/输出控制,另有三位用于端口B的输入/输出控制,并且均提供中断逻辑。,若只有一个数据端口工作在方式1,那么另一个数据端口及端口C余下的五位可工作于方式0;若两个数据端口都工作于方式1,那么端口C余下的两位仍可由程序指定作为输入或输出位,也可进行置位/复位操作。,特点,方式1,选通的输入/输出方式,8255A应用举例,【例8-2】某接口设计采用一片8255A实现。其端口A连接并行打印机,端口B连接纸带读入机,8255A工作于方式0,以查询方式传送数据。,本例使用端口C传送控制和状态信息。各控制信号的意义为:,DATA STROBE 数据选通信号。打印机要有一个宽度为05s的
9、脉冲,作为数据选通信号。由PC4位输出。BUSY当其有效时为高电平,此时表示打印机“忙”,不能接收新的输出数据。这是打印机的状态信号。由PC2位读入。DRIVE RIGHT此信号驱动纸带前进一步,并读一个字符。它是8255A给外设的启动信号。由PC5位输出。DATA READY纸带读入器的状态信号。其为高电平表示纸带读入器已将数据准备好。由PC3位读入。,5.,8255A在键盘和数码管显示接口中的应用,键盘扫描的硬件采用矩阵式结构。倘若键盘具有mn个键,那么键盘矩阵应有m行n列,其中m行由一个输出端口控制,n列由一个输入端口控制。当某一行输出为低电平时,如果某一列上有键按下,则该列的输入也为低
10、电平,这个低电平通过列输入端口读入CPU。通过识别行和列线上的电平状态,即可以识别键是否闭合,即键是否按下。,(1)键盘接口,6.,(2),1)七字段LED显示器,LED的主要部分为七段发光二极管,如图7-20a所示。七个字段分别称为a、b、c、d、e、f、g段,通常还有一个小数点段DP。通过七段的亮与灭的组合,可以显示09和AF等字符,从而实现十六进制数的显示。,2)利用8255A实现LED显示接口,8255A的端口A用来输出显示字符的七段LED代码,故端口A为段控端口。255A的端口B用来控制LED的显示位,即位控端口。,LED显示接口,8.3.1 串行通信的基本概念,串行通信和串行接口芯
11、片,1.全双工方式与半双工方式,两个串行接口之间分别用两根独立的传输线发送和接收信号,使发送和接收数据可同时进行。,全双工方式,在半双工方式中,输入过程和输出过程使用同一根传输线,因此,半双工方式在某一时刻只能进行发送数据或者接收数据。,半双工方式,2.同步通信和异步通信,一般将若干字符组成一个信息组,字符一个接着一个传输,但是,在每组信息(通常称之为信息帧)开始要加上1至2个同步字符,在传输线上没有字符传输时,要发送专用的“空闲”字符或同步字符,其原因是同步传输字符必须连续传输,不允许有间隙。,同步通信,8.3,是指通信中两个字符的时间间隔是不固定的,而在同一字符中的两个相邻代码间的时间间隔
12、是固定的通信方式。,异步通信必须遵循的两项规定为:,每个字符传送时,必须前面加一位起始位,后面加上1、1.5或2位停止位。例如ASCII码传送时,这一帧应该是,前面一个起始位,接着七位ASCII编码,之后是一位奇偶校验位,最后是一位停止位,共10位为一帧。,(1)字符的格式,(2)波特率(Baud Rate),波特率就是传送数据位的速率,用位/秒(bit/s)表示。例如,数据传送的速率为120字符/秒,每帧包括10个数据位,则传送波特率为:10120=1200bit/s=1200Bd,异步通信,信号的调制与解调,为了保证信号传送的正确性,故在长距离通信中,采用调制/解调器来改善信号的品质。调制
13、器(Modulator)把数字信号转换为模拟信号,经过传输线送到目的地后,再用解调器(Demodulator)检测此模拟信号,并把它转换成数字信号,在实际应用中,通常把调制器和解调器做在一起,构成调制/解调器。,3.,RS-232-C接口,RS-232-C是EIA(Electronics Industring Association)推荐的国际通用的一种串行通信接口标准。实际上,它是一个25芯或者9芯的D型连接器。,由于它的每个引脚都有标准规定,必须连接规定的信号,所以对任何具备RS-232-C接口的设备,都可以不需要附加任何硬件而与计算机相连。,RS-232-C除了对信号引脚的定义作了规定外
14、,对信号电平标准也作了规定。,4.,1.8255A的基本性能,8251A可编程串行通信接口,(1)外设接口部分(数据端口A、B、C)(1)可工作于同步方式或异步方式。(2)同步方式下,每个字符可为58位,可内同步或外同步,能自动插入同步字符。(3)异步方式下,每个字符可为58位,时钟速率为传输波特率的1、16倍或64倍。,8.3.2,(4)自动产生中止字符,自动检测和处理中止字符;可产生1、1.5个或2个停止位;可检测假启动位。(5)同步方式下,波特率为064Kb/s;异步方式下,波特率为0192Kb/s。(6)全双工方式;双缓冲的发送器和接收器。(7)具有自动错误检测功能,可检测奇偶错、数据
15、丢失和 帧错误,用户可通过输入状态寄存器内容进行查询。(8)全部输入/输出与TTL兼容。,1.,8255A的基本性能,8251A的逻辑结构及工作原理,(1)8251A逻辑结构,数据输入缓冲寄存器和数据输出缓冲寄存器 接收移位寄存器 发送移位寄存器 模式寄存器 控制寄存器 状态寄存器 步字符寄存器,2.,1),异步方式下的数据接收,在异步方式下,当准备好接收数据时,即开始检测RXD线上的信号。,同步方式下的数据接收,在同步方式下,当接收数据时,首先要搜索同步字符。这又分为内同步和外同步。在内同步方式下,8251A通过监测RXD线,来搜索同步字符。在外同步方式下,由外部其它设备在其SYNDET引脚
16、加一个高电平实现同步。,(2)8251A内部工作原理方框图,接收器,2),在异步方式下,发送器在发送每一个字符前先自动发送1个起始位,然后再发送字符数据,最后根据编程所规定的要求加上1位奇/偶校验位以及1个、15个或者2个停止位。,在同步方式下,当发送器从CPU接收到至少1个待发送字符后,在发送数据前,依据初始化编程时的设定插入一个或两个同步字符,然后发送字符数据块。,发送器,(1)8251A与CPU接口信号,8251A的接口信号,1)数据线D7D0。,8251A的数据总线D7D0为双向三态、8位缓冲器的引线,它们与CPU系统数据总线相连,用于在CPU与8251A之间传送数据(包括CPU对82
17、51A的编程命令和8251A送往CPU的状态信息)。,2)片选信号线。,只有当信号为低电平时,8251A被选中,8251A才能与CPU之间传送数据。如果为高电平,8251A未被选中,8251A的数据线处于高阻状态,8251A才能与CPU之间不能传送数据。,3.,3),RD读信号,一般直接连接到CPU的引脚RD或IORC引脚。RD为低电平时,表示CPU正在从8251A读取数据或状态信息。WR写信号,一般直接连接到CPU的WR引脚或IOWC引脚。WR为低电平时,表示CPU正在向8251A写入数据或控制信息。C/D控制/数据信号,是CPU送往8251A的信号,用来区分当前数据总线上的信息是数据还是控
18、制或状态信息。,读/写控制信号线,4),TXRDY 发送器准备好信号,输出,高电平有效。它用于告知CPU,8251A已为接收一个发送字符准备就绪。TXE 发送器空信号,输出,高电平有效。RXRDY 接收器准备好信号,输出,高电平有效。该信号有效表示当前8251A已经从外部设备或调制解调器上接收到了一个字符,正等待CPU读取。SYNDET 同步检测信号,高电平有效。SYNDET引脚只用于同步方式,既可以作为输入,也可以作为输出。,收发联络信号,2)收发联络信号,1),TXD 发送数据信号端,输出。CPU送往8251A的并行数据,在8251A内部转变为串行数据后,自TXD线上被逐位地发送。RXD
19、接收数据信号端,输入。外部装置通过RXD线送来串行数据,在8251A内部被接收移位寄存器逐位接收,当接收了一个完整的数据后变换成并行数据,供CPU读取。,数据信号,2),DTR数据终端准备好信号,输出,低电平有效。这是8251A送往外设的信号,用以表示CPU已经准备好接收数据。DSR数据装置准备好信号,输入,低电平有效。这是来自外设的信号,表示外设已经准备好发送数据。RTS请求发送信号,输出,低电平有效。CTS清除发送(允许发送)信号,输入,低电平有效。,收发联络信号,3),CLK8251A内部工作时钟信号,输入。8251A由这个CLK输入产生其内部工作时序。RxC接收器时钟信号,输入。此时钟
20、信号控制8251A接收器接收字符的速率。TXC发送器时钟信号,输入。此时钟信号控制8251A发送器发送字符的速率。TXC的频率和波特率之间的关系与RxC相同。,时钟信号,(1)方式选择控制字,8251A的编程,D1D0用于确定工作于同步方式还是异步方式。D3D2用于确定字符的位数。当D3D2=00时,传输字符被定义为5位;D3D2=01、10或11时,传输字符分别被定义为6、7、8位。D5D4用于确定奇偶校验性质。当D5D4的编码为00或10时,无奇偶校验;D5D4=01时,为奇校验;D5D4=11时,为偶校验。D7D6在同步方式和异步方式下的意义不同:在异步方式下,这两位除编码为00时无意义
21、外,其它编码定义停止位的位数。D7D6=01时,为1个停止位;D7D6=10时,为15个停止位;D7D6=11时,为2个停止位。,4.,(2),操作命令控制字用于规定8251A的工作状态启动串行通信开始工作或者芯片复位。,初始化8251A芯片时,当写入方式选择控制字,定义8251A芯片为异步通信,或者定义为同步通信且同步字符已经写入8251A后,接下来应该向8251A写入操作命令控制字。,操作命令控制字,(1)异步方式下的初始化编程,8251A初始化编程及应用举例,经分析,知其方式选择控制字应该为9BH,操作命令控制字应该为37H。初始化编程如下:MOV DX,1A2HMOV AL,9BHOU
22、T DX,AL;设置工作方式MOV AL,37HOUTDX,AL;设置工作状态,【例74】设在某8086系统中有一片8251A,其占用的端口地址分别为1A0H和1A2H,并要求其工作方式选择为:异步通信,字符用7位二进制数表示,奇校验,15个停止位,波特率系数为64。对其工作状态的要求是:使发送允许TxEN有效,接收允许RxE有效,使数据终端准备好信号有效,复位出错标志,将请求发送信号置于有效电平。,5.,经分析,知其方式选择控制字应该为9BH,操作命令控制字应该为37H。初始化编程见下页。,【例7-5】设某8251A芯片端口地址分别为1A0H和1A2H。要求其工作方式为:同步方式、内同步、两
23、个同步字符、奇校验、每个字符8位。并设第一个同步字符为EFH,第二个同步字符为7EH。要求其工作状态是:复位出错标志,启动发送器和接收器,当前CPU已经准备好且请求发送。,同步方式下的初始化编程,(2),MOV DX,1A2HMOV AL,40HOUT DX,AL;复位8251AMOV AL,1CHOUT DX,AL;写入方式选择控制字,规定其工作方式MOV AL,0EFHOUT DX,AL;写入第一个同步字符MOV AL,7EHOUT DX,AL;写入第二个同步字符MOV AL,0B7HOUT DX,AL;写入操作命令控制字,设置其工作状态,(2),同步方式下的初始化编程,【例7-6】825
24、1A工作于异步方式,7个数据位,15个停止位,奇校验,波特率系数为64。其数据端口地址为A0H,控制端口地址为A2H。,通过查询8251A状态寄存器中的RXRDY位,可以确定8251A是否已经从外设接收到了一个字符。若已接收到,即RXRDY有效,CPU就可执行输入指令从8251A的数据端口(C/D=0)取回一字节数据放在内存缓冲区。程序中还要检测状态寄存器的第3、4、5位,看是否出现了奇偶错、溢出错或帧错误。若发现错误,应停止输入,并转错误处理程序。,使用查询方式接收传送数据举例,(3),MOV AL,9BH OUT 0A2H,AL;写入异步方式选择字MOV AL,37HOUT 0A2H,AL
25、;写入命令指令字MOV BX,BUFPTR;设缓冲区首址存放在DS段BUFPTR变量名下MOV DI,0;变址寄存器清0MOV CX,0064H;设置计数器值100IN AL,0A2H;输入状态字送ALTEST AL,02H;测试状态字第2位,即RXRDY,程序,WAIT:,JZ WAIT;若8251A未收到字符,则重新取状态字IN AL,0A0H;若RXRDY有效,则从数据口输入数据MOV BX+DI,AL;将接收到的字符送入缓冲区IN CDI;缓冲区指针下移一个单元IN AL,0A2H;再读入状态字TEST AL,38H;测试有无三种错误JNZ ERROR;若有错,转错误处理程序ERLOO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 接口 技术
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5309432.html