0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用CPLD+FLASH方案的可重构配置方法

电子设计 来源:郭婷 作者:电子设计 2019-06-10 08:17 次阅读

基于软件无线电的某机载多模式导航接收机能较好地解决导航体制不兼容对飞行保障区域的限制,但由于各体制信号差异较大,各自实现其硬件将相当庞大,若对本系统中数字信号处理的核心FPGA芯片使用可重构的配置方法,将导航接收机的多种模式以时分复用的方式得以实现,可以重复利用FPGA的硬件资源,达到了缩小体积,减小功耗,增加灵活性和降低系统硬件复杂程度等目的。本系统中的核心器件是新一代高档FPGA,适合于计算量大的数字信号处理,包含实现数字信号处理的DSP块、数字锁相环、硬件乘法器以及各种接口等多项技术,支持远程更新,但其配置数据大,实现较为复杂。采用CPLD+FLASH方案,有效的解决了这一问题。

1 FPGA及其可重构技术简介

现代高速度FPGA运行时需将其配置数据加载到内部SDRAM中,改变SDRAM里面的数据,可使FPGA实现不同的功能,即所谓的可重构技术。可重构技术包括静态系统重构和动态系统重构。在FPGA处于工作状态时对其部分配置数据进行更改称为动态配置,否则称为静态配置。由于本系统在工作时需要改变整个FPGA功能,所以采用静态配置。这种配置是完全的,它对整个FPGA的功能、参数完全更改,而且其引脚功能也被更改。

系统的关键部件为一片高档密度FPGA EP2S30,其要求的一次配置数据达1.205MBytes,故其配置采用“Flash存储器+CPLD主控器”的方案。

EP2S30支持5种配置方案,即AS(Active Serial)模式、PS(Passive Serial)模式、FPP(Fast Passive Parallel)模式、PPA(Passive parallel Asynchronous)模式和JTAG配置模式等。为缩短配置时间,本系统采用FPP模式,配置数据不压缩,使各配置数据长度一致,以便于分配Flash存储空间,且只需要同数据率相同的时钟信号。

2 可重构系统硬件设计

2.1 芯片介绍

2.1.1 FPGA芯片

采用Altera公司StratixⅡ系列FPGA,具有多达33880个等价逻辑单元(LE)和13552个自适应逻辑单元(ALM),支持可编程片上系统(SOPC),有多达1369Kbits片上RAM,支持NIOS嵌入式处理器,片上有多达16个DSP块和64个18位×18位硬件乘法器以及6个PLL模块,支持远程更新。其片内资源完全可以实现系统所需的数字下变频(DDC)、幅度调制与解调、方位和距离脉冲形成以及控制信号的产生等。但其配置数据达1.205MBytes,要完成多模式可重构配置,其配置数据存储器必须有足够大的空间。

2.1.2 Flash芯片

为实现快速配置,综合存储容量、工作电压以及等各方面的要求,Flash芯片选用AMD公司AM29LV065,其为8M×8bits Flash存储器,内部被分为128个64Kbytes扇区,可以存储6套配置方案数据。支持3.3V电压读写和擦除,支持扇区擦除和整片擦除,这一特性有利于实现某一配置数据单独更改。地址不变时能自动进入休眠状态,将数据锁存,从而减小功耗。

2.1.3 控制芯片

控制芯片采用Altera公司MAX7000AE系列CPLD EPM7064A,其具有ISP功能,为3.3V内核,IO口灵活方便,避免了采用单片机作为控制芯片时IO口不够用的问题。

2.2 硬件连接

配置系统硬件连接如图1所示。

采用CPLD+FLASH方案的可重构配置方法

配置系统中配置主控制器EPM7064A是整个配置系统的核心,它在数据加载过程中与PC机通讯,产生Flash命令控制字并将配置数据写入Flash存储器,同时对Flash存储空间进行自动分配;在配置过程中根据系统的配置模式控制信号将Flash中的数据读出并配置到FPGA中,同时完成FPGA配置所需的时序,并检测FPGA的状态,若配置成功进入休眠状态以节省功耗,若配置不成功将对FPGA进行复位并重新配置。

为简化CPLD的控制时序,便于对FPGA进行自动配置,将Flash的存储空间按顺序划分为6个块,分别存储6个配置数据。每个块包含20个扇区,1.25MBytes存储空间。

3 CPLD控制部分软件设计与实现

3.1 EPM7064A的Verilog HDL描述

EPM7064A是整个配置电路的核心,它完成Flash配置数据的加载和配置时序的产生。按照由上至下的进行设计,将其分成三个主要功能模块,即数据加载过程中与PC机通讯的UART模块、写Flash时序产生模块和配置时序产生模块,分别由Verilog HDL硬件描述语言实现。

数据加载过程中,EPM7064A的UART模块与PC机通讯,同时产生Flash编程控制字,将PC机送来的数据写入指定的块。其主要工作过程是串口模块接收到一个字节数据后,其DATARDY有效,触发Flash写模块先将三个控制字数据AA、55、A0写入Flash,然后将接收到的数据写入Flash。写Flash仿真时序图如图2所示。

采用CPLD+FLASH方案的可重构配置方法

数据读取和配置时序模块的主要程序代码如下:

采用CPLD+FLASH方案的可重构配置方法

程序代码在QUARTUSⅡ6.0下的仿真时序如图3所示。其简要工作过程是,外部conf_start信号启动一次配置,EPM7064A将nCONFIG和nSTATUS信号拉低,FPGA进入复位状态,根据mode取得相应的Flash初始地址,复位完成FPGA将nSTATUS释放,延时大约100us后EPM7064开始给FPGA提供时钟和数据,直到将配置数据全部写入FPGA,配置完成后FPGA将CONF_DONE释放,表明配置完成,FPGA进入初始化状态,经过内部初始化后,INIT_DONE变高,表明FPGA进入工作状态,各引脚将根据用户定义的状态工作。若配置过程中nSTATUS被FPGA拉低,则表明有配置错误,重新进行配置,在任何工作状态下外部指令都可以再次启动配置。

采用CPLD+FLASH方案的可重构配置方法

3.2 配置文件的获取

在FPGA的工程设计编译后产生的.pof和.sof文件只能直接用于在PS模式下对FPGA进行配置,要用Flash存储配置数据,需要将配置数据转换成.hexout或.hex格式,QUARTUSⅡ6.0提供两种方法得到所需的文件,一是编译时改变编译选项自动生成所需文件,二是将已有配置文件转换为所需文件格式。

4 结束语

将可重构配置方法成功应用于某导航接收机中,充分利用了硬件资源。这种可重构配置方法能根据指令自动更改FPGA配置程序,重构系统功能,实现了多模式导航体制融为一体,系统灵活性和可扩展性大大增强,以较低的成本实现复杂系统,具有一定的工程实用价值。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21326

    浏览量

    593242
  • 无线电
    +关注

    关注

    58

    文章

    2070

    浏览量

    115100
  • 导航
    +关注

    关注

    7

    文章

    502

    浏览量

    41501
收藏 人收藏

    评论

    相关推荐

    FPGA重构设计的结构基础

      重构设计是指利用重用的软、硬件资源,根据不同的应用需求,灵活地改变自身体系结构的设计方法。FPGA器件可多次重复配置逻辑的特性使
    发表于 05-27 10:22

    FPGA的重构方式

    需要特定的基于SRAM或FLASH结构的新型FPGA的支持。随着其产品和技术的相对成熟,动态重构FPGA的设计理论和设计方法已经逐渐成为新的研究热点。  根据实现重构的面积不同,
    发表于 05-27 10:22

    基于FPGA的重构系统结构分析

      由于重构系统的研究历史很短,目前尚未形成标准的结构形式,在此仅根据已有的应用做初步分析。  按重构的粒度和方式,重构系统可以粗略地分
    发表于 05-27 10:24

    cpldflash配置fpga

    用vhdl实现cpld配置fpga,配置成功后在usermode下设置一个重新配置信号,当信号有效时对fpga进行重新配置;fpga
    发表于 01-17 22:35

    CPLD控制读取外部配置flash的问题

    本人新手,在设计一个cpld的控制电路,需要从flash中读取数据传送给其他模块。由于数据量比较大,cpld内部的flash容量不够,需要在外部配置
    发表于 07-31 11:23

    采用FPGA实现重构计算应用

    重构计算技术概述随着20世纪80年代中期Xilinx公司推出其第一款现场可编程门阵列(FPGA)以来,另一种实现手段——重构计算技术逐渐受到人们的重视,因为它能够提供硬件功能的效率
    发表于 07-29 06:26

    有什么FPGA重构方法可以对EPCS在线编程?

    。在当今快速发展的市场环境条件下,产品是否便于现场升级,是否便于灵活使用无疑是产品能否进入市场的关键因素,FPGA的重构设计显得尤为重要。目前,很多重构的设计方式都
    发表于 07-31 07:15

    如何采用FPGA部分动态重构方法设计信号解调系统?

    FPGA强大的资源和实时处理能力来快速的实现信号的跟踪、锁定和解调但是,基于硬件的实现方案和基于软件的方案相比,往往存在不能迅速适应调制样式改变的问题。为了有效斛决这个问题,笔者通过基下FPGA部分动态町重构技术,提出了相应的解
    发表于 09-05 07:08

    如何用CPLDFlash实现FPGA的配置

    本文介绍了通过处理机用CPLDFlash实现FPGA配置文件下载更新的方法
    发表于 04-28 06:11

    求一种高档FPGA重构配置方法

    求大神分享一种高档FPGA重构配置方法
    发表于 04-29 06:16

    用DSP实现CPLD方案现场可编程配置

    结合继电保护测试装置的研制体会,介绍基于DSP 的CPLD方案现场可编程配置方法,给出硬件的配置连接、
    发表于 04-15 08:50 29次下载

    用DSP实现CPLD方案现场可编程配置

    结合继电保护测试装置的研制体会,介绍基于DSP 的CPLD方案现场可编程配置方法,给出硬件的配置连接、
    发表于 05-18 14:33 16次下载

    使用CPLDFlash实现FPGA的配置

    本文介绍了通过处理机用CPLDFlash实现FPGA配置文件下载更新的方法。与传统的JTAG或PROM串行下载配置
    发表于 10-25 05:51 8299次阅读
    使用<b class='flag-5'>CPLD</b>和<b class='flag-5'>Flash</b>实现FPGA的<b class='flag-5'>配置</b>

    基于CPLD的FPGA快速动态重构设计

    随着FPGA的广泛应用, 其实现的功能也越来越多, FPGA 的动态重构设计就显得愈发重要。在分析Xilinx Vertex II Pro系列FPGA配置流程、时序要求的基础上, 设计了基于CPLD
    发表于 11-22 07:55 957次阅读
    基于<b class='flag-5'>CPLD</b>的FPGA快速动态<b class='flag-5'>重构</b>设计

    采用ARM和CPLD结构的检测系统可重构设计方法

    检测系统的可重构设计是检测技术的发展方向。可重构设计是指利用可重用的软硬件资源,根据不同的应用需求,灵活地改变自身体系结构的设计方法。对于检测系统而言,可重构可以分为软件可
    发表于 10-20 10:40 2041次阅读
    <b class='flag-5'>采用</b>ARM和<b class='flag-5'>CPLD</b>结构的检测系统可<b class='flag-5'>重构</b>设计<b class='flag-5'>方法</b>