[发明专利]一种基于FPGA+多核DSP的PD雷达信号处理系统及其并行实现方法有效
申请号: | 201510411844.X | 申请日: | 2015-07-14 |
公开(公告)号: | CN105045763B | 公开(公告)日: | 2018-07-13 |
发明(设计)人: | 王俊;吕栋;张玉玺;杨彬;尹晗 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F15/78 | 分类号: | G06F15/78 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 王顺荣;唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多核DSP 雷达信号处理系统 最小系统电路 并行实现 接收数据 外围 并行处理性能 电平转换芯片 千兆网络接口 下变频处理 采集芯片 电源芯片 恒虚警率 回波信号 六大步骤 脉冲压缩 目标信息 数据传输 硬件电路 目标点 上位机 网口 直波 内存 架构 雷达 芯片 采集 检测 积累 | ||
1.一种基于FPGA+多核DSP的PD雷达信号处理系统的并行实现方法,该方法具体步骤如下:
步骤一:在FPGA核心芯片中对中频信号进行数字下变频:
该步骤由FPGA核心芯片中数字下变频模块完成,数字下变频模块由数据采集、模二抽取逻辑、延时校正滤波器、双口RAM模块组成,数字下变频模块采用多相滤波结构,经过二倍奇偶抽取,延时校正后将中频采样数据下变频得到基带复数据;数据采集模块将数据采集芯片采样后得到的数据作为单端输入;模二抽取逻辑将输入数据抽取成I、Q两路数据,在每个时钟的上升沿将标志位取反,当标志位为1时将数据取负;延时校正滤波由12阶FIR滤波器实现,系数由Matlab生成;滤波后取I、Q两路高16位拼接成32位基带数据;
步骤二:在FPGA核心芯片中缓存数据,并配置SRIO准备传输数据;
FPGA核心芯片与DSP芯片之间采用x4的SRIO互连,单通道速率为5Gbps,考虑到8b/10b编码,有效带宽高达2Gbps;利用Xilinx提供的串行Rapid IO IP核,并设计了本地端和远端;包括本地数据处理、远端数据处理和IP核;本地数据处理负责发送本地的数据请求包并接收远端发出的对本地数据响应包;远端数据处理负责接收来自远端的数据包;IP核的主要功能是打包和解包,初始化以及协议实现;
当本地发送数据给远端时,把数据写入发送缓存,并在写完后给发送控制器启动信号;本地数据处理端根据设置好的SRIO包头信息,包括包类型、包大小、包数目、发送地址、对方ID来控制产生请求模块从发送缓存中产生包;这些包经过IP核的处理传输给远端,当远端获取数据包并发送响应包给本地时,IP核将接收到的串行比特流解出SRIO包并传递给本地数据响应处理模块;远端数据处理控制远端数据请求处理模块将包内的数据写入接收缓存,并在写完后发送完成信号给需要数据的模块,需要数据的模块从接收缓存读出数据;
步骤三:在DSP芯片中配置SRIO寄存器接收数据并存放在DDR3中:
DSP芯片端的SRIO模块中本地器件为DSP芯片,远端器件指的是FPGA核心芯片;DSP芯片中的SRIO模块主要由载入/载出模块和物理层组成,载入/载出模块在CPU/EDMA的控制下向DDR3存储器发送VBUSM请求、接受VBUSM响应;在载入/载出模块内,MMR命令寄存器控制发送缓存和接收缓存,并与物理层的FIFO相连;VBUSM指的是VBUS上的主设备;
在DSP芯片中,通常调用CSL即片上支持库函数实现SRIO的配置,包括使能、初始化、打开和建立通信函数;SRIO的实现分为4步:地址映射;配置ID、SRIO端口、中断向量;配置寄存器,包括传输模式和速率的配置;等待链接;在链接之后,DSP芯片能够接收和发送SRIO包,DSP芯片和FPGA核心芯片之间需要知道对方的目的ID和起始地址才能正确传输数据;在数据传输时选择DirectIO方式,只需要收发双方的地址映射关系就能实现传输;
步骤四:在DSP芯片中实现多核处理脉冲压缩算法:
该步骤在DSP芯片中完成,需要设计一套多核任务并行实现算法来进行脉冲压缩算法的数据处理;脉冲压缩是以脉冲为单位进行计算,而相参积累和CFAR检测是根据脉冲串的距离切片位单位进行计算的,只有脉冲串全部完成脉冲压缩之后,才能进行相参积累和CFAR检测,所以总体上将流程分成两次任务,一次完成所有脉冲的脉冲压缩计算,一次是相参积累和CFAR检测;由于脉冲压缩计算时脉冲之间数据关联小,相参积累和CFAR检测计算之间的数据关联小,所以多核实现采用主从模式实现,一核负责任务的调度和分配,其余核按任务进行并行操作;
在多核设计时需要考虑存储器系统的配置,信号处理中需要与存储器进行数据存取操作,访问性能直接影响算法的效率;存储器访问性能和代码、数据存储的位置相关,与访问方式也相关;通过配置各个存储器大小、cache设置的大小和数据访问方式,得到不同情况下的传输速率;分析得外部存储器的访问通常采用EDMA方式,内部存储器通过内核直接访问或者IDMA方式;内存的内核访问性能好,拥有较宽的数据总线和指令总线,将关键的数据和变量存放在LL2中;将L1D和L1P设为CACHE提高内核和存储器之间的指令和数据缓存;设计的存储器系统将原始数据放在DDR3中,每个核的LL2配置为SRAM,存放脉冲压缩、相参积累和CFAR检测过程中的数据,L1D和L1P配置为CACHE有利于提高内核的访问效率,在雷达信号处理流程中,FPGA核心芯片通过SRIO接口将数据传送到DDR3,然后将脉冲串等分为8份,每个核分别处理其中1份脉冲数据;脉冲压缩在工程上采用频域方式实现,即输入信号的频谱与本地参考信号频谱的共轭复乘后,再逆福利叶变换得到结果;主要步骤包括输入、FFT、复乘、IFFT、输出;输入部分通过EDMA模块将脉冲数据从DDR3传输到各个核的LL2中,然后每个核的LL2中配置数据处理的缓冲区域,进行数据处理,最后输出时用EDMA模块将数据传到DDR3的缓冲区,在输入和输出时需要配置EDMA模块的输出方式;FFT和IFFT计算所需要的旋转因子在初始化时完成计算并且存在每个核的LL2中,复乘所需要的参考信号的频谱共轭也在初始化时存在每个核的LL2中,计算时直接调用;
多核系统中内核之间相对独立,需要相互通信完成任务的调度;内核需要分配相应的子任务以及执行的顺序;由于采用主从模式实现脉冲压缩算法,每个核完成各自的数据处理,不需要核间的数据共享和传输,所以采用核间中断模式的通信方式,配置IPCGRx将产生核x的中断,SRCS0~27设置中断源标志,这里采用SRCSx表示核x的中断标志,配置IPCARx的SRCC0~27清除相应的标志;
在编排流程中需要考虑并行实现的结构,但是设计时DDR3的总线成为瓶颈,DDR3数据总线最高只能配置64位,并且只有一套总线,各个核在访问时需要总裁,不能及时返回数据;所以设计时核与核数据输入时错开,在前一个核完成输入后利用核间中断触发下一核的输入;输出时采用上一轮的输出和下一轮的输入结合成一个模块整体作为下一轮的输入,这样避免DDR3总线占用问题;在核7完成整个数据处理后再进行下一轮的脉冲处理直到完成每个核所分配的脉冲处理任务;
步骤五:在DSP芯片中实现多核处理相参积累和CFAR检测算法:
脉冲压缩处理完成后数据存放在DSP芯片的DDR3缓冲区中,其中每次脉冲压缩后的输出在DDR3中按列的方式存储,这样在相参积累和CFAR检测时就以行的方式进行数据处理,通过脉冲压缩的输出完成一次二维数据的行列转置;相参积累和CFAR检测采用频域实现的方式,每个核完成距离切片的数据输入、相参积累、复数求模和CFAR检测;
脉冲串的距离切片作为数据,采用EDMA的方式从DDR3传输到LL2中,相参积累在工程中采用FFT来实现,其旋转因子也在初始化时完成计算并且存放在LL2中,在FFT计算时直接在LL2中完成;相参积累后得到的复数点数据需要进行求模计算得到幅值,常用的平方和开根号耗时而且需要考虑数据溢出,采用线性近似的方式实现复数求模;
|X|≈g(I,Q)=amax{|I|,|Q|}+bmin{|I|,|Q|}
其中a,b为加权系数,系数的值与相对误差的要求有关;采用等波纹近似的方法,选取合适的a,b参数,使得误差在0.8%以下,其公式如下:
|X|≈max{TL+1/8TS,27/32TL+9/16TS}
CFAR检测采用常用的单元平均恒虚警率检测的方式实现,在实际数据处理时通常采用划窗检测的方式实现,在计算一次滑窗检测时,测试单元两侧设有保护单元用来防止目标跨越多个单元造成干扰;为判断其中一个单元内是否存在目标,需要对左右参考单元求平均再乘以门限因子得到检测门限,再与测试单元比较后得出是否存在目标;在工程实现时通常CFAR检测需要消耗大量周期,TMS320C6678支持软件流水技术实现并行的操作,通过汇编指令编排来优化CFAR检测的过程;具体实现过程如下:首先完成C语言代码的编写,然后将其改写成线性汇编代码,根据代码确定迭代的周期数,之后画出相关图,即确定每条指令所用到的功能单元,TMS320C6678单核内有8个功能单元,总线支持一个周期并行8条指令,最后根据相关图,确定每条指令的寄存器文件,然后进行指令编排,需要考虑流水线中的循环填充、内核循环、循环排空,还需要考虑指令的延迟、生命周期,最后得到并行的指令编排;
在多核实现相参积累和CFAR检测时需要考虑DDR3总线占用的问题,所以也需要错开排列,之后每个核各自完成部分距离切片的相参积累和CFAR检测,得到一个目标点信息,最后将8个核的目标点信息求最值后进行之心运算得到目标的信息结果;
步骤六:通过网口将目标信息传送给上位机:
通过相参积累和CFAR检测后得到目标点信息,将信息通过6678的网口传输到上位机,6678内有网卡控制器NETCP,用于处理以太网数据包;该控制器由用于控制数据包DMA传输的PKTDMA控制器、用于数据包识别以及分类的包加速器PA、用于数据包加密和解密的安全加速器SA以及吉比特以太网转换子系统四部分组成;共同完全DSP芯片与外部设备之间数据包的快速交换;
当DSP芯片向外部器件发送数据包时,数据经DMA进入网卡控制器,在SA中完成加密过程,之后通过数据流开关总线进入PA,在PA中根据预先设定的描述符添加MAC帧头、IP帧头以及UDP/TCP帧头,之后通过数据流开关总线进入吉比特以太网转换子系统,在此模块中对数据进行识别打包并从预定的端口发送到外部设备上;
其中,L1D/32KB CACHE、L1P/32KB CACHE表示配置为32KB缓存的一级数据和程序存储器;LL2/512KB SRAM表示配置为512KB内存的本地二级存储器;CACHE表示可配置为缓存;EDMA表示增强型的直接内存存取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510411844.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文档新版本自动提醒方法
- 下一篇:一种接口扩展装置