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控制器以及相关专利成果,没有涉及多 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。