基于微处理器的嵌入式配置模式

发布者:清新心情最新更新时间:2013-11-09 来源: eccn关键字:微处理器  嵌入式  PLD 手机看文章 扫描二维码
随时随地手机看文章
可编程逻辑器件(PLD)广泛应用在各种电路设计中。基于查找表技术、SRAM工艺的大规模PLD/FPGA,密度高且触发器多,适用于复杂的时序逻辑,如数字信号处理和各种算法的设计。类器件使用SRAM单元存储配置数据。配置数据决定了PLD内部互连和功能,改变配置数据,也就改变了器件的逻辑功能。SRAM编程时间短,为系统动态改变PLD的逻辑功能创造了条件。但由于SRAM的数据易失的,配置数据必须保存在PLD器件以外的非易失存储器内,才能实现在线可重配置(ICR)。

1 在应用配置(动态配置)

同一设备在实现不同的应用时,要求FPGA实现不同的功能。如手持多媒体设备,可拍摄分辨率较高的静止图像照,采用JPEG2000压缩,也可传送活动图像,采用H.263,H.264/AVC等。单纯使用软件实现速度慢,需要对算法进行精细的优化;而使用硬件实现则速度快,但灵活性差。为此,采用微处理器和FPGA相结合来实现手持多媒体终端,微处理器实现程序控制,FPGA实现大量的规则运算。此外,手持设备的某些应用(如静止图像和活动视频压缩)可能并不同时实现。若在一片FPGA同时实现这些功能,不仅布线复杂,功能难以实现,而且需要更大规模的FPGA。若使用不同的配置数据进行配置,使FPGA在不同时刻实现不同的功能,则FPGA的容量可以显著降低,从而降低设备的体积、功耗及成本。

 

点击放大图片

 

图 1 APEX FPGA的主动串行(PS)配置时序图

使用在应用配置时,首先把应用分集,可能同时运行的应用分成一组,耗时的规则运算由FPGA实现,其它由微处理器实现。把一个FPGA芯片的多个配置文件连续地存放在系统存储器中,在程序执行时,微处理器把对应特定应用的配置数据装载到FPGA中并完成初始化,在FPGA进入用户模式后就能实现特定的功能了。这种方法可以采用更小规模的FPGA,不必使用专用的昂贵配置芯片(如ALTERA的EPC1、EPC2等)来存储配置数据,因而可显著地节省系统成本。

ALTERA SRAM工艺的FPGA配置方式主要分为两大类:主动配置和被动配置。主动配置方式由PLD器件引导配置操作过程,它控制着外部存储器和初始化过程;而被动配置方式则由外部计算机或控制器控制配置过程。根据数据线的多少又可以将PLD器件配置方式分为并行配置和串行配置两大类。下面以ALTERA APEX20KC系列器件为例,介绍两种在微处理器系统里连接简单且使用方便的配置方式:被动串行配置和被动并行异步配置。

2 被动串行配置(PS)

被动串行配置的主要配置引脚如下:

nSTATUS:命令状态下为器件的状态输出。加电后,FPGA立即驱动该引脚到低电位,然后在5μs内释放它。NSTATUS经过10kΩ电阻上拉到Vcc,如果配置中发生错误,FPGA将其拉低。在配置或者初始化时,若配置电路将nSTATUS拉低,FPGA进入错误状态。

NCONFIG:配置控制输入。低电位使器件复位,由低到高的电位跳变启动配置。

CONF_DONF:双向漏极开路;在配置前和配置期间为状态输出,FPGA将其驱动为低。所有配置数据无错误接收并且初始化时钟周期开始后,FPGA将其置为三态,由于有上拉电阻,所以将其变为高电平,表示配置成功。在配置结束且初始化开始时,CONF_DONE为状态输入:若配置电路驱动该管脚到低,则推迟初始化工作;输入高电位则引导器件执行初始化过程并进入用户状态。

DCLK:时钟输入,为外部数据源提供时钟。

nCE:FPGA器件使能输入。nCE为低时,使能配置过程。单片配置时,nCE必须始终为低。

nCEO:输出(专用于多片器件)。FPGA配置完成后,输出为低。在多片级联配置时,驱动下一片的nCE端。[page]

DATA0:数据输入,在DATA0引脚上的一位配置数据。

PORSEL:专用输入,用来设置上电复位(POR)的延时时间。

 

点击放大图片

 

图 2 使用微处理器的被动串行配置方案

nIO_PULLUP:输入。低电平时,在配置前和配置期间使能内部弱的上拉电阻,将用户管脚拉至VCCIO。

几乎所有ALTERA FPGA器件都支持被动串行配置。被动串行配置的是序图如图1所示,在这种配置方式中没有握手信号,配置时钟的工作频率必须在器件允许的范围,最低频率没有限制。为了开始配置,配置管脚和JTAG管脚所在的bank的VCCINT、VCCIO必需供电。FPGA上电后进入复位状态。nCONFIG被置为低电平,使FPGA进入复位状态;nCONFIG由低到高的电位跳变启动配置过程。整个配置包括三个阶段:复位、配置和初始化。当nSTATUS或者nCONFIG为低电平时,器件脱离复位状态,并且释放漏极开路的nSTATUS管脚。在nSTATUS释放后,被外部电阻拉高,这时nSTATUS和nCONFIG同时为高电平,FPGA准备接收配置数据,配置阶段开始。在串行配置过程中,FPGA在DCLK上升沿锁存DATA0引脚上的数据。成功接收到所有数据后,释放CONF_DONE引脚,并被外部电阻拉高。CONF_DONE由低到高的转变标志配置结束,初始化开始。此后,DCLK必须提供几个周期的时钟(具体周期数据与DCLK的频率有关),确保目标芯片被正确初始化。初始化完成后,FPGA进入用户工作模式。如果使用了可选的INIT_DONE信号,在初始化结束后,INIT_DONE被释放,且被外部电阻拉高,这时进入用户模式。DCLK、DATA、DATA0配置后不能三态,可置高或者置低。

在配置过程中,一旦出现错误,FPGA将nSTATUS拉低。系统可以实时监测,当识别到这个信号后,重新启动配置过程。NCONFIG由高变低,再变高可以重新进行配置。一旦nCONFIG被置低,nSTATUS和CONF_DONE也将被FPGA置低。当nSTATUS和nCONFIG同时为高电平时,配置开始。

图2是采用微处理器的FPGA被动串行配置方案的简化电路图。配置过程为:由微处理器将nCONFIG置低再置高来初始化配置;检测到nSTATUS变高后,就将配置数据和移位时钟分别送到DATA0和DCLK管脚;送完配置数据后,检测CONF_DONE是否变高,若未变高,说明配置失败,应该重新启动配置过程。在检测CONF_DONE变高后,根据器件的定时数再送一定数量的时钟到DCLK管脚;待FPGA初始化完毕后进入用户模式。如果单片机具有同步串口,DATA0、DCLK使用同步串口的串行数据输出和时钟输出,这时只需要简单把数据字节或字锁存到发送缓冲器就可以了。在使用普通I/O线输出数据时,每输出1个比特,就要将DCLK置低再置高产生一个上升沿。它比ALTERA公司手册给出的电路连接图更有效地使用了存储器。

点击放大图片

 

图 3 使用微处理器的被动并行异步配置电路

3 被动并行异步配置

如同被动串行配置一样,被动并行异步配置也包括三个阶段:复位、配置和初始化。被动并行异步配置电路图如图3所示。当nSTATUS或者nCONFIG为低电平时,器件处于复位状态。微处理器在nCONFIG管脚产生一个由低到高的跳变启动FPGA的配置。当nCONFIG变高后,器件脱离复位状态,并且释放漏极开路的nSTATUS管脚,FPGA准备接收配置数据,配置阶段开始。在配置阶段,微处理器FPGA当作存储器,进行写操作,即微处理器先使片选有效,然后把8比特数据送到Data[0:7]管脚上,并配置管脚RDYnBSY到低电平,表示FPGA正忙于处理配置数据,微处理器可执行其它功能。在RDYnBSY低电平期间,FPGA使用内部振荡器时钟处理配置数据。当FPGA准备接收下一字节的配置数据时,它驱动RDYnBSY到高电平。微处理器检测到这一高电平,便送下一字节数据到配置管脚。为了节省一根用来检测RDYnBSY的I/O线,可采用读存储器的方法读FPGA,其中nRS为存储器读信号,在nRS有效期间,RDYnBSY信号被送到数据线D7上。也可以不检测RDYnBSY,也不读FPGA,简单地等待延时tBUSY(max)+tRDY2WS+tW2SB之后就写下一个配置数据字节。FPGA每处理一字节配置数据后,若发现错误就会将nSTATUS拉低,暗示配置出错。微处理器可以检测这一错误,并重新进行配置。如同被动串行配置一样,FPGA在正确接收所有配置数据后,将释放CONF_DONE信号,于是该管脚被外部上拉电阻拉高,表示配置结束,初始化开始。

4 配置数据文件的生成

Altera的MAX+PLUS II或Quartus II开发工具可以生成多种格式的配置文件,用于不同配置方法。不同目标器件,配置数据的大小不同。配置文件的大小一般由二进制文件(扩展名为.rbf)决定。Altera提供的软件工具不自动生成.rbf文件,需要按照下面的步骤生成:①在MAX+PLUS II编译状态,选择文件菜单中的变换SRAM目标文件命令;②在变换SRAM目标文件对话框,指定要转换的文件并且选择输出文件格式为.rbf(Sequential),然后予以确定。

关键字:微处理器  嵌入式  PLD 引用地址:基于微处理器的嵌入式配置模式

上一篇:基于统一功率格式的SoC的低功耗方案设计
下一篇:嵌入式系统设计方法的演化——从单片机到单片系统

推荐阅读最新更新时间:2024-03-16 13:30

基于S3C2410嵌入式设备的U-Boo移植及自启动的实现
  S3C2410是三星公司针对嵌入式系统推出的高性价比 微处理器 ,它是基于ARM9TDMI内核的16/32位RISC处理器,工作主频为200M Hz 。由于现有的Linux系统引入了设备文件的概念,读写串口可以像读写普通文件一样进行操作,非常方便。   一、Linux系统的安装   安装过程首先出现欢迎对话框,如上图所示。Red Hat先后会询问用户使用何种语言、用户使用的键盘类型(默认选项为美式键盘)以及安装软件的位置(选择本地CD -ROM)等许多需用户选择的问题。   使用Disk Druid建立Linux文件系统然后通过PC机对开发板进行设置,并执行以下命令,从而对开发板进行内核及文件系统的烧写工作:
[单片机]
基于S3C2410<font color='red'>嵌入式</font>设备的U-Boo移植及自启动的实现
面向对象的嵌入式系统设计方法
摘要:通过UML语言对嵌入式系统建模,急准确地完成了分析人员与用户需形式化层次上的一致性,也为程序开发人员建立了清晰的程序结构和行为准则,大大缩短了系统开发周期,并使系统的升级和重用成为可能。本文通过一个用Atmel 89C52单片机实现简单变频调速器系统,说明UML应用与嵌入式系统的分析设计方法。 关键词:嵌入式系统 面向对象分析设计 UML 有限状态机 1 概述 随着我国装备制造业的发展,嵌入式系统已经成为制造业的核心技术。它被广泛地应用到工业控制、仿真系统、医疗仪器、信息家电、通信设备等众多领域。目前,围绕嵌入式系统展开研究和开发,已经成为计算机软硬件技术发展最活跃的方向之一。 嵌入式系统不同于通常纯粹的软件系统或
[嵌入式]
ARM微处理器的工作状态
ARM微处理器的工作状态一般有两种,并可在两种状态之间切换: —第一种为ARM状态,此时处理器执行32位的字对齐的ARM指令; —第二种为Thumb状态,此时处理器执行16位的,半字对齐的Thumb指令。 当ARM微处理器执行32位的ARM指令集时,工作在ARM状态;当ARM微处理器执行16位的Thumb指令集时,工作在Thumb状态。 (如果不懂,简单的理解ARM处理器工作时有两种状态(方式)一是ARM状态二是Thumb状态,并且两种状态可以互相切换) 状态切换方法: (由于还未学习寄存器、ARM指令、异常处理等。所以暂时了解ARM工作状态间的切换) ARM指令集和Thumb指令集均有切换处理器状态的
[单片机]
基于嵌入式DSP的流媒体编解码器
可编程的DSP可用于实现各种现有的编解码器和将来的编解码标准。目前的趋势是每两年就会发布新的编解码标准,每个新标准会需要更多的DSP周期。因此,选择具有兼容性发展蓝图的DSP平台(如ZSP)非常重要,这样通过系统升级而不是重新设计即可满足未来的系统要求。    多媒体将选定的所有元素(包括文字、音频、静态图像、视频和图形)集成到单一媒体对象中。流技术(Streaming technology)可在媒体对象被读取、收听或者观看的同时实时传输这些对象。在RealAudio公司1995年提供首个商用流媒体产品之前,绝大部分的互联网媒体文件需要完整下载后才能播放。而现在,不必等到流音频剪片(clip)下载完成才能播放,而是在传输的过程中就
[嵌入式]
Altera通过新系统级集成工具 启动嵌入式计划
为加速实现嵌入式系统中可编程逻辑与处理器的集成,Altera公司(NASDAQ: ALTR)今天发布其嵌入式计划。通过这一计划,Altera为设计人员提供了基于Quartus® II开发软件的单一FPGA设计流程——包括新的Qsys系统级集成工具、公用FPGA知识产权(IP)库,以及新的ARM® Cortex™-A9 MPCore™和MIPS®技术公司MIPS32嵌入式处理器产品等。利用这一设计流程,嵌入式设计人员能够迅速方便的面向Altera Nios® II、基于ARM和MIPS的嵌入式处理器以及最近发布的可配置Intel® Atom™处理器开始设计。Qsys系统级集成工具利用了业界首创的FPGA优化芯片网络技术来支持多种
[嵌入式]
瑞萨电子超低功耗嵌入式控制器RE产品家族又添新武器
半导体解决方案供应商瑞萨电子集团宣布,扩展其超低功耗嵌入式控制器RE产品家族,推出采用瑞萨突破性的SOTBTM(Silicon on Thin Buried Oxide薄氧化埋层覆硅)制程工艺、基于Arm® Cortex®-M0+内核构建的新品。该RE01群最新成员搭载256KB闪存,区别于已量产、集成了1.5MB闪存的现有产品。该全新控制器具备最小3.16mm x 2.88mm WLBGA封装尺寸,且针对用于传感器控制的更紧凑的物联网设备的产品设计进行了优化,适用于智能家居、智能楼宇、环境感测、(建筑物/桥梁)结构监测、跟踪器和可穿戴设备等应用。 新款嵌入式控制器在EEMBC® ULPMarkTM-CoreProfile(C
[嵌入式]
瑞萨电子超低功耗<font color='red'>嵌入式</font>控制器RE产品家族又添新武器
嵌入式环境下串行帧通信的设计
嵌入式系统之间的通信通常有两种方式:并行通信和串行通信。并行方式传输数据速度快,但占用的通信线多,传输数据的可靠性随距离的增加而下降,只适用于近距离的数据传送。在远距离数据通信中,一般采用串行通信方式,它具有占用通信线少、成本低等优点。目前RS 232串口是PC机与通信工业中应用最广泛的一种串行接口,它应用于点对点通信模式,实际使用中多采用最简单的三线方式连接,即两端设备的串口只连接收、发、地三根线,即可实现简单的全双工通信。通信协议是两端设备数据交换的语言,是通信可靠性的保证,在保证功能的前提下,通信协议应该力求简洁。 在嵌入式环境下,因设备间通信距离较远,多采用串行通信方式,但许多串行通信协议只适用于协议设计时的应用系统环
[嵌入式]
用OpenSTLinux帮助决定合适的嵌入式Linux发行版
OpenSTLinux是用于STM32 微处理器的开源 Linux 发行版。该操作系统可帮助工程团队更快地进行原型设计并缩短产品上市时间。因此,它可以作为一种独特的支持工具,同时也为开源社区做出贡献。 很多时候,团队将 Tux 视为可以解决所有软件需求的灵丹妙药。然而,从概念到大众市场需要的不仅仅是内核,尤其是在嵌入式系统上。因此,选择正确的发行版和平台至关重要。为了帮助面临这一挑战的专业人士,我们列出了在开始项目之前需要回答的七个基本问题。这些询问还将帮助决策者评估他们的需求并决定哪种嵌入式 Linux 发行版适合他们。实际上,它们代表了旨在减少开发过程中重大摩擦的开发人员的指导方针。 正如我们在今年早些时候发布的使用 MP
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved