第三章 微型计算机和外设的数据传输_第1页
第三章 微型计算机和外设的数据传输_第2页
第三章 微型计算机和外设的数据传输_第3页
第三章 微型计算机和外设的数据传输_第4页
第三章 微型计算机和外设的数据传输_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

第3章微型计算机和外设的数据传输为什么要用接口电路CPU和输入输出设备之间的信号接口部件的I/O端口CPU和外设之间的数据传送方式教师:李军Email:dpi_Lijun@163.com1为什么要用接口电路什么是接口:接口是指通过三总线与CPU相连的外围芯片或部件。接口电路按功能可分为两类:使微处理器正常工作所需的辅助电路。输入输出接口电路。为什么要用接口电路输入/输出功能:接口要根据送来的读/写信号决定当前进行的是输入操作还是输出操作,并且随之能从总线上接收来自CPU的数据和控制信息,或者将数据或状态信息送到总线上。第三章

1

2

3为什么要用接口电路

CPU和输入输出设备之间的信号接口部件的I/O端口教师:李军Email:dpi_Lijun@163.com1为什么要用接口电路数据转换功能:接口不但要从外设输入数据或者将数据送往外部设备,并且要把CPU输出的并行数据转换成所连的外设可接受的格式(比如串行格式);或者反过来,把从外设输入的信息转换成并行数据送往CPU。联络功能:当接口从总线上接收一个数据以后,或者在把一个数据送到总线上以后,能发一个就绪信号,以通知CPU,数据传输已经完成,从而可以准备进行下一次传输。中断管理功能:作为中断控制器的接口应该具有发送中断请求信号和接收中断响应信号的功能,而且还有发送中断类型号的功能,此外,如果总线控制逻辑中没有中断优先级管理电路,那么,接口还应该具有优先级管理功能。教师:李军Email:dpi_Lijun@163.com1为什么要用接口电路复位功能:接口应该能接受复位信号,从而能使接口本身以及所连的外设进行重新启动。可编程功能:需要用软件来设置接口的工作方式和设置控制信号,因此接口应该有可编程功能。错误检测功能:在接口设计中,常常要考虑对错误的检测问题。一般可编程接口芯片可检测下列两类错误:一类是传输错误。因为接口和设备之间的连线常常受噪声干扰,从而引起传输错误,接口常采用奇/偶校验位对传输错误进行检测。另一类是覆盖错误。当输入数据时,如果计算机还没有取走数据,数据缓冲寄存器由于某种原因又被装上了新的数据,造成数据丢失;就会产生一个覆盖错误,输出数据类似。教师:李军Email:dpi_Lijun@163.com2CPU和输入输出设备之间的信号从功能上,信号可分为:数据信息,数据通常为8位或16位,又分为:数字量:二进制形式的数据或是以ASCII码表示的数据及字符,通常是8位的。模拟量:连续变化的物理量。开关量:用1位二进制数表示。状态信息:反映了当前外设所处的工作状态,是外设通过接口往CPU传送的。控制信息:是CPU通过接口传送给外设的,CPU通过发送控制信息控制外设的工作。三类信息都通过数据总线来传送,但在接口中,用不同的寄存器分别存放这三种信息。第三章

1

2

3为什么要用接口电路

CPU和输入输出设备之间的信号

接口部件的I/O端口教师:李军Email:dpi_Lijun@163.com3接口部件的I/O端口I/O端口分类:CPU和外设交换信息实际上是通过接口的I/O端口进行,端口分为:数据端口:用于存放CPU读写的数据

。通常包括数据输入端口和数据输出端口。状态端口:用来存放外设或接口本身的状态。控制端口或命令端口:存放CPU发出的命令。外设和系统的连接图第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口CPU和外设之间的数据传送方式教师:李军Email:dpi_Lijun@163.com3接口部件的I/O端口I/O端口地址编址方式统一编址:这种方式,是从存储空间划出一部分地址空间给I/O设备,把I/O接口中的端口当作存储器单元一样进行访问,不设置专门的I/O指令。凡对存储器可以使用的指令均可用于端口。独立编址:不占用存储器空间,微处理器设置专门的输入/输出指令来访问端口,形成一个独立的I/O地址空间,通过控制总线来确定CPU到底要访问内存空间还是I/O空间。8086系统采用了这种I/O端口编址方法。优点:输入/输出指令和访问存储器指令有明显的区别,可使程序编制清晰,便于理解。缺点:输出/输入指令类型少,一般只能对端口进行传送操作。第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口CPU和外设之间的数据传送方式教师:李军Email:dpi_Lijun@163.com4CPU和外设之间的数据传送方式程序方式中断方式DMA方式输入输出过程中提出的几个问题教师:李军Email:dpi_Lijun@163.com4.1程序方式程序传送方式是指在程序控制下进行信息传送,分为:无条件传送方式:适合于那些随时都能读、写数据的设备。它认为外设一直是准备就绪的,因而不必查询外设的状态。条件传送方式:也称为查询传送方式,是指主机在传送数据之前,要检查外设是否“准备好”,若没有准备好,则继续查其状态,直至外设准备好了。条件传送的三个环节:CPU从接口中读取状态字CPU检测状态字传送数据第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.1.1无条件传送方式无条件传送方式的工作原理图第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

要点简单外设作为输入设备时,可直接使用三态缓冲器和数据总线相连。简单外设作为输出设备时,一般都需要锁存器。教师:李军Email:dpi_Lijun@163.com4.1.2条件传送方式查询式输入的接口电路第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

要点CPU从外设输入数据前要先读取状态字,确认是否数据准备就绪。CPU是主动的,而外部设备是被动的。教师:李军Email:dpi_Lijun@163.com4.1.2条件传送方式

查询式输入过程的流程图第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.1.2条件传送方式查询式输出的接口电路第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

要点CPU向外设输出数据前要先读取状态字,确认是否设备准备就绪。CPU是主动的,而外部设备是被动的。教师:李军Email:dpi_Lijun@163.com4.1.3查询式输入输出程序设计举例假设从终端往缓冲区输入1个字符行,当遇到回车符(0DH)或者字符行超过80个字符时,输入便结束,并自动加上1个换行符(0AH)。如果在输入的81个字符中未见到回车符,则在终端上输出信息“BUFFEROVERFLOW”。已知条件:字符采用7位ASCII码表示,其中最高位为偶校验位。接口的数据输入端口地址为0052H,数据输出端口地址为0054H状态端口地址为0056H,若输入缓冲器数据准备好,第1位置1,否则置0;若输出缓冲器空,第0位置1,否则置0。这两个状态位的置位和复位是由硬件自动实现的。第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.1.3查询式输入输出程序设计举例DATA_SEGSEGMENTMESSAGEDB‘BUFFEROVERFLOW’,0DH,OAH……DATA_SEGENDSCOM_SEGSEGMENTBUFFERDB82DUP(?);接受缓冲区

COUNTDW?;计数器COM_SEGENDS……CODESEGMENTASSUMEDS:DATA_SEG,ES:COM_SEG,CS:CODESTART:MOVAX,DATA_SEG;DS作初始化MOVDS,AXMOVAX,COM_SEGMOVES,AX;对ES作初始化MOVDI,OFFSETBUFFER;计数器指向缓冲区首址MOVCOUNT,DIMOVCX,81;字符行长度CLD;清方向标志NEXT_IN:INAL,56H;读入状态TESTAL,02H;测状态寄存器第1位JZNEXT_IN;未准备好,则等待,再测第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.1.3查询式输入输出程序设计举例INAL,52H;准备好,则输入字符ORAL,0;校验JPENO_ERROR;校验正确,则转NO_ERRORJMPERROR;校验错误,则转ERRORNO_ERROR:ANDAL,7FH;清除校验位STOSB;将字符送缓冲区CMPAL,0DH;是否为回车符LOOPNENEXT_IN;不是回车,则再输入JNEOVERFLOW;不是回车且溢出,转OVERFLOWMOVAL,0AH;加一个换行符STOSB;存入缓冲区SUBDI,COUNT;计算输入字符数MOVCOUNT,DI;COUNT中为输入字符数……OVERFLOW:MOVSI,OFFSETMESSAGE;SI中为字符串首址MOVCX,17;字符数NEXT_OUT:INAL,56H;读状态寄存器TESTAL,01H;测状态寄存器第0位JZNEXT_OUT;如没有就绪,则再测LODSB;将字符取到AL中OUT54H,AL;输出字符LOOPNEXT_OUT;输出下一个字符第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.2中断方式中断方式:当外设作好传送准备后,主动向CPU请求中断服务,CPU在执行完每条指令后测试是否有中断请求。特点:在中断方式下,外部设备是主动的,CPU是被动的。适用场合:中断方式用于CPU的任务比较忙,传送速度不太高的系统中,尤其适合实时控制中紧急事件的处理。优点:无需CPU反复测试外部设备的状态,提高了CPU的工作效率。8086系统包括硬件中断和软件中断,这里所指的是硬件中断。第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.2中断方式中断的原理设备通过-INT申请中断,CPU通过-INTA应答。应答时用两个负脉冲,设备送中断类型码。中断传送方式的基本原理图第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.2中断方式可屏蔽中断的响应和执行第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.2中断方式中断优先级问题的提出:由于一个计算机系统中通常有多个设备用中断方式和CPU进行数据传输,为了保证它们有序工作,要对它们赋予相应的优先级。其作用在于:当多个中断请求到达时,CPU要首先响应优先级相对高的请求。当CPU正在进行中断服务时,优先级相对高的中断请求能中断优先权相对低的中断服务。中断优先级的解决方法软件查询菊花链法专用硬件第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.2.1软件查询方式第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

要点借助于简单的硬件电路。无需中断类型码,只有一个服务程序入口地址。采用软件查询方式,在中断服务程序中进行中断优先权的处理。软件查询接口

软件查询流程

教师:李军Email:dpi_Lijun@163.com4.2.2简单硬件方式——菊花链法第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

要点在每个外设对应的接口上连接一个逻辑电路,构成一个链,称为菊花链。菊花链从硬件上确定了各个外设中断优先级,各个外设接口不会竞争中断回答信号-INTA。获得-INTA的设备接口发中断类型码。(a)菊花链(b)菊花链逻辑电路教师:李军Email:dpi_Lijun@163.com4.2.3专用硬件方式第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

要点是当前在微型机系统中解决中断优先级管理的最常用的办法。采用可编程的中断控制器,它是一个用于中断优先级管理的专用芯片。来自外设的输入/输出接口的中断请求信号并行地送到中断优先级管理电路,由此管理电路为各中断请求信号分配优先级。由中断控制器向CPU发中断请求并为CPU提供中断类型码。可编程的中断控制器的大部分功能都可以由程序控制,它们的优先级排列方式也可以通过指令来设置。在8086系统中,可编程中断控制器使用的是Intel公司的8259A。教师:李军Email:dpi_Lijun@163.com4.2.3专用硬件方式典型的可编程中断控制器

第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.3DMA方式要点提出:虽然中断传送方式可以在一定程度上实现CPU与外设并行工作,但是在进行数据传送时,还是要经过CPU中转,在进行大批量数据传送时,会造成中断次数过于频繁,使得CPU的使用效率大大降低。优点:是一种不需要CPU干预也不需要软件介入的高速数据传送方式。CPU只启动而不干预这一传送过程,同时只由硬件完成而不需软件介入,所以其数据传送速率可以很高。DMA控制器的工作特点是一个接口电路。能够控制系统总线。操纵外设和存储器之间的数据传输。第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.3.1DMA控制器的传送原理及功能原理:使用DMA控制器(DMAC),无需CPU介入,由DMA控制器掌握总线的控制权,在它的控制下,实现I/O与存储器之间高速、批量数据传递。DMA控制器申请总线控制权的过程如下:外部设备向DMAC发出DMA请求信号(DREQ)。DMAC向CPU发出总线请求信号HOLD,请求CPU让出总线。通常CPU完成当前的总线周期之后,使数据总线、地址总线处于高阻抗状态,并发出响应信号HLDA让出总线。DMAC收到HLDA,接管总线控制权,通知外设进行数据转输(DACK)。在整个DMA操作期间,HOLD和HLDA信号一直保持有效。当DMAC完成操作后,使HOLD信号变为低电平,放弃对总线的控制,8086检测到HOLD信号变为低电平后,也将HLDA信号变为低电平,于是,CPU又控制了系统总线。第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.3.1DMA控制器的传送原理及功能功能向CPU发总线请求信号,多设备时确定优先级。对总线进行控制,发地址、读写等控制信号。修改所用的存储器或接口的地址指针。存放数据长度。交还总线控制权。第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

I/O设备与存储器传送示意图

教师:李军Email:dpi_Lijun@163.com4.3.2DMA输入输出数据第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

从内存向接口输出单个数据的原理图教师:李军Email:dpi_Lijun@163.com4.3.2DMA输入输出数据从接口往内存传输一个数据块的过程接口往DMA控制器发一个DMA请求。DMA控制器向CPU发一个DMA请求。CPU允许,得到总线控制权。地址寄存器的内容送地址总线。向接口发读命令,接口将数据送到数据总线。向内存发写命令,数据送到所指单元。地址寄存器的值加1。字节计数器的值减1。放弃总线控制权,交还CPU(也可不放弃)。如字节计数器的值不为0,则回到开始重复执行。否则结束。第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.3.3DMA控制器的内部最小配置第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.3.4DMA传输的要求对接口控制寄存器有1位指出数据传输方向。控制寄存器有1位用来启动I/O操作。状态寄存器有1位指出设备当前是否处于忙状态。对DMA控制寄存器有1位作为DMA允许位。有1位用来确定DMA方向。状态寄存器有1位表示数据块传输是否结束。有1位决定进行一次传输后放弃还是维持对总线的控制权。对DMA控制器和接口部件预置的信息往DMA控制器的字节计数器设置初值。往DMA控制器的地址寄存器中设置地址初值。对DMA控制器设置控制字并启动DMA操作。对接口部件设置控制字并启动I/O操作。第三章

2

3

4CPU和输入输出设备之间的信号

接口部件的I/O端口

CPU和外设之间的数据传送方式

教师:李军Email:dpi_Lijun@163.com4.4输入输出过程中提出的几个问题系统如何知道接口已准备好数据等待CPU提取或者准备接收CPU的数据?在查询方式下,是通过程序来检测接口中状态寄存器中的“准备好”位,以确定当前是否可以进行数据传输的。在中断方式下,当接口中已经有数据要往CPU输入或者准备好接收数据时,接口会向CPU发一个外部中断请求。在DMA方式下,由CPU预先启动外设传输数据的要求,然后外设的接口会向DMA控制器发DMA请求信号,DMA控制器

温馨提示

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

评论

0/150

提交评论