亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于重構的FPGA遠程更新方法

        2022-08-26 11:24:22駿,宋凱,沈洋,丁
        雷達與對抗 2022年2期
        關鍵詞:上位嵌入式重構

        周 駿,宋 凱,沈 洋,丁 遜

        (中國船舶集團有限公司第八研究院,南京 211153)

        0 引 言

        近年來FPGA遠程更新多采用ARM、CPLD等微處理器輔助方式實現(xiàn)[1-4],上位機通過網(wǎng)絡通信接口將新程序發(fā)送給微處理器,并由微處理器寫入非易失性存儲器中。FPGA配置的加載由微處理器通過I/O口模擬FPGA配置信號時序,將新程序加載到FPGA中,完成更新。在雷達應用中,F(xiàn)PGA承擔復雜的信號處理算法,需要大量邏輯實現(xiàn),將遠程更新邏輯與用戶業(yè)務邏輯耦合在一起會大量占用業(yè)務可使用的邏輯資源。本文提出一種基于重構的FPGA遠程更新方法,將Flash芯片分成遠程更新程序區(qū)域和用戶業(yè)務邏輯區(qū)域,通過ICAP原語與IPROG命令實現(xiàn)遠程更新程序和用戶業(yè)務邏輯的跳轉加載。在遠程更新程序中完成Flash用戶業(yè)務邏輯區(qū)域配置文件的更新與維護,在完成更新后,跳轉至用戶業(yè)務邏輯,實現(xiàn)不斷電遠程更新程序的目的。

        1 工作原理

        基于重構的FPGA遠程更新功能依靠網(wǎng)絡通信功能和FPGA的MultiBoot能力[5],其中MultiBoot功能是指FPGA在不斷電的情況下,可以重新加載Flash中不同地址的配置文件,實現(xiàn)FPGA整片邏輯重構。將Flash按照最大配置文件大小分成用戶業(yè)務邏輯區(qū)域和遠程更新邏輯區(qū)域兩個區(qū)域:前者存儲用戶業(yè)務程序,后者存儲遠程更新程序。所有配置程序均包含重構模塊,重構模塊通過將配置區(qū)域Flash地址寫入ICAP原語并發(fā)送IPROG命令的方法,實現(xiàn)FPGA整片邏輯重構。

        遠程更新程序邏輯由重構模塊、MicroBlaze系統(tǒng)以及運行于Microblaze系統(tǒng)上的嵌入式程序構成,可采用TCP/IP協(xié)議接收上位機傳輸?shù)腇PGA新配置,并寫入Flash用戶業(yè)務邏輯區(qū)域,實現(xiàn)配置文件的遠程更新,完成后再重構加載用戶業(yè)務程序即可。由圖1所示的工作原理可以看出,F(xiàn)PGA通過網(wǎng)絡接口模塊和一個簡單的狀態(tài)機以及ICAP原語完成用戶業(yè)務程序和遠程更新程序的切換,由于兩個配置邏輯文件完全獨立,可以使產(chǎn)品具備遠程更新功能的同時不占用用戶業(yè)務邏輯資源。

        圖1 遠程更新工作原理框圖

        2 設計實現(xiàn)

        2.1 硬件架構

        2.1.1 硬件設計

        為了滿足低成本、小型化需求,系統(tǒng)硬件采用單片F(xiàn)PGA處理模塊、Flash芯片、網(wǎng)絡芯片構成,其硬件框如圖2所示。FPGA選用Xilinx公司的Virtex 6芯片,該芯片有充足的邏輯資源、DSP資源和RAM資源,滿足導航雷達復雜信號處理的需求,同時該芯片內(nèi)置專用加載模塊,支持MultiBoot功能。網(wǎng)絡接口芯片采用88E1111,F(xiàn)lash選擇Mircon公司的JS28F512P30,存儲64 MB,滿足存儲兩個bin文件的需求。在本系統(tǒng)中,遠程更新邏輯與用戶業(yè)務邏輯共用相同網(wǎng)絡通信鏈路,避免了網(wǎng)絡交換芯片的使用。

        圖2 遠程更新硬件框圖

        2.1.2 嵌入式軟核設計

        遠程更新邏輯需要實現(xiàn)網(wǎng)絡協(xié)議通信及Flash芯片控制,系統(tǒng)采用構建MicroBlaze嵌入式軟核來替代傳統(tǒng)方法中的ARM芯片。MicroBlaze系統(tǒng)設計如圖3所示,外設方面包括網(wǎng)絡接口模塊、Flash控制模塊、定時模塊、調(diào)試模塊、中斷管理模塊、存儲模塊等,其中由于本系統(tǒng)無DDR3芯片,為了給嵌入式程序提供足夠的運行空間,通過AXI總線將一個片內(nèi)BlockRAM模塊連接到MicroBlaze的M_AXI_DC和M_AXI_IC端口充當緩存。

        圖3 遠程更新MicroBlaze系統(tǒng)框圖

        2.2 軟件設計

        2.2.1 重構模塊

        用戶業(yè)務邏輯和遠程更新邏輯均有重構模塊,該模塊利用FPGA的Multiboot功能可以不斷電加載Flash中不同區(qū)域FPGA配置文件,完成整片F(xiàn)PGA重構。當收到重構跳轉命令后,重構模塊狀態(tài)機向ICAP原語寫入內(nèi)部加載邏輯指令序列,將重構區(qū)域Flash地址填入加載起始地址寄存器(WBSTAR)中,并寫入IPROG控制指令完成重構加載。

        重構跳轉邏輯如圖4所示。設備上電時,F(xiàn)PGA默認加載遠程更新程序,如果在一定時間內(nèi)無法連接上位機,則跳轉至用戶業(yè)務程序,否則等待上位機操作;當FPGA跳轉至用戶業(yè)務程序后,如果接收網(wǎng)絡重構命令,通過重構模塊將遠程更新邏輯區(qū)域的Flash地址寫入ICAP原語,并發(fā)送IPROG命令,F(xiàn)PGA將從遠程更新邏輯區(qū)域地址開始加載遠程更新邏輯,實現(xiàn)FPGA由用戶業(yè)務邏輯向遠程更新邏輯的重構。當FPGA重構為遠程更新邏輯時,通過TCP/IP協(xié)議連接上位機服務器,接收由上位機發(fā)送的新用戶業(yè)務邏輯bin文件數(shù)據(jù)流,寫入用戶業(yè)務邏輯區(qū)域,實現(xiàn)遠程更新功能。當完成更新時,遠程更新邏輯將再次利用ICAP原語,使FPGA從用戶業(yè)務區(qū)域加載更新后的程序,完成不斷電用戶業(yè)務程序更新。

        圖4 重構模塊原理流程圖

        2.2.2 嵌入式內(nèi)核程序設計

        嵌入式內(nèi)核程序運行于FPGA構建的MicroBlaze嵌入式軟核內(nèi),其設計基于FreeRTOS操作系統(tǒng),并運行LWIP網(wǎng)絡協(xié)議棧,實現(xiàn)TCP/IP通信。嵌入式內(nèi)核程序流程如圖5所示:首先完成Flash操作庫和LWIP網(wǎng)絡庫初始化,然后連接指定IP的TCP服務器。如果在一定時間內(nèi)無法連接,則對重構模塊發(fā)送命令跳轉至用戶業(yè)務模塊。如果連接成功,將等待上位機操作。當需要更新程序時,上位機軟件通過TCP協(xié)議發(fā)送新的用戶業(yè)務程序數(shù)據(jù)包給嵌入式內(nèi)核程序,嵌入式內(nèi)核程序接收數(shù)據(jù)包,并寫入Flash中的用戶業(yè)務邏輯區(qū)域,將接收到的數(shù)據(jù)包CRC32校驗值和寫入的Flash數(shù)據(jù)包總大小返回給上位機程序。當上位機完成新程序文件發(fā)送,并接收到正確的CRC32校驗值和數(shù)據(jù)包大小時,認為更新完成,發(fā)送重構命令給嵌入式內(nèi)核程序,實現(xiàn)新用戶業(yè)務程序的加載。

        2.2.3 上位機程序設計

        上位機采用MFC設計,通過TCP/IP協(xié)議與嵌入式內(nèi)核程序進行通信,主要完成創(chuàng)建更新TCP服務端,UDP重構命令發(fā)送,用戶文件讀取等功能。當FPGA重構為遠程更新邏輯時,嵌入式內(nèi)核程序?qū)⒅鲃舆B接上位機的TCP服務端。在嵌入式內(nèi)核程序連接服務器成功后,上位機讀取本地用戶更新文件,并發(fā)送給嵌入式內(nèi)核程序?qū)崿F(xiàn)更新。更新完成后,上位機發(fā)送UDP重構命令,實現(xiàn)FPGA由遠程更新邏輯跳轉至用戶業(yè)務邏輯;當FPGA重構為用戶業(yè)務邏輯時,上位機軟件發(fā)送UDP重構命令,F(xiàn)PGA收到命令后重構為遠程更新邏輯,并實現(xiàn)用戶業(yè)務邏輯更新。

        圖5 嵌入式內(nèi)核程序流程圖

        2.2.4 更新失敗處理

        本文方法將Flash區(qū)域劃分為用戶業(yè)務邏輯區(qū)域和遠程更新邏輯區(qū)域,其中后者起始地址為0,使FPGA上電默認啟動區(qū)域。當對用戶業(yè)務邏輯區(qū)域進行更新時,系統(tǒng)出現(xiàn)斷電、斷網(wǎng)等突發(fā)情況,導致用戶業(yè)務邏輯更新失敗,此時并沒有操作遠程更新邏輯區(qū)域的配置文件;當系統(tǒng)重新上電時,F(xiàn)PGA默認加載遠程更新邏輯,可以繼續(xù)實現(xiàn)對用戶業(yè)務邏輯的更新,可見采用遠程更新邏輯和用戶業(yè)務邏輯分離設計的方式有較高的可靠性。

        3 試驗結果

        為了驗證本文方法,以一型導航雷達信號處理板卡為硬件平臺,該平臺采用Xilinx V6芯片,編寫了遠程更新程序和雷達信號處理程序。由于系統(tǒng)的小型化,沒有采用DDR芯片,遠程更新程序使用FPGA芯片內(nèi)部Block Ram作為MicroBlaze程序運存,消耗17 203個寄存器、17 316個查找表以及296個RAMB36E1,其中使用的存儲資源約占整個芯片存儲資源的27%,而用戶業(yè)務程序中使用的重構模塊僅使用了31個寄存器和70個查找表??梢钥闯?,本文方法大大減少了遠程更新功能對用戶業(yè)務邏輯的占用。采用本文方法對15 MB大小的bin文件進行遠程更新僅需40 s,較采用JTAG下載線方式有明顯優(yōu)勢。由于采用TCP協(xié)議傳輸文件流時,協(xié)議本身具備校驗和重發(fā)機制,因此本文方法可靠性較高,能為采用單片F(xiàn)PGA的小型化系統(tǒng)提供遠程更新功能。

        4 結束語

        本文基于重構的FPGA遠程更新方法利用FPGA的MultiBoot功能,實現(xiàn)遠程更新程序和用戶業(yè)務程序的分離式設計,減小遠程更新功能對資源的占用,不需要設計額外微處理芯片電路進行輔助,同時與用戶業(yè)務程序共用相同的網(wǎng)絡鏈路,利于設備小型化、低成本設計。目前該方法已應用于雷達產(chǎn)品,為其提供了穩(wěn)定可靠的遠程更新功能。

        猜你喜歡
        上位嵌入式重構
        長城敘事的重構
        攝影世界(2022年1期)2022-01-21 10:50:14
        北方大陸 重構未來
        特斯拉 風云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        搭建基于Qt的嵌入式開發(fā)平臺
        北京的重構與再造
        商周刊(2017年6期)2017-08-22 03:42:36
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機的教室智能監(jiān)測管理系統(tǒng)
        論中止行為及其對中止犯的重構
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        學習月刊(2015年3期)2015-07-09 03:51:04
        91超碰在线观看免费| 国产免费一区二区三区免费视频 | 97一区二区国产好的精华液| 精品无人区无码乱码大片国产| 亚洲精品国产熟女久久久| 曰韩内射六十七十老熟女影视 | 久久精品中文字幕免费| 免费av网站大全亚洲一区| 日韩人妻无码精品久久| 美日韩毛片| 亚洲av性色精品国产| 午夜视频在线观看视频在线播放| 国产av无码专区亚洲awww| 人妻丰满av无码中文字幕| 精品女同一区二区三区亚洲| 国产suv精品一区二区四| 少妇寂寞难耐被黑人中出| 久久精品国产只有精品96 | 日本护士xxxxhd少妇| 国产精品美女一区二区三区| 国产日韩欧美视频成人| 日本一区二区三级在线| 婷婷五月婷婷五月| 国产香蕉尹人在线视频播放| 亚洲国产线茬精品成av| 男吃奶玩乳尖高潮视频| 国产一线二线三线女| 久久99精品久久久久久国产人妖| 亚洲无人区乱码中文字幕能看| 帮老师解开蕾丝奶罩吸乳网站| 尤物视频一区二区| 精品国产3p一区二区三区| 日日摸夜夜添夜夜添高潮喷水| 男女18禁啪啪无遮挡| 国产美女黄性色av网站| 日本一二三区在线观看视频| 国产成人无码区免费内射一片色欲| 国产成人亚洲合集青青草原精品| 成av人片一区二区久久| 欧美性受xxxx狂喷水| 国产午夜亚洲精品理论片不卡|