新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 嵌入式系统中从串配置FPGA的实现

嵌入式系统中从串配置FPGA的实现

——
作者:时间:2007-10-22来源:电子世界收藏

  本文主要论述在ARM系统中如何实现从串配置的方法,将系统程序及配置数据存储在系统Flash中,利用ARM的通用I/O口产生配置时序,省去专用的配置PROM。

  文中ARM微处理器采用samsung公司的ARM7TDMI系列中的S3C4480X,采用xilinx

  公司spartan3E系列中的XC3S100E,详细讨论的从串配置的时序,同时论述S3C4480X从串配置spartan3E系列FPGA的软、硬件实现方法。实践证明,该方法在成本、体积、灵活性上均具有优势,将此方法应用在系统中具有很强的实用价值。

  引言

  基于ARM微处理器技术的应用已经得到了广泛、深入的应用,包括工业控制领域、网络应用、消费类电子产品、成像和安全产品等领域。

  FPGA通过把设计生成的数据文件配置到芯片内部的SRAM完成其逻辑功能,具有可重复编程性,可灵活实现各种逻辑功能,FPGA的这种特性使其在现代电子系统设计中得到了广泛应用。

  基于SRAM工艺的FPGA是易失性的,系统掉电后SRAM内的数据将全部丢失,需要外接ROM保存其配置数据,系统每次上电时必须重新配置数据才能正常工作。通常设计时采用两种方案保存SRAM内的数据,一是使用专用的PROM,Xilinx公司的XCFxx系列PROM提供FPGA的配置时序,上电时自动加载PROM中的配置数据到FPGA的SRAM中;另一种是在含有微控制器的系统中,如系统,采用其他非易失性存储器来存储配置数据,如EEPROM、FLASH等,微控制器模拟FPGA的配置时序将ROM中的数据置入FPGA中。与前面一种方案相比,在对成本和体积敏感的系统中,该方案更适用。

  从串配嚣原理

  1.从串配置原理

  Xilinx公司的Spartan3E系列FPGA采用90nm工艺的2.5V低电压FPGA芯片,高性能、低功耗、可无限次编程。XC3S100E总门数达10万门,可采用从串、主串、从并、主并、JTAG等方式进行配置,与从串配置相关的引脚功能及配置如下:

  ①M[2:O]:配置模式选择位。M2,M1,M0均接上拉电阻,即M[2:O]=111时为从串模式。

  ②CCLK:配置时钟位,由微处理器提供,上升沿有效。

  ③DIN:串行数据输入位。

  ④DOUT:串行数据输出位,用于菊花链式配置。

  ⑤)PROG_B:低电平异步复位FPGA内部逻辑位。内部配置Memory完全复位后,该引脚指示高电平,此时才能配置FPGA。

  ⑥ INIT_B:由低电平到高电平跳变时,采样配置模式选择位M[2:0],确定配置方式;配置过程中若出现配置错误,INIT_B将呈现低电平。

  ⑦DONE:复位时为低电平,配置成功,则为高电平。

  2.微处理器从串配置FPGA的时序

  FPGA的配置过程:

  ①系统上电后,将PROG_B置为低电平,复位FPGA内部逻辑重新配置FPGA,延时100 μs充分复位内部逻辑后,将PROG_B置为高电平。

  ②INIT_B保持低电平,将PROG_B置高电平大于300ns后,FPGA将INILB置为高电平,在INIT_B由低向高跳变的瞬间,采样配置模式选择位M[2:0],采用从串配置模式。

  ③FPGA采样配置模式后,微处理器开始配置FPGA时钟CCLK和数据,在CCLK的每个上升沿,每bit数据被传入到DIN,数据字节先发低位,再发高位,配置过程中若发生错误,则INIT_B呈现低电平。

  ④所有配置数据传送完成,CRC校验无误,则DONE呈现高电平,否则为低电平。

  ⑤DONE为高后,FPGA释放全局三态(GTS),激活IO管脚,释放全部置位复位(GSR)和全局写使能(GWE)有效,开始执行配置区里的逻辑。

  微处理器从串配置FPGA的时序如图1所示。

  

  3.配置文件产生的方法

  用Xilinx公司提供的开发工具ISE8.1将工程经过综合、映射、布局、布线后产生编程文件,编程文件有.bit、.bin、.mcs、.tek、.hex等格式,其中.bit格式用作JTAG下载,其他几种格式用作专用PROM编程。系统产生配置文件时首先按照产生专用PROM编程文件的方法产生.bin文件,然后将该bin文件转换成ASC Il码文件存储,并且各个字节之间用逗号分隔,最后把该配置数据存放在系统程序的一个头文件的数组Config_data_array[]中,作为系统程序源代码的一部分,和其它程序一起编译。

  硬件设计

  ARM微处理器S3C44BOX片内集成ARM7TDMI核,同时集成了丰富的外围功能模块,内部增加的8K高速缓;中器大大提高了性能。S3C44BOX可访问256MB的地址空间,最高运行频率达66MHz,包含4M Flash程序存储器,XC3S100E从串配置程序和配置文件都固化于其中保存,该FIash支持低电压写入(1.65~3.3V)。SDRAM具有8M的运行空间,系统在直接运行Flastl时速度非常慢,通常将Flash中的代码搬到SDRAM中运行。

  S3C4480X与XC3S100E接口主要是PROG_B、lNIT_B、DONE、CCLK、DIN五根信号线,硬件接口电路如图2所示,其中VCC33表示3.3V,VCC25表示2.5V。

  

  软件设计

  1.软件设计流程图

  系统软件设计流程图如图3所示,采用C语言编程。

  

  2.在S3C44BOX中实现配置时序

  Xilinx公司的每个特定型号的FPGA器件,其配置文件大小是相同的,跟FPGA内部逻辑设计的复杂度无关,Spartan3E系列的10万门FPGA

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭