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

雙單片機嵌入式設備遠程升級方案設計

2022-10-14 13:51:00劉孟臣張珊珊姬丹丹
關(guān)鍵詞:嵌入式單片機設備

劉孟臣,張珊珊,姬丹丹

(中電裝備山東電子有限公司,山東 濟南 250109)

隨著社會的發(fā)展,各行各業(yè)大量使用了嵌入式電子設備,如道路上的高清數(shù)字監(jiān)控攝像頭、遠程水文監(jiān)控設備、智能電能表、智能采集終端等。這些設備的軟件升級維護是常態(tài),設備一旦安裝,拆卸十分繁瑣,這就要求其必須能夠遠程在線升級。嵌入式設備一般是基于單片機/DSP/ARM 開發(fā)的,遠程在線升級實際是對其程序進行遠程升級。

在實際使用中,出于種種設計考慮,會出現(xiàn)在同一個嵌入式設備上配置兩個單片機的場景,兩個單片機協(xié)同實現(xiàn)完整的設計功能。比如兩個單片機,一個完成管理功能,另一個完成計量功能。這種使用雙單片機的嵌入式設備往往只有一個單片機能與外部主站通信,很多文章已經(jīng)對這類能直接與外部通信的單片機的遠程升級方式進行了詳細的介紹,而對于同時使用兩個單片機且只有一個單片機能與外部通信的場景介紹的較少。本文將主要講述這種場景下嵌入式設備的遠程升級實現(xiàn)方案。

1 雙單片機嵌入式設備結(jié)構(gòu)介紹

本文介紹的雙單片機嵌入式設備主要包括1 個主單片機、1 個從單片機、1 個遠通信模組、1 個片外FLASH 存儲器以及相關(guān)外圍器件,見圖1。兩個單片機中主單片機可以與外部設備通信,從單片機只與主單片機通信。由于外圍設備不是本文研究重心,因此不做過多說明。在該嵌入式設備中,主單片機與從單片機通過串口連接,主單片機通過SPI 總線與擴展的片外FLASH 存儲器連接,主單片機還通過串口與遠程通信模組(即4G 通信模塊)連接。主單片機通過遠程通信模塊以TCP 連接的方式與遠方主站保持永久連接。

圖1 雙單片機嵌入式設備系統(tǒng)框圖

2 雙單片機嵌入式設備遠程升級原理

不管是主單片機還是從單片機,其程序都由啟動程序(Bootloader)和用戶程序兩部分組成。Bootloader 具備數(shù)據(jù)傳輸、讀寫Flash、擦除、校驗等功能。Bootloader 執(zhí)行完成后進入用戶程序開始運行,用戶程序是實現(xiàn)用戶設計功能的部分。

由第95 頁圖2 可以看出,該嵌入式設備的Bootloader 和用戶程序均存儲在單片機的片上Flash內(nèi),同時在主單片機片上Flash 上留有存儲升級標志的位置。升級標志用于升級主單片機程序時Bootloader 判斷是否需要拷貝升級文件,Bootloader啟動過程中會讀取升級標志所在地址的數(shù)據(jù)值,如果升級標志被置位,則Bootloader 會先把片外Flash上存儲的升級程序拷貝到用戶程序區(qū),從而完成程序更新。由于本文介紹的場景中從單片機無法直接與外部通信,所以兩個單片機的Bootloader 功能也做個差異化處理,以下進行詳細介紹。

圖2 Flash 存儲空間劃分

2.1 遠方主站介紹

設備通過遠程通信模組以TCP 連接的方式與遠方主站建立通信連接,遠程升級功能由遠方主站和嵌入式設備共同實現(xiàn)。在遠方主站操作遠程升級時,需要選擇升級設備類型、升級文件以及填寫升級文件的版本信息。

升級設備類型分為主單片機和從單片機。主站需要將升級設備類型寫入升級啟動報文下發(fā)給終端,并且主站要通過設備類型來判斷如何抄讀設備版本信息。如果設備類型為主單片機,主站將在設備重新登錄時抄讀版本信息;如果設備類型為從單片機,則主站在升級文件下發(fā)完成后,等待一個預先設定的延時,再使用透抄的方式去抄讀從單片機版本信息。這個預先設定的延時大于主單片機給從單片機傳輸升級文件的時間,可根據(jù)實際情況設定。

升級文件就是所要升級的設備對應的升級程序文件,一般使用的都是bin 格式的二進制文件。

升級文件的版本信息是指升級包的軟件版本號、軟件版本日期等,用于同主站抄讀回的設備軟件版本信息進行對比,以此判斷設備是否升級成功。

2.2 主單片機升級流程

主單片機遠程升級時,通過用戶程序接收升級文件,接收完成后,重啟進入Bootloader,由Bootloader 將升級文件搬運到用戶程序區(qū),完成主單片機程序升級。主單片機升級流程見圖3。

圖3 主單片機升級流程

當需要升級主單片機程序時,遠方主站通過無線網(wǎng)絡下發(fā)升級啟動報文,主單片機通過升級啟動報文中的信息判斷需要升級主單片機還是從單片機。確認需要升級主單片機后,主單片機先擦除外部Flash 里劃分的主單片機升級程序緩存區(qū)數(shù)據(jù),然后將收到的升級文件數(shù)據(jù)存儲到主單片機升級程序緩存區(qū)中。

待升級文件傳輸完成后,主單片機寫升級標志到升級標志存儲區(qū),然后主單片機重啟進入Bootloader。

Bootloader 啟動時先讀取升級標志存儲區(qū)的數(shù)據(jù),判斷是否需要升級用戶程序。當Bootloader 讀取到升級標志后,便會擦除用戶程序區(qū)舊的用戶程序,然后將外部Flash 上存儲的主單片機升級程序拷貝到片上Flash 的用戶程序區(qū)。升級程序拷貝完成后,Bootloader 再擦除升級標志,然后啟動到用戶程序。

用戶程序啟動后,設備重新登錄到遠方主站。當遠方主站接收到升級設備登錄后,主動讀取設備軟件版本信息,與升級前填寫的文件版本信息進行比對,如果一致,則認為升級成功,否則認為升級失敗。升級失敗后主站從下發(fā)升級啟動報文處嘗試重新升級。

2.3 從單片機升級流程

從單片機遠程升級時,主單片機負責將接收到的升級文件發(fā)給從單片機,從單片機的Bootloader負責接收升級文件,完成從單片機遠程升級。

因為只有主單片機和主站建立通信連接,所以主站需要采用透抄的方式才能獲取到從單片機軟件版本信息。此處所說的透抄,是主站使用事先約定好的報文格式給主單片機發(fā)送透抄報文,主單片機收到透抄報文后,會將報文內(nèi)容轉(zhuǎn)發(fā)給從單片機。從單片機把要抄讀的數(shù)據(jù)回復給主單片機,然后主單片機再把從單片機回復的數(shù)據(jù)組幀回復給主站,從而實現(xiàn)主站抄讀從單片機數(shù)據(jù)。從單片機升級流程見圖4。

圖4 從單片機升級流程

當需要升級從單片機程序時,遠方主站通過無線網(wǎng)絡下發(fā)升級啟動報文,主單片機通過升級啟動報文中的信息判斷需要升級主單片機還是從單片機。確認需要升級從單片機后,主單片機先擦除外部Flash 里劃分的從單片機升級程序緩存區(qū)數(shù)據(jù),然后將收到的升級文件數(shù)據(jù)存儲到從單片機升級程序緩存區(qū)中。

待升級文件傳輸完成后,主單片機給從單片機發(fā)送切換工作模式命令,讓從單片機切換到boot 模式,以開始升級。

從單片機重啟進入boot 模式,即進入Bootloader 程序運行。先擦除從單片機片上Flash 用戶程序區(qū)原程序數(shù)據(jù),然后響應主單片機模式切換成功。模式切換成功后,主單片機從外部Flash 里的從單片機升級程序緩存區(qū)讀取升級文件,分多幀將升級文件發(fā)給從單片機。從單片機的Bootloader 負責接收主單片機發(fā)送的升級文件,并將升級文件直接寫入從單片機片上Flash 用戶程序區(qū)。

待升級文件發(fā)送完成后,主單片機給從單片機再次發(fā)送切換工作模式命令,讓從單片機切換到正常運行模式。

由于遠程升級從單片機不會導致設備重新登錄遠方主站,所以升級從單片機時遠方主站采用延時抄讀版本信息的方式來驗證升級結(jié)果。遠方主站在給設備下發(fā)完升級文件后,會進入延時等待狀態(tài)。此處所設延時要大于主單片機給從單片機傳輸升級文件的時間。待延時結(jié)束后,遠方主站透抄從單片機軟件版本信息,與升級前填寫的文件版本信息進行比對,如果一致,則認為升級成功,否則認為升級失敗。同樣的,升級失敗后主站從下發(fā)升級啟動報文處嘗試重新升級。

3 文件傳輸流程

上文介紹了整體的遠程升級流程,下文將詳細介紹主站給設備傳輸文件的詳細過程。文件傳輸過程不可避免的會由于通信異常、數(shù)據(jù)錯誤等原因出現(xiàn)數(shù)據(jù)接收不完整的情況,從而影響傳輸準確性和傳輸效率。為了解決這一問題,本文采用的文件傳輸方式支持斷點續(xù)傳,傳輸出錯時將以最快的速度補全缺失的數(shù)據(jù)塊,保證升級成功率和升級效率。為方便描述,這里將遠方主站稱為啟動端,將與主站通信的主單片機稱為接收端。文件傳輸流程圖見第97 頁圖5。

圖5 中正常的文件傳輸過程共分為4 個步驟,分別是啟動升級、文件傳輸、文件完整性校驗以及程序版本校驗,除此之外還有各個步驟出現(xiàn)異常后的跳轉(zhuǎn)方式。

圖5 文件傳輸流程

步驟1:啟動端根據(jù)設置的每幀報文長度將升級文件劃分成多個數(shù)據(jù)塊,啟動端開始下發(fā)升級啟動報文。啟動報文除了通知接收端啟動升級外,還包含升級文件的特征信息,其中包括文件名、文件大小、文件塊總數(shù)以及文件的校驗和信息。接收端在收到升級啟動報文后,判斷要升級的設備類型,是升級主單片機還是從單片機,然后擦除Flash 里對應地址范圍的數(shù)據(jù)。同時保存文件的特征信息,用于接收完成后檢驗。

步驟2:啟動端開始按設定大小將文件塊依次發(fā)送給接收端,每幀傳輸報文中還包含當前文件塊序號。接收端接收到文件塊后,除了存儲文件塊內(nèi)容,還會記錄接收到的文件塊序號。

步驟3:當所有文件塊下發(fā)完成后,啟動端請求接收端返回接收到的文件塊信息,核對接收端接收到的文件內(nèi)容是否完整。如果接收端接收到了所有文件塊,首先應對接收到的文件進行校驗,如果文件校驗和與升級啟動報文里下發(fā)的校驗和一致,接收端將重啟進入Bootloader 開始更新用戶程序。如果文件校驗和不一致,則不會進行后續(xù)程序更新操作。

步驟4:啟動端讀取接收端軟件版本信息,判斷接收端是否升級成功。

如果步驟1 或步驟2 中由于連接中斷、通信忙碌等原因無法繼續(xù),則會進入等待階段。待通信恢復正常后,轉(zhuǎn)到步驟3 執(zhí)行。

如果步驟3 中啟動端發(fā)現(xiàn)接收端接收的文件塊不完整,首先判斷是否因步驟2 文件傳輸中斷導致的,如果是則會返回步驟2,按順序補發(fā)接收端缺失的文件塊。如果不是傳輸中斷則返回步驟1,重新啟動升級。

如果步驟4 啟動端讀取接收端軟件版本與升級文件的軟件版本不一致,認為升級失敗,則返回步驟1 重新啟動升級。

以上文件傳輸方案實現(xiàn)了支持斷點續(xù)傳的升級,可以大大提高遠程升級成功率和升級效率,避免了由于缺失某個或某幾個文件塊而重新開始文件傳輸?shù)臒馈?/p>

4 結(jié)束語

本文設計了一種雙單片機嵌入式設備的遠程升級方案,詳細介紹了遠方主站功能、主/從單片機升級流程以及文件傳輸流程,對于主/從單片機Bootloader 程序的差異化設計、升級文件的斷點續(xù)傳同樣做了詳細說明。該遠程升級技術(shù)同樣可以擴展到其他多單片機或者主從設備的遠程升級場景中,具有廣泛的應用前景和較高的使用價值。

猜你喜歡
嵌入式單片機設備
諧響應分析在設備減振中的應用
基于單片機的SPWM控制逆變器的設計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發(fā)平臺
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
500kV輸變電設備運行維護探討
Microchip推出兩個全新PIC單片機系列
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 欧美日韩国产在线观看一区二区三区| 内射人妻无码色AV天堂| 国产精品制服| 日韩在线永久免费播放| 亚洲免费黄色网| 国产成人福利在线| 91人人妻人人做人人爽男同| 狼友av永久网站免费观看| 丝袜久久剧情精品国产| 无码日韩精品91超碰| 国产精品无码一区二区桃花视频| 国产美女一级毛片| 美女被躁出白浆视频播放| 国产va视频| 丰满人妻被猛烈进入无码| 久久久成年黄色视频| 精品1区2区3区| 国产精品v欧美| 日韩欧美91| 99久久精品免费看国产电影| 亚洲一区二区成人| 91在线视频福利| yjizz视频最新网站在线| 熟妇丰满人妻| 91亚洲影院| 久久77777| 亚洲欧洲日本在线| 久久精品亚洲热综合一区二区| 欧美一级99在线观看国产| 夜色爽爽影院18禁妓女影院| 亚洲精品免费网站| 综合网天天| 在线视频精品一区| 国产精品久久久久久搜索| 免费一极毛片| 日韩成人午夜| 亚洲无码视频喷水| 亚洲精品欧美日本中文字幕| 2020久久国产综合精品swag| 青青草原国产| 国产一区二区网站| 国产欧美日韩资源在线观看| 国产精品思思热在线| 欧美日韩精品在线播放| 小说区 亚洲 自拍 另类| 欧美激情伊人| 婷婷综合亚洲| 理论片一区| 五月六月伊人狠狠丁香网| 香蕉蕉亚亚洲aav综合| 日本不卡在线播放| 免费黄色国产视频| 亚洲第一色视频| 国产日韩精品欧美一区灰| 狠狠v日韩v欧美v| 国产免费精彩视频| 成人国产精品2021| 欧美无专区| 一级不卡毛片| 99热这里只有精品国产99| 农村乱人伦一区二区| 亚洲精品国产首次亮相| 欧美一区福利| 亚洲精品天堂在线观看| 国产高清免费午夜在线视频| 国产真实乱子伦视频播放| 亚洲国产一成久久精品国产成人综合| 国产另类视频| 青草视频免费在线观看| 亚洲av综合网| 欧美中日韩在线| 亚洲综合专区| 激情在线网| 国产精品美人久久久久久AV| 99久久精品无码专区免费| 久久综合国产乱子免费| 欧美在线黄| 亚洲第一黄色网址| 国产精品思思热在线| 国产精品尤物在线| 欧美另类一区| 国产精品免费电影|