当前位置:首页 > 工业控制 > 电子设计自动化
[导读]但是由于8013硬件结构和指令系统的限制,当需要高速率大批量数据传送时,数据吞吐速率往往不能满足设计要求。即使采用提升振荡器频率的办法,结果仍不尽如人意,所以寻找一种新的数据传输方法显得很有必要,这不仅使人想到通用计算机的DMA数据传输技术。

1、前言

单片机以其高可靠性,高性能价格比,在工业控制系统、数据采集系统、智能化仪器仪表、办公自动化等诸多领域得到极为广泛的应用。在单片机家族的众多成员中,MSC一51系列单片机占领了广阔的市场,成为国内单片机应用领域的主流。

但是由于8013硬件结构和指令系统的限制,当需要高速率大批量数据传送时,数据吞吐速率往往不能满足设计要求。即使采用提升振荡器频率的办法,结果仍不尽如人意,所以寻找一种新的数据传输方法显得很有必要,这不仅使人想到通用计算机的DMA数据传输技术。

2、DMA简介

DMA数据传送是由DMA控制器完成的。进行数据传输时,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和FO设备之间进行。DMA控制器将向内存发出地址和控制信号,修改地址,对传送字的个数计数,并且以中断方式向CPU报告传送操作的结束。

DMA方式的主要优点是速度快。由于CPU不参与数据传送操作,因此就省去了CPU取指令、取数、送数等操作。在数据传送过程中,没有保存现场、恢复现场之类的工作。内存地址修改、传送字个数的计数等等,也不是由软件实现,而是用硬件线路直接实现的。所以DMA方式能满足高速FO设备的要求,也有利于CPU效率的发挥。

3、标准8031数据传输与DMA数据传输对比

MCS一15单片机读写外部数据存储器的时序如图1所示。

在图(1)a的外部数据存储器读周期中,P2口输出外部RAM单元的高八位地址,P0口分时传送低八位地址及数据。当地址锁存信号ALE为高电平时,印口输出的地址信息有效,A比的下降沿将此地址打人外部地址锁存器,接着即口变为输人方式,读信号RD有效,选通外部RAM,相应存储单元的内容送到印口上,由CPU读人累加器。

外部数据存储器的写周期波形如图(1)b所示,其操作过程与读周期类似。写操作时,在A比下降为低电平以后,WR信号才有效,PO口上出现的数据写人相应的RAM单元。

CPU把数据从存储器传输到FO口,需要以下步骤:

·MovxA,@DPrR;从存储器读取一字节数据(24个振荡周期)

·MOVX@DPrR,A;将数据写人到FO口(24个振荡周期)

DMA控制器把数据从存储器传输到FO设备称为读传送,在这个周期里,产生存储器地址,并输出存储器读(MEMR)和10口写(row)信号。其时序如图2所示。

当数据准备好以后,设备向DMA控制器发出DMA请求DREQ信号,DMA控制器接到请求后向CPU发出总线请求信号HRQ,CPU在现行的机器周期结束后,发出总线保持信号HLDA,于是DMA控制器就接管总线,向地址总线发出地址信号,给出存储器读和ro口写的命令,就可把存储器中的数据送到FO口上。然后修改地址指针,增或减数据宽度计数器,检查传送是否结束,若未结束则循环至整个数据传送完。

整个数据传送完后,DMA控制器撤销总线请求信号HRQ,同时输出传送结束信号EOP。CPU接收到EOP信号后,在下一个周期就可以重新控制总线。

从以上对比分析可以看出,从存储器往FO口传送一字节数据,使用标准8031至少需要48个振荡周期,而用DMA控制器仅需2个振荡周期,效率大大高于前者,尤其是在做块传送时,效果更为显著。

4、用CPLD实现DMA传输在显示屏扫描卡上的应用

显示屏扫描卡的功能是将存储在RAM中的图像数据按照预定的显示方式进行处理,再发送到比D显示屏上。其中绝大部分时间,CPU的工作是将处理好的数据以很高的速率发送到LED显示屏上,来保证良好的视觉效果。

考虑到系统的简化、灵活、高集成度,这里选择用CPLD实现CPU停机方式DMA读传输功能来完成数据从存储器到LED显示屏的传送工作。

整个数据传输工作分以下几个步骤:①CPu准备数据;②CPU配置DMA控制器。例如数据传送首地址,传送字节数;③CPU向DMA控制器提出DMA请求(DREQ)。由于数据准备工作是由CPU完成的,所以传送请求也由CPU提出;④DMA接到请求后,向CPU提出总线请求(HRQ);⑤CPU释放总线,同时向DMA发出总线保持信号(HLDA);⑥DMA接管总线,进行数据传输。

由于本系统中准备数据是由CPU完成的,也就是说CPU完全清楚何时需要释放总线进行DMA传送,所以可将步骤3、4省略,即DREQ和HRQ信号省略。其原理图如图3所示。

图3中,CTRL为中心控制核,它按照设定的传输字节数产生地址计数脉冲CLK,读信号MR(该信号经742科驱动后成为存储器读和FO口写信号),传输结束信号EOP。CTRL内部定义了一个8位锁存器和一个9位减法计数器。WIDTH为置数控制端,当饥DTH为低电平时,数据总线上的传送字节数送入CTRL中,WID仪为高电平时数据锁存。EN为计数使能,为高时传送字节数送人9位减法计数器的高8位中,减法计数器的最低位置0,同时CTRL将EOP脚(传送结束信号)置高,EN变低后,减法计数器在时钟XT下降沿作用下做减1计数,计数值减到0时CTRL停止减计数并将EOP信号置低,通知CPU传送结束。其控制时序如图4所示。

cTRL的vHDL程序

BEGIN

cKL<=cnt(0);一地址计数脉冲输出

MEMR<=NOTcnt(0);一RAM读信号输出

PROCESS(WIDTH)

BEGIN

FIiwDTH=0’THEN一置人传送字节数

 

图3中,COUNT16是16位加法计数器。DPH、DPL是地址高8位和低8位置数控制端,低电平有效。EN为计数使能,为低时,在由CTRL产生的脉冲作用下做加1计数。

平时CPU具有地址总线的控制权,DMA控制器的地址线A15一AO、存储器读MEMR、FO口写IOW输出均为高阻。当需要做DMA数据传送时,首先CPu将传送的数据宽度、被传送数据在存储器的首地址写人DMA控制器,然后将HDLA置高,让出地址总线控制权。DMA控制器检测到HLDA变高后,cTRL按照预定的传送数据宽度,输出地址计数脉冲和数据存储器读信号MEMR,couN1T6在地址计数脉冲作用下,在首地址基础上做加1计数,输出16位地址。当数据传送完毕,EOP输出低电平,通知CPU数据传送结束。CPU通过查询或中断方式检测到EOP的低电平信号后,将HLDA拉低,DMA控制器接到HDLA变低的信号后将EOP信号置高,释放地址总线控制权,结束整个DMA传送过程。图5是DMA控制器的仿真波形图。

8031操作DMA控制器的5C1程序

void DMA(unsigned int address,unsignedcha

len){

WIDTH

ADDL

=len;/*设置传送数据宽度*/

=(unsi卯edchar)address%256;/*设置传送数据首地址*/

ADDH=(unsignedchar)address/256;

EN=0;/*启动DMA传送*/

while(IN功==1);/*等待传输结束*/

EN=1;

5、结束语

以上所阐述的只是DMA控制器的一种使用特例,真正的DMA控制器功能要更为强大,但对于显示屏扫描卡来说,这些已经完全能够实现系统要求了,并且使数据传输速率有了显著的提高。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在现代电子行业,随着市场对更小尺寸和更高计算能力的产品需求不断增加,工程师们正面临前所未有的设计挑战。无论是消费类电子还是汽车电子,产品体积缩小和功能增强的趋势已成为设计人员无法回避的现实。

关键字: TI PLD TPLD 可编程逻辑器件 CANbus仲裁 电源时序控制

中国上海(2024 年 10 月 22 日)– 德州仪器 (TI)(纳斯达克股票代码:TXN)近日推出了可编程逻辑器件 (PLD) 系列。此产品系列以德州仪器出色的逻辑产品系列为基础,旨在帮助工程师简化任何应用的逻辑设计...

关键字: 可编程逻辑器件 电路板

针对目前高速电路发展带来的信号完整性问题,在分析信号完整性要求的基础上,借助HyperLynx仿真软件,通过器件IBIS模型,对基于EP2C8和TMS320F2812组成的系统进行信号完整性分析和仿真。基于反射原理来介绍...

关键字: 信号完整性仿真软件 可编程逻辑器件

摘要:文中采用Quartus II开发平台,基于可编程逻辑器件CPLD设计出多波形信号发生器,可输出频率、幅度可调的三角波、正弦波和方波。任意波形模块可由用户输出用户所需的特殊波形,满足了教学实

关键字: cpld 信号发生器

  引 言   目前微米、纳米技术的研究非常活跃,使得微小技术、微型机械电子系统(MEMS)技术得到迅速发展,从而大大促进,医用器材的微型化、微观化,出现了医用光电微传感器(如无线内窥镜

关键字: cpld 无线内窥系统 jpeg-ls

  目前,许多厂商都提供通用的串行通信芯片,其传输方式分为同步方式和异步方式。其中,异步芯片大多与INTEL的8250芯片兼容;而同步方式,由于一般涉及到所支持的传输协议(BSC、HDLC、SD

关键字: FPGA cpld vhdl 通信芯片

  随着计算机科学和自动控制技术的发展,越来越多的不同种类的智能机器人出现在工厂、生活当中,机器人视觉系统作为智能机器人系统中一个重要的子系统,也越来越受到人们的重视。它涉及了图像处理、模式识别

关键字: DSP cpld 机器人 视觉系统 服务机器人

  引言   随着新技术的不断发展,数字化变电站正在兴起。在智能电网规划的推动下,未来数字化变电站将成为新建变电站的主流。众所周知,电网信号量极多且相关性很强,这给采集计算和实时监测带来

关键字: DSP 智能电网 cpld

本文中,小编将对CPLD单稳态电子电路设计进行讲解。如果你对本文即将探讨的内容具有兴趣,不妨继续往下阅读哦。

关键字: cpld 指数 电子电路设计

波形发生器有多种类型,任意波形发生器便是其中一种。对于任意波形发生器,小编曾带来相关介绍,如高速任意波形发生器的设计等。本文中,讲为大家讲解采用单片机和CPLD控制的任意波形发生器的设计。如果你对本文即将要讲解的内容存在...

关键字: cpld 任意波形发生器 波形发生器
关闭