《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于Flash控制器的FPGA在線加載功能設計
基于Flash控制器的FPGA在線加載功能設計
2019年電子技術應用第1期
林天靜,阮 翔,劉 春
中國電子科技集團第52研究所,浙江 杭州310000
摘要: 傳統的FPGA程序更新的方式是使用開發工具通過JTAG方式將FPGA程序固化至存儲器件Nor Flash中,當某一復雜系統內需要更新多塊FPGA時,JTAG方式由于同時只能更新一塊FPGA,耗費時間長,并且還必須連接線纜,無法實現遠程更新。因此,提出了一種FPGA在線更新程序的實現方案,該方案可以實現系統內的多塊FPGA程序更新,最大化更新速度的同時,可通過網絡實現遠程更新,便于調試及遠程升級。
關鍵詞: FPGA 在線更新 BPI
中圖分類號: TN47
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181693
中文引用格式: 林天靜,阮翔,劉春. 基于Flash控制器的FPGA在線加載功能設計[J].電子技術應用,2019,45(1):88-91.
英文引用格式: Lin Tianjing,Ruan Xiang,Liu Chun. Design of FPGA online loading based on Flash controller[J]. Application of Electronic Technique,2019,45(1):88-91.
Design of FPGA online loading based on Flash controller
Lin Tianjing,Ruan Xiang,Liu Chun
The 52th Research Institute of China Electronics Technology Group Corporation,Hangzhou 310000,China
Abstract: Traditional way of FPGA configuration file update is using development tools to write FPGA target code to storage devices such as Nor Flash through the JTAG way.However,when the system becomes complicated with multiple FPGA,it takes a long time to update all the FPGA due to the limitation that the JTAG way can only update FPGA once a time. Therefore this paper proposes a FPGA online updating method,which can update multiple FPGA programs at the same time, greatly shorten the update time and reduce the cost of the system.
Key words : FPGA;online update;BPI

0 引言

    近些年來,由于其靈活可配置性及成本的降低,現場可編程門陣列(Field Programmable Gate Array,FPGA)在嵌入式系統中應用越來越廣泛,不論產品的初期研發或是后期維護都不可避免地需要頻繁更新FPGA程序。傳統的JTAG方式更新FPGA程序的方式是通過開發軟件將需固化的文件寫入Nor Flash器件。當系統很復雜且需要更新的FPGA數量較多時,JTAG方式更新FPGA程序則費時費力且還需拆結構。若在FPGA內部通過邏輯代碼搭建一Flash控制器實現對Flash器件的讀寫操作,即可并行實現系統內每片FPGA對配置文件的在線更新,大大縮短程序固化時間。本文依托于Xilinx公司的FPGA和Spasion公司的Nor Flash,詳細介紹了Flash控制器設計和在線加載功能的實現方法。

1 FPGA配置方式

    以Xilinx Virtex6 系列FPGA為例,對配置文件的加載方式有串行Flash、并行Flash、JTAG方式等,其中最常用的是并行Flash方式(Byte Peripheral Interface Parallel Flash Mode,BPI),其配置模式如圖1所示。

qrs1-t1.gif

    一種實際的FPGA與Nor Flash硬線連接方式如圖2所示。

qrs1-t2.gif

    無論是通過JTAG方式還是通過軟件操作實現程序更新,都是通過控制這些讀寫使能信號及地址線實現配置文件的寫入,FPGA掉電重啟之后再從Flash取出配置數據從而實現加載。本文提出的FPGA在線更新程序的方式則是通過FPGA控制邏輯驅動Flash的數據和地址,從而為多塊FPGA并行更新程序的實現提供了前提。

2 Flash控制器設計

    Flash器件的基本操作包括讀、寫、擦除等,這些操作都是通過向相應的命令寄存器寫入特定的指令來實現的,這些指令的寫入通過操作與FPGA相連的片選信號(ce_n)、寫使能信號(we_n)、讀使能信號(oe_n)、地址總線(addr[23:0])和數據總線(dq[15:0])實現。

    以目前市場上常用的Spasion公司的S29GL-P系列Nor Flash為例,通過FPGA實現的控制器外部接口如圖3所示。

qrs1-t3.gif

    其中,start信號用于啟動控制器模塊對Flash器件實現讀寫操作,在啟動之前,須先告知Flash配置文件大小和配置文件在Flash存儲空間的首地址;data_req、data_in和rd_data_count信號用于與一前端FIFO實現數據交互,配置文件先緩存到FIFO中,然后由控制器負責取出并寫入Flash器件;config_status信號用于指示程序更新是否完成。

    該Flash控制器按時間上的先后順序分別實現了對Flash器件的讀ID、擦除和寫緩沖操作,下面將分別進行簡要敘述。

    每次對Flash進行基本的讀寫操作之前,會對Flash芯片進行讀ID操作以檢驗器件的好壞,讀ID涉及的主要操作為向特定寄存器寫入相應的解鎖指令,然后再進行多操作讀出相應的寄存器值,其時序圖及讀結果如圖4所示。

qrs1-t4.gif

    確認了芯片ID無誤,即可進行正確訪問,首先對Flash芯片進行擦除操作。Flash芯片擦除可分為兩種:整片擦除和扇區擦除。由于實際使用時并未用到整塊Flash存儲空間,而是根據配置文件的大小選擇合適的扇區大小存儲配置文件,所以設計中采用的是扇區擦除方式,時序如圖5所示。

qrs1-t5.gif

    當成功寫入擦除操作指令之后,芯片會進入一個較長的周期等待擦除操作的完成,該期間無法對芯片進行復位之外的其他操作。

    完成了擦除操作之后,即可向Flash寫入配置數據,其對應的寫緩沖時序如圖6所示。

qrs1-t6.gif

    擦除和讀寫的過程中,地址將進行自動累加且起始地址可變。Flash的寫操作可為單字寫和緩沖寫兩種,由于緩沖寫最大一次可向Flash寫入32個字,為了最大化寫入速度,選擇緩沖寫方式;Flash的讀操作分為單字讀和按頁讀兩種,由于Flash讀數據速率較高且系統對讀速率沒有太高要求,本文選擇單字讀方式。

3 工程應用及性能測試

    以一實際項目工程為例,系統中具有10塊FPGA進行程序更新,其在線加載功能系統架構如圖7所示。

qrs1-t7.gif

    系統主控CPU運行在Linux系統下,CPU通過以太網與遠程計算機進行通信調試,同時通過PCIE或SRIO高速總線向每塊FPGA下發配置數據,最后再由Flash控制器完成數據的寫入。如前文所述,一次寫緩沖操作的數據量為32個字,而配置文件的大小有可能不是32個字的整數倍,所以還需要應用軟件對配置文件進行補齊操作。單個FPGA在線加載流程簡要敘述如圖8所示。

qrs1-t8.gif

    更新單塊FPGA程序時,以一實際測試的3.47 MB大小的配置文件為例,經FPGA在線更新程序固化的時間和使用ISE14.7軟件JTAG方式固化的時間如表1所示。

qrs1-b1.gif

    Flash芯片手冊中給出的典型擦除和寫緩沖時間分別0.5 s和480 μs,則可計算出理論上3.47 MB大小的文件固化所需的典型時間約為41 s。由于器件等因素影響,實測時用時往往大于該時間,但總體來說,使用在線更新方式的耗時要比用JTAG方式耗時更少。

    而當更新系統中的10塊FPGA時,由于每塊FPGA均可同時進行在線更新操作,程序固化所消耗的時間與單塊FPGA程序更新時間開銷大致相當,可見并行在線更新方式相較于傳統JTAG方式無疑可以大大縮短時間。

4 配置文件不斷電加載和備份方法

    每次更新完配置之后,通常做法是對FPGA進行斷電重啟實現重新加載,但工程應用時斷電可能會影響系統其他模塊的正常工作。為使FPGA在不斷電的情況下自動加載更新完的配置程序,可通過配置FPGA芯片的PROGRAM_B信號來實現,BPI模式下的時序如圖9所示。

qrs1-t9.gif

    考慮到若在配置過程中FPGA發生斷電等異常,則Flash中的配置文件損壞,FPGA將無法實現加載,需要重新使用JTAG方式燒寫配置文件。為防止該種情況發生,可分配Flash的一塊區域用于備份配置文件,發生FPGA無法正常加載的異常時,可讀取該備份配置文件實現FPGA再次正常加載,但前提是該部分Flash存儲空間預先固化了帶有FPGA在線更新功能的程序。

5 結論

    本文利用FPGA邏輯設計了一款Flash控制器,實現了FPGA在線更新功能,由于FPGA直接操作Flash,因此相比傳統FPGA程序更新方法具有更新速度快、硬件電路精簡、易于系統集成等優點,同時能夠實現復雜系統多塊FPGA并行更新程序,大大節省了程序固化時間,便于項目前期開發及后期排故調試。

參考文獻

[1] Xilinx UG360,Virtex-6 FPGA configuration user guide[EB/OL].[2015-11-18].http://www.xilinx.com.

[2] Spansion.S29GL-P MirrorBit Flash family datasheet[EB/OL].[2009-11-20].http://www.spansion.com.

[3] 于樂,王嘉良.易于移植的FPGA在線更新控制器設計[J].航空電子技術,2015(4):47-50.

[4] 楊鵬.基于Linux系統的FPGA芯片在線加載的設計和實現[J].電子設計工程,2015(6):161-164.



作者信息:

林天靜,阮  翔,劉  春

(中國電子科技集團第52研究所,浙江 杭州310000)

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产综合一区二区| 久久久亚洲影院你懂的| 欧美一级视频| 美国十次了思思久久精品导航| 欧美午夜精品理论片a级按摩| 国产精品美女www爽爽爽视频| 亚洲国产岛国毛片在线| 国产一区二区三区在线免费观看| 国产精品自拍网站| 亚欧美中日韩视频| 亚洲激情视频在线| 欧美日韩国产小视频在线观看| 亚洲一区美女视频在线观看免费| 日韩视频在线一区二区三区| 国产精品久久久久高潮| 亚洲福利精品| 欧美高清成人| 在线中文字幕日韩| 国产精品一级二级三级| 男同欧美伦乱| 一区二区三区在线免费视频| 精品成人久久| 亚洲在线观看免费| 久久一综合视频| 久久国产成人| 久久视频免费观看| 亚洲四色影视在线观看| 在线日本成人| 狠狠狠色丁香婷婷综合久久五月| 亚洲精品日本| 免费日韩精品中文字幕视频在线| 亚洲精品乱码久久久久久黑人| 136国产福利精品导航| 欧美黄色影院| 国产亚洲精品一区二区| 欧美亚洲视频一区二区| 欧美另类极品videosbest最新版本| 欧美日韩国产一区二区三区| 欧美日本亚洲韩国国产| 亚洲第一天堂无码专区| 久久综合免费视频影院| 亚洲影音先锋| 欧美人妖在线观看| 亚洲精品在线一区二区| 好吊日精品视频| 韩国av一区二区三区| 欧美日韩在线观看一区二区三区| 久久先锋资源| 欧美亚洲一级| 亚洲欧洲一二三| 久久riav二区三区| 亚洲一区欧美激情| 一区二区三区国产在线观看| 欧美日韩和欧美的一区二区| 欧美一级成年大片在线观看| 亚洲视频网站在线观看| 久久久国产精品一区二区中文| 狠狠色综合一区二区| 亚洲精品久久久一区二区三区| 欧美天天视频| 亚洲免费在线观看| 一个人看的www久久| 欧美在线视频免费| 欧美午夜精品电影| 蜜臀av性久久久久蜜臀aⅴ| 久久美女性网| 欧美极品影院| 国产精品hd| 久久精品一二三区| 亚洲美女免费精品视频在线观看| 欧美在线观看视频一区二区三区| 欧美日本久久| 亚洲第一精品福利| 免费亚洲一区二区| av成人免费| 欧美肥婆bbw| 久久久青草婷婷精品综合日韩| 欧美日韩另类丝袜其他| 激情综合色综合久久综合| 久久久久成人网| 一区二区三区免费看| 亚洲网址在线| 欧美日韩1区| 国产精品美女午夜av| 国产女人精品视频| 欧美成人小视频| 亚洲午夜av电影| 亚洲国产天堂网精品网站| 欧美日韩亚洲视频| 欧美日韩国产二区| 亚洲欧美日本视频在线观看| 国产视频在线观看一区二区| 亚洲成人在线观看视频| 亚洲在线一区二区| 欧美亚洲免费在线| 亚洲永久在线观看| 亚洲欧美日韩综合国产aⅴ| 中日韩在线视频| 国产欧美一区二区色老头| 久久天堂精品| 一区二区三区**美女毛片| 国产精品高清网站| 国产自产v一区二区三区c| 亚洲欧美激情在线视频| 国产亚洲在线| 亚洲精品自在久久| 亚洲天堂第二页| 亚洲激情视频在线观看| 亚洲欧洲免费视频| 香蕉国产精品偷在线观看不卡| 国产美女扒开尿口久久久| 国产色婷婷国产综合在线理论片a| 免费日韩av| 亚洲午夜视频在线观看| 开元免费观看欧美电视剧网站| 欧美日韩免费观看一区二区三区| 韩国一区二区三区美女美女秀| 欧美黄色大片网站| 免费在线亚洲欧美| 亚洲欧美在线一区| 久久久久久久999| 很黄很黄激情成人| 国产性色一区二区| 黄色一区三区| 性高湖久久久久久久久| 欧美人与禽性xxxxx杂性| 欧美日产国产成人免费图片| 久久亚洲影院| 亚洲嫩草精品久久| 影音先锋久久资源网| 国产在线精品一区二区中文| 欧美成人情趣视频| 欧美视频一区二区三区…| 国产精品久久久久91| 亚洲高清av| 欧美日韩国产色综合一二三四| 欧美va亚洲va日韩∨a综合色| 日韩视频久久| 欧美日韩在线精品一区二区三区| 欧美日韩岛国| 老司机aⅴ在线精品导航| 国产亚洲精品成人av久久ww| 亚洲视频一区二区在线观看| 国产精品日日摸夜夜添夜夜av| 亚洲国产精品va在线看黑人动漫| 亚洲三级电影全部在线观看高清| 国产精品永久在线| 亚洲欧洲在线播放| 一区二区国产精品| 亚洲免费精彩视频| 一区二区视频欧美| 国产啪精品视频| 小黄鸭视频精品导航| 亚洲午夜激情| 欧美一级片久久久久久久| 久久精彩免费视频| 亚洲高清激情| 欧美午夜片在线观看| 日韩午夜在线播放| 欧美精品在线观看播放| 亚洲国产精品久久久久婷婷老年| 性色av一区二区怡红| 久久九九精品99国产精品| 国产精品盗摄一区二区三区| 国产精品免费小视频| 欧美午夜视频一区二区| 久久久91精品国产一区二区精品| 性刺激综合网| 欧美在线视频全部完| 国产欧美欧洲在线观看| 亚洲一区二区三区四区在线观看| 亚洲高清免费| 99日韩精品| 欧美日韩影院| 欧美午夜欧美| 在线日韩中文字幕| 国产精品久久久一本精品| 在线观看亚洲精品视频| 亚洲一区二区精品在线| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲国产另类久久久精品极度| 亚洲精品免费在线| 亚洲日韩中文字幕在线播放| 国产日韩欧美三级| 一本色道久久综合亚洲二区三区| 久久久久久一区二区| 欧美黄在线观看| 欧美一区二区在线播放| 欧美视频一区二区在线观看| 国产亚洲成人一区| 亚洲精品一区二区三区四区高清| 国产一区免费视频| 国产精品高潮呻吟久久| 亚洲欧美激情精品一区二区| 久久亚洲一区| 久久亚洲精品一区二区| 麻豆成人小视频| 久久久久久噜噜噜久久久精品| 狠狠色狠狠色综合日日tαg| 国产一区二区日韩精品欧美精品| 久久久激情视频| 欧美在线观看视频在线| 国产精品一区二区在线观看网站| 香蕉久久夜色| 激情丁香综合| 亚洲欧美日韩精品综合在线观看| 亚洲国产一区二区视频| 国产无一区二区| 亚洲国产日韩精品| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲日本在线视频观看| 亚洲精品日本| 老色批av在线精品| 国产一级揄自揄精品视频| 欧美精品在线免费播放| 久久久综合精品| 欧美日韩亚洲一区二区三区| 日韩亚洲精品视频| 亚洲成人影音| 欧美美女bbbb| 国产欧美69| 亚洲永久网站| 欧美午夜大胆人体| 国产日韩欧美在线| 午夜精品在线观看| 国产一区二区三区电影在线观看| 最新日韩在线视频| 99re视频这里只有精品| 亚洲天堂av高清| 麻豆国产精品一区二区三区| 欧美人在线观看| 夜夜夜精品看看| 免费在线观看成人av| 极品少妇一区二区| 国产精品中文字幕在线观看| 国产精品麻豆va在线播放| 亚洲在线电影| 午夜久久美女| 国产精品一区二区三区四区五区| 亚洲午夜精品久久久久久app| 亚洲视屏一区| 亚洲先锋成人| 欧美一区二区高清在线观看| 久久免费午夜影院| 国产精品视频第一区| 亚洲欧洲在线看| 亚洲欧洲美洲综合色网| 欧美顶级少妇做爰| 欧美精选午夜久久久乱码6080| 在线亚洲美日韩| 久久人人爽爽爽人久久久| 亚洲综合三区| 欧美激情aaaa| 一区在线免费观看| 国产精品久久久久久av福利软件| 亚洲美女中文字幕| 亚洲成色999久久网站| 国产一区二区三区四区| 91久久极品少妇xxxxⅹ软件| 欧美在线影院在线视频| 在线观看日韩av先锋影音电影院| 可以免费看不卡的av网站| 欧美激情精品久久久久久| 久久久蜜桃精品| 在线成人激情视频| 欧美日产在线观看| 久久午夜精品| 红桃视频一区| 国产精品美女主播在线观看纯欲| 欧美精品一级| 欧美日韩一区不卡| 久久亚洲免费| 羞羞视频在线观看欧美| 在线看一区二区| 国产人妖伪娘一区91| 欧美日韩国产片| 国内精品视频666| 欧美国产日本高清在线| 亚洲欧美在线aaa| 亚洲精品久久久久久久久久久| 好看的亚洲午夜视频在线| 欧美mv日韩mv国产网站app| 国内精品视频在线观看| av成人福利| 国产精品激情| 国产精品久久网站| 亚洲六月丁香色婷婷综合久久| 一区二区三区四区五区在线| 久久久久一区二区三区四区| 国产欧美日韩一区二区三区在线观看| 国产有码一区二区| 欧美—级a级欧美特级ar全黄| 欧美激情第10页| 国产精品国产自产拍高清av王其| 欧美国产欧美亚洲国产日韩mv天天看完整| 尤物精品国产第一福利三区| 国内在线观看一区二区三区| 国产欧美日韩亚洲一区二区三区| 欧美精品一区二区精品网| 欧美一区二区视频在线观看| 欧美激情中文字幕一区二区| 欧美体内谢she精2性欧美| 欧美色欧美亚洲另类七区| 国产精品久久久久久久久婷婷| 亚洲三级国产| 伊人成人网在线看| 亚洲精品在线观看视频| 一本一本久久a久久精品牛牛影视| 欧美日本高清视频| 国产精品一区二区黑丝| 亚洲图片你懂的| 亚洲与欧洲av电影| 久久精品亚洲一区| 在线观看视频一区二区| 在线综合欧美| 欧美在线视频导航| 久久成人羞羞网站| 一本色道久久综合一区| 久久精品视频亚洲| 欧美日韩天天操| 激情欧美日韩一区| 亚洲国产精品久久人人爱蜜臀| 欧美精品xxxxbbbb| 99精品欧美一区二区蜜桃免费| 久热国产精品视频| 欧美国产极速在线| 国产精品久久久久影院色老大| 好男人免费精品视频|