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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 一種遠(yuǎn)程在線更新FPGA程序的方法

          一種遠(yuǎn)程在線更新FPGA程序的方法

          作者: 時(shí)間:2012-02-22 來源:網(wǎng)絡(luò) 收藏

          1 概述
          現(xiàn)場可編程門陣列(Field Programmable Gate Array,)器件具有高密度、低功耗、高速、高可靠性等優(yōu)點(diǎn),在航空航天、通信、工業(yè)控制等方面得到了大量應(yīng)用。的處理器分為軟核和硬核,并且軟核處理器具有高度的靈活性和可配置性。
          由于器件采用的是SRAM工藝,在斷電的情況下FPGA內(nèi)的配置數(shù)據(jù)將丟失,所以需要非易失的存儲(chǔ)器來結(jié)合FPGA完成嵌入式系統(tǒng)的設(shè)計(jì)。EPCS(Erasable Programmable Configurable Serial)Flash屬于串行接口Flash,具有接口簡單、體積小、配置方便的特點(diǎn),通常用來存儲(chǔ)FPGA的配置文件和NiosII的軟件可執(zhí)行代碼。在經(jīng)過合理的配置后,系統(tǒng)在上電后就可以從EPCSFlash中讀取這些文件來啟動(dòng)整個(gè)系統(tǒng)。
          為了能使系統(tǒng)得到更靈活的應(yīng)用,充分發(fā)揮FPGA的靈活性、高效性,F(xiàn)PGA的軟硬件都需要方便的更新和升級功能;而當(dāng)形成產(chǎn)品后,通過JTAG和NiosII IDE工具來聯(lián)合完成對EPCS Flash的更新燒寫很不方便。為此,本文結(jié)合Altera公司提供的工具,提出了一種在線更新FPGA配置文件和NiosII文件的

          2 系統(tǒng)硬件結(jié)構(gòu)
          系統(tǒng)硬件結(jié)構(gòu)如圖1所示。系統(tǒng)主要有上位機(jī)系統(tǒng)、FPGA系統(tǒng)、EPCS Flash三個(gè)主體部分。上位機(jī)系統(tǒng)提供人機(jī)交互的部分,F(xiàn)PGA系統(tǒng)包括NiosII處理器、EPCS控制器、網(wǎng)絡(luò)及串行接口和其他外部接口,EPCSFlash主要用于存儲(chǔ)FPGA的配置文件和Nios映像文件。上位機(jī)系統(tǒng)通過FPGA集成的網(wǎng)絡(luò)及串行接口來完成通信工作。

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

          a.jpg


          FPGA采用Altera公司的CycloneIII系統(tǒng)的EP3C40F48417N芯片。它具有低功耗、高集成度、易于使用的特性。EPCS Flash采用Altera公司的EPCS16SI16N芯片,它支持多種可配置的時(shí)鐘源,最高支持100 MHz的外部時(shí)鐘源,具有16 Mb的存儲(chǔ)空間,足夠滿足一般的FPGA配置文件和Nios程序文件的存儲(chǔ)需要。

          3 更新程序處理流程
          更新FPGA的配置文件和NiosII的應(yīng)用程序的流程如圖2所示。

          b.jpg


          把由NiosII IDE生成的FPGA配置文件和NiosII程序文件合并,并編程為一個(gè)可以直接執(zhí)行的、包含F(xiàn)PGA配置文件和NiosII程序文件的二進(jìn)制BIN文件。然后把該文件通過X-modem協(xié)議由上位機(jī)系統(tǒng)傳輸給NiosII的應(yīng)用程序。NiosII的應(yīng)用程序接收到完整的BIN文件后,把該BIN文件寫入到EPCS Flash中。最后,Nios II的應(yīng)用程序停止看門狗,程序重新啟動(dòng),即完成了FPGA的在線更新程序的過程。

          4 合并程序文件
          Nios II的啟動(dòng)要經(jīng)歷兩個(gè)過程:
          ①FPGA器件本身的配置過程。如果內(nèi)部邏輯中使用了NiosII,則配置完成的FPGA中包含有NiosII軟核CPU。
          ②NiosII本身的應(yīng)用過程。一旦FPGA配置成功后,NiosII就被邏輯中的復(fù)位電路復(fù)位,從reset地址開始執(zhí)行代碼。
          Nios II IDE將FPGA的配置文件(.sof文件)和應(yīng)用程序(.elf文件)轉(zhuǎn)成flash格式文件,轉(zhuǎn)換后的flash格式文件是一種S-Record格式數(shù)據(jù),包含如下區(qū)域:type>length>address>data>checksum>。各字段的意思分別如下:type>表示記錄的類型;length>表示數(shù)據(jù)的長度;address>表示數(shù)據(jù)寫入的起始地址,該字段的長度取決于type>的取值;data>表示存儲(chǔ)的數(shù)據(jù);checknum>表示校驗(yàn)位。

          fpga相關(guān)文章:fpga是什么



          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA 遠(yuǎn)程 程序 方法

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();