FPGA_ASIC-FPGA自重构技术在雷达高度计中的应用

合集下载

FPGA_ASIC-基于FPGA的激光测距控制系统设计

FPGA_ASIC-基于FPGA的激光测距控制系统设计

基于FPGA的激光测距控制系统设计Design of Laser Distance Measurement Control System Based On the FPGA(1.中国科学院研究生院;2. 中国科学院空间科学与应用研究中心)谢志鹏1,2,卞春江2,孟新2Xie Zhipeng1,2 , Bian Chunjiang2 , Meng Xin2摘要:本文介绍一种基于FPGA和ARM9的激光测距系统的硬件原理设计和软件设计方案。

该方案采用SICK公司的户外型激光传感器LMS221,和ALTERA公司cyclone系列的EP1C12Q240I7 FPGA芯片。

控制系统采用ARM+FPGA的结构,系统运行嵌入式Linux操作系统,从而保证系统可以灵活的实现高速数据采集和实时数据传输。

关键词:FPGA 激光测距 LMS221 UART中图分类号: TP212 文献标识码:AAbstract: This paper covers the design of circuit principle and software design of laser distance measurement system which is based on FPGA and ARM9. In the design the LMS221 outdoor laser sensor from SICK and FPGA EP1C12Q240I7 of cyclone from ALTERA are used. The design uses ARM+FPGA system and embedded Linux operating system which could flexibly realize high speed data acquisition and real-time transmission.Key words: FPGA, laser distance measurement, LMS221, UART1. 引言随着科技的发展,具有高亮度、高方向性、高单色性等优点的激光很快就应用于各类测量领域。

基于FPGA的激光雷达SLAM测绘设计与实现

基于FPGA的激光雷达SLAM测绘设计与实现

基于FPGA的激光雷达SLAM测绘设计与实现激光雷达(SLAM)是一种基于激光传感器的实时定位与地图构建技术,它可以通过激光雷达扫描环境,利用激光点云数据实时确定机器人的位置,并构建实时地图。

激光雷达SLAM在无人驾驶车辆、机器人导航、智能家居、工业自动化等领域有着广泛的应用。

而基于FPGA的激光雷达SLAM测绘设计与实现,可以提高系统的实时性和性能,为激光雷达SLAM系统的发展带来新的机遇和挑战。

一、激光雷达SLAM原理激光雷达SLAM系统通常包括三个部分:传感器数据采集、实时定位与建图、环境地图更新与优化。

传感器数据采集是指通过激光雷达获取环境的三维点云数据;实时定位与建图是指通过激光点云数据实时确定机器人的位置,并构建实时地图;环境地图更新与优化是指对已建立的地图进行更新和优化,以适应环境的动态变化。

基于FPGA的激光雷达SLAM系统设计可以充分发挥FPGA在并行计算和实时处理方面的优势,提高系统的实时性和性能。

一般来说,基于FPGA的激光雷达SLAM系统设计包括三个关键步骤:激光雷达数据采集与预处理、实时定位与建图计算、环境地图更新与优化。

在激光雷达数据采集与预处理阶段,需要通过FPGA实时采集激光雷达的点云数据,并进行预处理,包括数据滤波、去噪、坐标变换等。

这些预处理操作需要高速、实时地完成,而FPGA可以提供高度并行的计算能力,能够满足实时性要求。

在实时定位与建图计算阶段,需要对激光雷达的点云数据进行特征提取、匹配和位姿估计,以实现对机器人位置的实时定位和地图的实时构建。

这些计算需要高度的并行性和实时性,而FPGA的并行计算能力和低延迟特性,能够满足这些要求。

在环境地图更新与优化阶段,需要对已建立的地图进行增量式更新和全局优化。

这一过程涉及大量的数据处理和计算,而FPGA提供的高度并行的计算能力和实时处理能力,可以显著提高地图更新和优化的效率和性能。

基于FPGA的激光雷达SLAM系统设计可以有效提高系统的实时性和性能,适应激光雷达SLAM系统在无人驾驶车辆、机器人导航等领域对实时性和性能的要求。

基于FPGA的激光雷达SLAM测绘设计与实现

基于FPGA的激光雷达SLAM测绘设计与实现

基于FPGA的激光雷达SLAM测绘设计与实现激光雷达(Lidar)是一种使用激光束来测量相对于雷达位置的物体距离的传感器。

SLAM(Simultaneous Localization and Mapping)是一种用于自主机器人导航的技术,可以同时实时地在未知环境中定位机器人并构建地图。

本文将介绍基于FPGA的激光雷达SLAM测绘的设计与实现。

在设计过程中,需要使用到的硬件是FPGA(Field Programmable Gate Array)和激光雷达传感器。

FPGA是一种可编程逻辑器件,可以根据需要编程实现不同的功能。

激光雷达传感器用于测量机器人周围环境的距离。

我们需要确定SLAM算法的选择。

常见的SLAM算法有扩展卡尔曼滤波器(EKF)算法和粒子滤波器(PF)算法。

选择合适的算法是设计的基础。

EKF算法适用于环境中存在高斯噪声的情况,而PF算法则适用于非线性噪声状况。

接下来,我们需要设计FPGA的逻辑电路。

FPGA可以实现激光雷达的数据采集和处理功能。

FPGA需要接收激光雷达传感器的数据,并将其转换成数字信号。

然后,FPGA可以使用SLAM算法来处理这些数据,并生成机器人在环境中的实时位置和地图。

在实现过程中,需要考虑FPGA的计算能力和存储容量。

FPGA的计算能力决定了SLAM 算法的复杂度和实时性能,而存储容量则决定了FPGA能够处理的数据量。

合理选择FPGA 的规格能够满足系统的需求。

需要在FPGA上进行软件编程,并将硬件电路与软件逻辑结合起来。

通过软件编程,可以实现激光雷达SLAM测绘的算法和功能。

实现过程中,需要进行算法调试和性能优化,以确保系统的稳定性和实时性。

基于FPGA的激光雷达SLAM测绘的设计与实现是一个复杂而有挑战的任务。

通过合理地选择SLAM算法、设计FPGA的逻辑电路并进行软件编程,可以实现高效、实时的激光雷达SLAM测绘系统。

这将为自主机器人导航和地图构建提供重要的技术支持。

基于FPGA模型化设计的雷达信号处理的实现的开题报告

基于FPGA模型化设计的雷达信号处理的实现的开题报告

基于FPGA模型化设计的雷达信号处理的实现的开题报告一、研究背景随着雷达技术的不断发展,航空、导航、军事等领域中的雷达应用不断增加。

雷达信号处理是指对由雷达接收到的信号进行处理并提取出目标的信息的过程。

传统的雷达信号处理通常采用数字信号处理器(DSP)进行实现,但随着FPGA(Field-Programmable Gate Array)技术的发展,FPGA可编程性强、并行处理能力强,能够满足雷达信号处理实时性与复杂度的要求。

因此,本文将通过基于FPGA模型化设计的方式实现雷达信号处理的模块,以提高雷达信号处理的效率和实时性,并为雷达信号处理的研究提供一定的参考。

二、研究内容1. 雷达信号处理实现原理的研究本章将归纳总结当前常见的雷达信号处理算法,介绍基于FPGA实现雷达信号处理的原理及其优缺点。

2. 基于FPGA的雷达信号处理模块设计本章将对FPGA的可编程特性进行详细阐述,同时设计实现一个可以处理雷达信号的FPGA模块,设计过程中将包括对模块进行优化与测试。

3. 性能评估与结果分析本章将通过实验对FPGA模块进行性能评估和分析,并对模块的效率及实用性进行探讨。

三、研究意义随着雷达技术的不断发展和应用范围的不断扩大,雷达信号处理成为了一个重要的研究领域。

本文将通过利用FPGA的高可编程特性,设计出一个实时性能和精度皆可获得提升的雷达信号处理模块,为雷达信号处理研究提供一定的参考和模板,具有重要的理论和实践应用意义。

四、预期成果本文预计能够设计出一个可以在FPGA上实现雷达信号处理的模块,能够实现雷达信号的处理、数据传输、抗干扰和输出目标信息等功能。

同时,对模块进行测试和性能评估,得到满足工程实践需求的结果和理论分析。

五、研究方法本文主要采用文献调研、理论分析和实验研究等方法,通过对雷达信号处理算法和FPGA技术的理论研究,完成雷达信号处理的模块设计和实现,同时进行性能评估和结果分析。

六、研究计划安排1. 工作内容(1)学习雷达信号处理的基本算法和FPGA技术的相关知识。

基于FPGA的激光雷达SLAM测绘设计与实现

基于FPGA的激光雷达SLAM测绘设计与实现

基于FPGA的激光雷达SLAM测绘设计与实现激光雷达(SLAM)技术是当前自动驾驶、机器人导航、智能制造等领域的关键技术之一。

SLAM技术可以利用激光雷达传感器获取环境中的地图信息并定位自身位置,从而实现对环境的智能感知和导航。

在SLAM技术中,地图的构建和定位是两个核心问题,而现场实时数据处理是实现SLAM的关键挑战之一。

随着FPGA技术的不断发展和应用,基于FPGA的激光雷达SLAM测绘系统已经成为研究和应用的热点之一。

本文基于FPGA的激光雷达SLAM测绘系统进行了设计和实现,以期为相关领域的研究和应用提供参考。

一、激光雷达SLAM测绘系统的原理激光雷达SLAM测绘系统主要包括激光雷达传感器、地图构建模块、定位模块和导航模块。

激光雷达传感器用于获取环境中的地图信息,地图构建模块负责将激光雷达传感器获取的数据处理成地图,并实时更新地图信息,定位模块负责根据地图信息确定自身的位置,导航模块根据地图信息和自身位置实现智能导航。

二、基于FPGA的激光雷达SLAM测绘系统的设计1.激光雷达数据采集模块设计激光雷达数据采集模块主要包括激光雷达传感器数据接口设计、数据采集控制模块设计和数据存储模块设计。

利用FPGA器件实现激光雷达传感器数据接口设计,将激光雷达传感器获取的数据通过FPGA进行处理,并实现对激光雷达传感器数据的采集和控制。

同时利用FPGA内部存储器实现对激光雷达数据的实时存储,以便进行后续地图构建和定位处理。

2.地图构建模块设计地图构建模块主要包括地图数据处理模块、环境特征提取模块和地图更新模块。

利用FPGA器件实现激光雷达数据的处理和特征提取,将激光雷达数据转换成地图信息,并实时提取环境中的特征信息,同时实现地图信息的实时更新和存储。

3.定位模块设计定位模块主要包括自身位置确定和地图匹配模块。

利用FPGA器件实现对自身位置的确定和地图匹配处理,根据地图信息和激光雷达数据确定自身的位置,并实现地图信息和自身位置的智能匹配。

fpga在雷达信号处理中的设计与应用

fpga在雷达信号处理中的设计与应用

合肥工业大学硕士学位论文FPGA在雷达信号处理中的设计与应用姓名:***申请学位级别:硕士专业:微电子学与固体电子学指导教师:***20050301FPGA在雷达信号处理中的设计与应用摘要本文首先介绍了利用FPGA设计数字电路系统的流程和雷达数字信号处理的主要内容。

在第二章中主要阐述了FIR数字滤波器的窗函数设计方法,并应用FIR滤波器设计数字动目标显示和数字动晷标检测系统:脉冲压缩处理是现代雷达售号处理的一个重要组成部分,线性调频信号和二相巴克码的脉冲压缩处理方法在第三章做了重点描述。

cyclone系列芯片是高性价比,基于1.5V、0.13删采用铜制层的sRAM工艺。

它是第~种支持配旨数据解压的FPGA芯片。

论文设计的最后部分是利用A1tera公司cyclone系列FPGA芯片EPlc6F256c6和EPcs4配置芯片设计设计SD转换器,在QuartusIl4.0下采用VHDL语言和逻辑电路图结合的设计方法,经过仿真并最终实现了硬件设计。

设计结果表明电路性能可靠,sD转换的精度较高,完全满足设计的要求。

关键词:现场可编程门阵列,有限脉冲响应数字滤波器,数字脉冲压缩,SD转换器DesignandApplicationofFPGAinRDSPAbstractFirstly,thepaperintroducethebasicflowofDigitalCircuitsystemdesignbasedonFPGAandthebodycontentofRDSP(RadarDigitalSignalProcessing).Inchapter2,thepaperexpatiateonthedesignmethodofdigitalLow—passFIRfilterusedWindowFunction.Basedonthis,westudythemethodofdesignMTIandMTD.AsaRDSPdesignengineer,weknow£hatDPCisoneofthemostimportantpartsofmodernRDSEsothat,inchapter3,thepaperemphasizestointroducethesignalofLFMandPSKandhowtousethemtogiVebirthtoDPCsignal.Cyclonese“esarelowcostandbasedon1,5V:0.13“mall-1ayercopperSRAMprocessFPGAIC.CyclonesarethefirstFPGAstosupportdecompressionofconfigurationdata.AtlastofthepaperfocusesondesignofSDConVerterbasedonEPlC6F256C6FPGAICchipofAlteraCycloneseriesandconfigureICchipEPCS4.InQuartusII4.0,wecanuseVHDLandlogiccircuitdiagramtodesigndi西talcircuit.Thedesignresultindicatedthatnotonlythecircuitisreliablebutalsotheprccisionisveryhighviasoftwareandhardwafeemulation,andconlpletethedesignrequires.Keywords:FieldProgrammableGateArray;FiniteimpulseresponsedigitalfilterDigjtalpulsecompress:SDconverter前言现场可编程门阵列(FPGA,FjeldProgrammableGateArray)的出现是超大规模集成电路(VLsI)技术和计算机辅助设计(cAD)技术发展的结果,它以集成度高、体积小、具有通过用户编程实现专门应用的功能,有时也称为可编ASIC。

fpga在汽车雷达信号处理系统中的应用

fpga在汽车雷达信号处理系统中的应用

fpga在汽车雷达信号处理系统中的应用随着汽车工业的发展,雷达技术在汽车领域的应用也越来越广泛。

雷达可以通过发射电磁波并接收回波来检测车辆周围的障碍物和其他车辆,从而实现智能驾驶和自动驾驶。

而在雷达信号处理系统中,FPGA也扮演着重要的角色。

FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,可以根据用户的需求进行编程,实现各种功能。

在汽车雷达信号处理系统中,FPGA可以用于实现雷达的数字信号处理、滤波、目标检测和跟踪等功能。

FPGA可以用于雷达的数字信号处理。

当雷达接收到回波信号后,需要将其转化为数字信号进行处理。

FPGA可以通过数字信号处理算法对信号进行滤波、放大、调理等操作,以提高信号的质量和准确性。

同时,FPGA还可以通过数字信号处理算法对多个雷达信号进行合并,从而提高雷达系统的检测范围和灵敏度。

FPGA还可以用于雷达信号的滤波。

雷达系统会受到各种干扰和噪声的影响,这些干扰和噪声会降低雷达信号的质量和准确性。

因此,需要对雷达信号进行滤波处理,以消除这些干扰和噪声。

FPGA可以通过数字滤波器对雷达信号进行滤波,从而提高信号的质量和准确性。

FPGA还可以用于雷达系统的目标检测和跟踪。

当雷达系统检测到目标后,需要对目标进行跟踪,以确保车辆行驶安全。

FPGA可以通过计算机视觉算法对目标进行检测和跟踪,从而实现智能驾驶和自动驾驶的功能。

FPGA在汽车雷达信号处理系统中的应用是不可或缺的。

FPGA可以通过数字信号处理算法、数字滤波器、计算机视觉算法等方式对雷达信号进行处理和分析,从而提高雷达系统的检测范围、灵敏度和准确性。

随着汽车工业的发展和智能驾驶技术的不断升级,FPGA 在汽车雷达信号处理系统中的应用也将越来越广泛。

fpga在激光雷达中的作用

fpga在激光雷达中的作用

fpga在激光雷达中的作用随着现代科技的飞速发展,激光雷达技术已成为众多领域的关键传感器之一。

特别是在自动驾驶、无人机导航、机器人视觉等领域中,激光雷达发挥着不可或缺的作用。

而在这些应用中,FPGA(现场可编程门阵列)作为一种高度灵活且gao效的数字电路设计工具,扮演着至关重要的角色。

本文将深入探讨FPGA在激光雷达系统中的具体作用和优势。

一、激光雷达的工作原理与挑战激光雷达通过发射激光束并测量其反弹回来的时间来获取周围环境的信息。

然而,由于各种干扰因素的存在,如光源波动、接收器灵敏度变化等,如何准确无误地获取和处理数据一直是激光雷达系统的关键问题。

同时,为了满足不同场景下的性能需求,如速度检测、目标识别等,激光雷达还需要具备快速响应、高精度测距等功能。

二、FPGA的优势及其在激光雷达中的应用FPGA具有高速并行处理能力,能够实时对大量数据进行处理和分析。

这使得它成为解决上述问题的理想选择。

具体来说,FPGA在激光雷达中的作用主要体现在以下几个方面:1. 数据采集与预处理:FPGA可以gao效地收集和处理来自光学组件的原始数据,包括光强、角度等信息。

通过对数据的初步分析,可以有效去除噪声和干扰,为后续的处理提供高质量的数据源。

2. 算法加速:利用FPGA的高速运算能力,可以实现复杂算法的gao效执行。

例如,用于距离计算的光学三角法算法可以在FPGA上实现毫秒级的响应时间,大大提高了系统的实时性。

3. 可编程性与灵活性:FPGA支持用户根据实际需求进行逻辑设计和功能定制,从而满足了不同应用场景的需求。

此外,通过软件编程,用户还可以不断优化和升级激光雷达的性能。

4. 系统集成与扩展:FPGA强大的接口能力和模块化设计使其能轻松与其他硬件设备进行集成,从而实现复杂的系统功能。

同时,通过使用多片FPGA,还可实现系统的扩展和升级,以满足未来技术的发展趋势。

5. 提高安全性与可靠性:FPGA的高可靠性和稳定性确保了激光雷达系统的安全运行。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FPGA自重构技术在雷达高度计中的应用Self-reconfiguration based on FPGA utilized in radar altimeter(1.中国科学院研究生院 ;2. 中国科学院空间科学与应用研究中心)周小鹏1,2,许可2Zhou Xiaopeng , Xu Ke摘要:新一代高精度雷达高度计具有低分辨率工作模式和SAR工作模式两种方式,这两种方式的硬件工作时序是不同的,FPFA的动态可重构技术为实现这两种工作时序的切换提供了有效的手段。

本文采用FPGA动态重构技术,进行了高精度雷达高度计工作时序的设计和实验验证,结果表明采用本文的方法可以正确实现高精度高度计两种硬件工作时序的切换。

关键词:FPGA;自重构;雷达高度计;定时单元中图分类号: TP732.1 文献标识码:AAbstract: New generation radar altimeter with high precision works in both low resolution mode and SAR mode, and the two modes need different timing circuits which can be switched without interrupting other operation. In this paper, the dynamic self-reconfiguration based on FPGA is utilized in the design for the altimeter control unit, and by which the different timing control can easily be realized for the two modes of altimeter. A demonstration circuit has been developed and the results show that this method is viable for the high precision radar altimeter. Key words:FPGA, Self-reconfiguration, Radar Altimeter, Timing unit1. 引言卫星雷达高度计是用于海洋动力环境测量的重要仪器,能够进行海面高度、有效波高和海面风速测量,其数据进一步反演的结果可以应用于海洋地球物理学、海洋动力学、海洋气候与环境以及海冰监测等方面。

目前新一代高精度雷达高度计(又称延迟多普勒高度计)将孔径合成技术引入到传统雷达高度计中,可以有效地提高传统雷达高度计的测高精度和测量分辨率[1]。

高精度高度计有两种工作模式:SAR测量模式和低分辨率测量模式。

这两种工作模式的工作时序是不同的,前者的雷达脉冲重复频率一般为14KHz左右,而后者的雷达脉冲重复频率为2KHz左右,与之相关的微波开关控制时序也随之不同[2]。

卫星在轨工作的时候,高精度高度计的两种工作模式根据测量区域的要求进行切换,并要求在仪器硬件时序切换的同时不影响仪器其他部分的正常工作。

为实现高精度高度计两种工作模式的转换,本文研究了基于FPGA的重构技术,设计了基于FPGA自重构技术的高度计控制单元,同时进行了实验验证。

2. 基于FPGA的重构技术目前基于FPGA的重构技术广泛应用在SOC设计[3]、超大规模集成电路仿真[4]、机器人控制系统[5]中。

基于FPGA的可重构技术在航天器设计中也有应用,NASA和ESA对此也有研究[6]。

FPGA动态部分重构是指FPGA中不被重构的部分在正常工作的情况下,重构部分通过改变配置数据从而改变该部分的功能。

实现FPGA动态重构的方法有:基于差异的设计方法、基于对位流文件操作的方法、基于模块化的方法。

对Xilinx的virtex-4系列FPGA,需要使用EAPR流程[7]。

EAPR流程的完整步骤是:(1) 设计的描述及综合;(2)添加约束,也称为初始预算; (3) 使用FPGA标准流程进行布局布线;(4)对实现结果进行时序验证; (5)时序验证正确的情况下,对静态模块进行布局布线; (6) 对动态模块进行布局布线; (7)合并静态模块和动态模块布局布线结果,并生成完整配置文件和部分配置文件。

自重构是动态重构的发展,要求FPGA上静态模块中有一部分逻辑用来控制重构部分重构,因此自重构本质上就是动态重构加自控制,自重构技术需要把EAPR设计流程和FPGA的嵌入式设计方法结合起来。

在Xilinx的嵌入式设计工具EDK中,使用EAPR流程实现自重构有以下几个特点:(1)PR模块的不同设计均作为用户IP来设计;(2)综合PR模块前,修改peripheral_xst.prj文件;(3)修改顶层模块,在顶层文件中直接例化 DCM和bufg;(4)在EDK shell里,重新综合修改后的顶层模块;(5)静态模块实现时,通过*.bmm文件完成软件在硬件上的映射。

3.自重构雷达高度计控制单元设计分析高精度雷达高度计的数字控制系统比传统雷达高度计要更加复杂。

其两种工作模式所需的硬件工作时序,如发射控制脉冲、接收控制脉冲、脉冲重复频率以及发射脉冲宽度等是完全不同的。

如果把低分辨率模式和SAR模式的定时单元采用重构技术来设计,则可以很方便的实现二者的切换,在FPGA中可以采用静态重构或动态部分重构来实现这个目标。

静态重构和动态部分重构两种方法相比,动态部分重构有如下优势:(1)可以保证FPGA 非重构的部分持续工作,即采用这种重构方式可以保证非重构模块不间断工作。

例如该模块中集成的与卫星通讯单元可以持续不间断工作。

(2)缩短重构所用时间。

重构时间的大小由重构配置数据的大小决定,如果只重构定时单元,采用动态部分重构方法可以使重构数据很小。

采用动态部分重构,可以选择两种配置控制方式:一种是使用CPLD或微处理器在FPGA 片外进行配置控制;另一种采用状态机或FPGA内部处理器控制本片FPGA部分配置,即自重构方式。

跟片外控制相比,自重构方式可以省去使用CPLD或片外微处理器,从而减小板卡的面积。

另外,自重构方式由于采用内部配置访问端口ICAP,配置速度更高。

基于上述分析,本文设计中采用自重构方式来实现高精度高度计不同工作模式下工作时序的动态切换。

4.基于自重构技术的雷达高度计控制模块的实现4.1 硬件设计采用处理器的自重构硬件平台由以下几部分组成:重构单元、处理器控制单元、调试单元、ICAP控制单元和存储单元。

其中重构单元在FPGA运行过程中会根据需要进行重构;处理器控制单元接收并处理用户指令,读取片外存储器上的重构配置数据,写配置数据到ICAP控制单元;调试单元用来让用户输入重构命令,输出FPGA工作状态信息,在实际系统中这个单元可以替换为用户接口单元;ICAP控制单元完成处理器总线和ICAP的接口,实现处理器对ICAP的读写控制;存储单元用来存储部分重构数据,也可以用来存储完整配置数据。

设计中,自重构控制采用FPGA片内所含有的硬核处理器Power pc405实现。

硬件平台如图1所示。

图1 硬件系统框图在图1中,除了可重构时序控制单元外,其他部分均属于静态模块。

其中DCM用来产生处理器和总线所需的不同的频率,设计中处理器时钟频率为200MHz,总线时钟频率为100MHz;Powerpc405是FPGA内嵌的硬核处理器;IRAM和DRAM分别是指令存储器和数据存储器;plb和opb分别是处理器本地总线和片上外设总线,两个总线通过Plb2opb桥连接;UART是串口控制器,使Powerpc405通过RS232与本地PC机通信,用来调试使用,本设计中波特率设置为19200;HWICAP是ICAP(内部配置访问端口)控制器,用来访问ICAP,实现读回和装载配置数据功能; memory用来存放配置数据,包括完整配置数据和部分配置数,该设备是FPGA片外设备。

可重构时序控制单元是本实验中的动态模块,分别实现两组不同的发射/接收控制脉冲和开关时序。

这些控制信号通过总线宏输出到FPGA端口。

4.2 软件设计硬件平台设计完成后,生成System.bit、All_r.bit、All_l.bit三个配置文件。

System.bit 是完全配置文件,在FPGA上电时对FPGA进行配置。

后面的两个文件都是部分配置文件,只包含重构时序控制单元的配置数据。

FPGA上电后,Powerpc405处理器上开始运行主程序,主程序流程图如图2(a)所示。

当处理器接收到命令字1或者2时,程序进入写数据到ICAP子程序中,该子程序流程图如图2(b)所示。

图2 程序流程图在写数据到ICAP子程序中,首先检测配置数据头,以便得到文件头的长度和配置数据的长度。

配置文件的头由下面的数据组成:magic word、字符0001、字符a、design name、字符b、part name、字符c、date、字符d、time、字符e、配置数据的长度。

为了检测配置数据头,定义了结构体:XHwIcap_Bit_Header, 定义如下:typedef struct{ Xint32 HeaderLength; /* Length of header in 32 bit words */Xuint32 BitstreamLength; /* Length of bitstream to read in bytes*/Xuint8 *DesignName; /* Design name read from bitstream header */Xuint8 *PartName; /* Part name read from bitstream header */Xuint8 *Date; /* Date read from bitstream header */Xuint8 *Time; /* Bitstream creation time read from header */ Xuint32 MagicLength; /* Length of the magic numbers in header */ } XHwIcap_Bit_Header;检测完配置数据头后,从第一个配置数据开始,每次读取128个字数据,然后写入HWICAP 的BRAM。

当该BRAM满,即写入512个字时,数据被写入配置寄存器。

重复执行,直到配置数据结束,返回主程序。

4.3 验证及实验结果分析实验验证的板卡上包括一片xc4vfx20型FPGA, Xilinx的compact flash,一个9针RS232接头,一组16针的排针。

相关文档
最新文档