输入输出接口技术.ppt_第1页
输入输出接口技术.ppt_第2页
输入输出接口技术.ppt_第3页
输入输出接口技术.ppt_第4页
输入输出接口技术.ppt_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1,第8讲 微型计算机和外设间的数据传输,苏 放 frossesu 北京邮电大学 信息与通信工程学院,2,接口技术的基本概念,3,接口技术的基本概念,为什么要用接口电路 解决计算机的高速和外设的低速的矛盾 一般来说,外部设备的工作速度比CPU的速度低许多。如果没有接口,CPU必须长期的等待,才可以和外设配合工作。就会大大降低CPU的工作效率。 解决计算机信号和外设信号的差别。 如模拟和数字的差别、信号电平高低的差别、信号传送方式的差别(并行和串行)等。,4,接口技术,微机系统由连接在系统总线上的CPU,存储器, 外设,接口电路,电源组成。 接口是指CPU和存储器、外部设备之间通过系统总线进行连接的逻辑部件。它是CPU和外界进行信息交换的中转站。 要使这些设备正常工作,一是要设计正确的接口电路,二是要编制相应的软件。 接口技术是采用硬件和软件方法研究微处理器如何与外界进行最佳偶合,实现CPU与外界高效可靠进行信息交换的技术。,5,接口技术的基本概念,接口电路的功能 数据的寄存和缓存:解决外设与主机的速度差距 设备选择功能 :多种设备的选择 信号转换功能 :外设与主机的信号差异 对外设的控制监视功能:操作同步 中断和DMA功能 :解决实时性和并行性问题 可编程功能:灵活性和可扩充性,6,接口技术的基本概念,计算机和存储器之间也是要交换信息的,但计算机和存储器之间并没有专门的接口电路 原因就在于计算机和存储器的工作速度基本上是匹配的,信号的形式也是一致的。如果存储器的速度较慢,可以通过增加等待周期来解决。 而外设和计算机的工作速度相差太大,不可能通过增加等待周期的方式来解决两者速度的不一致。使用接口电路则是必然的。,7,CPU与I/O之间的接口信号,接口电路中的信息 数据信息 数据信息可以有各种形式: 数字量。大多数信息是数字信息,即二进 制信息或者代表字符的ASCII码 开关量。开关量实际是数字信息,但一般只占用一位二进制信息,以表示开关的打开或闭合。 模拟量。通过接口的模拟量,要变换为数字量,再加到计算机。,8,CPU与I/O之间的接口信号,状态信息 状态信息主要是反映外设的工作状态 对于输入设备,可以表示它是否准备好数据,只有数据已准备好,才启动CPU一次读入操作。 对于输出设备,可以反映它是否已经把上一个数据处理完,只有上一个数据处理完,才可以启动CPU的下一次输出操作。 状态信息也可以是CPU传送给外部设备的,传送CPU的状态。 状态信息也称为握手信息。,9,CPU与I/O之间的接口信号,控制信息 控制信息一般是CPU通过接口电路传送给外部设备的,一般控制外部设备的动作。如启动打印机开始打印,启动A/D转换器,开始模拟到数字信号的转换等。 这三种信息,将都通过数据总线在CPU和接口之间传送。 从形式上看,三种信息并没有差别,都是二进制信息。如10000000,既可以是数据信息,代表十进制数128,也可以是一种状态信息,或一种控制信息。,10,端口,接口和端口 为了区分以上所述的三种信息,在接口部件中都包含一组寄存器,分别对应不同的外设地址,CPU和外设交换信息时,将三种不同的信息,送入不同的寄存器: 数据送入数据寄存器,状态信息就送入状态寄存器,等等。 这些寄存器就称为端口(PORT)。不同的端口有不同的地址,不同的端口存放不同的信息。,11,端口及其寻址方式,I/O端口的编址方式 存储器映射方式,即I/O端口和存储器统一编址:即存储器和外设共同分享CPU的寻址空间。一般,存储器占用较多的寻址空间,而外设(I/O接口)占用较少的寻址空间。 在这种情况下,CPU可以用对存储器的操作指令来对外设进行操作,两者对CPU来说,实际上是相同的。即不需要专用的对外设操作的指令。 外设和存储器的区别就在于地址。,12,端口及其寻址方式,I/O映射方式,即I/O端口单独编址 这时,存储器和I/O接口,各自都有自己的地址范围,而且这些地址在数值上可以是重叠的。也就是不能用地址来区别存储器和外设。 此时,必须有专门的I/O操作指令。更实质地说,是需要有用于存储器寻址和外设寻址的不同控制信号。 对8086来说,就是这种情况。用来区别存储器和I/O端口的信号的M/IO:对存储器操作时,此信号为1;对外设操作时,此信号为0。,13,端口及其寻址方式,如果8086工作在最大方式,对外设寻址的控制信号则是IORC和IOWC 。 I/O端口单独编址,使存储器可以使用的地址空间就是CPU的全部寻址范围。对8086,就是1M。 I/O端口单独编址时,可以使用的外设数目由直接参与的地址线的数目来决定。对8086 来说,就是16条地址线,因此,最多可以对65536个外设(或I/O端口)来交换信息。,14,接口技术的基本概念,8086的输入输出指令: 输入:IN AL , n IN AX , n IN AL , DX IN AX , DX 输出:OUT n, AL OUT n, AX OUT DX, AL OUT DX, AX 注:n为8位无符号数,表示只有8条地址线和外设相连,最多寻址256个I/O端口。 用DX表示地址时,最多有16条地址和外设相连,最多寻址65536个端口。,15,CPU和外设之间的数据传送方式,无条件传送方式 无条件是指CPU不管外设的状态,在需要和外设交换信息的时候,就用输入或输出指令和外设交换信息。 在这种方式下,CPU和外设之间只有数据信息的传送,没有状态信息的传送。 但无条件传送,不等于不需要接口电路,只是接口电路可以比较简单,因为只有数据的通道,一般就只有输出锁存器和输入缓冲器。,16,无条件传送方式,控制开关K0K2打开则对应发光二极管Q0Q2亮 开关闭合则对应发光二极管不亮,17,DON:IN AL,IN_PORT ;读入B口开关状态 XOR AL,0FFH ;求反 OUT OUT_PORT,AL ;点亮对应发光二极管 JMP DON HLT,18,输入输出传送方式,一位七段显示器接口电路:,19,输入/输出接口综合应用例子,根据开关状态在7段数码管上显示数字或符号 共阳极7段数码管结构 用74LS273作为输出接口,把数据送到7段数码管 74LS273的地址假设为F0H 用74LS244作为输入口,读入开关K0K3的状态 74LS244的地址假设为F1H 当开关的状态分别为00001111时,在7段数码管上对应显示0F,20,21,O1 I1 O2 I2 O3 I3 O4 I4 #E1,K0K3,+5V,G G2A G2B C B A,1,74LS244,D0 Q0 | Q1 D7 Q2 Q3 Q4 CP Q5 Q6 Q7,a b c d e f g DP,7406,8个 反相器,74LS273,Rx8,1,74LS138,D0D7,IOW#,IOR#,Y0,Y1,F0H = 0000 0000 1111 0000 F1H = 0000 0000 1111 0001,&,1,A7A4,A15A8,A3,A2,A1,A0,D0,D1,D2,D3,译码电路,22,相应程序段如下: Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H LEA BX, Seg7 ;取7段码表基地址 MOV AH, 0 GO: MOV DX, 0F1H ;开关接口的地址为F1H IN AL, DX ;读入开关状态 AND AL, 0FH ;保留低4位 MOV SI, AX ;作为7段码表的表内位移量 MOV AL, BX+SI ;取7段码 MOV DX, 0F0H ;7段数码管接口的地址为F0H OUT DX, AL JMP GO,23,输入输出传送方式,无条件传送的输入方式:CPU输出地址后,经过地址译码器选通输入缓冲器。 ALE为0,表示非DMA 操作。,24,输入输出传送方式,无条件传送的输出方式:CPU输出地址后,经过地址译码器选通输出锁存器。 ALE为0,表示非DMA 操作。,25,输入输出传送方式,由译码器提供至少一个I/O地址来对端口寻址。 输入口和输出口在这里使用了同一个译码地址。 因为除了一个地址信号以外,还有读、写信号可以参加控制。如当地址有效,读信号有效时,可以选中输入缓冲器;而当地址有效,写信号有效时,则选中输出锁存器。 也可以分别给输出口和输入口各有一个地址。,26,输入输出传送方式,无条件传送使用的场合: 或者是外设的工作速度很快,使得CPU两次读写操作之间的时间,外设肯定可以处理完上次的数据。因此就不需要考虑外设的状态。就象CPU和存储器交换信息。 或者是外设的速度虽然并不很快,但CPU两次读写外设的操作,一定有较长时间的间隔。而这个时间间隔对于处理上一个数据,时间肯定是足够的。,27,输入输出传送方式,例:三路任意波形的输出 用数据线D2 D1 D0输出三路信号。波形的形状由数据段来定义。 数据段: DATA SEGMENT TAB DB 08, 1, 2, 6, 3, 2, 4, 4, 0 PORT EQU 8CH DATA ENDS 其中08表示波形有8个状态。,28,STR: LEA BX, TAB MOV CH, 0 MOV CL, BX ;CL=8 LOP: INC BX MOV AL, BX ;取波形形状 OUT PORT, AL ;输出 PUSH CX CALL DELAY ;延迟 POP CX LOOP LOP DELAY PROC MOV CX, 2801 WAT: LOOP WAT RET DELAY ENDP,29,输入输出传送方式,以上程序可以使用无条件传送是因为在两次传送之间有一个10ms的延迟。 10ms的延迟既是波形间隔的需要,也保证了输出的稳定性。 实际上,延迟也是一种等待。这种方式的无条件传送,也是通过等待来解决CPU和外设的速度匹配。 但延迟的长短是估计的,要精确地匹配CPU和外设的工作,可以使用查询方式。,30,输入输出传送方式,查询式传送(条件传送方式) 这种方式,CPU要遵循“先查询,后传送”的原则,保证只有在外设已经是在“准备好”状态,才开始传送数据。 查询式传送的一般流程: 先从状态口读入状态字; 如果状态是“准备好”,开始传送; 如果状态是“没有准备好”,则继续查询,直到“准备好”,开始传送。,31,输入输出传送方式,查询式输入:,ready,ready,32,输入输出传送方式,33,输入输出传送方式,图中的“选通信号”就是输入设备发出的状态信号。选通脉冲有效时,触发器输出1。表示输入设备已经将数据准备好。 CPU查询READY信号,有效时,发出输入指令,从数据口读入输入数据。 图中的数据口读选通信号一方面选中数据缓冲器,同时也是CPU的状态信号,它可以清除触发器的输出,使之为0,以便接收下一次的输入数据。,34,输入输出传送方式,查询输入的部分程序: POLL: MOV DX,STATUS_PORT IN AL,DX TEST AL,80H JE POLL MOV DX,DATA_PORT IN AL,DX,35,输入输出传送方式,查询式输出:,36,输入输出传送方式,查询式输出接口电路,37,输入输出传送方式,例:8路模拟信号采集系统 系统有三个端口:331H是状态口,接到A/D转换器的EOC端,当EOC信号有效时(1),表示A/D转换完成,CPU可以读入转换后的数字信号。 332H是数据口,接收A/D转换后的数字信号。 330H是控制口,一方面向A/D转换器发出启动A/D转换的命令,同时也向多路开关发出选择8路模拟信号的地址信息,一般逐一地选择8路模拟信号。,38,输入输出传送方式,查询式数据采集系统,39,输入输出传送方式,具体安排: 状态口地址为331H,状态位使用D0,高电平有效。 数据口地址为332H。 控制口地址为330H。控制命令用D4,高电平开始A/D转换,低电平停止转换。 D2 D1 D0用于多路开关的地址,000111对应8路模拟信号。,40,输入输出传送方式,为了便于编程,端口4的D7 D6 D5和D3 都安排等于1,其结果是: 当输出值0F8H(11111000)启动第一路模拟转换。 当输出值0F9H(11111001)启动第二路模拟转换。 当输出值0FFH(11111111)启动第八路模拟转换。 当输出值00H(00000000)全部转换结束。,41,START: MOV CL,0F8H ; LEA DI, BUFFER ; AGAIN: MOV AL,CL AND AL,0EFH ;停止A/D转换 MOV DX,330H OUT DX,AL CALL DELAY MOV AL,CL ;开始下一路的转换 OUT DX,AL INC DX POLL: IN AL,DX ;查询状态 SHR AL,1 ;取出状态位 JNC POLL ;没有准备好继续查询 INC DX IN AL,DX ;准备好则读入数据 STOSB ;存数据 INC CL ;下一路模拟信号 JNE AGAIN ;没有完成则循环,42,输入输出传送方式,查询式传送程序: 在编写查询式传送程序时,要注意两个问题,或者说,要先确定两个问题: 1. 状态信号的位置:状态信号一般也是开关信息,因此需要规定状态信号是在8位数据中的第几位。 2. 还要规定,状态信号的有效电平:即是高电位表示准备好,还是低电平表示外设准备好。 以上程序中状态位是D0,高电平有效。,43,输入输出传送方式,查询方式的优点:CPU和外设之间可以很好地配合工作 。 缺点:CPU要长期地查询外设的状态,查询实际上就是一种等待。CPU长期的等待会影响CPU的工作效率。,44,输入输出传送方式:中断,中断方式: 中断方式是由外设向CPU发出要求交换数据的请求,即中断请求。CPU收到中断请求后,中断当前的工作,为外设服务。服务结束(输入或输出)后,继续原来的工作。 中断方式不要求CPU等待或查询,可以大大地提高CPU工作效率。但接口电路比较复杂。,45,输入输出传送方式:中断,46,输入输出传送方式:中断,输入装置准备号数据,发出选通信号,将数据存入输入锁存器; 输入选通经过触发器,请求中断; CPU发出INTA作为应答。 中断控制器发出中断矢量到CPU; CPU查中断地址表,得到中断入口地址; 执行中断服务程序,输入数据到CPU; 清除中断请求,返回到被中断的程序。,47,输入输出传送方式:DMA,DMA方式 DMA方式,是由DMA控制器来控制数据从外设到存储器的直接传送。CPU不参与DMA传送的控制。 中断方式仍然是指令控制下的传送,为了进一步提高传送速度,希望传送直接是在硬件控制下完成。 DMA方式是速度最快的外设和存储器交换信息的方式。,48,输入输出传送方式:DMA,DMA传送是外设和存储器传送数据的各种方式中速度最快

温馨提示

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

最新文档

评论

0/150

提交评论