新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机控制系统中实现DMA数据传送的方法

单片机控制系统中实现DMA数据传送的方法

作者:时间:2012-02-16来源:网络收藏

3.2.1 初始化

开机后,首先要对8155和8237初始化。

8155初始化。8155只有1个状态寄存器,通过对地址3F00H赋值,即可设定PB口和PC口为输出口,用于为6264提供地址;PA口为双向输入输出口,作为6264的口,存时,3F00H的值为0DH;取时,3F00H的值为0CH。

8237初始化。将8155的PC5位置0,2片4066组成的门控电路使8237处于非状态。此时,8237的端口读写控制线与的读写线分别接通。通过对地址5F00H~5FFFH(8237的内部寄存器端口地址)的设定,完成8237的初始化。

针对的特点,通常初始化8237的内容包括:
(1)决定的工作通道;
(2)数据按成组方式
(3)确定访存首地址及地址的增减变化;
(4)字节数;
(5)确定请求信号和应答信号的有效电平;
(6)屏蔽。

3.2.2 

系统完成初始化之后即进入正常工作状态。若有DMA请求,即可进行DMA传送过程。

(1)8237接收到DMA请求信号DREQ后,输出“总线”请求信号HOLD,引起单片机中断,中断响应程序包括:解除8237的屏蔽功能;保持P2.6、P2.5置0,使能6264、8237;
  P2.7置1,使8155空闲;6264脱离单片机控制。

8155的PC5由0变1;门控电路使8237的存储器读写线与6264的读写线接通,完成DMA通道的连接。同时,8155的PC5作为CPU对DMA请求的回应,启动了DMA传送过程。

(2)8237输出DACK回答信号,开始DMA传送。

(3)传送结束,8237输出信号,单片机检测到2次中断的发生,使8155的PC5置0,恢复的原有工作状态。同时为下次DMA传送作好了准备,并通知外设本次DMA传送结束。

4 结 论

通过存储器扩展,在仅占用单片机几十个存储空间和一个中断源的情况下,了单片机控制系统的数据DMA传送,保证了单片机能在DMA传送期间的正常工作。实践证明,该系统可方便用于信号的高速采集,并可作为单片机控制系统与软盘驱动器的接口。

[参考文献]
[1] 朱长清.单片机与CRT显示器的接口[J].电子技术,2000(2).
[2] 阎慧娟,张金烈.微型计算机接口技术[M].中国人事出版社,1994.
[3] 何立民.单片机应用系统设计[M].北京航空航天大学出版社,1990.
[4] 赵依军,胡戎.单片微机接口技术[M].人民邮电出版社,1989.


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭