在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于fpga編程flash芯片和配置數(shù)據(jù)技巧

電子設(shè)計 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-12-13 13:58 ? 次閱讀

FPGA中實現(xiàn)在應(yīng)用編程(In Application Pro—gramming,IAP)有兩種方法:一種是,在電路板上加外電路。例如用MCUCPLD來接收配置數(shù)據(jù),在被動串行(PS)模式下由外電路編程FPGA或是編程Flash器件(包括EPCS和Flash),然后控制FPGA的配置復(fù)位引腳來復(fù)位整個FPGA,最后FPGA采用主串方式進(jìn)行自我配置。另一種是,通過FPGA中的Nios CPU或是專用IP來接收編程數(shù)據(jù),并編程Flash芯片,然后通過外部簡單電路將FPGA復(fù)位啟動,以主動串行(AS)模式進(jìn)行配置。

為了減小電路板面積,節(jié)約成本,提高可靠性,本設(shè)計采用第二種方法。本設(shè)計的要求是:硬件電路須配置為主動串行模式,即選擇MSEL[1:O]為l:O;具備EPCS,或同時具備EPCS和Flash;具有與PC機通信的功能。FPGA接收更新數(shù)據(jù),并將其存入Flash器件,然后復(fù)位Nios或FPGA對軟硬件進(jìn)行更新。

1 系統(tǒng)的硬件設(shè)計

系統(tǒng)主要由Cyclone FPGA、EPCS、Flash和串行通信等組成,硬件結(jié)構(gòu)如圖1所示。

硬件結(jié)構(gòu)

點擊看原圖

EPCS采用Altera公司的EPCS4,容量達(dá)到4 Mb,引腳較少,成本低,支持3.3 V低電壓操作。Flash芯片采用AMD公司的Am29LV640MH/L,支持3.O V低電壓操作,具有低功耗特性,芯片容量為64 Mb,滿足大容量數(shù)據(jù)的存儲;并口操作,與Cyclone FPGA完全兼容,而且在SOPC中有與之對應(yīng)的CFI_FLASH核,便于硬件電路的設(shè)計。

2 工作原理

2.1 幾個概念

FPGA配置數(shù)據(jù):是sof文件,將sof文件編程到Flash中,上電后FPGA可以從Flash中配置。sof文件是其他配置文件的基礎(chǔ),其他文件均可由sof文件轉(zhuǎn)換得到。

軟件數(shù)據(jù):通過NiosII IDE創(chuàng)建elf文件,將用戶程序編程到Flash中,允許復(fù)位后從F1ash中加載軟件程序,從而啟動NiosII CPU。

2.2 編程文件

編程文件為Flash格式的文件,即S—reeorld(簡稱“SREC”)格式。SREC格式是Motorola公司制定的一種燒寫格式標(biāo)準(zhǔn)。SREC格式文件是由一組ASCII碼組成,所有的十六進(jìn)制數(shù)據(jù)均為大寫形式,結(jié)構(gòu)說明如下:

①起始代碼。以S作為一個數(shù)據(jù)行的開始。

②記錄類型。1個十進(jìn)制數(shù)字(O~9),定義數(shù)據(jù)域的類型。

③字節(jié)數(shù)。1個字節(jié),定義字節(jié)數(shù)之后除地址字節(jié)、校驗字節(jié)之外其他字節(jié)的個數(shù)。

④地址。由4(或6、8)個字節(jié)組成,定義了第一個數(shù)據(jù)字節(jié)存儲的位置。

⑤數(shù)據(jù)字節(jié)。由n個字節(jié)組成,數(shù)據(jù)字節(jié)為實際有效的編程信息

⑥校驗字節(jié)。1個字節(jié),作校驗使用,所有十六進(jìn)制字節(jié)相加后取8位,為0xFF。

2.3 AS配置模式

FPGA的配置數(shù)據(jù)存儲在內(nèi)部SRAM單元中。由于SRAM掉電后數(shù)據(jù)會丟失,因此每次上電時必須重新將配置數(shù)據(jù)寫入SRAM中。這個過程稱為“FPGA的配置”。由此可見,F(xiàn)PGA的配置信息是存儲在FPGA內(nèi)部RAM當(dāng)中的。可知在主動串行模式下,F(xiàn)PGA將配置數(shù)據(jù)從EPGS中讀取,然后存入內(nèi)部RAM中。

AS配置模式支持StratixII和Cyclone系列的FPGA,通過配置MSEL[1:O]為1:0,選擇主動配置模式(除JTAG模式不受MSEL控制外,其他配置方式均由MSEL決定)。AS配置模式使用串行配置器件(EPCS1/EPCS4/EPCSl6/EPCS64)。在AS配置過程中,StratixlI和Cy—clone系列的FPGA是主設(shè)備,串行配置器件為從設(shè)備。如圖2所示,在AS配置模式下,F(xiàn)PGA通過DATA0接收配置數(shù)據(jù),配置數(shù)據(jù)和DCLK是同步的。每個時鐘周期傳輸1位配置數(shù)據(jù)。通過控制nCONFIG、nSTATUS、CONF_DONE來表示配置過程。串行配置芯片在DCLK上升沿時鎖存輸入信號和控制信號,在下降沿時輸出配置數(shù)據(jù)。Cyclone芯片在DCLK下降沿時輸出控制信號,并鎖存配置數(shù)據(jù)。

EPCS配置時序

點擊看原圖

3 工作流程

3.1 硬件配置的更新

如圖3所示,F(xiàn)PGA的配置過程分為:復(fù)位、配置和初始化。

FPGA的配置過程

點擊看原圖

(1)復(fù)位FPGA

上電復(fù)位:在用戶模式下,當(dāng)nCONFIG引腳持續(xù)低電平40μs時,F(xiàn)PGA將進(jìn)入復(fù)位狀態(tài)。復(fù)位時,F(xiàn)P—GA采樣MSEL引腳的電平值,以確定采用的配置方式;同時,nSTATUS和CONF_DONE引腳由FPGA置為低電平,所有I/0引腳為三態(tài)且FPGA內(nèi)部配置寄存器被清空。

FPGA復(fù)位的2種方法:

①外加RC復(fù)位電路或者復(fù)位芯片,自動產(chǎn)生上電復(fù)位脈沖。

②參考芯片手冊。如果芯片提供了上電復(fù)位脈沖(一般是全局復(fù)位信號),則使用它作為復(fù)位信號;若沒有提供,則查找芯片是否給出了寄存單元上電默認(rèn)值(一般是O),利用該特性復(fù)位或者產(chǎn)生復(fù)位脈沖。

(2)配置FPGA

復(fù)位后,nCONFIG被外部上拉電阻拉高,進(jìn)入配置階段。此時,nSTATUS被FPGA釋放并由外部上拉電阻拉為高電平后進(jìn)入配置狀態(tài)。Cyclone芯片通過將nCSO輸出的信號置低來使能串行配置芯片,nCS0引腳連接配置芯片的片選段(nCS),用串行時鐘(DCLK)和串行數(shù)據(jù)輸出(ASDO)引腳來發(fā)送操作指令,及/或?qū)⒌刂沸盘栕x到串行配置芯片中。接著配置芯片將數(shù)據(jù)送到串行數(shù)據(jù)輸出(DATA)引腳,DATA引腳連接Cyclone芯片的DATA0輸入腳。配置數(shù)據(jù)在DCLK時鐘的上升沿載入FPGA。當(dāng)接收完所有的配置位后(CRC校驗無誤),Cyclone芯片懸空CONF_DONE引腳,該引腳由外部10 kΩ電阻拉高;同時,停止驅(qū)動DCLK信號。只有當(dāng)CONF_DONE到達(dá)一定的邏輯高電平后,初始化才開始。

(3)初始化階段

在Cyclone芯片中,初始時鐘源是Cyclone芯片的lOMHz(典型的)內(nèi)部晶振,或者是可供選擇的CLKUSR引腳。內(nèi)部晶振是默認(rèn)的初始化時鐘源。如果用了內(nèi)部時鐘,則Cyclone芯片為正確的初始化提供足夠的時鐘。使用內(nèi)部時鐘的好處在于,初始化時不需要從外部發(fā)送其他的時鐘到CLKUSR引腳,而且可以把CLKUSR引腳當(dāng)作I/O引腳。

(4)用戶模式

初始化結(jié)束后,F(xiàn)PGA進(jìn)入用戶模式。在用戶模式下,用戶I/O引腳不再有弱上拉電阻,而是執(zhí)行設(shè)計中分配的功能。Cyclone芯片可以通過將nCONFIG拉低而開始重新配置。nCONFIG低信號應(yīng)該至少持續(xù)40μs。當(dāng)nCONFIG被拉低時,Cyclone芯片被復(fù)位并進(jìn)入復(fù)位階段。Cyclone芯片也會把nSTATUS和CONF_DONE拉低,所有的I/O引腳處于三態(tài)。一旦nCONFIG回到邏輯高電平,Cyclone芯片將釋放nSTATUS,重新開始配置。

(5)配置時出現(xiàn)的錯誤

如果在配置時出現(xiàn)錯誤,則Cyclone芯片將nSTA—TUS信號置低來表明一個數(shù)據(jù)幀錯誤,CONF_DONE信號為低。如果在Quartus軟件的Device&Pin Options窗口的General項中,選中Auto—restart configuration aftererror選項,則Cyclone芯片通過激活nCSO來實現(xiàn)復(fù)位,在復(fù)位失效時間(40μs)后釋放nSTATUS,并再次嘗試配置。如果該選項未被選中,則外部系統(tǒng)必須監(jiān)視nSTA—TUS信號以防出錯,然后將nCONFIG信號拉低并持續(xù)至少40μs來重新配置。

計算機與目標(biāo)板上的Nios程序建立連接,通過通信接口將Flash文件傳輸給FPGA;Nios程序判斷出傳輸文件的針對目標(biāo)后,將編程數(shù)據(jù)存放在EPCS或Flash中。接收到的數(shù)據(jù)首先暫存入SDRAM,而不是直接對EPCS和Flash進(jìn)行操作。這樣做的好處是,一旦傳輸失敗或中止,不會破壞原有EPCS和Flash中的數(shù)據(jù)。

通過sof2Flash命令來生成Flash文件時,可以通過SOPC Builder打開NioslI command shell,使用“sof2 Flash—epcs-input=<輸入文件名.sof>一output=<輸出文件名.Flash>”命令,生成的Flash文件存在于工程目錄下。也可以將sof文件復(fù)制到“〈quartus安裝目錄〉\kits\nios2_60\examples”下,直接打開NiosII command shell,使用“sof2Flash-epcs—input=<輸入文件名.sof>一output=<輸出文件名.Flash>”,生成的Flash文件存在于“〈quartus安裝目錄〉\kits\nios2_60\examples”下。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21736

    瀏覽量

    603434
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA芯片配置方式及常見配置方法

    廣義的來說,FPGA配置包括直接使用下載電纜對FPGA器件進(jìn)行編程、對外部EEPROM和FLASH進(jìn)行
    發(fā)表于 10-26 10:58 ?9936次閱讀

    基于SPI FLASHFPGA多重配置

    通過FPGA的多重配置可以有效地精簡控制結(jié)構(gòu)的設(shè)計,同時可以用邏輯資源較少的FPGA器件實現(xiàn)需要很大資源才能實現(xiàn)的程序。以Virtex5系列開發(fā)板和配置存儲器SPI
    發(fā)表于 01-24 14:17 ?1.5w次閱讀
    基于SPI <b class='flag-5'>FLASH</b>的<b class='flag-5'>FPGA</b>多重<b class='flag-5'>配置</b>

    FPGA的開發(fā)過程中如何實現(xiàn)在應(yīng)用編程應(yīng)用功能

    或是專用IP來接收編程數(shù)據(jù),并編程Flash芯片,然后通過外部簡單電路將FPGA復(fù)位啟動,以主動
    發(fā)表于 07-22 16:41 ?2126次閱讀
    在<b class='flag-5'>FPGA</b>的開發(fā)過程中如何實現(xiàn)在應(yīng)用<b class='flag-5'>編程</b>應(yīng)用功能

    解析FPGA從SPI Flash啟動配置數(shù)據(jù)時的地址問題

    fpga 上電時,默認(rèn)是從 flash 的 0x00 地址開始讀數(shù)據(jù)
    發(fā)表于 07-15 09:03 ?3912次閱讀
    解析<b class='flag-5'>FPGA</b>從SPI <b class='flag-5'>Flash</b>啟動<b class='flag-5'>配置</b><b class='flag-5'>數(shù)據(jù)</b>時的地址問題

    FPGA中SPI復(fù)用配置編程方法

    FPGA中SPI復(fù)用配置編程方法SPI(Serial Peripheral InteRFace,串行外圍設(shè)備接口)是一種高速、全 雙工、同步的通信總線,在芯片的引腳上只占用4根線,不
    發(fā)表于 08-12 11:56

    采用Flash和JTAG接口實現(xiàn)FPGA配置系統(tǒng)設(shè)計

    寫緩沖編程寫入Flash存儲器的數(shù)據(jù)小于一幀配置碼流的大小,因此接收到寫命令后,燒寫控制模塊會配合寫命令和對應(yīng)的操作地址,將緩沖區(qū)中一幀配置
    發(fā)表于 05-30 05:00

    使用高速SPI Nor FlashFPGA配置

    NOR閃存廣泛用作FPGA配置設(shè)備。FPGA在工業(yè)和通信及汽車ADAS應(yīng)用中的使用取決于NOR Flash的低延遲和高數(shù)據(jù)吞吐量特性。快速
    發(fā)表于 09-18 15:18

    使用CPLD和Flash實現(xiàn)FPGA配置

    本文介紹了通過處理機用CPLD和Flash實現(xiàn)FPGA配置文件下載更新的方法。與傳統(tǒng)的JTAG或PROM串行下載配置方法相比,此方法具有更新配置
    發(fā)表于 10-25 05:51 ?9313次閱讀
    使用CPLD和<b class='flag-5'>Flash</b>實現(xiàn)<b class='flag-5'>FPGA</b>的<b class='flag-5'>配置</b>

    FPGA配置Flash編程教材

    本章將首先介紹FPGA配置方式和配置過程,然后簡單介紹了配置芯片配置文件的種類以及
    發(fā)表于 03-22 10:53 ?804次下載
    <b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>和<b class='flag-5'>Flash</b><b class='flag-5'>編程</b>教材

    SPI方式FPGA配置和SPI flash編程

    SPI方式FPGA配置和SPI flash編程
    發(fā)表于 05-16 18:01 ?165次下載
    SPI方式<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b>和SPI <b class='flag-5'>flash</b><b class='flag-5'>編程</b>

    FPGA_ASIC-DSP和FPGA共用FLASH進(jìn)行配置的方法

    FPGA_ASIC-DSP和FPGA共用FLASH進(jìn)行配置的方法(哪些專業(yè)適合嵌入式開發(fā))-該文檔為FPGA_ASIC-DSP和
    發(fā)表于 07-30 11:16 ?21次下載
    <b class='flag-5'>FPGA</b>_ASIC-DSP和<b class='flag-5'>FPGA</b>共用<b class='flag-5'>FLASH</b>進(jìn)行<b class='flag-5'>配置</b>的方法

    FPGA芯片配置分類及配置方式

    廣義的來說,FPGA配置包括直接使用下載電纜對FPGA器件進(jìn)行編程、對外部EEPROM和FLASH進(jìn)行
    的頭像 發(fā)表于 09-06 09:41 ?6690次閱讀

    FPGA數(shù)據(jù)配置模式解析

    芯片設(shè)計工程師根據(jù)功能,完成RTL設(shè)計,添加各種約束,完成綜合、Place Route等一系列工作之后,還需要一些配置數(shù)據(jù),完成寄存器初始化等內(nèi)容,才能開始工作。 今天我們一起來聊一聊FPGA
    的頭像 發(fā)表于 11-21 21:45 ?1320次閱讀

    fpga配置flash怎么用來存儲數(shù)據(jù)

    FPGA(現(xiàn)場可編程門陣列)是一種高度靈活的硬件設(shè)備,可以根據(jù)特定的需求進(jìn)行重新配置FPGA通常用于處理大量數(shù)據(jù)和實時計算。然而,
    的頭像 發(fā)表于 12-15 15:42 ?2560次閱讀

    固化FPGA配置芯片的方式

    每次在系統(tǒng)掉電之后,之前載入的程序?qū)G失,系統(tǒng)上電后需要重新配置。設(shè)計者為了彌補這項缺陷,在FPGA芯片的旁邊都會設(shè)置一個flash(掉電不丟失)。
    的頭像 發(fā)表于 10-24 18:13 ?345次閱讀
    固化<b class='flag-5'>FPGA</b><b class='flag-5'>配置</b><b class='flag-5'>芯片</b>的方式
    主站蜘蛛池模板: 久青草国产手机视频免费观看| 成年网站在线观看| 77788色淫视频免费观看| 黄a免费| 日本aaaaa毛片动漫| 日本黄色片黄色片| 伊人久久大香线蕉综合爱婷婷| 最刺激黄a大片免费网站| 性欧美xxxx乳高跟| 国产美女主播在线观看| 韩国午夜影院| 亚洲色图日韩| 国产精品主播在线| 1024手机免费看| 四虎永久免费地址| 俺去在线| sese综合| 欧美性色黄在线视| 天天操好逼| 欧美日本一区二区三区生| 女人的天堂网站| 欧美黄色免费大片| 一级毛片一级毛片一级毛片aa| 国模爱爱| 午夜啪啪片| 日本大片黄色| 日韩一级视频| 亚洲美女爱爱| 在线中文天堂| 免费播放一区二区三区| 久久精品久| 1000又爽又黄禁片| 色多多视频在线播放| 天堂网www在线| 一级爱片| 悠悠影院欧美日韩国产| 视频一区二区在线| 国产一级又色又爽又黄大片| 在线免费看视频| 欧美大片xxxxbbbb| 成人午夜大片免费看爽爽爽|