控制/MCU
摘要:本文在简要介绍了DMA控制器芯2837的基础上,给出了与单片机8031的接口威廉希尔官方网站 。
在某些单片机应用系统中,往往需要解决外部设备与存储贮器之间快速传送数据的问题。为此,本文研究了DMA控制器8237与单片机8031的接口技术。
DMA控制器8237设有三个基本控制逻辑块。包括时序控制逻辑块、程序命令控制块和优先权编码逻辑块;设有四个直传通道。每个通道都有一个基地址寄存器(16位)、基字节计数器(16位)、现行地址寄存器(16位)和现行字节计数器(16位),同时每一个通道都有一个6位的模式寄存器。另外,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主要功能寄存器命
令寄存器格式:
命令寄存器是一个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传送方式。端口地址为OBH
各位意义如下:
系统结构如图1所示:
外设首先通过DREQ向8237提出直传申请,而后8237通过HRQ以中断方式向8031提出直传请求,若单片机允许直传,则通过Pl,。向8237发回HLDA直传响应信号,使系统按初始化时规定的工作方式开始直传。单片机8031随时检测P1、7的电平,当P1、7变为低电平,表明直传完成,由8031的Pl.。发送高电平,使HLDA变低,本次直传结束。
图1系统结构图
全部0条评论
快来发表一下你的评论吧 !