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

        404 Not Found


        nginx
        404 Not Found

        404 Not Found


        nginx
        404 Not Found

        404 Not Found


        nginx
        404 Not Found

        404 Not Found


        nginx

        基于以太網(wǎng)的FPGA遠程升級可靠性設(shè)計

        2020-05-15 09:58:40康志杰
        計算機與網(wǎng)絡(luò) 2020年8期

        康志杰

        摘要:現(xiàn)場可編程門陣列(FPGA)廣泛應(yīng)用在通信及信息處理等眾多領(lǐng)域,傳統(tǒng)的基于本地開發(fā)環(huán)境的FPGA升級方式無法滿足工程現(xiàn)場維護的需求,基于以太網(wǎng)傳輸方式設(shè)計了FPGA遠程升級系統(tǒng)方案,實現(xiàn)對FPGA配置文件的更新,為產(chǎn)品的升級維護提供了便利。升級過程中的異常情況,通過分析數(shù)據(jù)處理流程和引發(fā)常見問題的異常情況,分別設(shè)計了不同的異常處理機制,解決了遠程升級失敗的問題。對異常處理機制進行了充分測試,驗證了設(shè)計的可靠性。

        關(guān)鍵詞:現(xiàn)場可編程門陣列;遠程升級;可靠性

        中圖分類號:TP393文獻標(biāo)志碼:A文章編號:1008-1739(2020)08-61-4

        0引言

        現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)具有并行處理架構(gòu),高速數(shù)據(jù)處理能力遠優(yōu)于一般CPU,因而在航空航天、醫(yī)療設(shè)備、通信、汽車及工控等領(lǐng)域得到了廣泛應(yīng)用[1]。而FPGA的配置文件升級維護,通常需要工程人員到現(xiàn)場利用JTAG進行升級。當(dāng)待升級設(shè)備和技術(shù)人員處在不同地點時,傳統(tǒng)的升級方式將造成時間和人力的浪費。而遠程在線升級技術(shù),可以利用以太網(wǎng)實現(xiàn)設(shè)備升級,不受人機地點的限制。此外,基于以太網(wǎng)的升級方式可以同時進行大批量的設(shè)備升級。目前針對遠程升級的方案,主要有利用FPGA內(nèi)部邏輯更新Flash[2-3]和利用CPU直接更新Flash[4]。通常情況下,遠程升級成功的關(guān)鍵在于升級包數(shù)據(jù)準(zhǔn)確無誤地寫入Flash,在升級包數(shù)據(jù)傳輸過程中一旦發(fā)生斷電、傳輸錯誤及CPU軟復(fù)位等異常,F(xiàn)lash中原有的配置文件完整性可能被破壞,這種情況下只能依賴JTAG重新下載配置文件。為規(guī)避這些異常帶來的風(fēng)險,本文針對CPU+FPGA架構(gòu)類型的板卡,提出了一種可靠的FPGA遠程升級方案,已成功應(yīng)用在通信系統(tǒng)上。

        1遠程升級關(guān)鍵技術(shù)

        對于CPU+FPGA架構(gòu)類型的板卡,在遠程升級過程中需要解決CPU軟復(fù)位、板卡意外斷電及數(shù)據(jù)傳輸錯誤等關(guān)鍵問題。

        如果不做特殊處理,升級失敗就會導(dǎo)致FPGA無法加載,產(chǎn)生災(zāi)難性后果。一旦發(fā)生,只能拆開設(shè)備通過JTAG重新下載程序。針對這些問題,分別設(shè)計了不同的處理技術(shù)以實現(xiàn)升級的穩(wěn)定可靠。

        1.1握手幀和傳輸狀態(tài)機技術(shù)

        升級過程中,CPU可能在任意時刻軟復(fù)位,從而導(dǎo)致數(shù)據(jù)傳輸中斷。針對該情況,設(shè)計了CPU和FPGA握手幀格式,如圖1所示。

        FPGA處理升級包的狀態(tài)機,如圖2所示。

        上述狀態(tài)機中設(shè)計了超時計數(shù)狀態(tài),用來處理CPU因復(fù)位導(dǎo)致的意外停發(fā)。在幀頭標(biāo)志字接收、配置地址長度字接收、rbf文件接收下發(fā)及校驗結(jié)果接收等狀態(tài)時,若在限定時間內(nèi)未接收到CPU的數(shù)據(jù),該狀態(tài)機將強制回到空閑狀態(tài),以等待下次升級。

        1.2 Flash狀態(tài)字保護技術(shù)

        意外斷電發(fā)生在FPGA訪問Flash期間,會對系統(tǒng)產(chǎn)生影響,其他時間斷電不會對系統(tǒng)產(chǎn)生任何影響,只需重新上電,系統(tǒng)即可恢復(fù)到升級前狀態(tài)。因此,需要對訪問Flash期間的意外斷電進行保護,升級過程中FPGA訪問Flash流程,如圖3所示。

        在FPGA訪問Flash時,首先擦除狀態(tài)字節(jié)(地址0x7FFFF),待訪問完畢后,重新在狀態(tài)字打上0xA5標(biāo)志,這樣任何時刻在訪問Flash時發(fā)生斷電,再次上電時,因不滿足由出廠配置跳轉(zhuǎn)到用戶配置的條件,系統(tǒng)只停留在出廠配置運行。出廠配置中包含升級功能,可重新啟動升級過程,該方法能有效避免斷電帶來的“災(zāi)難性”影響。

        1.3數(shù)據(jù)傳輸保護技術(shù)

        升級過程中,升級包字節(jié)傳輸錯誤同樣會導(dǎo)致不可預(yù)知的程序功能異常,為保證整個鏈路數(shù)據(jù)正確傳輸,整個升級過程共包含3次校驗,有效保證了數(shù)據(jù)的正確傳輸。

        第1次校驗:升級包由PC機下發(fā)到板卡的CPU,升級包內(nèi)包含MD5校驗字節(jié),CPU在收到升級包后,同樣會進行MD5值計算,計算所得結(jié)果與升級包內(nèi)MD5校驗字節(jié)進行比對,若一致,則認(rèn)為升級包正常接收,否則會提示升級失敗。該次校驗保證了數(shù)據(jù)包從PC機到板卡CPU的正確傳輸。

        第2次校驗:CPU與FPGA的握手幀CRC校驗,主要為了保證握手幀中用戶配置地址和升級包長度接收無誤。如果該部分字節(jié)錯誤,可能造成Flash內(nèi)原始固化的出廠文件損壞或?qū)懭脲e誤的用戶配置,這種情況下可能造成系統(tǒng)“變磚”。借助CRC校驗,有效避免了這種情況的發(fā)生。

        第3次校驗:CPU下發(fā)的升級包和FPGA從Flash回讀的升級包進行對比,完全一致后,CPU向上位機和FPGA分別發(fā)送升級成功標(biāo)志,這樣保證了要升級的程序正確寫到了Flash內(nèi)部,避免升級完成后程序功能出現(xiàn)異常。

        2遠程升級系統(tǒng)方案

        2.1系統(tǒng)架構(gòu)

        遠程升級系統(tǒng)架構(gòu)如圖4所示。

        升級文件經(jīng)由PC機、網(wǎng)線、CPU及FPGA傳輸?shù)紽lash配置芯片[5]。

        2.2 CPU端處理框圖

        PC機通過以太網(wǎng)與CPU進行數(shù)據(jù)交互,CPU內(nèi)模塊處理流程圖,如圖5所示。

        PC端上位機下發(fā)的升級包包含rbf文件(依賴于FPGA綜合工具生成)和隨路MD5校驗值兩部分。CPU接收到升級包后提取rbf文件,計算MD5,與隨路MD5校驗值比較,如果二者一致,則認(rèn)為CPU正確地接收了升級包。然后CPU與FPGA握手,提取rbf文件下發(fā)到FPGA中,等待FPGA從Flash回讀rbf文件進行校驗,最后下發(fā)校驗結(jié)果到FPGA并且上報到PC端。

        2.3 FPGA端處理流程圖

        FPGA端處理框圖如圖6所示。

        各個模塊的功能如下:

        ①Flash管理模塊:負(fù)責(zé)接收升級數(shù)據(jù)包、升級完成后向上發(fā)送回讀數(shù)據(jù)包及升級完成后指導(dǎo)配置切換模塊切換配置文件。

        ②配置切換模塊:負(fù)責(zé)用戶配置和出廠配置的切換。

        ③用戶邏輯:為用戶自定義功能邏輯塊。

        ④UART_ASMI模塊:工作在50 MHz時鐘下,負(fù)責(zé)從串口接收數(shù)據(jù),串行轉(zhuǎn)并行后發(fā)送到ASMI_FIFO中,接收UART_FIFO發(fā)送過來的數(shù)據(jù)并行轉(zhuǎn)串行向上發(fā)送。

        ⑤ASMI_FIFO,UART_FIFO模塊:負(fù)責(zé)進行時鐘域的轉(zhuǎn)換,UART_ASMI與FIFO交互時鐘為50 MHz,ASMI_CONTROL模塊與FIFO交互時鐘為10 MHz。

        ⑥ASMI_CONTROL:負(fù)責(zé)控制ASMI_UPDATE(ASMI_PARALLEL)核,向外部串行Flash寫入升級數(shù)據(jù),從Flash讀取升級數(shù)據(jù)包,擦除Flash等。

        ⑦ASMI_UPDATE_IP:訪問外部Flash的IP,該IP核直接控制Flash的讀寫。

        ⑧RU_CB及REMOTE_ UPDATE_IP:負(fù)責(zé)出廠配置文件和用戶配置文件的切換。

        FPGA遠程升級程序流程圖如圖7所示。

        3 Flash地址空間及配置文件跳轉(zhuǎn)

        FPGA升級完成后,能正常運行的條件是:①Flash內(nèi)部按預(yù)設(shè)的地址空間存儲著正確的配置文件;②由出廠配置向用戶配置的跳轉(zhuǎn)關(guān)系成立。

        3.1 Flash地址空間分配

        Flash芯片內(nèi)部地址空間如圖8所示。

        出廠配置文件(FAC)存儲在Flash存儲空間的前半部分,F(xiàn)AC內(nèi)包含升級功能及用戶基本功能。而用戶配置文件存放在0x40000~0x7FFFE的地址空間。0x7FFFF地址用來存儲狀態(tài)字,用來標(biāo)識用戶配置文件是否正確完好。

        3.2配置文件跳轉(zhuǎn)

        Flash內(nèi)配置文件跳轉(zhuǎn)關(guān)系如圖9所示。

        板卡出廠情況下,F(xiàn)lash內(nèi)要固化出廠配置和用戶配置文件。板卡上電后,系統(tǒng)應(yīng)能正確檢測出用戶配置文件的正確與否,然后決定是否由出廠配置文件跳轉(zhuǎn)到用戶配置文件去執(zhí)行。

        一旦Flash內(nèi)部存儲的出廠配置文件、用戶配置文件被破壞,配置文件將無法正常執(zhí)行,這種情況下只能依賴JTAG重新下載出廠配置文件。升級過程中的意外斷電和CPU軟復(fù)位,將會造成用戶配置文件被破壞。而數(shù)據(jù)傳輸錯誤可能造成出廠配置文件、用戶配置文件被破壞。在用戶配置文件被破壞的條件下,仍然需要依賴出廠配置文件重新遠程升級,實現(xiàn)新的用戶配置文件的寫入。因此,遠程升級的關(guān)鍵技術(shù)在于:在意外斷電、數(shù)據(jù)傳輸錯誤和CPU軟復(fù)位情況發(fā)生后,系統(tǒng)仍然能夠再次遠程升級,而不是通過JTAG去下載。

        4測試結(jié)果及分析

        4.1測試環(huán)境

        測試硬件環(huán)境為通信系統(tǒng)板卡,板載CPU是NXP的SOC芯片,F(xiàn)PGA是ALTERA的EP4C,上位機軟件是自研管理軟件。上位機能獲取FPGA正在運行的配置文件版本號,從而能夠驗證升級成功與否[6]。FPGA出廠配置文件版本號為V01,初始用戶配置文件版本號為V02,升級后的用戶配置文件版本號為V03。

        4.2測試用例及結(jié)果

        測試1:CPU意外軟復(fù)位對升級的影響

        設(shè)計了4個時刻插入CPU軟復(fù)位,測試結(jié)果如表1所示。

        通過測試,在CPU異常軟復(fù)位后,系統(tǒng)均能重新利用網(wǎng)絡(luò)進行升級。其中,在測試用例4的測試情況下,板卡重上電后,由于用戶配置已被擦除,故只能執(zhí)行出廠配置。在出廠配置運行時,可以重新進行升級。上述測試用例每個進行100次測試,最終能100%升級成功。

        測試2:板卡意外斷電對升級的影響

        設(shè)計了2個測試用例測試升級過程中意外斷電的影響,測試結(jié)果如表2所示。

        每個測試用例均測試100次,最終100%升級成功。測試結(jié)果表明,在系統(tǒng)升級過程中,因異常斷電導(dǎo)致的系統(tǒng)升級失敗,在重新上電后,能重新利用網(wǎng)絡(luò)進行再次升級。

        測試3:數(shù)據(jù)傳輸錯誤對升級的影響

        為測試對抗數(shù)據(jù)傳輸錯誤的能力,對數(shù)據(jù)傳輸鏈路上部分字節(jié)進行修改后,測試結(jié)果如表3所示。

        當(dāng)握手幀出現(xiàn)錯誤字節(jié)后,均無法成功握手。此外,故意修改FPGA從Flash回讀的配置文件,當(dāng)送到CPU校驗時,無法通過校驗。測試結(jié)果表明,設(shè)計方案能應(yīng)對數(shù)據(jù)傳輸中出現(xiàn)的錯誤。

        5結(jié)束語

        通過工程實際測試,該遠程升級方法實現(xiàn)簡單、穩(wěn)定可靠,不會導(dǎo)致系統(tǒng)“變磚”,不需要修改硬件,易于移植。適用于大批量、非易接觸設(shè)備的板卡升級,已在多種板卡上應(yīng)用。

        參考文獻

        [1]劉永恩,王俊芳.FPGA遠程升級技術(shù)的分析與實現(xiàn)[J].無線電工程,2012,42(9):48-50,60.

        [2]閆雙山,胡學(xué)龍,季靜,等.串口更新FPGA配置文件的一種實現(xiàn)方法[J].國外電子測量技術(shù),2019,38(10):79-83.

        [3]丁丁,湯曉斌,陳立德,等.基于μClinux的FPGA遠程更新系統(tǒng)的實現(xiàn)[J].電子技術(shù)應(yīng)用,2014,40(3):6-8.

        [4]姚遠.基于JTAG接口實現(xiàn)ARM對FPGA的Firmware遠程配置[D].沈陽:沈陽航空航天大學(xué),2011.

        [5]李強,羅超,夏威,等.FPGA遠程更新系統(tǒng)[J].儀表技術(shù)與傳感器,2014(7):72-74.

        [6]周瓊,周鵬.單核FPGA系統(tǒng)的可靠性遠程升級設(shè)計[J].中國新通信,2018,20(2):47-49.

        404 Not Found

        404 Not Found


        nginx
        404 Not Found

        404 Not Found


        nginx
        404 Not Found

        404 Not Found


        nginx
        404 Not Found

        404 Not Found


        nginx
        404 Not Found

        404 Not Found


        nginx
        中文字幕中文一区中文字幕| 国产一卡2卡3卡四卡国色天香 | 男人天堂网2017| 9 9久热re在线精品视频| 免费一级毛片在线播放不收费| 97碰碰碰人妻视频无码| 国产精品一区二区偷拍| 日本最新免费二区三区| 久久久精品波多野结衣| 亚洲VR永久无码一区| 一本色道久久综合亚洲精品不| 丰满少妇作爱视频免费观看 | 亚洲国产成人精品无码区在线观看 | 国产精品嫩草影院av| 女女同性黄网在线观看| 日本一区二区日韩在线| 少妇被猛烈进入到喷白浆| 亚洲综合区图片小说区| 国产成人精品麻豆| 亚洲av综合av国一区二区三区| 国产办公室秘书无码精品99| 国产成人无码精品午夜福利a| 蜜臀aⅴ永久无码一区二区| 人妖在线一区二区三区| 午夜理论片yy44880影院| 国产三级在线视频播放| 国产激情视频在线观看你懂的| 国产在线一区二区三精品乱码| 免费中文熟妇在线影片| 亚洲三级香港三级久久 | 人妖av手机在线观看| 免费99精品国产自在在线| 国产免费人成视频在线播放播| 国产中文字幕一区二区视频| 欧美三级不卡在线观看| 成人国产精品999视频| 国产精品国产三级厂七| 免费a级毛片高清在钱| 国产又色又爽无遮挡免费| 综合图区亚洲另类偷窥| 国产亚洲av成人噜噜噜他|