FPGA器件在嵌入式系统中的配置方式的探讨

发布者:Qilin520最新更新时间:2008-01-20 来源: 微计算机信息关键字:FPGA 手机看文章 扫描二维码
随时随地手机看文章
        引言

       在当今商业竞争日益加强的环境中,产品是否便于现场升级和是否便于灵活运用,成为商家迅速占领市场的关键因素。在这种背景下,Alter公司开发的基于SRAM LUT结构的FPGA器件得到了广泛应用。

       现场可编程门阵列FPGA(Field Programmable Gate Array)是一种高密度可编程逻辑器件,其逻辑功能是通过把设计生成的数据文件配置进芯片内部的静态配置数据存储器(SRAM)来实现的,具有可重复编程性,可以灵活实现各种逻辑功能。由于SRAM的易失性,每次系统上电时必须重新配置数据,即ICR(In-Circuit Reconfigurability)。只有在数据配置正确的情况下,系统才能正常工作。因此需要外接ROM保存其配置数据。FPGA的配置是有时序要求的,如果FPGA本身不能控制配置时序,就需要外部配置器件来进行时序控制。以Altera公司的FPGA为例,因其本身不能控制时序,就有专用的EPC系列配置器件供其使用。在嵌入式系统中,因为含有微处理器,可以使用微处理器产生配置时序,将保存在系统ROM中的配置数据存储到FPGA中。所以没有必要使用专用的EPC系列配置器件来配置FPGA。这样不仅节约了成本,还有效地缩小了系统体积。本文重点讨论在嵌入式系统中FPGA的配置方案。

       2. FPGA器件的配置方式

       Altera公司生产的具有ICR功能的FPGA器件有FLEX6000、FLEX10K、APEX和ACEX等系列,它们可以用以下方式进行配置:

1. 使用专用EPC配置器件,如EPC16、EPC8、EPC2、EPC1;

2. 被动串行方式(PS),使用微处理器的串行接口;

3. 被动并行同步方式(PPS),使用微处理器的并行同步接口;

4. 被动并行异步方式(PPA),使用微处理器的并行异步接口;

5. 边界扫描方式(JTAG),使用JTAG下载电缆。

       下面详细分析上述五种配置方式。

       使用EPC配置器件时,首先将配置文件从计算机下载到EPC配置器件中去,然后由EPC配置器件控制配置时序对FPGA进行配置。EPC配置器件有一次可编程和可擦写编程型两种:一次可编程型芯片只能写入一次,不适于开发阶段反复调试、修改及产品的方便升级;可擦除编程型价格昂贵,且容量有限,对于容量较大的可编程逻辑器件,需要多片配置芯片组成菊花链进行配置,增加了系统设计的难度。

       使用PS、PPS、PPA方式配置时,配置文件事先是以二进制形式保存在系统ROM中,然后通过微处理器将配置数据送进FPGA中。PS是通过串行方式送到FPGA中,PPS是以并行方式送给FPGA。FPGA在其内部将并行数据转换成串行数据,该数据转换时需要外部配置时钟的驱动。比较PS和PPS,所用的配置时间几乎相同,而PS的接口方式比较简单,所以嵌入式系统中通常选择PS方式配置FPGA。使用PPA方式配置数据时,微处理器将配置数据以并行方式送给FPAG,然后在FPGA内部进行数据串行化处理。与PPS不一样的地方是串行化处理时不需要配置外部时钟的驱动,但接口更复杂,工程中很少使用。

       边界扫描方式需要连接计算机,无法在现场使用,嵌入式系统中很少采用这种方式。

       通过上述的分析,在嵌入式系统中要使用FPGA时,可以采用专用EPC配置器件、PS、PPS、PPA,但是PS、PPS、PPA比专用EPC配置更具成本和体积优势。在PS、PPS、PPA中,PS又是最优的通信方式。所以在嵌入式系统中,通常选择PS被动串行方式来配置FPGA。

       3. 嵌入式系统中FPGA的配置电路设计

       3.1. PS方式配置时序   

       在嵌入式系统中,微处理器可以产生配置时序,能够和FPGA直接通信,将ROM中的配置文件传输到FPGA的SRAM中去。通常使用PS被动串行方式进行配置FPGA,下面就通信中使用到的五根信号线的配置时序进行说明。

       五根信号线分别为nCONFIG、nSTATUS、CONF_DONE、DCLK、DATA,连接微处理器的五个I/O口和对应的FPGA的引脚。                  



图1 PS方式配置信号时序图

       微处理器上的五个I/O端口连接上述五个信号线。其中连接nCONFIG、DCLK、DATA端口设置成输出态,nSTATUS、CONF_DONE端口设置成输入态。当微处理器开始与FPGA通信时,微处理器首先在nCONFIG上送出一个大于8μm的负脉冲,并且检测nSTATUS上的信号。当FPGA接收到nCONFIG上的下降沿时,迅速将nSTATUS和CONF_DONE拉低,并且保持低电平信号一直到nCONFIG抬高电平。当nCONFIG上抬高电平后过1μm,nSTATUS也将电平抬高,微处理器检测到nSTATUS上的变化后认为FPGA已经做好了接收数据的准备。下一步微处理器将产生配置时钟脉冲,配置时钟的第一个上升沿至少要比nSTATUS上升沿晚1μm。又由于配置数据和配置时钟上升沿同步,所以在配置时钟上升沿发生之前,数据线必须已经有了配置数据信号。配置数据是按照低位在前高位在后的顺序把数据送上数据线。当所有数据都传输完毕后,CONF_DONE线上电平被抬高以示配置完毕。如果传输中出现了异常,FPGA迫使nSTATUS拉低电平,微处理器一旦检测到了这种现象将重新开始配置。由于配置文件中已经包含了FPGA初始化的一些代码,所以传输完配置文件后,FPGA就可以正常工作了。

       3.2 配置电路设计



       嵌入式系统中FPGA的PS方式配置方式电路设计如图2所示。左侧的微处理器和FLASH、SDRAM组成了一个最基本的嵌入式系统。FLASH作为程序的存储器,其中存储着系统的整个应用程序、配置程序和配置文件。SDRAM作为系统程序运行空间,可以有效地解决微处理器自身SRAM容量小的问题。

       4. 系统软件设计FLASH   

       中存储的程序包括系统程序、配置程序、配置文件。系统加电后,微处理器从FLASH的0地址的引导程序开始运行,完成系统初始化后,微处理器将FLASH中的应用程序移至到SDRAM中运行。由于目前嵌入式系统大多采用实时多任务操作系统,所以设计时应将配置程序放置在第一个运行的任务中,保证开机后就开始运行。

       软件设计时根据微处理器与FPGA通信信号线上的时序要求来设计。首先初始化微处理器的端口,在P0引脚上产生一个20μm的负脉冲,读取P4引脚上的信号,如果是高电平就开始数据准备,将数据读出,通过位移操作以串行比特流把低位的数据送上P1引脚,通过P2产生一个时钟上升沿。因为时钟上升沿与数据传送是同步的,这样P1引脚上的信号就传送到了FPGA。再将读出的数据右移位,将低位送上P1引脚,在P2上再产生一个时钟上升沿。如此循环下去,等读出的一个字节传送完毕时再读取下一个字节,按同样的方式传送出去。数据传送的同时检测P4(nSTATUS)是否为低,如

果传送过程中遇到错误,P4将为低,这样系统需要重新配置。等到把数据传送完毕后检测P3引脚的状态,如果是高电平说明配置成功,如果是低电平则说明配置失败,系统需要重新配置。

       软件设计语言可以选择C,也可用汇编。开发过程中根据芯片的硬件本身特点,注意各方面的优化。因为嵌入式系统中从SDRAM中读取数据的速度很快,所以软件设计时无须考虑从SDRAM到微处理器的传输速度问题。向FPGA器件写数据时,最低有效位居先。微处理器产生的配置时序可以通过给时序引脚发送高低电平来实现。

       5. 结论

       当今嵌入式系统已应用到各个领域中,因此无论成本还是体积上的优化,都是很有必要的。用嵌入式系统本身的资源优势来完成其它部件的专用功能,能够很有效地达到最优化集成、降低成本的作用。本文讨论的通用方案适用于不同的微处理器和Altera公司所有相关系列的FPGA产品。由于FPGA具有可重复配置的功能,所以在嵌入式系统中可预先包含多个不同功能的配置文件,根据现场的需要进行相应的配置。这充分显示出FPGA现场升级、灵活运用的设计理念。

关键字:FPGA 引用地址:FPGA器件在嵌入式系统中的配置方式的探讨

上一篇:Altera FPGA为三洋后视倒车摄像系统添加高级图像增强功能
下一篇:FPGA性能超越DSP数十倍!

推荐阅读最新更新时间:2024-03-30 21:24

基于FPGA的数字量变换器测试系统设计
  针对数字量变换器性能参数的测试工作,以FPGA为控制核心,开展数字量变换器测试系统的设计和研究,并给出系统各模块的具体设计方法;系统通过USB实现与计算机的通信,能够产生计算机字信号及相应移位脉冲信号、勤务信号和128路指令信号,并能接收经过数字量变换器变化后的计算机数码和指令数码信号;测试系统能够完成对数字量变换器各项性能指标的测试,实验表明,测试系统精度及可靠性高、实时性好,已经成功应用于某遥测系统中。   0 引言   在飞行器发射试验中,常用遥测系统获取其内部各系统的工作状态参数和环境数据,为评定飞行器的性能及故障分析提供依据。数字量变换器作为遥测系统弹上的重要设备,它的主要功能是控制接收弹上的各种飞行参数。变换器性能
[测试测量]
基于<font color='red'>FPGA</font>的数字量变换器测试系统设计
nRF24L01无线模块在单片机与FPGA上的应用
  先简单的介绍下nRF24L01无线模块   (1) 2.4Ghz 全球开放ISM 频段免许可证使用   (2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合   (3) 126 频道,满足多点通信和跳频通信需要   (4) 内置硬件CRC 检错和点对多点通信地址控制   (5) 低功耗1.9 - 3.6V 工作,待机模式下状态为22uA;掉电模式下为900nA   (6) 内置2.4Ghz 天线,体积小巧15mm X29mm   (7) 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示),可直接接各种单片机使用,软件编程非常方便   通过SPI方式完成数据的交换,包括数
[单片机]
nRF24L01无线模块在单片机与<font color='red'>FPGA</font>上的应用
CDMA 2000系统中前向链路卷积编码器的FPGA实现
在通信系统中,由于数字信号在传输过程中受到各种干扰的影响,使信号码元波形变坏,故传输到接收端后可能发生错误判决,为解决这一问题,通常在设计数字通信系统时,首先应从合理地选择调制制度、解调方法以及发送功率等方面考虑,若采取以上措施仍难满足要求,就要考虑差错控制措施。在CDMA 2000系统的前向链路和反向链路中就采用了卷积编码来实现前向差错控制(FEC)。   FPGA是可编程逻辑器件,它的主要优点在于可以借助EDA工具通过软件编程对器件的硬件结构和工作方式进行重构,这就使得硬件设计具有软件设计的灵活性和便捷性。本设计采用VHDL语言并选用可编程逻辑器件在QuartusⅡ下来实现CDMA 2000系统中的前向链路卷积编码器。  
[嵌入式]
CDMA 2000系统中前向链路卷积编码器的<font color='red'>FPGA</font>实现
AD977A在脑电信号采集系统中的应用
   前言   脑电信号EEG(Electroencephalography)是由脑神经活动产生并存在于中枢神经系统的自发性电位活动,含有丰富的大脑活动信息。它是大脑研究、生理研究和临床脑疾病诊断的重要手段。记录脑电信号,可为临床诊断提供依据。因此,提取脑电信号具有重要的现实意义。由于脑电信号处理一般都是基于数字技术,因此电极采集到的模拟信号经信号调理后,通过A/D转换器转换成数字信号是必不可少的过程。这里提出一种基于FPGA和AD977A的脑电信号数据采集系统,采用FPGA作为信号处理器,并控制模数转换,从而实现高可靠性,高通用性的脑电信号数据采集系统。    2 系统总体设计   通过对人体进行视觉刺激、听觉刺激或神经刺
[模拟电子]
基于MicroBlaze软核的FPGA片上系统设计
摘要: 分析软处理器 MicroBlaze 的体系结构,给出 MicroBlaze 内核在软件无线电系统中的应用,实现 SOPC (可编程系统芯片)。 关键词: FPGA IP Core SOPC MicroBlaze CoreConnect 软处理器 软件无线电 Xilinx 公司的 MicroBlaze 32 位软处理器核是支持 CoreConnect 总线的标准外设集合。 MicroBlaze 处理器运行在 150MHz 时钟下,可提供 125 D-MIPS 的性能,非常适合设计针对网络、电信、数据通信和消费市场的复杂嵌入式系统。
[嵌入式]
基于FPGA的双口RAM与PCI9O52接口设计
  O 引言   IDT70V28L(双口RAM)的存取时间大于20ns,PCI9052工作于25MHz,其存取时间要大于双口RAM的存取时间。PCI9052是发起交易的主动者,相当于一个慢速器件访问快速器件,通过可编程器件,可以把PCI9052读写控制信号直接传递给IDT70V28L,完成时序的匹配。   为将PCI9052的局部逻辑转换为双口RAM的读写控制信号和地址信号,本设计采用了可编程器件来实现它们之间的接口逻辑电路。在可编程器件设计中,状态机的设计方法是应用最广泛的设计方法之一。有限状态机是一种简单、结构清晰、设计灵活的方法,它易于建立、理解和维护,特别应用在具有大量状态转移和复杂时序控制的系统中,更显其优势。
[嵌入式]
基于89C55和FPGA的最小系统频率特性测试仪
  频率特性是一个系统(或元件)对不同频率输入信号的响应特性,是一个网络最重要的特性之一。幅频特性和相频特性综合称为频率特性。测量频率的方法有点频法和扫频法。传统的模拟式扫频仪价格昂贵、体积庞大,不能直接得到相频特性,给使用带来诸多不便。为此,设计了数字扫频式 频率特性测试仪 。   1 方案论证与选择   1.1 方案的选择   1.1.1 信号发生模块   方案1:采用模拟分立元件或单片压控函数发生器。可同时产生正弦波、方波、三角波,但由于元件分散性太大,产生的频率稳定度较差、精度低、波形差,不能实现任意波形输出。   方案2:采用传统的直接频率合成器。这种方法能实现快速频率变换,具有低相位噪声以及所有方法中最高的工作频
[单片机]
基于89C55和<font color='red'>FPGA</font>的最小系统频率特性测试仪
基于FPGA的FIR数字滤波器设计方案(一)
在Matlab/Simulink环境下,采用DSP Builder模块搭建FIR模型,根据FDATool工具对FIR滤波器进行了设计,然后进行系统级仿真和ModelSim功能仿真,其仿真结果表明其数字滤波器的滤波效果良好。通过SignalCompiler把模型转换成VHDL语言加入到FPGA的硬件设计中,从QuartusⅡ软件中的虚拟逻辑分析工具SignalTapⅡ中得到数字滤波器实时的结果波形图,结果符合预期。   0 引言   在信息信号处理过程中,数字滤波器是信号处理中使用最广泛的一种方法。通过滤波运算,将一组输入数据序列转变为另一组输出数据序列,从而实现时域或频域中信号属性的改变。常用的数字滤波器可分为有限脉冲响应(F
[模拟电子]
基于<font color='red'>FPGA</font>的FIR数字滤波器设计方案(一)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved