2.4 用单片机配置FPGA的过程
FPGA器件上电以后,开始配置过程的复位、配置和初始化3个阶段,然后进入用户状态。以配置FLEX10K10为例,图3为PS模式下使用单片机配置FPGA的时序图。
配置过程如下:①MCU的P1.7引脚产生一个tCFG≥μs的低电平给FPGA的nCONFIG引脚使FPGA复位,200 ns后nSTATUS和CONF_DONE同时跟随变为低电平;FPGA的I/O端口为高阻状态,RAM被清除。②MCU的P1.7引脚产生上跳变时开始配置,FPGA退出复位状态,4μs后nSTATUS被释放并被上拉电阻拉高,FPGA准备接收数据进入配置阶段。设置MCU的串口工作方式为O,单片机检测到nSTATUS由低跳到高后,读取配置数据(从U盘读取或上电时先将配置数据从U盘读到SRAM62255)由RXD送到FPGA的DATA0(注意低位LSB先送出);MCU的TXD接收FPGA的DCLK以提供时钟信号,配置数据足在DCLK上升沿被移位入FPGA的,全部配置数据移入FPGA直到CONF_DONE变为高电平,配置阶段结束。若CONF_DONE没有变为高电平,则需要重新配置。③初始化阶段,持续O.6~2μs。不同的FPGA器件,持续时间不等。A1tera公司的Quartus II开发工具生成配置文件时,对于不同的目标器件和配置方式已经添加了相应的空DCLK。软件设计使微处理器提供配置所需的时序和串行传送配置数据,以及对配置进行监测,从而实现配置过程。软件设计流程如图4所示。
3 结论
FPGA器件的配置技术犹如集成电路制造中的流片,是非常重要的一个环节。用单片机配置FPGA器件与用专用器件相比,具有成本低、保密性好、可升级、可实现多任务电路结构重构(符合软件无线电思想)等特点,本设计具有创新性,硬件设计简单可靠,且成本低,易于实现,是确保FPGA安全性和保密性的一种方法,在金融等关系到国家利益的场合具有重大实用价值。