<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用FPGA實現(xiàn)Nios II嵌入式系統(tǒng)配置技術

          用FPGA實現(xiàn)Nios II嵌入式系統(tǒng)配置技術

          作者: 時間:2012-04-03 來源:網(wǎng)絡 收藏

          現(xiàn)場可編程門陣列(,F(xiàn)ield Programmable Gate Array)是一種高密度可編程邏輯器件,其邏輯功能是通過把設計生成的數(shù)據(jù)文件進芯片內(nèi)部的靜態(tài)數(shù)據(jù)存儲器(SRAM )來的,具有可重復編程性,可以靈活各種邏輯功能。由于器件采用的是SRAM 工藝,在斷電的情況下內(nèi)的數(shù)據(jù)將丟失。所以,在典型的采用FPGA器件的電子中通常將FPGA 的配置數(shù)據(jù)存放于其兼容的SPROM 中,上電時由控制電路將SPROM中的配置數(shù)據(jù)裝入FPGA器件中。但是通常的SPROM價格昂貴,且是一次性,不利于FPGA程序的更新,所以有必要分析FPGA 的配置原理,采用廉價、能重復使用的方式配置FPGA。

          本文引用地址:http://www.ex-cimer.com/article/149301.htm

            本文主要根據(jù)Altera公司手冊及以前的經(jīng)驗,設計和完成了一種新的FPGA配置文件下載更新的方法。其主要原理是在每次啟動時,由配置控制器從Flash中讀出FPGA配置文件,再下載到FPGA中以完成器件的配置功能。當需要升級更新FPGA配置文件時,可通過網(wǎng)絡或者由主機通過JTAG(Joint Test Action Group)接口(未聯(lián)網(wǎng)時)將配置文件發(fā)送給基于 處理器的系統(tǒng)中,由 處理器更新系統(tǒng)中的Flash。當Flash內(nèi)容更新后,系統(tǒng)就可在加電時由配置控制器自動將配置文件下載到FPGA中。而配置控制器是采用復雜可編程邏輯器件(CPLD,Complex Programmable Logic Device),主要功能是實現(xiàn)并串轉(zhuǎn)換。這樣在不需要任何硬件動作和專業(yè)軟件的情況下,只需要進行常規(guī)軟件操作就可以更新FPGA的配置文件。不僅節(jié)約了成本,還有效地縮小了系統(tǒng)體積,有利于以后系統(tǒng)工程的升級更新。

            1 基于 系統(tǒng)簡介

            Nios II是Altera公司在第一代軟核處理器Nios的基礎上于2004年5月為其FPGA產(chǎn)品配套開發(fā)的軟核CPU。Nios II是一種采用流水線、單指令流的基于RISC的通用軟核處理器、哈佛體系結(jié)構(gòu),地址、數(shù)據(jù)、指令均為32位,最高性能可達到200DMIPS (Dhrystones MIPS)。Nios II系統(tǒng)中的外設具有可配置性,用戶可根據(jù)實際應用來裁剪,并且Nios II處理器有很好的自定義指令支持,大部分指令均可以在一個時鐘周期內(nèi)完成,這也是可配置處理器的優(yōu)勢所在。Nios II在邏輯功能上是32位的精簡指令集CPU;而在實現(xiàn)方式上,它是在FPGA上通過編程方式實現(xiàn)的,這也是與傳統(tǒng)的CPU一個根本差別。Nios II的總線方式也采用了一種簡單的總線體系結(jié)構(gòu)——Avalon總線。該軟核CPU為可編程片上系統(tǒng)SOPC給用戶提供了一套綜合解決方案,它可以與用戶自定義邏輯結(jié)合構(gòu)成SOC系統(tǒng),并下載到Altera的FPGA 芯片中,使得FPGA在嵌入式系統(tǒng)領域的地位越來越重要。

            基于Nios II的嵌入式系統(tǒng)主要實現(xiàn)了絞線式列車總線(WTB,Wire Train Bus) 網(wǎng)絡節(jié)點機的功能,該系統(tǒng)是基于SOPC,首先定制Nios II的嵌入式CPU、必要的外部和相關配置的芯片,然后按照WTB標準和Nios II特有的Avalon總線接口設計并通過VHDL實現(xiàn)MAU的功能,由Nios II來控制WTB網(wǎng)絡通信功能?;贜ios II嵌入式軟核WTB網(wǎng)絡節(jié)點機硬件體系結(jié)構(gòu)主要由FPGA、Flash nemory、SSRAM Memory、MAX7000配置控制器等硬件組成。FPGA 采用Altera公司的Cyclone系列的EP1C6Q240C8,使用Altera公司的MAX7000系列的EPM7256配置控制器完成對EP1C6Q240C8的配置,基于Nios II的嵌入式系統(tǒng)的原理圖如圖1所示。

          基于Nios II的嵌入式系統(tǒng)的原理圖

            其中圖中的JTAG2表明有2個JTAG接口,一個用來在線配置調(diào)試,一個用來下載更新配置文件。

            2 FPGA 器件的配置方式

            FPGA的配置方式分為主動方式(AS,Active Serial)、被動方式(PS,Passive Serial)和JTAG方式,數(shù)據(jù)寬度有8位并行方式和串行方式兩種。在主動模式下,F(xiàn)PGA在上電后,由PLD器件引導配置操作過程,它控制著外部存儲器和初始化過程,自動將配置數(shù)據(jù)從相應的外存儲器讀入到SRAM 中,實現(xiàn)內(nèi)部結(jié)構(gòu)映射;而在被動模式下,F(xiàn)PGA則作為從屬器件,由相應的控制電路或微處理器提供配置所需的時序,實現(xiàn)配置數(shù)據(jù)的下載。

            下面對基于ICR(In-Circuit Reconfigurability)FPGA器件的配置方式進行詳細分析:

            (1) 主動串行方式(AS,Active Serial):主要使用EPC配置器件,適應用低速設備的配置;

            (2) 被動串行方式(PS,Passive Seria1):使用配置控制器的串行接口;

            (3) 被動并行同步方式(PPS,Passive Parallel Synchronous):使用配置控制器的并行同步接口;

            (4) 被動并行異步方式(PPA,Passive Parallel Asynchronous):使用配置控制器的并行異步接口;

            (5) 邊界掃描方式(JTAG,Joint Test Action Group):使用JTAG下載電纜。

            基于AS方式配置使用EPC配置器件進行配置時,首先將配置文件從計算機下載到EPC配置器件中去,然后由EPC配置器件控制配置時序?qū)PGA進行配置。EPC配置器件有一次可編程和可擦寫編程型兩種:一次可編程型芯片只能寫入一次,不適于開發(fā)階段反復調(diào)試、修改及產(chǎn)品的方便升級;可擦除編程型價格昂貴,且容量有限,對于容量較大的可編程邏輯器件,需要多片配置芯片組成菊花鏈進行配置,增加了系統(tǒng)設計的難度。

            使用PS、PPS、PPA方式配置時,配置文件事先是以二進制形式保存在系統(tǒng)ROM 中,然后通過配置控制器將配置數(shù)據(jù)送進FPGA中。PS是通過串行方式送到FPGA中,PPS是以并行方式送給FPGA。FPGA在其內(nèi)部將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),該數(shù)據(jù)轉(zhuǎn)換時需要外部配置時鐘的驅(qū)動。比較PS和PPS,所用的配置時間幾乎相同,而PS的接口方式比較簡單,所以嵌入式系統(tǒng)中通常選擇PS方式配置FPGA。使用PPA方式配置數(shù)據(jù)時,配置控制器將配置數(shù)據(jù)以并行方式送給FPGA,然后在FPGA內(nèi)部進行數(shù)據(jù)串行化處理。與PPS不一樣的地方是串行化處理時不需要配置外部時鐘的驅(qū)動,但接口更復雜,工程中很少使用。

            邊界掃描方式需要連接計算機,無法在現(xiàn)場使用,嵌入式系統(tǒng)中很少采用這種方式。

            通過上述的分析,在嵌入式系統(tǒng)中要使用FPGA時,可以采用專用EPC配置器件、PS、PPS、PPA和CPLD配置器件,但是PS、PPS、PPA比專用EPC配置更具成本和體積優(yōu)勢。在PS、PPS、PPA中,PS又是最優(yōu)的通信方式。所以在嵌入式系統(tǒng)中,選擇利用CPLD配置器件的PS被動串行方式來配置FPGA最為合適。

            而本文正是利用CPLD配置控制器基于PS方式進行FPGA配置的新方法,在每次啟動系統(tǒng)時,由配置控制器從Flash中讀出FPGA配置文件的數(shù)據(jù)信息,再下載到FPGA中以完成器件的配置功能。當系統(tǒng)需要升級更新FPGA配置文件時,可通過網(wǎng)絡或者由主機通過JTAG接口(未聯(lián)網(wǎng)時)將配置文件發(fā)送給基于Nios II處理器的嵌入式系統(tǒng)中,由Nios II處理器更新系統(tǒng)中的Flash。當Flash內(nèi)容更新后,系統(tǒng)就可實現(xiàn)在加電時由CPLD配置控制器自動將配置文件下載到FPGA中。這樣在不需要任何硬件動作和專業(yè)軟件的情況下,只需要進行常規(guī)軟件操作就可以更新FPGA的配置文件。CPLD配置控制器主要是在配置FPGA時將FLASH存放的配置文件中的并行數(shù)據(jù)轉(zhuǎn)化為串行數(shù)據(jù),實現(xiàn)系統(tǒng)的加電自運行。

            3 嵌入式系統(tǒng)中FPGA 的配置電路設計

            3.1 PS方式配置時序

            在嵌入式系統(tǒng)中,配置控制器可以產(chǎn)生配置時序,能夠和FPGA直接通信,將FLASH 中的配置文件傳輸?shù)紽PGA 的SRAM 中去。通常使用PS被動串行方式進行配置FPGA,下面就通信中使用到的5根信號線的配置時序進行說明。

            5根信號線分別為nCONFIG、nSTATUS、CONF_DONE、DCLK、DATA,連接配置控制器的5個I/O 口和對應的FPGA的引腳,配置時序圖如圖2所示。

           PS方式配置信號時序圖

          圖2 PS方式配置信號時序圖

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();