微机原理微型计算机和外设数据传输课件_第1页
微机原理微型计算机和外设数据传输课件_第2页
微机原理微型计算机和外设数据传输课件_第3页
微机原理微型计算机和外设数据传输课件_第4页
微机原理微型计算机和外设数据传输课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

第5章微型计算机和外设的数据传输本章重点:接口电路的功能接口部件和I/O端口CPU和外设之间的三种数据传输方式、各自优缺点和使用场合中断传输方式的原理和可屏蔽中断的响应过程DMA方式的原理和DMA控制器的功能

5.1为什么要用接口电路(1)接口电路按功能可分为两类:使微处理器正常工作所需的辅助电路输入输出接口电路:(2)为什么要用接口电路5.2CPU和输入输出设备之间的信号CPU和输入输出设备之间有以下几类信号:(1)数据信息,又分为:数字量模拟量开关量(2)状态信息

(3)控制信息

5.3接口部件的I/O端口数据端口

状态端口

控制端口或命令端口

外设通过接口和系统的连接

端口地址一个双向工作的接口芯片通常有4个端口

数据输入端口和状态端口是“只读”的数据输出端口和控制端口是“只写”的数据输入端口、数据输出端口对应一个端口地址。CPU对这个端口地址读操作,肯定从数据输入端口读数据CPU对这个端口地址写操作,肯定是往数据输出端口写数据状态端口和控制端口也对应同一个端口地址。5.4接口的功能以及

在系统中的连接

接口的功能

接口与系统的连接

一个接口的基本功能:在系统总线与外设之间传输信号,提供信号的缓冲,满足接口两边的时序要求。从广义看,接口的功能:1.寻址功能2.输入/输出功能3.数据转换功能4.联络功能5.中断管理功能6.复位功能7.可编程功能8.错误检测功能1.寻址功能2.输入输出功能根据读写信号判断传输方向传输数据、控制和状态信息3.数据转换功能把CPU的并行数据转换成一些外设所需的串行数据;把外设的串行信息转换成并行数据送往CPU。4.联络功能

当数据传送完后,能通知CPU。

5.中断管理功能发送中断请求和接收中断响应发送中断类型号优先级管理功能。

6.复位功能

接收复位信号7.可编程功能可以用软件使其工作于不同的方式用软件来设置控制信号8.错误检测功能当前多数可编程接口芯片能检测下列两类错误: 传输错误 覆盖错误5.4.2接口与系统的连接

接口可分为两个部分和I/O设备相连

这部分和I/0设备传输要求及数据格式有关。所以各接口互不相同和系统总线相连因为接口都是连在同一总线上,所以各接口电路结构都非常类似。

和外部连接典型的I/O接口把控制信号翻译成联络信号把地址信号翻译成片选信号决定数据传输方向M/#IO信号参与译码把控制信号翻译成联络信号把地址信号翻译成片选信号决定数据传输方向M/#IO信号参与译码一个接口通常有若干个寄存器可以被读写,使用时,一般用1或2个低位地址结合读写信号实现对寄存器寻址。例:一个接口有2个可读寄存器A,B2个可写寄存器C,D写信号读信号A0

被访问的寄存器010A011B100C101D5.5CPU和外设之间的数据传送方式解决定时问题的三种传送方式:程序方式

中断方式

DMA方式

5.4.1程序方式1.无条件传送方式图无条件传送方式的工作原理2.条件传送方式(1)条件传送的概念 (2)条件传送的三个环节:CPU从接口中读取状态字CPU检测状态字传送数据查询式输入的接口电路

查询式输出的接口电路

查询式输入过程的流程图查询式输入输出方式的实例题目要求:从终端往缓冲区输入1个字符行,当遇到回车符(0DH)或字符行超过80个字符时输入结束,并自动加上1个换行符(0AH)。如果在输入的81个字符中未见到回车符,则在终端上输出信息“BUFFEROVERFLOW”循环程序的基本结构一个循环程序是由以下4个部分组成的:

循环初始化部分。一般包括:

循环计数器初始化。地址指针初始化。所用的寄存器和内存单元初始化。

循环体:完成循环工作的主要部分。循环参数修改部分:为下一次循环做准备。循环控制部分:设置退出循环的条件。8.1循环程序的基本结构初始化部分处理部分修改部分控制部分循环结束循环未结束直到型循环初始化部分处理部分修改部分控制部分循环结束循环未结束当型循环循环程序的结构初始化部分处理部分修改部分控制部分循环结束循环未结束循环结束后处理初始化部分处理部分修改部分控制部分循环结束循环未结束循环结束后处理初始化部分处理部分修改部分控制部分循环结束循环未结束循环结束后处理初始化部分处理部分修改部分控制部分循环结束循环未结束循环结束后处理假设:1.采用偶校验2.端口的地址3.状态寄存器的D1,D0位意义如果系统中有多个利用查询方式输入输出的设备,通常采用轮流查询方式检测接口的状态位。轮流查询方式,通过程序的优先级决定设备的优先级。如果系统中有多个利用查询方式输入输出的设备,但设备具有等同的地位,即没有优先级,采用循环查询方式检测接口的状态位。5.4.2中断方式1.中断传送方式的原理为什么使用中断传送方式??查询式传送方式:(1)降低了CPU的工作效率(2)在多外设系统,不具备实时性,不能在实时系统使用而中断传送方式提高了CPU工作效率,具备实时性。中断传送方式原理所谓中断传送方式,即当外设准备好后,外设接口便主动向CPU发“中断请求”信号。CPU响应这样这一请求,中断CPU的工作,使CPU停止执行当前程序,去执行一个数据输入输出的程序,此程序称为中断处理子程序或中断服务子程序。中断子程序执行完毕,CPU返回执行原来的程序断点继续执行。优点:(1)不用反复查询外设的工作状态。(2)CPU和外设并行工作利用中断方式进行数据输入时所用的基本接口电路的工作原理

注意点:中断传输方式,一般采用外部中断(具有实时性)发出中断请求的硬件为外设的接口电路

中断请求进入CPU的引脚:NMI和INTR

可屏蔽中断的响应和执行2.中断优先级问题的解决

(1)解决中断优先级的三种办法:软件查询方式简单硬件方式——菊花链法专用硬件方式

(2)三种方法的优缺点

软件查询方式设备A:磁带机设备B:CRT设备C:打印机借助简单的硬件电路:三个外设的中断请求信号相“或”,作为INTR信号端。把三个外设的状态位相“或”组成一个状态字中断处理子程序的设计:开始部分安排一段带优先级的查询程序,通过程序实现三个外设的优先级。优点:硬件简单缺点:中断源较多情况,查询程序段较长,转入服务程序耗时较长简单硬件方式——菊花链法菊花链:在每个外设对应的接口上连接一个逻辑电路,这些逻辑电路构成一个链。用途:控制中断回答信号的通路(a)菊花链

(b)菊花链逻辑电路中断请求中断优先级菊花链

及其逻辑电路专用硬件方式中断控制器的组成:见图典型的可编程中断控制器

中断类型寄存器和中断屏蔽寄存器是可编程的,当前中断服务寄存器可以用软件控制优先级排列方式可以通过指令设置优点:使用灵活缺点:硬件复杂5.4.3DMA方式

1.DMA传送方式的提出和程序方式相比,中断传送方式大大提供CPU的工作效率。但:(1)每进行一次数据传送,要保存现场,占用CPU时间(2)每进入一次中断,以及从中断返回,指令队列都要清空,CPU并行工作机制失效(3)传输时是按字节或字进行传输的,需要CPU执行指令实现主机与外设的传输输入设备输出设备CPU内存DMA传送方式

基本思想:在存储器和外设之间建立起直接的数据传送通路,即不经由CPU,而由专门的DMA控制器实现存储器和外设(如磁盘)之间成批传送数据操作。因此特别适合于高速度大批量数据传送的场合。但是,这种方式要增设DMA控制器,硬件电路比前两种方式更为复杂。DMA传送方式的优点(1)按数据块传输(2)外设利用专用的接口电路直接和存储器高速传输,不经过CPU。不需要保护现场。缺点:硬件更复杂问题:

(1)数据传送需AB、DB、CB的参与;

(2)通常情况下,AB、DB、CB由CPU控制。解决:(1)设置直接数据控制器DMAC。当需要DMA时,由DMAC提供内存的地址、数据串长度和必要的控制信号。(2)外设在需要进行DMA传送数据时,向DMAC发出DMA请求。然后DMAC向CPU提出HOLD总线请求。CPU响应后,发HLDA响应给DMAC,并将总线暂交DMAC管理。当DMAC接收到HLDA后就可以接管总线,进行DMA传送。DMAC完成数据串传送后撤销HOLD请求,CPU恢复对总线的控制。

DMA传输单个数据(输出过程)的原理

2.DMA控制器的功能和原理DMA控制器的功能:向CPU发总线请求信号实行对总线的控制修改所用的存储器或接口的地址指针发读写控制信号存放数据长度交还总线控制权总线保持请求/保持响应的时序从接口往内存传输一个数据块的过程:①接口往DMA控制器发一个DMA请求②得到总线控制权③地址寄存器的内容送地址总线④通知接口将数据送到数据总线⑤数据送到所指单元⑥地址寄存器的值加1⑦字节计数器的值减1⑧

如字节计数器的值不为0,则回到①;否则结束

DMA控制器的内部最小配置和接口要求从图看出,地址总线:接口的地址线单向,DMA控制器双向??数据总线:双向,既连到接口,也连到DMA控制器既然只有接口才能和内存传送数据,为什么DMA控制器还要与数据总线相联??DMA传输对接口的要求:①控制寄存器有1位指出数据传输方向②控制寄存器有1位用来启动I/O操作③状态寄存器有1位指出设备当前是否处于忙状态DMA传输对DMA控制寄存器的要求:①有1位作为DMA允许位②有1位用来确定DMA方向③有1位决定进行一次传输后放弃还是维持对总线的控制权④状态寄存器有1位表示数据块传输是否结束对DMA控制器和接口部件预置的信息:①往DMA控制器的字节计数器设置初值②往DMA控制器的地址寄存器中设置地址初值③对DMA控制器设置控制字并启动DMA操作④对接口部件设置控制字并启动I/O操作

根据图5.11假设:INTSTAT代表接口的状态寄存器INTCON代表接口的控制寄存DMACON代表DMA控制器的控制寄存器BYTE_REG代表DMA控制器的字节计数器ADD_REG代表DMA控制器的地址寄存器则:INTSTAT的第2位I/0设备的忙位INTCON的第0位数据传输方向,为1,输入;为0,输出INTCON的第2位接口的允许位,为1,启动I/0操作DMACON的第0位传输方向控制,为1,输入;为0,输出DMACON的第3位DMA控制器允许位,为1,可接收DMA请求DMACON的第6位如两次DMA传输之间,DMA控制器放弃对总线的控制,则为0;否则为1启动数据块输入的例子IDLE:INAL,INTSTAT ;检测设备是否处于 忙状态,如是,则等待TESTAL,04JNZIDLEMOVAX,COUNT ;设置计数OUTBYTE-REG,AXLEAAX,BUFFER ;设置地址初值OUTADD-REG,AX

MOVAL,DMAC ;取原DMA控制字ORAL,49H ;设置方向、块传输 ;和允许标志OUTDMACON,AL ;置DMA控制字MOVAL,INTC;设置接口的传输方向 ;及允许标志ORAL,05HOUTINTCON,AL;设置接口的控制字

数据块传输结束后,需要后续处理

传输结束标志DMA控制器的状态寄存器有一个传输结束标志位,置1

温馨提示

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

最新文档

评论

0/150

提交评论