一种基于描述符的PCIE总线DMA控制器及数据传输控制方法技术

技术编号:20588686 阅读:172 留言:0更新日期:2019-03-16 07:06
本发明专利技术提供一种基于描述符的PCIE总线DMA控制器及数据传输控制方法,包括:TLP发送引擎、TLP接收引擎、接口访问控制模块、DMA传输控制模块、描述符访问控制模块、多DMA通道控制模块、控制状态寄存器、DMA通道缓存。本发明专利技术设计的DMA控制器的DMA传输过程完全由描述符控制实现,提高数据带宽和传输效率;DMA数据传输可配置多个DMA通道,且每个DMA通道的优先级、传输触发阈值和超时时间均可编程,能够保证数据传输按照高低优先级传输的同时,保证特定通道的数据传输实时性;所有DMA通道的上传/下发数据缓存可实现动态管理,实现多通道DMA并发传输,保证DMA传输带宽使用效率。

A Descriptor-based PCIE Bus DMA Controller and Data Transmission Control Method

The invention provides a descriptor-based PCIE bus DMA controller and data transmission control method, including: TLP sending engine, TLP receiving engine, interface access control module, DMA transmission control module, descriptor access control module, multi-DMA channel control module, control status register, DMA channel cache. The DMA transmission process of the DMA controller designed by the invention is completely controlled by the descriptor to improve the data bandwidth and transmission efficiency; the DMA data transmission can be configured with multiple DMA channels, and the priority, transmission trigger threshold and timeout of each DMA channel are programmable, which can ensure the real-time transmission of data in a specific channel while ensuring the transmission of data in accordance with the high and low priority. The upload/download data cache of all DMA channels can realize dynamic management, realize concurrent transmission of multi-channel DMA, and ensure the efficiency of bandwidth utilization of DMA transmission.

【技术实现步骤摘要】
一种基于描述符的PCIE总线DMA控制器及数据传输控制方法
本专利技术属于数据传输控制领域,具体为一种基于描述符的PCIE总线DMA控制器及数据传输控制方法。
技术介绍
PCIE总线技术是第三代I/O互连总线,PCIE总线在桌面电脑、通信平台、服务器、工作站、移动通信、嵌入式设备中是极具性价比的高带宽传输解决方案。近年来PCIE总线技术在很多高性能综合电子平台和系统中获得了越来越多的应用,采用DMA(DirectMemoryAccess,直接内存访问)数据传输是发挥PCIE总线高带宽、高性能的最常用的技术手段之一。市面上很多PCIE总线产品中都集成了DMA控制器,但都是面向通用化和传统应用场景,在某些需要多DMA通道和多种不同优先级数据同时传输的应用场景中,不能很好适配应用需求。专利文献CN105988953A公开一种直接内存存取DMA控制器及数据传输的方法,可根据中央处理器CPU配置的传输参数完成外部芯片和CPU之间的数据上送和下发操作,并通过仲裁方式避免上送和下发操作引起的竞争。专利文献CN105320625A公开一种硬件封包的基于PCIe的DMA传输方法,通过硬件获取PayLoadmax参数并使用PayLoadmax长度的数据包进行DMA传输,以提高DMA传输效率。专利文献CN106951388A公开一种基于PCIe的DMA数据传输方法及系统,该专利技术能够在DMA指令的控制下从多个DMA通道中选择度应的DMA通道对数据进行传输,将不同种类数据分不同通道进行传输,降低数据传输复杂度。由上可知,当前的PCIE总线DMA控制器以及相关专利成果,没有涉及多通道传输或在多通道DMA传输中没有考虑对DMA多个通道的数据按照不同优先级进行自动化处理,不能满足多DMA通道和多种不同优先级数据同时传输的应用系统需求。
技术实现思路
针对现有技术中存在的问题,本专利技术提供一种基于描述符的PCIE总线DMA控制器及数据传输控制方法,满足多通道多优先级、大容量数据传输需求。本专利技术是通过以下技术方案来实现:一种基于描述符的PCIE总线DMA控制器,包括:TLP发送引擎,用于完成PCIE总线事物层包的组帧与发送;TLP接收引擎,用于完成PCIE总线事物层包的接收与解析;接口访问控制模块,用于实现接口时序的产生和数据同步控制;DMA传输控制模块,用于实现DMA数据传输控制;描述符访问控制模块,用于实现DMA控制器描述符信息与主机内存描述符信息的交互;并在描述符信息的控制下,根据多DMA通道控制模块的通道仲裁结果向DMA传输控制模块发起DMA传输请求;多DMA通道控制模块,根据配置的DMA通道优先级和通道启动阈值,以及每个DMA通道缓存的状态信息,对多通道进行仲裁,选出需要服务的DMA通道并提交给描述符访问控制模块;DMA通道缓存,用于暂存DMA通道的数据,每个DMA通道具有一个下发数据缓存和上传数据缓存,每个DMA通道需要配置一组描述符,同一组内的描述符地址连续;根据DMA通道的数据对于传输的实时性要求配置DMA通道优先级。优选的,还包括控制状态寄存器,用于保存DMA控制器的工作状态信息。优选的,DMA通道缓存采用FIFO形式。一种基于描述符的PCIE总线DMA数据传输控制方法,DMA数据传输控制流程如下:数据的上传流程为:多DMA通道控制模块对各DMA通道上传缓存进行监测,当某DMA通道阈值或超时条件满足时,多DMA通道控制模块向描述符访问控制模块发起该指定DMA通道的DMA传输申请;描述符访问控制模块接收到多DMA通道控制模块送来的DMA传输申请后,索引指定DMA通道的描述符并生成DMA传输长度、DMA上传缓存地址、DMA目标地址信号,启动DMA传输控制模块;DMA传输控制模块根据描述符访问控制模块送来的控制信息,从指定DMA通道的上传数据缓存中读取相应长度的数据,并向接口访问控制模块上传数据;接口访问控制模块收到DMA传输控制模块送来的上传数据,向TLP发送引擎发起TLP申请,TLP发送引擎生成写主机内存的TLP,将上传数据填写到描述符指向的主机内存缓存区中;当有多个DMA通道都满足DMA传输条件时,多DMA通道控制模块根据DMA通道优先级进行仲裁,优先级高的DMA通道优先使用DMA数据传输;数据的下发流程为:当主机系统需要向指定DMA通道中下发数据时,将待发送数据的缓区指针及数据长度信息写入下发数据描述符中,写DMA控制器的控制寄存器,启动指定DMA通道的DMA传输,多DMA通道控制模块根据缓存区信息来判断当前通道是否能够开启当前通道的DMA传输,当前通道DMA不满足DMA传输条件,则查看是否需要进行DMA上传数据传输;当不需要进行DMA上传数据传输时,从高优先级通道DMA数据下发描述进行轮询,轮询到某通道的数据下发描述符后,检查下发缓存是否满足DMA传输条件,不满足则轮询下一个通道DMA数据下发描述符,直到轮询到优先级最低的DMA通道;当下发描述符有数据需要下发传输并且多DMA通道控制模块给出满足DMA传输条件,描述符访问控制模块启动DMA操作;DMA传输控制模块接收到描述符访问控制模块的DMA下发数据请求,根据申请的DMA通道、DMA源地址和DMA数据长度,DMA传输控制模块向TLP发送引擎发起TLP发送请求,TLP发送引擎收到请求后向主机发送读内存TLP包,TLP接收引擎接收主机返回的封装有指定缓存区的下发数据的读完成TLP包并进行解析,解析后将数据返回给DMA传输控制模块,DMA传输控制模块将读完成的数据根据PCIE总线时序进行数据排序处理后写入到指定DMA通道的下发数据缓存区。优选的,当上传数据长度小于配置的MaxPayloadSize参数时,使用一个写内存TLP完成传输;当上传数据大于MaxPayloadSize参数,则DMA传输控制模块将上传数据分割为多个TLP包进行上传。优选的,当低优先级DMA通道数据正在进行上传时,高优先级DMA通道满足DMA传输条件,则高优先级DMA通道抢占DMA传输控制模块使用权。优选的,当描述符访问控制模块轮询下发数据描述符时,如果有上传数据满足DMA传输条件时,则轮询过程暂停,描述符访问控制模块向DMA传输控制模块发起DMA数据上传请求,数据上传处理完毕后,再回到下发数据描述符的轮询过程。优选的,当下发数据长度小于配置的MaxPayloadSize参数,使用一个读内存TLP完成传输;当下发数据大于MaxPayloadSize参数,则DMA传输控制模块将下发数据分割为多个TLP包进行下发。优选的,数据传输前需要进行初始化操作:将每个DMA通道的上传描述符起始地址和下发描述符起始地址、每个DMA通道的优先级以及每个DMA的阈值和超时时间初始化。与现有技术相比,本专利技术具有以下有益的技术效果:(1)本专利技术设计的DMA控制器的DMA传输过程完全由描述符控制实现,最大化的减小CPU负担,提高数据带宽和传输效率;(2)本专利技术中DMA数据传输可配置多个DMA通道,且每个DMA通道的优先级、传输触发阈值和超时时间均可编程,能够保证数据传输按照高低优先级传输的同时,保证特定通道的数据传输实时性;(3)本专利技术中所有DMA通道的上传/下发数据缓存可实现动态管理,尽可能的提高数据块传输大小,实现多本文档来自技高网
...

【技术保护点】
1.一种基于描述符的PCIE总线DMA控制器,其特征在于,包括:TLP发送引擎,用于完成PCIE总线事物层包的组帧与发送;TLP接收引擎,用于完成PCIE总线事物层包的接收与解析;接口访问控制模块,用于实现接口时序的产生和数据同步控制;DMA传输控制模块,用于实现DMA数据传输控制;描述符访问控制模块,用于实现DMA控制器描述符信息与主机内存描述符信息的交互;并在描述符信息的控制下,根据多DMA通道控制模块的通道仲裁结果向DMA传输控制模块发起DMA传输请求;多DMA通道控制模块,根据配置的DMA通道优先级和通道启动阈值,以及每个DMA通道缓存的状态信息,对多通道进行仲裁,选出需要服务的DMA通道并提交给描述符访问控制模块;DMA通道缓存,用于暂存DMA通道的数据,每个DMA通道具有一个下发数据缓存和上传数据缓存,每个DMA通道需要配置一组描述符,同一组内的描述符地址连续;根据DMA通道的数据对于传输的实时性要求配置DMA通道优先级。

【技术特征摘要】
1.一种基于描述符的PCIE总线DMA控制器,其特征在于,包括:TLP发送引擎,用于完成PCIE总线事物层包的组帧与发送;TLP接收引擎,用于完成PCIE总线事物层包的接收与解析;接口访问控制模块,用于实现接口时序的产生和数据同步控制;DMA传输控制模块,用于实现DMA数据传输控制;描述符访问控制模块,用于实现DMA控制器描述符信息与主机内存描述符信息的交互;并在描述符信息的控制下,根据多DMA通道控制模块的通道仲裁结果向DMA传输控制模块发起DMA传输请求;多DMA通道控制模块,根据配置的DMA通道优先级和通道启动阈值,以及每个DMA通道缓存的状态信息,对多通道进行仲裁,选出需要服务的DMA通道并提交给描述符访问控制模块;DMA通道缓存,用于暂存DMA通道的数据,每个DMA通道具有一个下发数据缓存和上传数据缓存,每个DMA通道需要配置一组描述符,同一组内的描述符地址连续;根据DMA通道的数据对于传输的实时性要求配置DMA通道优先级。2.根据权利要求1所述的基于描述符的PCIE总线DMA控制器,其特征在于,还包括控制状态寄存器,用于保存DMA控制器的工作状态信息。3.根据权利要求1所述的基于描述符的PCIE总线DMA控制器,其特征在于,DMA通道缓存采用FIFO形式。4.一种基于描述符的PCIE总线DMA数据传输控制方法,其特征在于,基于权利要求1-3任一项所述的PCIE总线DMA控制器,DMA数据传输控制流程如下:数据的上传流程为:多DMA通道控制模块对各DMA通道上传缓存进行监测,当某DMA通道阈值或超时条件满足时,多DMA通道控制模块向描述符访问控制模块发起该指定DMA通道的DMA传输申请;描述符访问控制模块接收到多DMA通道控制模块送来的DMA传输申请后,索引指定DMA通道的描述符并生成DMA传输长度、DMA上传缓存地址、DMA目标地址信号,启动DMA传输控制模块;DMA传输控制模块根据描述符访问控制模块送来的控制信息,从指定DMA通道的上传数据缓存中读取相应长度的数据,并向接口访问控制模块上传数据;接口访问控制模块收到DMA传输控制模块送来的上传数据,向TLP发送引擎发起TLP申请,TLP发送引擎生成写主机内存的TLP,将上传数据填写到描述符指向的主机内存缓存区中;当有多个DMA通道都满足DMA传输条件时,多DMA通道控制模块根据DMA通道优先级进行仲裁,优先级高的DMA通道优先使用DMA数据传输;数据的下发流程为:当主机系统需要向指定DMA通道中下发数据时,将待发送数据的缓区指针及数据长度信息写入下发数据描述符中,写DMA控制器的控制寄存器,启动指定DMA通道的DMA传输,多D...

【专利技术属性】
技术研发人员:唐金锋刘扬哈云雪徐丹妮
申请(专利权)人:西安微电子技术研究所
类型:发明
国别省市:陕西,61

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

1