[发明专利]一种外部控制DMA控制器的方法及其装置有效
申请号: | 200710177657.5 | 申请日: | 2007-11-19 |
公开(公告)号: | CN101158930A | 公开(公告)日: | 2008-04-09 |
发明(设计)人: | 丁华;叶学谦 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F13/28 | 分类号: | G06F13/28 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁挥;祁建国 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 外部 控制 dma 控制器 方法 及其 装置 | ||
技术领域
本发明涉及DMA(Direct Memory Access,直接内存访问)控制技术,特别是涉及一种外部控制CPU自带的DMA控制器的方法及其装置。
背景技术
随着电信级设备向着高集成化、微型化方向发展,一块单板上集成的功能越来越多,同时又要兼顾CPU的性价比,因此如何更有效地提高CPU的使用率,减少CPU负荷,是目前必须面对和解决的课题。在目前的电信设备中,IO操作是CPU最主要的工作之一,加上IO操作速率低,这部分一般是占CPU资源较多的应用之一,一般也是主要的优化对象,作为硬件意义上的DMA技术也因此应运而生。但目前CPU自带的DMA控制器因为其自身的定位问题,无法完全满足各种复杂的应用,无法完全做到在数据传输过程中不需要CPU的参与。一般这样的应用都是必须通过中断方式通知CPU更新BD(BufferDescriptor,缓存描述符)的信息,然后才能继续进行传输。而这样大大降低了DMA的使用效率,增加了CPU的负荷。
发明内容
本发明所要解决的技术问题在于提供一种外部控制DMA控制器的方法及其装置,用于解决CPU过多参与DMA控制器的数据传输过程而带来的DMA控制器使用效率降低以及CPU负荷增加的问题。
为了实现上述目的,本发明提供了一种外部控制DMA控制器的方法,其特征在于,包括:
步骤一,CPU初始化用于传输数据的BD链表,并以所述BD链表中的多个BD完成一个数据包的传输;
步骤二,所述CPU设置所含DMA控制器的属性,启用DMA外部控制模式、流控模式;
步骤三,外部逻辑模块对所述DMA控制器进行控制,实现以所述流控模式设置的字节大小传输数据。
所述的外部控制DMA控制器的方法,其中,所述步骤一中,进一步包括:由所述CPU根据BD数据结构建立所述BD链表的步骤,所述BD数据结构根据所述DMA控制器的要求确定。
所述的外部控制DMA控制器的方法,其中,所述步骤一中,所述BD链表的个数根据实际数据传输的流量确定。
所述的外部控制DMA控制器的方法,其中,所述步骤三中,进一步包括:所述外部逻辑模块根据与所述DMA控制器之间的信号线和时序完成对所述DMA控制器控制的步骤。
所述的外部控制DMA控制器的方法,其中,所述步骤三中,所述外部逻辑模块对所述DMA控制器进行控制的步骤具体包括:
当所述外部逻辑模块接收到一个数据包时,向所述DMA控制器发出请求信号申请所述DMA控制器传输数据;
所述DMA控制器向所述外部逻辑模块返回确认信号,并将根据所述BD链表的信息从所述外部逻辑模块的逻辑寄存器读取所述数据包的相关信息,并将该相关信息写入到另一所述链表的相应域中。
所述的外部控制DMA控制器的方法,其中,所述步骤三中,进一步包括:当所述CPU的内存有数据包时,所述CPU通过定时查询任务从所述内存中接收数据的步骤。
为了实现上述目的,本发明还提供了一种外部控制DMA控制器的装置,包括CPU、所述CPU的DMA控制器,其特征在于,还包括:外部逻辑模块,连接所述DMA控制器;
所述CPU,用于初始化用于传输数据的BD链表,并以多个所述BD链表完成一个数据包的传输;并设置所述DMA控制器的属性,启用DMA外部控制模式、流控模式;
所述外部逻辑模块,用于对所述DMA控制器进行控制,实现以所述流控模式设置的字节大小传输数据。
所述的外部控制DMA控制器的装置,其中,所述CPU根据BD数据结构建立所述BD链表,所述BD数据结构根据所述DMA控制器的要求确定。
所述的外部控制DMA控制器的装置,其中,所述BD链表的个数根据实际数据传输的流量确定。
所述的外部控制DMA控制器的装置,其中,所述外部逻辑模块根据与所述DMA控制器之间的信号线和时序完成对所述DMA控制器控制。
本发明的有益技术效果:
与现有技术相比,采用本发明使得CPU在与外部数据交互过程中,完全不需要CPU的参与,同时减少了中断处理次数,有效降低了CPU的利用率。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1是本发明外部控制DMA控制器的方法流程图;
图2是本发明具体实施例BD数据结构图;
图3是本发明具体实施例BD链表图;
图4是本发明具体实施例CPU DMA控制器与外部逻辑模块的信号连线示意图;
图5是本发明具体实施例两个BD接收一个数据包的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710177657.5/2.html,转载请声明来源钻瓜专利网。