一种上位机高效下行数据传输的方法技术

技术编号:24352979 阅读:155 留言:0更新日期:2020-06-03 01:58
本发明专利技术公开了一种上位机软件高效传输数据到下层设备的方法,所述方法包括:上位机初始化内存分配结构,并将初始化后的相关信息写入下层设备;上位机和下层设备分别建立一个深度为M、N的循环队列用来存储相应的信息;数据传输时,上位机软件将待传输数据拷贝放入序号为a的大块内存块的第c个子分块,然后将序号a、序号c和数据长度L整合为一个数值R,通过写寄存器的方式将该值写给下层设备;下层设备通过计算获得数据存放的物理地址ADDR,然后根据整合值R中解析出来的数据长度L发起DMA操作获取数据。本发明专利技术的所述方法具有较为简单的处理流程、较好的跨系统移植性和较高的传输效率。

A method of high efficiency downlink data transmission for upper computer

【技术实现步骤摘要】
一种上位机高效下行数据传输的方法
本专利技术描述了一种上位机高效传输数据到下层设备的方法,该方法具有较为简单的处理流程、较好的跨系统移植性和较高的传输效率。
技术介绍
上位机传输数据到下层设备时,常用的办法是写寄存器或者DMA传输,写寄存器效率较低,无法满足高速数据传输的需求;DMA传输有两种方式,一种是上位机调用系统接口函数主动发起DMA操作,另外一种是上位机告知下层设备DMA传输的数据物理地址和长度信息,由下层设备来发起DMA操作。无论哪种DMA方式,都需要考虑DMA数据传输完成的确认和物理内存的复用的问题。如果需要提高DMA传输效率,则需要提高多次DMA操作的连续性,尽可能减少每次DMA操作之间的间隔。为此,需要有较好的传输控制方法来减少数据传输确认对操作连续性的影响。
技术实现思路
本专利技术设计了一种基于下层设备发起DMA操作的上位机下行数据传输方法,该方法可通过简单算法实现连续的DMA操作并且减少了每次DMA数据传输确认对连续DMA传输的影响,从而大大提高了上位机下行数据传输的效率。由于采用了下层设备发起本文档来自技高网...

【技术保护点】
1.一种上位机高效下行数据传输的方法,其特征在于,所述方法包括:/nS1、分配A个大块连续内存并按照预设长度K切分为C个等长的子分块,将初始化后分配的内存块数量A、每个内存块划分的子分块数量C、每个子分块的长度K以及A个内存块每个的起始物理地址写入下层设备;/nS2、上位机和下层设备分别建立一个深度为M、N的循环队列,M大于等于N,上位机的循环队列的每个存储项对应一块连续的物理内存,下层设备的循环队列用来存储上位机写入的DMA信息;/nS3、数据传输时,上位机将待传输数据拷贝放入序号为a的大块内存块的第c个子分块,然后将序号a、序号c和数据长度L整合为一个数值R,通过写寄存器的方式将该值写给下...

【技术特征摘要】
1.一种上位机高效下行数据传输的方法,其特征在于,所述方法包括:
S1、分配A个大块连续内存并按照预设长度K切分为C个等长的子分块,将初始化后分配的内存块数量A、每个内存块划分的子分块数量C、每个子分块的长度K以及A个内存块每个的起始物理地址写入下层设备;
S2、上位机和下层设备分别建立一个深度为M、N的循环队列,M大于等于N,上位机的循环队列的每个存储项对应一块连续的物理内存,下层设备的循环队列用来存储上位机写入的DMA信息;
S3、数据传输时,上位机将待传输数据拷贝放入序号为a的大块内存块的第c个子分块,然后将序号a、序号c和数据长度L整合为一个数值R,通过写寄存器的方式将该值写给下层设备;
S4、下层设备根据序号a获取大块内存的物理地址Aa,然后根据公式ADDR=Aa+(c×K)来计...

【专利技术属性】
技术研发人员:柳卯郑云龙刘胜杰
申请(专利权)人:北京中航通用科技有限公司
类型:发明
国别省市:北京;11

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

1