DMA控制器与单片机的接口技术

时间:2017-12-06

   本文在简要介绍了DMA控制器芯2837的基础上,给出了与单片机8031的接口电路。

  在某些单片机应用系统中,往往需要解决外部设备与存储贮器之间快速传送数据的问题。为此,本文研究了DMA控制器8237与单片机8031的接口技术。

  1、8237芯片简介

  1.1结构

  DMA控制器8237设有三个基本控制逻辑块。包括时序控制逻辑块、程序命令控制块和优先权编码逻辑块;设有四个直传通道。每个通道都有一个基地址寄存器(16位)、基字节计数器(16位)、现行地址寄存器(16位)和现行字节计数器(16位),同时每一个通道都有一个6位的模式寄存器。另外,8237的数据引线、地址引线都有三态缓冲器。既可接管也可释放总线

  1·2 8237的主要引脚

  CLK(时钟信号,输入)、CS(片选信号,输入)、HLDA(CPU对8237请求的响应信号,输入)、DREQ0~DREQ3)DMA请求信号,输入)、DB0~DB7(数据总线,输入/输出)、IOW(I/O写信号,输入/输出)、IOR(I/O读信号,输入/输出)、EOP(过程结束信号,输入/输出)、A0~A3(地址码,输入/输出)、A4一A7(地址码,输出)、MEMR(存贮器读信号,输出)、MEMW(存贮器写信号,输出)、HRQ(DMA控制器8237向CPU发出的请求信号,输出)、DACK0~DACK3(DMA响应信号,输出)、ADSTB(地址选通信号,输出)。

  1.3主要功能寄存器命

  令寄存器格式:

  DMA控制器与单片机的接口技术

  命令寄存器是一个8位寄存器,用来控制8237的操作,其内容由单片机在编程状态下赋给,端口地址为osH。

  各位意义如下:

  D0:控制是否允许进行存贮器到存贮器的传送。D0=0允许,D0=1不允许

  D1:当选用存贮器到存贮器传送方式时,控制通道o的地址是否保持不变。D1=O不允许通道O地址保持不变,D1=1允许通道。地址保持不变。

  D2:控制是否允许DMA控制器工作,D2=0允许DMA工作,D2=1不允许DMA工作。

  D3:选择工作时序。D3=O正常时序,D3=1压缩时序(当D3=1时此位无作用)

  D4:选择优先权方式。D4=O固定优先级,D4=1循环优先级。

  D5:选择总线周期写入命令时序。D5=o延迟写,D5=1扩展写

  D6:选择DREQ信号的有效电平。D6=0DREQ高电平有效,D6=1DREQ低电平有效。

  D7:选择DACK信号的有效电平。D7=0DACK低电平有效。D7=1DACK高电平有效。

  方式寄存器格式:

 DMA控制器与单片机的接口技术

  每一个通道都有一个方式寄存器,用于控制某一通道的DMA传送方式。端口地址为OBH

  各位意义如下:

  DMA控制器与单片机的接口技术

  2、单片机直接存贮器存取系统

  2.1系统结构

  系统结构如图1所示:

  DMA控制器与单片机的接口技术

  2.2工作过程

  外设首先通过DREQ向8237提出直传申请,而后8237通过HRQ以中断方式向8031提出直传请求,若单片机允许直传,则通过Pl,。向8237发回HLDA直传响应信号,使系统按初始化时规定的工作方式开始直传。单片机8031随时检测P1、7的电平,当P1、7变为低电平,表明直传完成,由8031的Pl.。发送高电平,使HLDA变低,本次直传结束。

  DMA控制器与单片机的接口技术

  图1系统结构图

  3、DMA控制器8237通道2与外设进行直传的主要程序段

  3.18237初始化程序

 DMA控制器与单片机的接口技术
DMA控制器与单片机的接口技术

上一篇:测试仪之移动通信测试仪发展背景
下一篇:ab类功放和d类功放的区别是什么

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料