DMA控制器与单片机的接口技术
出处:维库电子市场网 发布于:2017-12-06 11:41:24
本文在简要介绍了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主要功能寄存器命
令寄存器格式:
命令寄存器是一个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
各位意义如下:
2、单片机直接存贮器存取系统
2.1系统结构
系统结构如图1所示:
2.2工作过程
外设首先通过DREQ向8237提出直传申请,而后8237通过HRQ以中断方式向8031提出直传请求,若单片机允许直传,则通过Pl,。向8237发回HLDA直传响应信号,使系统按初始化时规定的工作方式开始直传。单片机8031随时检测P1、7的电平,当P1、7变为低电平,表明直传完成,由8031的Pl.。发送高电平,使HLDA变低,本次直传结束。
图1系统结构图
3、DMA控制器8237通道2与外设进行直传的主要程序段
3.18237初始化程序
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- USB C和USB Type C的传输性能2024/9/19 17:40:48
- sata接口分几种_sata接口分类2024/9/19 17:36:00
- 一文快速了解PCIE基础知识2024/9/18 17:31:53
- 什么是RS232接口?RS232接口针脚定义2024/9/14 14:52:42
- sata接口怎么连接2024/9/12 17:27:37