基于软件无线电的某机载多模式导航接收机能较好地解决导航体制不兼容对飞行保障区域的限制,但由于各体制信号差异较大,各自实现其硬件将相当庞大,若对本系统中数字信号处理的核心 FPGA芯片使用可重构的配置方法,将导航接收机的多种模式以时分复用的方式得以实现,可以重复利用 FPGA的硬件资源,达到了缩小体积,减小功耗,增加灵活性和降低系统硬件复杂程度等目的。本系统中的核心器件是新一代高档 FPGA,适合于计算量大的数字信号处理,包含实现数字信号处理的 DSP块、数字锁相环、硬件乘法器以及各种接口等多项技术,支持远程更新,但其配置数据大,实现较为复杂。采用 CPLD+FLASH方案,有效的解决了这一问题。
1 FPGA及其可重构技术简介
现代高速度 FPGA运行时需将其配置数据加载到内部 SDRAM中,改变 SDRAM里面的数据,可使 FPGA实现不同的功能,即所谓的可重构技术。可重构技术包括静态系统重构和动态系统重构[1]。在 FPGA处于工作状态时对其部分配置数据进行更改称为动态配置,否则称为静态配置。由于本系统在工作时需要改变整个 FPGA功能,所以采用静态配置。这种配置是完全的,它对整个 FPGA的功能、参数完全更改,而且其引脚功能也被更改。
系统的关键部件为一片高档密度 FPGA EP2S30,其要求的一次配置数据达1.205MBytes,故其配置采用“Flash存储器+CPLD主控器”的方案。
EP2S30支持5种配置方案,即AS(Active Serial)模式、PS(PassiveSerial)模式、FPP(FastPassive Parallel)模式、PPA(Passive parallel Asynchronous)模式和JTAG配置模式等。为缩短配置时间,本系统采用FPP模式,配置数据不压缩,使各配置数据长度一致,以便于分配Flash存储空间,且只需要同数据率相同的时钟信号[2]。
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所示。
配置系统中配置主控制器 EPM7064A是整个配置系统的核心,它在数据加载过程中与 PC机通讯,产生 Flash命令控制字并将配置数据写入 Flash存储器,同时对 Flash存储空间进行自动分配;在配置过程中根据系统的配置模式控制信号将 Flash中的数据读出并配置到 FPGA中,同时完成 FPGA配置所需的时序,并检测 FPGA的状态,若配置成功进入休眠状态以节省功耗,若配置不成功将对 FPGA进行复位并重新配置。