1前语
雷达数据收集及图画显现是雷达的一个根本运用,遍及运用于军事、气候猜测、环境监测、船只导航等范畴。雷达数据具有实时性、高速性的特色。一般说来,对雷达信号采样的时钟频率在100MHz以上,雷达数据收集和处理单元的数据吞吐量要求在Gbits/s以上。因而,要完结一个雷达数据收集和图画显现体系,对处理器的处理速度要求很高。传统的雷达数据收集和图画显现体系选用的是微处理器+FPGA(或DSP)计划,运用微处理器完结操作体系、雷达GUI和显现器操控,运用FPGA(或DSP)完结高速雷达数据收集和处理,这种计划的缺陷是要想完结雷达图画在800*600以上分辨率的大屏幕显现比较困难,要么有较高的处理器速度,要么有独立显卡的支撑,这样增加了体系杂乱度和本钱。
SOPC 是一种特别的片上体系,建立在可编程逻辑技能的基础上,尽可能将一个大而完好的电子体系完结在一块FPGA硅片上,具有硬件可裁剪、可扩大、可晋级,软件在体系可编程的特色,使得规划的体系在规划、功用、体积、功能、上市周期、开发本钱等方面有着了很大的优势。依据SOPC技能的软核处理器主频尽管不是很高,现在Xilinx公司的microblaze处理器最高主频为210MHz、240DMIPS的运算才干,Altera公司的NIOS II处理器最高主频为340MHz、290DMIPS的运算才干,可是因为其极强的灵活性,可以经过软硬件协同规划,在处理器速度不高的情况下,处理需求高速度处理器才干完结的问题。
本文依据SOPC技能,提出一种在主频较低的软核处理器上完结雷达数据收集和图画大屏幕显现的方法。
2整体计划规划
本规划选用microblaze软核处理器作为开发渠道,SOPC体系框图如图1所示。
本规划经过以下方法,处理在主频较低的SOPC软核处理器上完结雷达数据收集、处理和大屏幕图画显现的问题。
首要,运用FPGA硬件逻辑规划完结雷达数据收集、处理和显现操控器。雷达数据收集、处理模块担任对雷达上单元、ADC芯片的操控和对雷达数据的处理。显现操控器模块完结显存数据的办理和显现器的驱动。
其次,运用DMA传输。DMA担任将雷达数据收集、处理后数据经过DMA通道送到内存中。
最终,依据SOPC硬件可装备、可裁剪的特性,将雷达数据收集和处理模块、显现操控模块和DMA模块作为microblaze处理器的设备挂载到外设部分总线上[4]。
因为雷达数收集、处理模块和显现操控模块的内部逻辑都由FPGA硬件逻辑完结,微处理器不需直接对雷达上单元、ADC进行操控,不需进行杂乱的雷达数据处理,不必对显存数据进行办理,不必操控发生高速的信号驱动显现器,然后大大减轻了处理器的担负,加上DMA传输的运用,处理器只需求处理DMA传输的恳求和传输完结中止,然后使处理器从深重的数据传输中解脱了出来。经过以上方法,处理器的担负现已变得很轻,使得较低的处理器速度即可处理体系的使命。并且显现操控由FPGA硬件完结还有个长处是,使得显现器分辨率的巨细对处理器的担负影响很小,然后在处理器较低的情况下,相同可以支撑大屏幕的图画显现。
3体系硬件规划
SOPC体系的硬件规划包含两层意义,一个是SOPC所依靠的硬件渠道,另一个是在FPGA内部建立的SOPC软件所依靠的硬件环境。
本规划中,SOPC所依靠的硬件渠道如图2所示:
FPGA内部建立的SOPC硬件渠道如图3所示:
其间,雷达数据收集和处理、显现操控器、DMA模块是为完本钱规划而特别定制的模块。下面侧重介绍以上3个模块。
3.1 雷达数据收集及处理模块规划
雷达数据收集及处理模块首要由总线接口操控、操控台、雷达上单元操控、ADC操控、雷达数据处理5部分组成,其内部框图如图4中虚线部分所示:
总线接口操控模块担任与处理器总线进行交互,它有必要遵从处理器总线通信协议,包含传输恳求、应对、数据传输、中止恳求。这部分协议由渠道发生,用户只需进行相关的装备。
操控台担任ADC操控模块、雷达上单元操控模块、雷达数据处理模块的操控。详细包含:将相关用户操控信息交给ADC操控模块,对ADC的作业状况进行操控;读取雷达上单元操控模块的信息,将它交给总线操控接口模块,并从总线接口操控模块取得雷达上单元相关的操控信息,送到雷达上单元操控模块;将雷达数据处理相关的信息交给雷达数据处理模块,作为雷达数据处理的参数。
雷达上单元操控模块担任对雷达上单元的操控,包含雷达上单元的初始化、自检,设置雷达脉冲频率、脉冲宽度、转速等,并实时地向操控台供给雷达上单元的作业状况信息。
雷达数据处理模块的内部处理流程如图5所示。雷达数据处理模块从操控台获取数据处理的相关参数,对雷达上单元的数据进行以下处理:对雷达的方位角脉冲信号进行提取,计算出雷达当时的方位角;对采样后的雷达回波信号进行内插/抽取、滤波、增益操控、极坐标到直角坐标改换处理。
3.2 显现操控器规划
显现操控器相当于一块独立显卡,其内部如图6中所示,首要由5个模块组成,分别为处理器总线接口操控模块、指令译码模块、显现接口操控模块、数据缓存模块和显存操控模块。
指令译码模块首要担任:从总线接口操控模块取得处理器指令和数据,并对指令进行译码,将译码成果和数据送给显现接口操控模块和显存操控模块;将显现接口操控模块和显存操控模块的作业状况信息送给总线接口操控模块。
显现接口操控模块受指令译码及操控模块操控,与显存操控模块进行和谐,从数据缓存区获取数据,操控发生显现器接口时序,驱动显现器描绘图画。
数据缓存模块完结对显存数据的预取。在每个行同步时隙,显现接口操控模块向显存操控模块宣布预取显存数据的恳求,显存操控模块将相应地址上的显存数据读出,放到数据缓存区。因为显现接口操控的时钟和显存操控的时钟一般不一样,设置这个数据缓存区,确保显现接口操控模块可以及时取得显存的数据。
显存操控模块担任显存数据的办理,依据指令译码成果,对显存中的数据进行铲除、读写、更新等操作,并合作接口操控模块,将显存数据读出,写入显存数据缓存区。
3.3 DMA传输规划
一般说来,DMA传输相关的寄存器包含传输的源地址、意图地址、作业形式、数据长度、DMA中止形式。本规划运用Xilinx的中心DMA操控器(XPS Central DMA Controller) [5],它是一个单通道的支撑外设到外设、外设到内存、内存到外设、内存到内存的DMA,其内部结构框图如图7所示。运用该DMA操控器,需求装备以下寄存器:
软件复位寄存器(RST):用于对DMA操控进行软件复位;
DMA操控寄存器(DMACR):设置DMA的作业形式;
源地址(SA):DMA传输的源地址;
意图地址(DA):DMA传输的意图地址;
长度(LENGTH):DMA传输的数据长度;
中止使能寄存器(IER):设置是否使能DMA传输过错或传输完结时发生中止。
本规划中,将DMA的作业形式设定为数据源地址固定,意图地址递加,源地址为雷达数据收集及处理模块的数据发送寄存器的地址,意图地址设置为内存的地址,长度设置为坐标改换后一条雷达扫描线上的点数1024Bytes,DMA传输完结中止使能。
4体系软件规划
软件规划首要分为三部分,linux内核的移植,模块驱动的开发,雷达GUI软件的开发和移植。
将linux体系移植到自己定制的SOPC硬件渠道上包含以下几个过程[5][6]:
规划SOPC硬件渠道。运用XPS开发环境,规划自己的SOPC体系硬件渠道,并导出软件开发依靠的硬件渠道信息文件;
生成设备树内核编译所需的设备树信息文件(后缀名为.dts)。运用SDK开发环境,结合Xilinx的设备树(Device-tree)脚本和XPS生成的硬件渠道信息,生成板级支撑包和设备树信息文件;
编译内核。将设备树信息文件拷贝到linux内核源代码/arch/microblaze/boot/dts目录下,依据硬件渠道信息装备并编译内核,生成内核镜像文件;
运转内核。将内核镜像文件下载到装备的硬件渠道上,完结linux体系的移植。
内核移植完结之后,进行雷达数据收集和处理模块、显现操控器模块驱动的开发。Linux下设备驱动的开发包含以下过程:
(1)设备驱动程序的注册和刊出;
(2)界说file–operations结构,规划所要完结的文件操作, 完结体系调用和驱动程序的相关;
(3)完结所需的文件操作调用,如open,read,write等;
(4)假如运用中止,运用request–irq向内核注册;
(5)编译该驱动程序到内核中,或运用insmod指令加载模块。
最终是进行雷达GUI软件的开发和移植。运用QT开发环境规划雷达用户界面,并移植到SOPC体系中linux操作体系下。
5体系调试和测验
本规划中,运用FPGA硬件逻辑模仿发生雷达回波信号和方位角信号,ADC的采样速率为100MHz,采样位宽为8bits,microblaze软核处理器主频为100MHz。雷达数据收集及处理模块对模仿的雷达信号进行收集和相关处理后,由DMA通道存储到内存傍边,雷达GUI软件完结雷达图画的制作。