栏目导航

www.33144.com
彩坛至尊
33144.com
33144a.com
33144b.com

33144.com

主页 > 33144.com >

基于FPGA的现Nios II嵌入式系统配置文件下载更新方

发布时间: 2020-01-25

  (SRAM )来实现的,具有可重复编程性,可以灵活实现各种逻辑功能。由于FPGA器件采用的是SRAM 工艺,在断电的情况下FPGA内的配置数据将丢失。所以,在典型的采用FPGA器件的电子系统中通常将FPGA 的配置数据存放于其兼容的SP将SPROM中的配置数据装入FPGA器件中。但是通常的SPROM价格昂贵,且是一次性,不利于FPGA程序的更新,所以有必要分析FPGA 的配置原理,采用廉价、能重复使用的方式配置FPGA。

  本文主要根据Altera公司手册及以前的经验,设计和完成了一种新的FPGA配置文件下载更新的方法。其主要原理是在每次启动系统时,由配置控制器从Flash中读出FPGA配置文件,再下载到FPGA中以完成器件的配置功能。当系统需要升级更新FPGA配置文件时,可通过网络或者由主机通过JTAG(Joint Test Action Group)接口(未联网时)将配置文件发送给基于NiosII处理器的嵌入式系统中,由Nios II处理器更新系统中的Flash。当Flash内容更新后,系统就可实现在加电时由配置控制器自动将配置文件下载到FPGA中。而配置控制器是采用复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device),主要功能是实现并串转换。这样在不需要任何硬件动作和专业软件的情况下,只需要进行常规软件操作就可以更新FPGA的配置文件。不仅节约了成本,还有效地缩小了系统体积,有利于以后系统工程的升级更新。

  Nios II是Altera公司在第一代软核处理器Nios的基础上于2004年5月为其FPGA产品配套开发的软核CPU。Nios II是一种采用流水线技术、单指令流的基于RISC技术的通用嵌入式软核处理器、哈佛体系结构,地址、数据、指令均为32位,最高性能可达到200DMIPS (Dhrystones MIPS)。Nios II系统中的外设具有可配置性,用户可根据实际应用来裁剪,并且Nios II处理器有很好的自定义指令支持,大部分指令均可以在一个时钟周期内完成,这也是可配置处理器的优势所在。Nios II在逻辑功能上是32位的精简指令集CPU;而在实现方式上,它是在FPGA上通过编程方式实现的,这也是与传统的CPU一个根本差别。Nios II的总线方式也采用了一种简单的总线体系结构——Avalon总线。该软核CPU为可编程片上系统SOPC给用户提供了一套综合解决方案,它可以与用户自定义逻辑结合构成SOC系统,并下载到Altera的FPGA 芯片中,使得FPGA在嵌入式系统领域的地位越来越重要。

  其中图中的JTAG2表明有2个JTAG接口,一个用来在线配置调试,一个用来下载更新配置文件。

  FPGA的配置方式分为主动方式(AS,AcTIve Serial)、被动方式(PS,Passive Serial)和JTAG方式,数据宽度有8位并行方式和串行方式两种。在主动模式下,FPGA在上电后,由PLD器件引导配置操作过程,它控制着外部存储器和初始化过程,自动将配置数据从相应的外存储器读入到SRAM 中,实现内部结构映射;而在被动模式下,FPGA则作为从属器件,由相应的控制电路或微处理器提供配置所需的时序,实现配置数据的下载。

  (1) 主动串行方式(AS,AcTIve Serial):主要使用EPC配置器件,适应用低速设备的配置;

  (2) 被动串行方式(PS,重庆副市长陈和平会见德国客人金光佛00793!Passive Seria1):使用配置控制器的串行接口;

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

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

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

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

  而本文正是利用CPLD配置控制器基于PS方式进行FPGA配置的新方法,在每次启动系统时,由配置控制器从Flash中读出FPGA配置文件的数据信息,再下载到FPGA中以完成器件的配置功能。当系统需要升级更新FPGA配置文件时,可通过网络或者由主机通过JTAG接口(未联网时)将配置文件发送给基于Nios II处理器的嵌入式系统中,由Nios II处理器更新系统中的Flash。当Flash内容更新后,系统就可实现在加电时由CPLD配置控制器自动将配置文件下载到FPGA中。这样在不需要任何硬件动作和专业软件的情况下,只需要进行常规软件操作就可以更新FPGA的配置文件。CPLD配置控制器主要是在配置FPGA时将FLASH存放的配置文件中的并行数据转化为串行数据,实现系统的加电自运行。

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

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

  CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助QuartusII开发软件平台,通过JTAG下载电缆将代码传送到目标芯片中,实现系统配置所需的时序要求和功能需求。而更重要的是CPLD配置控制器可以进行上万次的烧写操作。

  嵌入式系统中FPGA 的PS方式配置方式电路设计如图3所示。FPGA和FLASH、SSRAM组成了一个最基本的嵌入式系统,其中将Nios II软核处理器嵌入到FPGA中。FLASH 作为程序的存储器,其中存储着系统的整个软件应用程序和配置文件。SSAM作为系统程序运行空间,可以有效地解决配置控制器自身SRAM容量小的问题。2019管家管婆24特马王

  配置文件通过Altera的Quartus II软件以.pof(Programmer Object Files)文件格式下载到EPM7256配置控制器内,如果配置有错误,该配置控制器可以进行多次下载,直至最终完成配置功能。

  FLASH中存储的程序包括系统配置程序文件、软件程序,其格式为.flash。系统加电后,配置控制器从FLASH 的0地址开始将配置文件进行并/串转换后(即将图3中的flash_DATA[7..0]转换为DATA0)加载到FPGA中,完成系统加电时的自动配置功能;同时Nios II处理器将FLASH 中的应用程序移至到SSRAM 中运行,从而实现嵌入式系统的初运行。通过Nios II IDE工具可以将配置文件FPGA 的.sof文件格式转换为Flash存储器所需要的。 flash文件格式。

  为了确保配置过程的正确,提高系统的配置性能,在配置文件设计时应严格按照FPGA的Ps配置流程进行,并在配置过程中始终监控配置工作状态,在完善的配置程序配合下可以纠正如上电次序导致配置不正常等错误。该配置程序是采用VHDL语言编写的,编写完成后,将配置文通过JTAG接口下载到EPM7256配置控制器内,根据图2的PS配置时序,其配置流程如下:

  (2)检测nSTATUS,如果为“0”,表明FPGA 已响应配置,可开始进行配置,否则报错,并返回1。正常情况下,nCONFIG=0后1 us内nSTATUS为“0”。

  (7)此时CONF_DONE应变成“1”,表明FPGA已完成配置,如果数据发送完后,CONF_DONE为“0”,必须重新配置返回1。

  (8)配置完成后,再送出299个周期(Cyclone要求的)的DCLK,以便FPGA完成初始化。

  本文介绍了通过用CPLD 的MAX7000 系列配置控制器EPM7256和Flash实现Cyclone系列的EP1C6Q240C8 FPGA配置文件下载更新的方法。与传统的JTAG或PROM 串行下载配置方法相比,此方法具有更新配置文件灵活方便、易于操作、更加有利于系统配置文件的升级等特点。与常用的串行配置方法相比,该配置方法更具有配置时间短,准确率高、易于实现等优点。虽然该配置控制电路是为配置Altera公司cyclone系列的FPGA器件而设计的,但稍加修改也适用于其它系列的。FPGA器件,故其有一定的通用性,采用此方法特别适用于需要不断更新的系统设计中,具有较为广阔的应用前景。

  刚刚录制了一个fpga开发流程的视频,该视频为投石问路,主要是想听听大家对于小梅哥在录制视频时需要注意的内容以及希望系列

  多节点系统,在目前的很多电子系统应用场合都可以看到。这种多节点系统由于具有结构可扩展性、功能配置的灵....

  这一个新十年,时代的“大”和“快”从数字的比较上是以前难以想象的。大数据雪崩爆发时,每一片雪花都是意....

  嵌入式系统就:是一个具有特定功能或用途的计算机软硬件结合体,或指装入另一个设备并且控制该设备的专用计....

  FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,....

  原理图和HDL(Hardware description language,硬件描述语言)是两种最常....

  FPGA/CPLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA/....

  CPLD主要是由可编程逻辑宏单元(LMC,LogicMacroCell)围绕中心的可编程互连矩阵单元....

  内容 实现的是简单的PC机和FPGA的通信,实现一个简单的数据传回实验, 串口是按b...

  随着云计算,大数据和人工智能技术应用,单靠CPU已经无法满足各行各业的算力需求。海量数据分析、机器学....

  matlab与FPGA无线通信、FPGA数字信号处理系列(4)—— Vivado DDS 与 FIR IP核设计 FIR 滤波器系统

  本讲使用两个DDS产生待滤波的信号和matlab产生带滤波信号,结合FIR滤波器搭建一个信号产生及滤波的系统,并编写...

  一直以来,FPGA可编程器件都主要应用在通讯设备或工业控制等较为专业的应用领域,但随着不同行业使用需....

  随着云计算,大数据和人工智能技术应用,单靠CPU已经无法满足各行各业的算力需求。海量数据分析、机器学....

  区分固态电容和电解电容有一个很简单的方法,就是看电容顶部是否有”K“或”+“字形的开槽。固态电容是没....

  I 与 M 系列确定可搭配 CXL 技术,显然英特尔的确有意推动 CXL 技术发展。而从产品规格观之....

  嵌入式系统广义上认为是一个由系统硬件与系统软件有机组成并且具有高可靠性和实时性的可控系统,设计用于满....

  和传统的CDMA系统相比,第三代移动通信的最大特点在于能支持多种速率的业务,从话音到分组数据,再到多....

  本文利采用双闭环PI和重复控制相结合的控制方案,首先用双闭环PI控制算法,得到高动态特性的三相交流电....

  DDS的原理如图1所示,包含相位累加器、波形存储器(ROM)、数模转换器(DAC)和低通滤波器4个部....

  以往FPGA在进行浮点运算时,为符合IEEE 754标准,每次运算都需要去归一化和归一化步骤,导致了....

  英特尔公司在京发布了Stratix 10 GX 10M FPGA,这款拥有1020万个逻辑单元的产品....

  目前,赛灵思和英特尔的FPGA市场竞逐角力,一来一往、有输有赢。鉴于双方都有不俗的实力,可以预计,未....

  FPGA芯片比CPU更快,比GPU功耗更低、延时更短,且比ASIC更加便宜、周期更短,因此在目前人工....

  随着IC制造工艺水平的快速发展,片上系统(SOC)在ASIC设计中得到广泛应用。微处理器IP核是SO....

  嵌入式系统通常是面向特定应用的,嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群....

  嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。嵌入式系统通常进行大量生产,所以单个....

  据悉,该产品已形成针对多通道智能传感器信号处理的集成解决方案,实现了单一封装内智能传感器模拟数字信号....

  我现在没有一个具体的方案 谁能给我个提示一下 比如 fpga从哪入手(fpga一点不会) 具体的电路应该分为哪几个模块 单...

  PLL锁相环,可以对时钟网络进行系统级的时钟管理和偏移控制,具有时钟倍频和分频,相位偏移和可编程占空比的功能。...

  针对GPS测量系统数据传输过程中的安全问题,采用FPGA技术设计了GPS数据加密系统。系统移植MD5....

  随着云计算,大数据和人工智能技术应用,单靠 CPU 已经无法满足各行各业的算力需求。

  什么是嵌入式系统?有一个客观定义就是,除PC之外的一切计算机系统都可以叫嵌入式系统。例如智能手机、工....

  当我们试图在较小的嵌入式系统中使用更多的特性时,它们的安全性常常被忽略。

  本期我们邀请到了资深工程师白纪龙@白老大大,也是许多坛友熟知的白老师,他将为我们解答大家在PCB设计....

  洗衣机由一个叫做汉密尔顿史密斯的美国人,发明于 1858年。历时150多年,发展到今天,我们熟悉的洗....

  呼吸灯设计和实现 内容 一个周期为1s的呼吸灯,从熄灭到完全点亮一共需要1s。 将1s分为1000个1ms作为呼吸...

  Achronix Semiconductor 营销副总裁 Steve Mensor 表示,这款被称为....

  【雨的FPGA笔记】基础实践-------按键控制LED和BEEP设计和实现

  设计内容 按KEY0时点亮最右边的灯,按动按键KEY1时依次往左移动,按下KEY2时关...

  设计内容 将4个LED每隔1s从左往右分别依次点亮熄灭,形成流水状。按复位键时进行复...

  FPGA的优势有三个方面:1)通信高速接口设计。FPGA可以用来做高速信号处理,一般如果AD采样率高....

  hdmi矩阵切换器在众多的领域中有着广泛的运用,对于不同的运用场合和需求,有着许多不同的方案,而dm....

  Xilinx的FPGA的基本结构是一样的,主要由6部分组成,分别为可编程输入/输出单元、基本可编程逻....

  这个模块是music算法中的协方差矩阵中的一部分。输入的150个数是16位的,得到的结果是32位。 自己也写了代码可是结果...

  经过初赛、复赛的激烈对决和层层选拔,深维科技参赛项目“超高性能数据中心FPGA异构计算加速解决方案”....

  LVDS接口又称RS-644总线年代出现的一种数据传输和接口技术。LVDS是一种....

  实现帧同步的关键是把同步码从一帧帧数据流中提取出来。本设计的一帧信码由39位码元组成。其中的巴克码为....

  FPGA在高度并行、大吞吐量数字信号处理(DSP)应用方面享有很好的声誉。过去几代FPGA器件一直稳....

  可编程逻辑器件PLD(Programmable logic Device)就是由用户进行编程实现所需....

  据Semico统计,FPGA市场正在逐年增长,而复合年均增长率高达38.4%,至2023年将具有55....

  在今天的大数据时代,企业和消费者被各种来源的海量数据淹没,包括商业交易、社交媒体以及传感器或机器对机....

  在FPGA中,如果要将一个采样率为480MHz,中频频率为302.5MHz的信号变频到零中频的基带信....

  安路科技总经理文余波在接受采访时表示,安路科技能在FPGA市场上实现过亿的销售,证明了公司一直以来强....


友情链接:
www.33144.com,彩坛至尊,33144.com,33144a.com,33144b.com,开奖现场,开彩开奖现场,香港慈善网开奖现场。

今晚开码结果| 香港最快开奖结果直播| 香港马会开奖资料| www.444230.com| 香港码报资料| 118图库彩图跑狗图| www.3478111.com| www.11kj.com| 香港平特一肖| www.39266.com| 118图库开奖结果号码| 2017香港历史开奖记录显示生肖|