一种直接存储器访问控制器制造技术

技术编号:2901833 阅读:221 留言:0更新日期:2012-04-11 18:40
本实用新型专利技术公开了一种直接存储器访问控制器,包括总线BUSA、总线BUSB、定时器、译码逻辑、状态寄存器、控制寄存器、命令寄存器组、描述符寄存器组、现场寄存器组、状态机、数据缓冲队列FIFO;定时器与总线BUSA双向连接,定时器输入端与译码逻辑输出端、控制寄存器输出端相连接,定时器输出端与状态寄存器输入端、状态机输入端相连接。所述直接存储器访问控制器的定时器可以提供周期性的信号而且也可以由操作人员自行设置,这使总线的效率和人员的工作效率得到提高。(*该技术在2011年保护过期,可自由使用*)

【技术实现步骤摘要】
一种直接存储器访问控制器
本专利技术涉及计算机技术中微处理器系统,具体涉及信号、数据在存储器、输入/输出设备或者中央处理器之间的传输,尤其涉及一种直接存储器访问(Direct Memory Access,简称DMA)控制器。
技术介绍
在目前的微处理器系统中,DMA控制器多用来处理数据在存储器、输入/输出设备之间的传输。DMA控制器传输数据时,需要知道被传输数据的个数;对于一些通讯接口而言,程序员设置DMA控制器时可能不知道需要传输的数据。比如,对于异步串口接收数据,程序员可能无法知道将接收多少个数据,因此为DMA控制器设置了一个估计的数据量;实际情况可能是异步串口没有接收到估计的数据量,从而导致DMA控制器发不出数据传输完成中断。但程序员希望DMA控制器在传输完异步串口接收到的这批数据后发出一个中断信号,不幸的是,几乎所有的DMA控制器都没有这一个功能,(比如AMD公司186系列微控制器中DMA控制器),程序员不得不定时查看DMA控制器或异步串口的状态,使工作效率降低。另外,先进的DMA控制器几乎都支持链式传输方式。在链式传输方式下,DMA控制器执行完一个命令后会查看存储器中指定地址的数据,判断CPU是否在存储器中写好了新的传输命令。如果存在新的传输命令,DMA控制器将把这个新的命令读入内部寄存器中,并进行该命令定义的数据传输;否则,DMA控制器将反复查询,直到CPU改变存储器指定地址的数据通知DMA控制器有新的命令。当DMA控制器等待新的命令时,太频繁的查询必然降低总线的效率。但目前的DMA控制器(比如摩托罗拉的MPC8240中的DMA控制器)没有为此提供一种有效的解决方案。在一些场合中,DMA控制器可能需要周期性的执行传输任务,前面提到的-->MPC8240中的DMA控制器就支持这种功能。但MPC8240的DMA控制器需要根据外部的定时器提供周期性的请求,这样一来程序员使用DMA控制器时不仅要设置DMA控制器,还要设置外部的定时器,工作效率受到影响。
技术实现思路
本技术提供一种带定时器的DMA控制器,以提高总线的效率和人员的工作效率。本技术所要解决的问题可以通过以下技术方案来解决:一种直接存储器访问控制器,包括总线BUSA、总线BUSB、定时器、译码逻辑、状态寄存器、控制寄存器、命令寄存器组、描述符寄存器组、现场寄存器组、状态机、数据缓冲队列FIFO;所述总线BUSA分别与定时器、状态寄存器、控制寄存器、命令寄存器组、描述符寄存器组双向连接,并与译码逻辑输入端、现场寄存器组输出端相连接;总线BUSB分别与数据缓冲队列FIFO、状态机双向连接,并与描述符寄存器组输入端、现场寄存器组输入端相连接;定时器输出端与状态寄存器输入端、状态机输入端相连接,定时器输入端与译码逻辑输出端、控制寄存器输出端相连接;译码逻辑输出端与状态寄存器输入端、控制寄存器输入端、命令寄存器组输入端、描述符寄存器组输入端、现场寄存器组输入端相连接;状态寄存器输入端与状态机输出端相连接,状态寄存器输出端与状态机输入端相连接;控制寄存器输出端与状态机输入端相连接;命令寄存器组输出端与现场寄存器组输入端、状态机输入端相连接;描述符寄存器组输入端与状态机输出端相连接,描述符寄存器组输出端与状态机输入端相连接;现场寄存器组输入端与状态机输出端相连接,现场寄存器组输出端与状态机输入端相连接。所述状态机的输入信号还包括外部请求输入信号、总线BUSB的仲裁信号,输出信号还包括总线BUSB的申请信号。所述定时器包括初值寄存器、计数寄存器、递增加法器、控制信号产生部件;所述初值寄存器与总线BUSA双向连接,且初值寄存器输出端与计数寄存器输入端、控制信号产生部件输入端相连接;计数寄存器输出端与控制信号产生部件输入端、递增加法器输入端相连接,计数寄存器输入端与控制信号产生部件输出端相连接;递增加法器输出端与计数寄存器输入端相连接。-->与现有技术相比,本技术的优点在于:由于本技术提供的DMA控制器采用带有定时器,程序员可以通过设置DMA控制器中的定时器,强迫DMA控制器在一定时间内必须发出中断,从而避免DMA控制器在执行一个命令时因为外部请求传输的数据量不足而发不出命令已完成的信号,帮助程序员及时知道DMA控制器和外部请求设备的状态。程序员不必借助外部的定时器,DMA控制器的使用变得方便。DMA控制器中的定时器还可以为支持链式传输的DMA控制器提供一种周期性查询存储器中指定地址的内容,避免在等待状态频繁查询CPU准备新命令的状态,从而有利于提高总线的效率。这种DMA控制器的附带优点是,支持周期性的DMA传输操作,由于DMA控制器所带的定时器可以提供周期性的信号,这样一来可以不需要外部的定时器,使程序员工作效率提高。附图说明图1是本技术提出的DMA控制器的结构框图;图2是本技术控制寄存器的相关位示意图;图3是本技术提出的DMA控制器的定时器的结构框图;图4是本技术中断控制逻辑的示意图;图5是本技术定时请求选择示意图;图6是本技术定时读取描述符控制示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步详细的描述。如图1所示,一种直接存储器访问控制器,包括总线BUSA101、总线BUSB111、定时器102、译码逻辑103、状态寄存器104、控制寄存器105、命令寄存器组106、描述符寄存器组107、现场寄存器组108、状态机109、数据缓冲队列FIFO(First In First Out)110。总线BUSA101分别与定时器102、状态寄存器104、控制寄存器105、命令寄存器组106、描述符寄存器组107双向连接,并与译码逻辑输入端、现场寄存器组输出端相连接;总线BUSB111分别与数据缓冲队列FIFO110、状态机109双向连接,并与描述符寄存器组-->输入端、现场寄存器组输入端相连接;定时器输出端与状态寄存器输入端、状态机输入端相连接,定时器输入端与译码逻辑输出端、控制寄存器输出端相连接;译码逻辑输出端与状态寄存器输入端、控制寄存器输入端、命令寄存器组输入端、描述符寄存器组输入端、现场寄存器组输入端相连接;状态寄存器输入端与状态机输出端相连接,状态寄存器输出端与状态机输入端相连接;控制寄存器输出端与状态机输入端相连接;命令寄存器组输出端与现场寄存器组输入端、状态机输入端相连接;描述符寄存器组输入端与状态机输出端相连接,描述符寄存器组输出端与状态机输入端相连接;现场寄存器组输入端与状态机输出端相连接,现场寄存器组输出端与状态机输入端相连接。在采用单总线的DMA控制器中,总线BUSA101和总线BUSB111实际是同一总线;在采用多总线的DMA控制器中,总线BUSA101和总线BUSB111可以是不同总线。命令寄存器组106包括目的地址寄存器DADDRR(DestinationAddress Register)206、源地址寄存器SADDRR(Source Address Register)207、字节计数寄存器BCR(Byte Count Register)208。描述符寄存器组107包括当前描述寄存器CDESR(Current Descriptor Register)201、下一个描述符寄存本文档来自技高网
...

【技术保护点】
一种直接存储器访问控制器,其特征在于:所述直接存储器访问控制器包括总线BUSA、总线BUSB、定时器、译码逻辑、状态寄存器、控制寄存器、命令寄存器组、描述符寄存器组、现场寄存器组、状态机、数据缓冲队列FIFO; 所述总线BUSA分别与定时器、状态寄存器、控制寄存器、命令寄存器组、描述符寄存器组双向连接,并与译码逻辑输入端、现场寄存器组输出端相连接;总线BUSB分别与数据缓冲队列FIFO、状态机双向连接,并与描述符寄存器组输入端、现场寄存器组输入端相连接;定时器输出端与状态寄存器输入端、状态机输入端相连接,定时器输入端与译码逻辑输出端、控制寄存器输出端相连接;译码逻辑输出端与状态寄存器输入端、控制寄存器输入端、命令寄存器组输入端、描述符寄存器组输入端、现场寄存器组输入端相连接;状态寄存器输入端与状态机输出端相连接,状态寄存器输出端与状态机输入端相连接;控制寄存器输出端与状态机输入端相连接;命令寄存器组输出端与现场寄存器组输入端、状态机输入端相连接;描述符寄存器组输入端与状态机输出端相连接,描述符寄存器组输出端与状态机输入端相连接;现场寄存器组输入端与状态机输出端相连接,现场寄存器组输出端与状态机输入端相连接。...

【技术特征摘要】
1.一种直接存储器访问控制器,其特征在于:所述直接存储器访问控制器包括总线BUSA、总线BUSB、定时器、译码逻辑、状态寄存器、控制寄存器、命令寄存器组、描述符寄存器组、现场寄存器组、状态机、数据缓冲队列FIFO;所述总线BUSA分别与定时器、状态寄存器、控制寄存器、命令寄存器组、描述符寄存器组双向连接,并与译码逻辑输入端、现场寄存器组输出端相连接;总线BUSB分别与数据缓冲队列FIFO、状态机双向连接,并与描述符寄存器组输入端、现场寄存器组输入端相连接;定时器输出端与状态寄存器输入端、状态机输入端相连接,定时器输入端与译码逻辑输出端、控制寄存器输出端相连接;译码逻辑输出端与状态寄存器输入端、控制寄存器输入端、命令寄存器组输入端、描述符寄存器组输入端、现场寄存器组输入端相连接;状态寄存器输入端与状态机输出端相连接,状态寄存器输出端与状态机输入端相连接;控制寄存器输出端与状态机输入端相连接;命令寄存器组输出端与现场寄存器组输入端、状态机输入端相连接;描述符寄存器组输入端与状态机输出端相连接,描述符寄存器组输出端与状态机输入端相连接;现场寄存器组输入端与状态机输出端相连接,现场寄存器组输出端与状态机输入端相连接。2.如权利要求1所述的直接存储器访问控制器,其特征在于:所述状态机的输入信号还包括外部请求输入信号、总线BUSB的仲裁信...

【专利技术属性】
技术研发人员:王良清
申请(专利权)人:深圳市中兴集成电路设计有限责任公司
类型:实用新型
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1