灵活配置多通道DMA控制器的方法及装置制造方法及图纸

技术编号:14897553 阅读:105 留言:0更新日期:2017-03-29 12:52
本发明专利技术提供一种灵活配置多通道DMA控制器的方法及装置,所述方法包括:主机按照数据的搬移方向配置描述符,主机对DMA控制器初始化;所述初始化包括:所述主机将描述符的存储地址及存储格式配置给所述DMA控制器,并启动所述DMA控制器;所述DMA控制器根据所述描述符的存储格式从所述描述符的存储地址中读取并解析描述符;根据所述描述符参数编辑整理并搬移数据;更新所述描述符参数,并根据描述符的中断控制字段判断是否发出中断信号以通知主机。本发明专利技术在原有的描述符基础上,增加新的描述符参数,简化了下级模块与DMA控制器连接时的处理逻辑;可以在不修改硬件逻辑的前提下,实现通道个数的自由扩展。

【技术实现步骤摘要】

本专利技术涉及网络通信领域,尤其涉及一种灵活配置多通道DMA控制器的方法及装置
技术介绍
集成电路设计中,存储器用来存储各种数据。主机,例如:CPU则需要经常读写存储器,把数据从存储器的某个地址搬移至其他存储器地址或其他芯片的数据存储地址,此时,存储器读写操作会占用CPU大量的时间和进程,使得CPU的使用效率变低。在此需求下,DMA技术应运而生,CPU可以在初始化DMA控制器后,由DMA控制器自主完成数据的存取搬移操作,而不再需要CPU的介入,极大地减轻了CPU的负担,也提高了数据存取的效率。DMA技术有普通模式和描述符模式之分。如图1所示,普通模式处理简单,DMA控制器包含一组控制寄存器和状态、中断寄存器;CPU将待传输数据的源地址、目的地址和数据长度配置到控制寄存器,并启动DMA操作。由DMA控制器根据以上的配置一次性自动完成数据的搬移,并修改相应的状态寄存器或产生中断信号。CPU查询状态寄存器或者接收中断信号以获得DMA控制器的状态,并进行后续处理。如图2所示,基于描述符的DMA操作,则相对更灵活。每个描述符都可以看作是一次普通DMA操作所对应的配置寄存器组,包括待传输数据的源地址,目的地址以及数据长度等信息;而多个描述符可以通过链表的形式连接在一起,所以每个描述符会对应一块数据原始存储区域和一块数据目的存储区域。如图3所示,CPU配置完成相应的描述符后,DMA控制器会自动完成读取描述符,进行数据搬移,改写状态寄存器或产生相应中断;而CPU可以在适当的时机响应中断或者查询状态寄存器来进行后续的处理。同时,描述符模式的DMA操作可以实现所谓的分散/聚集的数据处理,分散/聚集数据处理是指把一整块数据分拆并分别存储于多个目的地址,或把多个分散的数据整理合并存储到一个起始地址的操作;因为当前集成电路中数据基本上都是动态分散的,所以基于描述符的DMA操作成为当前DMA控制器是主要工作模式。现有技术中的基于描述符的DMA操作具有以下不足:首先,数据处理类型单一,只能完成基本的数据搬移,必须要指定确定的数据源地址、目的地址以及数据长度才能发起DMA操作;而在当今的集成电路芯片上会存在各种类型的数据,如以太网交换芯片上就可能存在数据报文收发、芯片内部表项配置及读取、芯片内部信息获取等多种类型的数据处理,为了节省芯片内部的存储空间,希望这些数据可以很快地被搬移到指定的系统存储空间内,现有的基于描述符的DMA无法根据具体数据类型完成相应处理,处理效率低下。其次,DMA控制器的多通道选择仲裁不够灵活,给使用造成很多不便。再次,DMA控制器的通道个数限制较死,一旦硬件逻辑设计完成后,通道个数就固定了,后期如果发现通道不够用,则需要重新进行硬件逻辑设计,对于已完成生产的芯片,则必须重新设计生产,对于时间和成本都是极大的浪费。
技术实现思路
本专利技术的目的在于提供一种灵活配置多通道DMA控制器的方法及装置。为实现上述目的之一,本专利技术一实施方式的灵活配置多通道DMA控制器的方法,所述方法包括:主机按照数据的搬移方向配置描述符,所述描述符由若干个描述符参数构成,所述描述符参数包括:类型描述字段、数据存储地址、中断控制字段、状态标识字段以及链表控制信息字段;所述数据存储地址为数据存储原地址或数据存储目的地址;主机对DMA控制器初始化,所述初始化包括:所述主机将描述符的存储地址及存储格式配置给所述DMA控制器,并启动所述DMA控制器;所述DMA控制器根据所述描述符的存储格式从所述描述符的存储地址中读取并解析描述符;根据所述描述符参数编辑整理并搬移数据;更新所述描述符参数,并根据描述符的中断控制字段判断是否发出中断信号以通知主机。作为本专利技术一实施方式的进一步改进,所述类型描述字段包括:类型定义,专用描述字段;所述类型定义包括:接收报文类型、发送报文类型、表项配置类型、表项读取类型以及信息收集类型;所述接收报文类型以及所述发送报文类型对应的专用描述字段均包括:接口选择、报文开始标志、报文结束标志、报文数据长度、报文CRC;所述表项配置类型对应的专用描述字段包括:接口选择、表项地址、表项数据格式、配置数据长度以及配置控制;所述表项读取类型对应的专用描述字段包括:接口选择、表项地址、表项数据格式、读取数据长度以及读取控制;所述信息收集类型包括:接口选择、信息数据格式、信息数据长度以及信息收集控制。作为本专利技术一实施方式的进一步改进,更新的所述描述符参数包括:当前描述符对应的状态标识字段、专用描述字段。作为本专利技术一实施方式的进一步改进,所述链表控制字段包括:下一描述符的地址以及当前描述符对应的虚拟通道号。作为本专利技术一实施方式的进一步改进,所述数据的搬移方向包括两种,其中一种为:从外部的存储器到交换芯片,其中另一种为:从交换芯片到外部的存储器;所述方法具体包括:若数据的搬移方向为从外部的存储器到交换芯片,则描述符中的数据存储地址为数据存储源地址,主机配置描述符中的数据存储源地址、类型描述字段、中断控制字段、状态标识字段以及链表控制信息字段的具体参数值;主机对DMA控制器初始化并启动DMA控制器后,所述DMA控制器根据描述符的存储格式从所述描述符的存储地址读取描述符,解析描述符中对应的具体参数值;根据描述符中的数据存储源地址,DMA控制器从外部存储器读取待搬移的数据,并根据描述符中的描述符参数编辑整理所述数据后,将其发送给交换芯片;更新所述描述符中的状态标识字段及部分专用描述字段,并根据描述符的中断控制字段判断是否发出中断信号以通知主机;若数据的搬移方向为从交换芯片到外部的存储器,则描述符中的数据存储地址为数据存储目的地址,主机配置描述符中的数据存储目的地址、类型描述字段、中断控制字段、状态标识字段以及链表控制信息字段;主机对DMA控制器初始化并启动DMA控制器后,所述DMA控制器根据描述符的存储格式从所述描述符的存储地址读取描述符,解析描述符中对应的具体参数值;根据所述描述符中的描述符参数,收集交换芯片内部的所述待搬移的数据,并根据描述符中的描述符参数编辑整理所述数据后,将其发送到描述符指定的数据存储目的地址;更新所述描述符中的状态标识字段及部分专用描述字段,并根据描述符的中断控制字段判断是否发出中断信号以通知主机。为实现上述目的之一,本专利技术一实施方式的灵活配置多通道DMA控制器的装置,所述装置包括:外部的存储器,主机,交换芯片,设置于所述交换芯片中的DMA控制器,以及设置于主机中的配置模块和初始化模块;所述配置模块用于驱动主机按照数据的搬移方向配置描述符,所述描述符由若干个描述符参数构成,所述描述符参数包括:类型描述字段、数据存储地址、中断控制字段、状态标识字段以及链表控制信息字段;所述数据存储地址为数据存储原地址或数据存储目的地址;所述初始化模块用于驱动主机对DMA控制器初始化,所述初始化包括:所述主机将描述符的存储地址及存储格式配置给所述DMA控制器,并启动所述DMA控制器;所述DMA控制器根据所述描述符的存储格式从所述描述符的存储地址读取并解析描述符;根据所述描述符参数编辑整理并搬移数据;;更新所述描述符参数,并根据描述符的中断控制字段判断是否发出中断信号以通知主机。作为本专利技术一实施方式的进一步改进,所述类型描述字段包括:类本文档来自技高网
...

【技术保护点】
一种灵活配置多通道DMA控制器的方法,其特征在于,所述方法包括:主机按照数据的搬移方向配置描述符,所述描述符由若干个描述符参数构成,所述描述符参数包括:类型描述字段、数据存储地址、中断控制字段、状态标识字段以及链表控制信息字段;所述数据存储地址为数据存储原地址或数据存储目的地址;主机对DMA控制器初始化,所述初始化包括:所述主机将描述符的存储地址及存储格式配置给所述DMA控制器,并启动所述DMA控制器;所述DMA控制器根据所述描述符的存储格式从所述描述符的存储地址中读取并解析描述符;根据所述描述符参数编辑整理并搬移数据;更新所述描述符参数,并根据描述符的中断控制字段判断是否发出中断信号以通知主机。

【技术特征摘要】
1.一种灵活配置多通道DMA控制器的方法,其特征在于,所述方法包括:主机按照数据的搬移方向配置描述符,所述描述符由若干个描述符参数构成,所述描述符参数包括:类型描述字段、数据存储地址、中断控制字段、状态标识字段以及链表控制信息字段;所述数据存储地址为数据存储原地址或数据存储目的地址;主机对DMA控制器初始化,所述初始化包括:所述主机将描述符的存储地址及存储格式配置给所述DMA控制器,并启动所述DMA控制器;所述DMA控制器根据所述描述符的存储格式从所述描述符的存储地址中读取并解析描述符;根据所述描述符参数编辑整理并搬移数据;更新所述描述符参数,并根据描述符的中断控制字段判断是否发出中断信号以通知主机。2.根据权利要求1所述的灵活配置多通道DMA控制器的方法,其特征在于,所述类型描述字段包括:类型定义,专用描述字段;所述类型定义包括:接收报文类型、发送报文类型、表项配置类型、表项读取类型以及信息收集类型;所述接收报文类型以及所述发送报文类型对应的专用描述字段均包括:接口选择、报文开始标志、报文结束标志、报文数据长度、报文CRC;所述表项配置类型对应的专用描述字段包括:接口选择、表项地址、表项数据格式、配置数据长度以及配置控制;所述表项读取类型对应的专用描述字段包括:接口选择、表项地址、表项数据格式、读取数据长度以及读取控制;所述信息收集类型包括:接口选择、信息数据格式、信息数据长度以及信息收集控制。3.根据权利要求2所述的灵活配置多通道DMA控制器的方法,其特征在于,更新的所述描述符参数包括:当前描述符对应的状态标识字段、专用描述字段。4.根据权利要求1所述的灵活配置多通道DMA控制器的方法,其特征在于,所述链表控制字段包括:下一描述符的地址以及当前描述符对应的虚拟通道号。5.根据权利要求1所述的灵活配置多通道DMA控制器的方法,其特征在于,所述数据的搬移方向包括两种,其中一种为:从外部的存储器到交换芯片,其中另一种为:从交换芯片到外部的存储器;所述方法具体包括:若数据的搬移方向为从外部的存储器到交换芯片,则描述符的数据存储地址为数据存储源地址,主机配置描述符中的数据存储源地址、类型描述字段、中断控制字段、状态标识字段以及链表控制信息字段的具体参数值;主机对DMA控制器初始化并启动DMA控制器后,所述DMA控制器根据描述符的存储格式从所述描述符的存储地址读取描述符,解析描述符中对应的具体参数值;根据描述符中的数据存储源地址,DMA控制器从外部存储器读取待搬移的数据,并根据描述符中的描述符参数编辑整理所述数据后,将其发送给交换芯片;更新所述描述符中的状态标识字段及部分专用描述字段,并根据描述符的中断控制字段判断是否发出中断信号以通知主机;若数据的搬移方向为从交换芯片到外部的存储器,则描述符中的数据存储地址为数据存储目的地址,主机配置描述符中的数据存储目的地址、类型描述字段、中断控制字段、状态标识字段以及链表控制信息字段;主机对DMA控制器初始化并启动DMA控制器后,所述DMA控制器根据描述符的存储格式从所述描述符的存储地址读取描述符,解析描述符中对应的具体参数值;根据所述描述符中的描述符参数,收集交换芯片内部的所述待搬移的数据,并根据描述符中的描述符参数编辑整理所述数据后,将其发送到描述符指定的数据存储目的地址;更新所述描述符中的状态标识字段及部分专用描述字段,并根据描述符的中断控制字段判断是否发出中断信号以通知主机。6.一种灵活配置多通道DMA控制器的装置,其特征在于,所述装置包括:外部的存储器,主机,...

【专利技术属性】
技术研发人员:贾复山袁春建李磊
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

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

1