一种基于描述符表的参数加载方法

文档序号:1141160 发布日期:2020-09-11 浏览:4次 >En<

阅读说明:本技术 一种基于描述符表的参数加载方法 (Parameter loading method based on descriptor table ) 是由 李世平 周小龙 何国强 曹舟 于 2020-06-17 设计创作,主要内容包括:本发明克服了现有DBF系统参数加载技术中定制化、专用化等缺点,提供了一种基于描述符表的参数加载方法,通过软件定义描述符表序列,实现分布式参数的灵活加载,大幅提升了通用性和可扩展性,通过FPGA或芯片均可实现,能够广泛应用于各型雷达的DBF系统。(The invention overcomes the defects of customization, specialization and the like in the existing DBF system parameter loading technology, provides a descriptor table-based parameter loading method, realizes flexible loading of distributed parameters by defining descriptor table sequences through software, greatly improves the universality and expandability, can be realized through both an FPGA (field programmable gate array) or a chip, and can be widely applied to DBF systems of various radars.)

一种基于描述符表的参数加载方法

技术领域

本发明属于数据处理技术领域,具体涉及一种虚拟存储读取技术。

背景技术

采用数字波束形成DBF技术的有源相控阵雷达,具有自适应干扰抑制、同时多波束形成等诸多特点,一直是雷达阵列信号处理领域的研究热点。目前,DBF技术已从概念研究、关键技术研究阶段,发展到实际系统应用研究阶段,是新一代高性能雷达系统的必然选择。

设N为相控阵雷达的阵元数,M为合成的波束数,Bj为合成的第j个波束,Si为输入第i个阵元的数据,wij为对应第i个阵元、第j个波束的加权系数,则DBF的基本原理为:

Figure BDA0002543558090000011

改变加权系数,即可控制波束的指向和形状。在实际应用过程中,加权系数通常会由指向、幅度权以及各种校正系数计算得到。

一种典型的系数计算公式为:

Figure BDA0002543558090000012

其中aij为幅度权,△ai和δφi分别为幅度修正权和相位修正权,i△φBj为对应第i个阵元第j个波束指向的阵内相位差,除了i△φBj按指向动态计算外,其他参数均为准静态参数,需要在DBF计算之前加载完毕。这些参数的数据量通常达到MB量级,未来考虑宽带应用时,还会增加通道均衡系数和时延滤波系数等更多参数。为了提高DBF的并行计算能力,所有参数均需采用分块存储,支持上电加载和运行中动态加载两种方式。

这种大数据量分布式的参数加载方法通常针对每个产品的具体要求单独设计开发,呈现定制化、专用化的特点,不具有通用性和灵活性。随着雷达向宽带化方向发展,对DBF的并行计算能力的要求越来越高,FPGA和芯片成为实现DBF的主流技术手段。针对每个产品,定制开发一套专用的参数加载RTL逻辑,将耗费大量的人力和时间,逐渐满足不了产品的需求,有必要研究一种通用的、灵活的参数加载方法,适应不同产品的应用需求,支持未来的参数扩展。

发明内容

本发明为了解决现有技术存在的问题,提出了一种基于描述符表的参数加载方法,为了实现上述目的,本发明采用了以下技术方案。

通过软件可定义的描述符表序列,加载大数据量分布式的DBF系统参数,支持参数种类、参数大小、参数分块方式等各项特征的灵活扩展,支持上电加载和运行时指定参数的动态加载等方式。

首先由加载状态机通知描述符表解析模块,从基地址读取第一个描述符表并解析,如果是上电加载,则该基地址为外部存储的首地址,如果是动态加载,则该基地址为虚拟存储中的RAM首地址;然后通知DMA搬数模块,根据解析得到源地址、目标地址、数据长度完成一次数据搬运;最后判断当前描述符表是否最后一个,若是则本次参数加载结束,否则继续读取下一个描述符表,直到所有描述符表处理完毕。

将参数存储在RAM,统一编址,挂接在总线,根据实际使用需要调整RAM的数量;采用DMA搬数,通过总线,读取RAM中的参数;采用加载状态机控制DMA搬数,采用描述符表解析DMA搬数信息,通过描述符表调整加载状态机的控制指令;建立虚拟存储,通过加载状态机、描述符表定义DMA搬数操作,将对外数据传输映射成片内RAM读写操作。

对外数据传输包括包传输接口模式和外存接口模式,向控制器输入接口形式控制信号,选择接口模式,由控制器向加载状态机发出启动标志;在包传输接口模式,接收参数加载数据包,解析得到有效包数据,存储在RAM中,动态加载指定参数;在外存接口模式,系统上电复位自动加载参数,运行过程中由系统控制是否启动,通过读转换逻辑,将输入的RAM读操作,按时序转换为对应地址的外存读操作。

描述符表解析包括由RAM读控制器获取启动标志,解析当前描述符表;若无效,则无需加载,若是最后一个,则加载结束;否则继续加载,将源地址、目标地址和数据长度写入其内部相应寄存器。

描述符表共12个字节,第0至3字节为表头,Bit[31]为1表示当前表无效,Bit[30]为1表示当前表为最后一个,Bit[29:16]预留,Bit[15:0]表示搬运总字节数;第4至7字节表示搬数的源地址,第8至11字节表示搬数的目标地址。

加载状态机接收参数加载启动标志,设置接口模式,从虚拟存储中提取并解析描述符表,若当前描述符表有效,则控制DMA搬数,根据源地址访问虚拟存储,读取相应长度的数据,通过总线写入目标地址对应的RAM;若搬数结束,则判断当前描述符表是否最后一个,若是则本次参数加载结束,否则继续提取并解析描述符表。

参数加载包括上电加载和动态加载,上电加载对应外存接口模式,将完整的描述符表序列及相应参数存储在外存,上电复位后,虚拟存储主动要求加载状态机启动,从外存加载所有参数,描述符表序列从外存的首地址开始依次存储;动态加载对应包传输接口模式,系统运行中,输入参数加载数据包,缓存在虚拟存储,对指定参数动态加载更新,描述符表序列从RAM的首地址开始依次存储。

设置RAM为595个,每个8KB,外存采用FLASH,包传输采用高速SerDes,将RAM、FLASH和虚拟存储统一编址,地址位宽32bit,其中0xF000_0000至0xFFFF_FFFF为FLASH的地址空间,0xE000_0000至0xEFFF_FFFF为高速SerDes数据包在虚拟存储中的地址空间;总线使用APB总线,采用8端口APB总线译码器,级联外挂RAM,实现端口目成倍扩展。

本发明通过软件可定义的描述符表序列,实现大数据量分布式的参数加载,支持参数种类、参数大小、参数分块方式等各项特征的灵活可扩展;采用RTL逻辑具有通用性,通过FPGA或芯片实现,能够广泛应用于各型雷达的DBF系统;所有存储参数的RAM支持统一编址,通过总线可访问到所有RAM;通过虚拟存储实现了对外接口和内部逻辑的解耦,将包传输接口按数据包转化成内部RAM,实现了运行时指定参数的动态加载;支持但不限于上电加载和运行时指定参数动态加载两种方式。

附图说明

图1是原理框图,图2是虚拟存储原理框图,图3是加载状态机工作流程,图4是描述符表结构图,图5是描述符表解析原理框图,图6是DMA搬数模块原理框图,图7是实施例原理框图。

具体实施方式

以下结合附图对本发明的技术方案做具体的说明。

本发明的原理如图1所示,将存储参数的所有RAM统一编址并挂接在总线上,然后通过虚拟存储将对外数据传输映射成片内RAM读写操作,于是,整个参数加载过程就统一的分解为从源地址向目标地址搬数的系列操作,而每一次搬数操作都可由一个描述符表精确定义,于是,一个从sheet_1到sheet_N的描述表序列即可实现整个参数加载过程。

虚拟存储的原理如图2所示,包括但不限于基于包传输和基于外存两种接口形式,分别对应动态加载和上电加载两种方式,由接口形式控制信号进行选择。

对基于包传输的接口,每收到一个参数加载数据包后,将解析得到的有效包数据存储在RAM中,对外即表现为RAM读写操作,同时控制器发出启动标志给加载状态机,启动一次运行时指定参数的动态加载,此时描述符表序列从RAM的首地址开始依次存储。

对基于外存的接口,通过一个读转换逻辑,实现将输入的RAM读按时序转换为对应地址的外存读操作,基于外存的参数加载在系统上电复位后自行启动一次,启动标志由控制器主动发出,在运行过程中则将由系统控制是否重启动,此时的描述符表序列从外存的首地址开始依次存储。

参数加载分为上电加载和运行时动态加载两种方式:

上电加载指上电复位后从外部存储器FLASH中加载片内所有参数。此时完整的595个描述符表序列及相应的参数均存在外部FLASH中,描述符表起始地址位0xF000_0000,上电复位后,虚拟存储会主动通知加载状态机启动一次参数加载,并告知其当前接口为FLASH接口。随后,加载状态机通知描述符表解析模块从起始地址0xF000_0000以12字节为单位读取描述符表,解析出源地址、目标地址和数据长度等信息,并启动一次DMA搬数,依次执行,直到595个描述表全部处理完毕,上电加载完成。

一个典型的描述符表如图4,共12个字节,第0至3个字节为表头,Bit[31]表示当前表是否有效,若无效,则当前表无需搬数,Bit[30]表示当前表是否为最后一个,若是则当前表处理完后本次参数加载结束,否则需继续处理下一个描述符表;Bit[29:16]预留,Bit[15:0]表示本次需搬运的总字节数,第4至7个字节表示搬数的源地址,第8至11个字节表示搬数的目标地址。

描述符表解析原理如图5所示,模块每读取12个字节的描述符表后,首先根据表头Bit[31]判断当前表是否有效,若有效,则解析出数据长度、源地址、目标地址三个数据写入DMA搬数模块,最后根据表头Bit[30]判断是否最后一个,信息反馈给加载状态机。

DMA搬数模块原理如图6所示,描述符表解析模块将源地址、目标地址和数据长度写入其内部相应寄存器,当其接收到来自加载状态机的DMA搬运启动标志后,控制器根据源地址从虚拟存储中读取相应数据,并通过总线写入目标地址中,依次搬运设定的数据长度后,反馈完成标志给加载状态机。

根据上述技术方案,设置参数RAM个数595个、外部存储器为FLASH、包传输接口为高速SerDes情况下,设计一款基于描述符表的参数加载模块如图7所示,所有内部RAM、外存以及虚拟存储均统一编址,地址位宽32bit,其中0xF000_0000至0xFFFF_FFFF位外部FLASH的地址空间,0xE000_0000至0xEFFF_FFFF为高速SerDes数据包所在虚拟存储中的RAM,RAM大小8KB。

总线使用APB总线,由于RAM个数多达595个,而总线端口数目有限,需要使用APB总线译码器(APB_dec),一个8端口APB_dec将对输入32bit地址中指定3bit地址位进行译码,从而提供8个端口的读写访问,APB_dec可以分层级联,即8端口APB_dec下接8个8端口APB_dec,最终挂接64个RAM,实现端口数目成倍扩展。

动态加载指系统运行过程中,通过高速SerDes输入参数加载数据包,对指定参数进行动态加载更新。高速SerDes输入的数据被缓存在虚拟存储中的RAM里,起始地址为0xE000_0000,随后,虚拟存储通知加载状态机启动一次动态加载,并告知其当前接口为高速SerDes接口。接着,加载状态机通知描述符表解析模块从起始地址0xE000_0000以12字节为单位读取描述符表,解析出源地址、目标地址和数据长度等信息,并启动一次DMA搬数,依次执行,直到当前包中所有描述表全部处理完毕,本次动态加载完成。

加载状态机负责整个加载过程的调度控制,工作流程如图3所示,当状态机接收到一次参数加载启动标志后,需先设置好正确的接口形式,同时通知描述符表解析模块从虚拟存储中提取并解析一个描述符表,解析完成后若当前描述表有效,则状态机通知DMA搬数模块根据解析得到的源地址、目标地址及数据长度启动一次DMA搬数,搬数结束后,状态机判断当前描述符表是否最后一个,若是则本次参数加载结束,否则再次通知描述符表解析模块提取并解析下一个描述符表,依次类推,直到最后一个描述符表处理完毕。

上述作为本发明的实施例,并不限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:半导体装置与数据保护方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类