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

        ?

        CAN總線實(shí)現(xiàn)的ZYNQ-7000程序在線升級(jí)方法

        2018-12-07 08:32:00,,,,
        關(guān)鍵詞:下位插件校驗(yàn)

        ,,,,

        (南京南瑞繼保電氣有限公司,南京 211102)

        引 言

        電力系統(tǒng)二次設(shè)備繼電保護(hù)、測(cè)控設(shè)備面對(duì)用戶越來(lái)越多的新需求、軟件自身錯(cuò)誤等問(wèn)題,需要及時(shí)對(duì)設(shè)備程序進(jìn)行升級(jí)和維護(hù),改善設(shè)備性能,延長(zhǎng)設(shè)備生命周期。傳統(tǒng)的方法需要拆卸設(shè)備,通過(guò)仿真器或者編程器燒寫(xiě)程序,這種方式在現(xiàn)場(chǎng)調(diào)試、設(shè)備數(shù)量龐大時(shí),維護(hù)非常困難。在線升級(jí)是被廣泛采用的一種方式,這種升級(jí)方式可以不受環(huán)境的限制,充分提高了系統(tǒng)升級(jí)的便利性和可維護(hù)性[1]。參考文獻(xiàn)[2]~[4]介紹了利用串口、RS422、網(wǎng)絡(luò)等方法實(shí)現(xiàn)將程序升級(jí)到處理器片內(nèi)、片外Flash中。一般是先燒寫(xiě)一段BOOT程序,通過(guò)解析應(yīng)用程序文件完成程序升級(jí)。這些方法往往存在BOOT程序無(wú)法升級(jí)自身、程序燒寫(xiě)無(wú)法脫離仿真器或編程器、應(yīng)用程序運(yùn)行無(wú)法實(shí)時(shí)升級(jí)等問(wèn)題,影響了工程應(yīng)用的可靠性和便捷性。

        本文設(shè)計(jì)了一種基于CAN通信實(shí)現(xiàn)的通用程序在線升級(jí)方法,支持BOOT程序、應(yīng)用程序兩種模式下的升級(jí)。BOOT程序不僅支持升級(jí)應(yīng)用程序,還支持升級(jí)BOOT程序自身。通過(guò)在上位機(jī)、下位機(jī)間設(shè)計(jì)一套升級(jí)服務(wù)協(xié)議,保證了程序升級(jí)過(guò)程的可靠性。針對(duì)程序升級(jí)的異常情況,設(shè)計(jì)了相應(yīng)的恢復(fù)措施,保證了系統(tǒng)異常時(shí)能夠及時(shí)恢復(fù)。此外,結(jié)合ZYNQ芯片多種啟動(dòng)模式,實(shí)現(xiàn)了通過(guò)SD卡啟動(dòng)程序完成BOOT程序燒寫(xiě),不需要借助仿真器或編程器,提高了生產(chǎn)調(diào)試、工程維護(hù)的便捷性。

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

        程序在線升級(jí)系統(tǒng)硬件總體結(jié)構(gòu)如圖1所示。

        圖1 系統(tǒng)硬件結(jié)構(gòu)圖

        上位機(jī)通過(guò)以太網(wǎng)通信將程序下發(fā)給下位機(jī)管理插件,下位機(jī)管理插件通過(guò)CAN總線透?jìng)鹘o目標(biāo)插件,目標(biāo)插件接收數(shù)據(jù)后寫(xiě)入片外Flash中。下位機(jī)可以根據(jù)實(shí)際應(yīng)用需求配置多個(gè)目標(biāo)插件,所有目標(biāo)插件的程序均可以由上位機(jī)下發(fā),管理插件根據(jù)每個(gè)目標(biāo)插件的槽號(hào)節(jié)點(diǎn)轉(zhuǎn)發(fā)完成程序升級(jí)。

        目標(biāo)插件硬件系統(tǒng)主要由ZYNQ-7000 片上系統(tǒng)、DDR3內(nèi)存、片外Flash存儲(chǔ)、SD卡存儲(chǔ)、CAN接口電路、UART接口電路等組成,硬件框圖如圖2所示。ZYNQ-7000 SoC包含處理器系統(tǒng)(Processing System,PS)和可編程邏輯器件(Programmable Logic,PL)兩部分,處理器系統(tǒng)集成了雙核ARM Cortex-A9、存儲(chǔ)器接口和豐富的外設(shè)接口,可編程邏輯器件包含大量FPGA的邏輯單元[7]。片外QSPI Flash作為非易失性存儲(chǔ),用于存儲(chǔ)BOOT程序、雙核應(yīng)用程序、FPGA程序,程序運(yùn)行在DDR3內(nèi)存中。CAN接口用于與管理插件通信交互。UART負(fù)責(zé)串口調(diào)試信息展示,SD卡存儲(chǔ)設(shè)備日志信息、生產(chǎn)調(diào)試燒寫(xiě)B(tài)OOT程序。

        圖2 目標(biāo)插件硬件框圖

        2 系統(tǒng)軟件設(shè)計(jì)

        本文設(shè)計(jì)的程序在線升級(jí)方法可以在BOOT程序、應(yīng)用程序運(yùn)行過(guò)程中實(shí)時(shí)進(jìn)行。系統(tǒng)軟件采用雙裸核(Standalone)的非對(duì)稱多處理(Asymmetric MultiProcessing,AMP)模式總體架構(gòu)設(shè)計(jì),CPU0核完成程序在線升級(jí)功能,CPU1程序通過(guò)CPU0代理完成升級(jí)。通過(guò)代理模式可以避免在線升級(jí)過(guò)程中雙核訪問(wèn)CAN、Flash、DDR等硬件資源競(jìng)爭(zhēng)。軟件上通過(guò)模塊化方式設(shè)計(jì),BOOT程序和應(yīng)用程序可以快速?gòu)?fù)用CAN模塊驅(qū)動(dòng)、Flash模塊驅(qū)動(dòng)及程序升級(jí)模塊等完成在線升級(jí)功能集成。

        2.1 CAN模塊驅(qū)動(dòng)

        ZYNQ-7000處理器系統(tǒng)內(nèi)部集成兩個(gè)CAN控制器,最大支持1 Mbps傳輸速率,可以滿足系統(tǒng)要求。CAN驅(qū)動(dòng)主要包括CAN模塊硬件初始化、報(bào)文發(fā)送、接收處理。初始化配置硬件引腳、通信波特率、工作模式等。報(bào)文發(fā)送、接收采用中斷方式處理,既可以節(jié)省CPU的資源,也能夠保證及時(shí)響應(yīng)CAN報(bào)文。CAN報(bào)文采用29位擴(kuò)展幀格式,管理插件通過(guò)擴(kuò)展幀中的應(yīng)用報(bào)文類型、源地址、目的地址來(lái)實(shí)現(xiàn)對(duì)各個(gè)槽位的目標(biāo)插件升級(jí)程序。通過(guò)在CAN驅(qū)動(dòng)中增加報(bào)文重發(fā)機(jī)制、總線異常自恢復(fù)等措施,提高了程序在線升級(jí)過(guò)程的可靠性。

        2.2 Flash模塊驅(qū)動(dòng)

        Flash采用的是Micron公司MT25QL256芯片,該存儲(chǔ)器一共有512個(gè)扇區(qū),每個(gè)扇區(qū)大小為64 KB,共32 MB存儲(chǔ)空間。Flash驅(qū)動(dòng)主要包含硬件初始化、擦除扇區(qū)、寫(xiě)數(shù)據(jù)、讀數(shù)據(jù)接口。通過(guò)識(shí)別文件名中關(guān)鍵字來(lái)確定不同程序?qū)懭氲腇lash位置,F(xiàn)lash的空間劃分如表1所列。

        表1 Flash空間分配

        2.3 程序升級(jí)模塊

        在上位機(jī)、下位機(jī)間設(shè)計(jì)一套升級(jí)服務(wù)協(xié)議,可以提高程序升級(jí)過(guò)程的可靠性。上位機(jī)、下位機(jī)交互的報(bào)文數(shù)據(jù)幀格式如下:

        幀頭1幀頭2類型長(zhǎng)度內(nèi)容校驗(yàn)碼字節(jié)0字節(jié)1字節(jié)2字節(jié)3字節(jié)4~NN字節(jié)累加和

        升級(jí)服務(wù)的應(yīng)用層協(xié)議內(nèi)容如表2所列。

        表2 應(yīng)用層協(xié)議內(nèi)容

        2.4 啟動(dòng)流程

        通過(guò)BOOT程序、應(yīng)用程序兩種模式,實(shí)現(xiàn)在線升級(jí)功能。BOOT程序完成應(yīng)用程序加載、升級(jí)及自身程序升級(jí),應(yīng)用程序完成自身程序升級(jí)和應(yīng)用功能,兩者通過(guò)集成CAN模塊驅(qū)動(dòng)、Flash模塊驅(qū)動(dòng)及程序升級(jí)模塊來(lái)實(shí)現(xiàn)。ZYNQ-7000上電運(yùn)行的啟動(dòng)流程如圖3所示。

        圖3 啟動(dòng)流程

        啟動(dòng)流程如下:

        ① 首先執(zhí)行片內(nèi)BootROM程序,完成對(duì)QSPI、SD等外設(shè)控制器初始化。

        ② 然后加載FSBL(First Stage Boot Loader)程序到OCM(On Chip Memory)上運(yùn)行,F(xiàn)SBL完成GPIO、時(shí)鐘、DDR3內(nèi)存初始化后,加載BOOT程序到DDR3中運(yùn)行。

        ③ BOOT程序判斷當(dāng)前模式和校驗(yàn)Flash內(nèi)容,如果是BOOT模式或者Flash應(yīng)用程序校驗(yàn)出錯(cuò),則初始化CAN及中斷,等待升級(jí)應(yīng)用程序。如果是應(yīng)用程序模式,則加載雙核CPU0、CPU1應(yīng)用程序,F(xiàn)PGA程序,跳轉(zhuǎn)執(zhí)行應(yīng)用程序。

        2.5 在線升級(jí)流程

        BOOT和應(yīng)用程序的在線升級(jí)過(guò)程基本一致,如圖4所示,主要是升級(jí)服務(wù)應(yīng)用層的交互過(guò)程。

        圖4 在線升級(jí)流程

        ① 上位機(jī)主動(dòng)發(fā)起程序升級(jí)檢查命令,下位機(jī)進(jìn)入在線升級(jí)模式,解析命令中的文件類型、名稱、長(zhǎng)度計(jì)算總的Flash擦除時(shí)間,應(yīng)答上位機(jī)擦除時(shí)間、報(bào)文校驗(yàn)結(jié)果。

        ② 上位機(jī)發(fā)送下載擦除命令,等待下位機(jī)返回Flash擦除操作結(jié)果。

        ③ 上位機(jī)發(fā)送下載請(qǐng)求命令,下位機(jī)應(yīng)答文件類型校驗(yàn)結(jié)果。

        ④ 上位機(jī)發(fā)送下載地址段命令,通知下位機(jī)數(shù)據(jù)升級(jí)的Flash起始地址,下位機(jī)應(yīng)答地址范圍校驗(yàn)結(jié)果。

        ⑤ 上位機(jī)發(fā)送下載數(shù)據(jù)命令,逐個(gè)數(shù)據(jù)包發(fā)送程序內(nèi)容,下位機(jī)接收后將數(shù)據(jù)寫(xiě)入Flash中。重復(fù)此過(guò)程,直到程序數(shù)據(jù)下載完成。

        ⑥ 上位機(jī)發(fā)送下載結(jié)束命令,通知下位機(jī)數(shù)據(jù)校驗(yàn)和,下位機(jī)回讀Flash內(nèi)容計(jì)算校驗(yàn)和,應(yīng)答校驗(yàn)和比較結(jié)果。

        ⑦ 若步驟①~⑥上位機(jī)收到下位機(jī)否定應(yīng)答,則上位機(jī)發(fā)送下載取消命令,取消本次升級(jí)。下位機(jī)中應(yīng)用程序可能被擦寫(xiě),重啟后程序在BOOT中運(yùn)行,等待下一次程序升級(jí)。

        ⑧ 上位機(jī)發(fā)送復(fù)位命令通知下位機(jī)啟動(dòng)看門(mén)狗復(fù)位,完成程序在線升級(jí),執(zhí)行新程序。

        3 實(shí)驗(yàn)測(cè)試

        通過(guò)上位機(jī)給下位機(jī)下載CPU0、CPU1以及FPGA程序,借助串口工具查看程序升級(jí)信息,分別進(jìn)行正常升級(jí)、異常升級(jí)過(guò)程測(cè)試。通過(guò)上千次程序升級(jí)測(cè)試,驗(yàn)證升級(jí)功能正常。

        3.1 正常升級(jí)測(cè)試

        測(cè)試BOOT程序、應(yīng)用程序模式下的升級(jí)功能,應(yīng)用程序模式下的升級(jí)信息如圖5所示。

        圖5 正常升級(jí)測(cè)試

        圖6 異常升級(jí)測(cè)試

        3.2 異常升級(jí)測(cè)試

        模擬升級(jí)過(guò)程異常斷電、CPU0程序文件校驗(yàn)碼出錯(cuò)。CPU0程序文件校驗(yàn)碼出錯(cuò)升級(jí)信息如圖6所示。此時(shí)新程序還沒(méi)有寫(xiě)入Flash中,而Flash中的舊程序已經(jīng)被擦除。設(shè)備重新上電后在BOOT程序中運(yùn)行,可以重新升級(jí)應(yīng)用程序恢復(fù)運(yùn)行。

        結(jié) 語(yǔ)

        猜你喜歡
        下位插件校驗(yàn)
        自編插件完善App Inventor與樂(lè)高機(jī)器人通信
        電子制作(2019年22期)2020-01-14 03:16:34
        發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
        爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
        景洪電廠監(jiān)控系統(tǒng)下位機(jī)數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
        圍觀黨“下位”,吐槽帝“登基”
        MapWindowGIS插件機(jī)制及應(yīng)用
        CAN總線并發(fā)通信時(shí)下位機(jī)應(yīng)用軟件設(shè)計(jì)
        大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
        基于加窗插值FFT的PMU校驗(yàn)方法
        鍋爐安全閥在線校驗(yàn)不確定度評(píng)定
        午夜成人理论福利片| 亚洲精品中文字幕尤物综合| 伊人狼人激情综合影院| 91丝袜美腿亚洲一区二区| 国产成人亚洲精品| 无遮挡网站| 又爽又猛又大又湿的视频| 插入日本少妇一区二区三区| 无码少妇一区二区性色av | 玩弄放荡人妻一区二区三区 | 在线免费观看毛视频亚洲精品| 精品人妻伦一二三区久久| 美女视频黄的全免费视频网站| 亚洲AV秘 无码二区在线| 亚洲女同恋中文一区二区| 国产一级内射视频在线观看| 天美传媒一区二区| 日韩中文在线视频| 国产农村妇女毛片精品久久麻豆| 欧美a级在线现免费观看| 亚洲欧美日韩中文无线码| 午夜爽毛片| 亚洲一区二区三区免费网站| 欧美video性欧美熟妇| 99久久久国产精品免费蜜臀| 天堂a版一区二区av| 凌辱人妻中文字幕一区| 曰批免费视频播放免费直播| 亚洲成人av一区二区三区| 男女打扑克视频在线看| 欧美变态另类刺激| 国产成人v爽在线免播放观看| 一区二区三区在线观看视频免费| 日本xxxx色视频在线观看免费| 综合无码一区二区三区| 国产做床爱无遮挡免费视频| 国产精品一区av在线| 欧美中日韩免费观看网站| 激情人妻在线视频| 街拍丝袜美腿美女一区| 日本做受120秒免费视频|