999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于千兆以太網的FPGA 遠距離在線更新設計

2022-12-23 12:03:12文豐韓冰袁小康
電子設計工程 2022年24期
關鍵詞:程序

文豐,韓冰,袁小康

(中北大學電子測試技術國家重點實驗室,山西太原 030051)

一般情況下,FPGA 需要通過JTAG 接口,使用配套的下載線和上位機進行連接,來完成程序的更新。這種方法有很大的局限性,如一些產品的使用環境特殊,要求結構密封,這樣就無法打開下載口更新程序。該文以此為出發點,介紹了一種由Flash、FPGA 和以太網組成的遠距離在線更新系統。

Xilinx 7 系列FPGA 支持多重配置功能(即Reconfiguration and MultiBoot),具體劃分有:主串模式、從串模式、主并模式、從并模式和SelectMAP 模式,MultiBoot 特性允許用戶在不掉電重啟的情況下,針對不同的功能需求,從存儲于Flash 中的多個更新文件中選擇其中的一個進行加載,便可實現FPGA 系統配置更新,完成對應的設計任務。這就為FPGA遠距離更新帶來極大的便捷性和操作性[1]。該文提出一種遠距離更新方法,將待更新的配置文件編程到Flash,FPGA 將優先更新配置這些文件,實現在線更新。

1 原理簡述

1.1 硬件框圖

硬件設計框架如圖1 所示,主要可分為FPGA 控制,以太網傳輸和Flash 存儲,以太網選用Marvell 的88E1111 芯片,它的功能主要是把上位機下發的指令和更新程序數據傳輸給FPGA,FPGA 選擇Xilinx公司的XC7A100T 芯片,7 系列芯片采用28 nm 加工工藝,集成度高、價格低廉、功耗控制較好。Flash 采用Micron 生產的N25Q128A,該芯片通過SPI 總線與FPGA 通信,內存大小為128 MB。FPGA 收到配置文件后,通過SPI 讀寫將配置文件寫入Flash 指定的存儲空間[2]。

圖1 總體結構框圖

1.2 FPGA內部處理框圖

以太網接口選用TCP/IP 通信協議,進行上位機與FPGA 兩者之間的通信。以太網接口在很多方面與Flash 接口存在不同,例如傳輸的速率和數據位寬等,因此選擇加入FIFO,用來存放緩存數據以及中轉位寬,FPGA 內部更新結構設計如圖2 所示,由以太網接口、FIFO、SPI 接口三部分組成[3]。就傳輸速度來說,以太網相對更快,所以傳完一整包數據后,需等待FIFO 中緩存的數據存到Flash中,再傳下一包數據。

圖2 FPGA處理框圖

1.3 SPI接口

該文選用的SPI 協議支持的是主串模式,這種模式的優點是操作簡單,實用性強,占用空間小,資源利用率高。當配置FPGA 選擇主串模式時,主設備選擇FPGA,從設備選擇Flash,SPI接口配置圖如圖3所示。

圖3 SPI接口配置圖

SPI 接口是一種高速的、全雙工、同步、串行的數據總線,FPGA 通過Flash_clk,Flash_cs,Flash_datain和Flash_dataout4 條信號線來控制與Flash 之間的數據傳輸[5]。其中Flash_clk 是時鐘信號,FPGA 通過控制Flash_clk 信號來控制通信時序。Flash_cs 的作用是片選功能,起作用時電平為低,當Flash 處于選中狀態時,寫入FPGA 的操作指令和數據信息就會通過Flash_datain 傳輸到Flash中,同時Flash_dataout 讀取Flash 的信息并發送到FPGA 上。

2 Flash地址空間及配置文件跳轉

FPGA 遠距離更新配置文件分為Golden 配置文件和Multiboot 配置文件。其中,Golden 文件遠程更新時不對它操作。Multiboot 文件則是由用戶定義的,用來實現系統主要功能(即FPGA 功能)的配置程序,遠程更新時只對它進行操作[7]。程序重新加載切換更新框圖如圖4 所示。

圖4 配置文件跳轉框圖

Flash 芯片內部地址如圖5 所示。

圖5 Flash芯片內部地址

FPGA 更新結束后,可以正常工作的前提:1)Flash 中指定的地址空間放置著相應的配置文件;2)Golden配置文件能正確跳轉到Multiboot配置文件[8]。

Flash 內部空間的最開始部分用來存儲Golden配置文件,文件內包含在線更新功能和一些基礎功能。而Multiboot 配置文件包含SPI 讀寫及遠程更新接口,以及其余功能模塊,存放在指定的地址空間;最后放置狀態字,目的是驗證Multiboot 配置文件是否準確完整。

3 功能實現

3.1 實現流程

遠距離更新流程如圖6 所示。

圖6 遠距離更新流程

遠距離更新一開始,上位機先經過以太網接口下發“擦除”命令給FPGA,等待FPGA 得到指令后,馬上擦除Flash 中的數據[9],完成該操作后反饋“已擦除”狀態給上位機。

在SPI 讀寫程序編寫時,擦除時地址由低到高,寫數據時地址由高到低,FPGA 加載Flash 數據時,最先檢驗同步字,檢測正確后再加載其余配置數據。同步字在bin 文件頭部,所以擦除時需先擦除同步字,避免先擦除其余配置數據由于同步字仍存在,FPGA 檢測到同步字后一直等待加載,從而卡死。寫數據時最后寫入同步字,避免寫數據時異常斷電,由于同步字存在,FPGA 檢測到同步字后一直等待加載,從而卡死[10]。

上位機為擦除完成狀態后,就可以將需要傳輸的配置文件下發給FPGA,FPGA 將配置文件解析后“存入”Flash,直到配置文件傳輸完成[11]。

上位機下發配置文件時,由于FPGA配置SPI寫數據時地址由高到低,FIFO 的半空標志應為256 字節,檢測到半空標志后,進行頁編程,寫入256 字節數據。所以上位機發送配置文件時,首先發送配置文件最底部的256 字節數據,256 字節組成一幀,接著傳輸配置文件,由下往上發送數據信息,直到傳輸完所有數據[12]。

上位機軟件發送完配置文件后,自動讀取FPGA設備中Flash 的配置文件,并與下發的配置文件進行比對,如果文件內容一樣,則證明下發配置文件正確,如果不一樣,則提醒配置失敗。

3.2 多重配置設計

多重配置特性使FPGA 能夠從Flash 中的指定地址有選擇地加載bit流文件,將熱啟動地址(WBSTAR)和內部程序(IPROG)命令嵌入到bit 流文件中。內部生成的脈沖(IPROG)啟動配置邏輯在熱啟動地址寄存器(Warm Boot Start AddRess)WBSTAR 中指定的地址位置跳轉到更新bit 流文件,并嘗試加載更新文件。如果在更新文件加載過程中檢測到配置錯誤,則會觸發Fallback 加載Golden 文件。

Golden 文件存儲在Flash 0 地址中,Multiboot 更新文件存儲在WBSTAR 寄存器指定的地址中[13]。當WBSTAR 設置為默認值以外的任何地址值時,IPROG 會自動嵌入到bit流中。

3.3 Vivado約束文件配置

打開約束文件,將以下內容復制到Golden 文件的約束文件中并保存。

set_propertyCFGBVS VCCO [current_design](根據FPGA 連接情況進行設置)

set_property CONFIG_VOLTAGE 3.3 [current_design](根據FPGA 連接情況進行設置)set_property BITSTREAM.GENERAL.CO MPRESS TRUE[current_design](bit流壓縮)

set_pr-operty BITSTREAM.CONFIG.CONFIGRA TE40[curr-ent_design](配置速度)

set_property CONFIG_MODE SPIx1[current_de sign](X1 模式)

set_property BITST REAM.CONFIG.SPI_BUSW IDTH 1[current_design](X1 模式)

set_property BITSTREAM.CONFIG.CONFI GFA LLBACK ENABLE[current_design]

(配置FPGA 失敗后可跳轉)

set_property BITSTREAM.CONFIG.NEXT_CONF IG_ADDR 0x0300000[current_design]

(配置跳轉位置,暫定3 MB,可以根據bin 文件大小需求進行更改,但需與程序中SPI—Flash 模塊設置一致)set_property BITSTREAM.CONFIG.TIMER_CFG 0x00 0F4240 [current_design](設置看門狗時間,一個時鐘4 000 ns,暫設置為4 s,可根據不同PROM 設置)

同理,將上述內容中配置地址語句去掉,然后復制到Multiboot 約束文件中并保存。最后將bit 文件生成mcs 文件下載到Flash 即可[14]。

4 驗證方法

4.1 上位機配置Multiboot文件正常測試

選擇配置文件并打開配置FPGA,結束后,將設備斷電并重新上電,觀察設備是否能正常工作,若能正常工作,則代表上位機軟件配置FPGA 成功[15]。更新過程中,上位機界面如圖7-9 所示。

圖7 擦除Flash界面

4.2 上位機配置Multiboot文件異常情況測試

4.2.1 擦除時斷電異常情況測試

圖9 配置完成界面

上位機軟件在圖7 配置文件擦除任意時刻時,將設備斷電并重新上電,上位機重新單擊“配置FPGA”按鈕,按4.1 節的步驟進行操作,若上位機能配置FPGA,且彈出“配置FPGA 結束”提示框,則證明當Multiboot 代碼配置文件被擦除后,設備能自動跳轉并調用Golden 代碼配置文件。

4.2.2 配置時斷電異常情況測試

上位機軟件在圖8 配置文件配置任意時刻時,將設備斷電并重新上電,上位機重新單擊“配置FPGA”按鈕,按4.1 節的步驟進行操作,若上位機能配置FPGA 且彈出“配置FPGA 結束”提示框,則證明當Multiboot 代碼配置文件被擦除后或者未寫完時,設備能自動跳轉并調用Golden 代碼配置文件。

圖8 配置FPGA界面

經驗證,兩種異常情況下,設備均能自動跳轉并調用Golden 代碼配置文件。

5 結論

該文介紹的遠距離在線更新方法,以Flash 和FPGA 主串模式配置為基礎,通過對FPGA 配置流程、SPI 讀寫控制的研究,提出了該方案,經過實際測試,實現了遠距離在線更新功能。克服了特殊環境下FPGA 程序無法在線更新的困難。對于密封結構,無法開蓋的情況,在線更新程序流程簡單、經濟實用,使得程序更新的效率大大加快。該方法已經應用于具體設備中。另外,該方案的移植性強,如在LVDS,光纖等其他通信接口也可以很容易被應用,因此,在工程方面應用前景廣闊。相比于之前的程序更新方法,為防止掉電導致更新失敗,該方案加入了保護措施,進一步增加了在線更新的可靠性[16]。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
基于VMM的程序行為異常檢測
偵查實驗批準程序初探
我國刑事速裁程序的構建
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 国产精品大白天新婚身材| 午夜欧美在线| 日本尹人综合香蕉在线观看| 亚洲第一香蕉视频| 国产屁屁影院| 精品91在线| 欧美人与牲动交a欧美精品 | 98精品全国免费观看视频| 国产激爽大片高清在线观看| 国产毛片高清一级国语 | 日本三级黄在线观看| 在线免费亚洲无码视频| 99在线视频网站| 国产精品久久久久无码网站| 国产二级毛片| 2021国产精品自产拍在线| 欧美中文字幕一区二区三区| 久久中文字幕av不卡一区二区| 久久精品视频一| 国产成人综合亚洲网址| 亚洲国产精品VA在线看黑人| 国内老司机精品视频在线播出| 无码网站免费观看| 亚洲男人在线天堂| 亚洲av成人无码网站在线观看| 亚洲人成网站日本片| 国内精自视频品线一二区| 永久免费AⅤ无码网站在线观看| 精品91视频| 国产精品白浆在线播放| 日韩欧美国产三级| 国产免费观看av大片的网站| 国产99热| 欧美三级日韩三级| 久久超级碰| 日韩无码黄色| 三上悠亚一区二区| 日本亚洲成高清一区二区三区| 91精品小视频| 国产成人精品男人的天堂| 免费看美女毛片| 色播五月婷婷| 欧美国产日本高清不卡| 亚洲无线国产观看| 免费国产一级 片内射老| 日本午夜影院| 中文字幕在线免费看| 免费人成视网站在线不卡| 亚洲精品久综合蜜| 国产高清无码第一十页在线观看| 777午夜精品电影免费看| 亚洲三级网站| …亚洲 欧洲 另类 春色| 一级毛片免费的| 992tv国产人成在线观看| 亚洲日本在线免费观看| 亚洲成人播放| 无码视频国产精品一区二区| 国产99精品视频| 亚洲丝袜第一页| 专干老肥熟女视频网站| 国产一区二区福利| 91福利免费视频| 亚洲色欲色欲www网| 欧美一级爱操视频| 欧美亚洲一二三区| 在线观看亚洲天堂| 亚洲AV无码久久天堂| 亚洲无码高清视频在线观看| 亚洲视频在线网| 免费va国产在线观看| 亚洲热线99精品视频| 欧美 亚洲 日韩 国产| 亚洲国产精品日韩av专区| 亚洲福利一区二区三区| 欧美精品综合视频一区二区| 国产欧美日韩综合一区在线播放| 就去吻亚洲精品国产欧美| 四虎精品国产永久在线观看| 国产成人精品三级| 另类欧美日韩| 亚洲一级毛片免费看|