一种基于PCIE总线的改进分散集聚DMA的设计
发布时间:2019-10-18 10:07
【摘要】:随着雷达数据记录回放系统对数据传输速率的要求越来越高,提出了一种基于外设部件高速互连标准(PCIE)总线的多通道分散集聚DMA的改进方法。针对现有分散集聚DMA获取、更新描述符需要DMA控制器与驱动频繁握手的不足,提出了一种通过集中传输DMA描述符链表给FPGA的方法,基于该方法设计了一种改进的DMA控制器,实现了雷达数据的连续传输,并能够与雷达信号处理系统配合,实现雷达数据的流水传输与处理。该设计具有良好的稳定性,实际测试的数据传输速率最高能达到1500MB/s,能够满足雷达数据的高速传输。
【图文】:
据通道,可以在实际应用中根据需要实现雷达数据的流水传输与处理。1现有分散集聚DMA原理因为分散集聚DMA申请的内存是物理不连续的,所以上位机在申请一定大小的内存时,会生成描述符链表,描述符链表中的每一个描述符都指向了一小块物理连续的内存,描述符中定义了控制状态信息和内存信息。其中,描述符最后32bit是一个指向下一个描述符的指针,这个指针将各个描述符连接成描述符链表,由此就可以映射到整个物理不连续的内存[11]。在传统分散集聚DMA的传输过程中,如图1所示,首先DMA控制器从驱动读取描述符链表中的一个描述符并存到描述符引擎中,DMA控制器根据描述符引擎中的信息完成对应内存的数据传输后,描述符更新引擎将此描述符的更新信息传到描述符链表中,然后描述符引擎通过指向下一个描述符的指针向驱动获取下一个描述符的信息,由此进行下一个描述符对应内存的数据传输。此方式在传输完成一个描述符对应内存的数据后,需要等待描述符更新引擎更新描述符信息和描述符引擎读取下一个描述符的信息,降低了数据传输的持续性。图1现有分散集聚DMA示意图2改进分散集聚DMA设计2.1DMA控制器设计针对驱动与DMA控制器频繁握手的不足,本设计在上位机驱动中对描述符链表作了提取处理,由于描述符(32B)中的保留位以及状态位等在DMA控制器中是无用信息,因此本设计直接选取了有用的上位机内存地址位(8B)和数据长度位(4B)发送至DMA控制器,描述符其他数据不再发送。当DMA控制器初始化以后,驱动直接将所有描述符的系统地址位和数据长度位发送至描述符引擎,如图2
示,首先DMA控制器从驱动读取描述符链表中的一个描述符并存到描述符引擎中,DMA控制器根据描述符引擎中的信息完成对应内存的数据传输后,,描述符更新引擎将此描述符的更新信息传到描述符链表中,然后描述符引擎通过指向下一个描述符的指针向驱动获取下一个描述符的信息,由此进行下一个描述符对应内存的数据传输。此方式在传输完成一个描述符对应内存的数据后,需要等待描述符更新引擎更新描述符信息和描述符引擎读取下一个描述符的信息,降低了数据传输的持续性。图1现有分散集聚DMA示意图2改进分散集聚DMA设计2.1DMA控制器设计针对驱动与DMA控制器频繁握手的不足,本设计在上位机驱动中对描述符链表作了提取处理,由于描述符(32B)中的保留位以及状态位等在DMA控制器中是无用信息,因此本设计直接选取了有用的上位机内存地址位(8B)和数据长度位(4B)发送至DMA控制器,描述符其他数据不再发送。当DMA控制器初始化以后,驱动直接将所有描述符的系统地址位和数据长度位发送至描述符引擎,如图2所示,此后,描述符引擎便不需要与驱动握手。图2改进后分散集聚DMA示意图由于改进后分散集聚DMA是应用在雷达数据记录回放系统中,雷达数据量非常大,远大于一个描述符对应的内存(通常4KB),不会出现实际传输数据小于描述符内存的情况,因此不需要更新描述符中实际传输数据大校现有描述符更新引擎的一个重要作用是当一个描述符对应内存完成数据传输以后,通知驱动此内存可进行数据读取或写入,可是在分散集聚DMA实际传输过程中都是所有描述符对应内存完成数据传输以后,上位机才会对内
【作者单位】: 中国科学院电子学研究所;微波成像技术国家重点实验室;中国科学院大学;
【分类号】:TN957
【图文】:
据通道,可以在实际应用中根据需要实现雷达数据的流水传输与处理。1现有分散集聚DMA原理因为分散集聚DMA申请的内存是物理不连续的,所以上位机在申请一定大小的内存时,会生成描述符链表,描述符链表中的每一个描述符都指向了一小块物理连续的内存,描述符中定义了控制状态信息和内存信息。其中,描述符最后32bit是一个指向下一个描述符的指针,这个指针将各个描述符连接成描述符链表,由此就可以映射到整个物理不连续的内存[11]。在传统分散集聚DMA的传输过程中,如图1所示,首先DMA控制器从驱动读取描述符链表中的一个描述符并存到描述符引擎中,DMA控制器根据描述符引擎中的信息完成对应内存的数据传输后,描述符更新引擎将此描述符的更新信息传到描述符链表中,然后描述符引擎通过指向下一个描述符的指针向驱动获取下一个描述符的信息,由此进行下一个描述符对应内存的数据传输。此方式在传输完成一个描述符对应内存的数据后,需要等待描述符更新引擎更新描述符信息和描述符引擎读取下一个描述符的信息,降低了数据传输的持续性。图1现有分散集聚DMA示意图2改进分散集聚DMA设计2.1DMA控制器设计针对驱动与DMA控制器频繁握手的不足,本设计在上位机驱动中对描述符链表作了提取处理,由于描述符(32B)中的保留位以及状态位等在DMA控制器中是无用信息,因此本设计直接选取了有用的上位机内存地址位(8B)和数据长度位(4B)发送至DMA控制器,描述符其他数据不再发送。当DMA控制器初始化以后,驱动直接将所有描述符的系统地址位和数据长度位发送至描述符引擎,如图2
示,首先DMA控制器从驱动读取描述符链表中的一个描述符并存到描述符引擎中,DMA控制器根据描述符引擎中的信息完成对应内存的数据传输后,,描述符更新引擎将此描述符的更新信息传到描述符链表中,然后描述符引擎通过指向下一个描述符的指针向驱动获取下一个描述符的信息,由此进行下一个描述符对应内存的数据传输。此方式在传输完成一个描述符对应内存的数据后,需要等待描述符更新引擎更新描述符信息和描述符引擎读取下一个描述符的信息,降低了数据传输的持续性。图1现有分散集聚DMA示意图2改进分散集聚DMA设计2.1DMA控制器设计针对驱动与DMA控制器频繁握手的不足,本设计在上位机驱动中对描述符链表作了提取处理,由于描述符(32B)中的保留位以及状态位等在DMA控制器中是无用信息,因此本设计直接选取了有用的上位机内存地址位(8B)和数据长度位(4B)发送至DMA控制器,描述符其他数据不再发送。当DMA控制器初始化以后,驱动直接将所有描述符的系统地址位和数据长度位发送至描述符引擎,如图2所示,此后,描述符引擎便不需要与驱动握手。图2改进后分散集聚DMA示意图由于改进后分散集聚DMA是应用在雷达数据记录回放系统中,雷达数据量非常大,远大于一个描述符对应的内存(通常4KB),不会出现实际传输数据小于描述符内存的情况,因此不需要更新描述符中实际传输数据大校现有描述符更新引擎的一个重要作用是当一个描述符对应内存完成数据传输以后,通知驱动此内存可进行数据读取或写入,可是在分散集聚DMA实际传输过程中都是所有描述符对应内存完成数据传输以后,上位机才会对内
【作者单位】: 中国科学院电子学研究所;微波成像技术国家重点实验室;中国科学院大学;
【分类号】:TN957
【相似文献】
相关期刊论文 前10条
1 张婕;王丹力;;基于上下文的多通道语义融合[J];计算机工程与设计;2007年01期
2 聂守平,刘明,陶纯堪,赵琦;并行多通道成像和频谱分析[J];光电子·激光;1999年05期
3 杭正东;;多通道音频监录系统的开发和应用[J];视听界(广播电视技术);2008年05期
4 赖涛;董臻;梁甸农;;多通道/多波束星载SAR实现高分辨宽测绘带成像综述[J];遥感信息;2011年01期
5 郭青伟;;多通道广播监测系统[J];辽宁师专学报(自然科学版);2011年01期
6 张青;詹磊;;大型电视节目多通道采编制作系统设计[J];电视技术;2013年24期
7 谢冬冬;吴侠义;禹卫东;;一种多通道星载SAR通道间一致性精确测量方法[J];电子测量与仪器学报;2012年05期
8 李晓妮;王大中;冀振元;;多通道接收系统的补偿研究[J];长春大学学报;2007年12期
9 聂波;王绪刚;王宏安;王纲;;手持移动设备中多通道交互的通用开发框架[J];计算机应用研究;2007年09期
10 胡兵,陈光
本文编号:2551034
本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/2551034.html