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

        ?

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

        2022-10-14 13:51:00劉孟臣張珊珊姬丹丹
        科技創(chuàng)新與生產力 2022年9期
        關鍵詞:用戶程序接收端報文

        劉孟臣,張珊珊,姬丹丹

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

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

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

        1 雙單片機嵌入式設備結構介紹

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

        圖1 雙單片機嵌入式設備系統框圖

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

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

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

        圖2 Flash 存儲空間劃分

        2.1 遠方主站介紹

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

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

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

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

        2.2 主單片機升級流程

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

        圖3 主單片機升級流程

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

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

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

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

        2.3 從單片機升級流程

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

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

        圖4 從單片機升級流程

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

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

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

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

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

        3 文件傳輸流程

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

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

        圖5 文件傳輸流程

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

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

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

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

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

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

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

        以上文件傳輸方案實現了支持斷點續(xù)傳的升級,可以大大提高遠程升級成功率和升級效率,避免了由于缺失某個或某幾個文件塊而重新開始文件傳輸的煩惱。

        4 結束語

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

        猜你喜歡
        用戶程序接收端報文
        基于J1939 協議多包報文的時序研究及應用
        汽車電器(2022年9期)2022-11-07 02:16:24
        基于擾動觀察法的光通信接收端優(yōu)化策略
        頂管接收端脫殼及混凝土澆筑關鍵技術
        一種設置在密閉結構中的無線電能傳輸系統
        新能源科技(2021年6期)2021-04-02 22:43:34
        基于多接收線圈的無線電能傳輸系統優(yōu)化研究
        CTCS-2級報文數據管理需求分析和實現
        變速箱控制系統Bootloader設計與實現
        淺析反駁類報文要點
        中國外匯(2019年11期)2019-08-27 02:06:30
        嵌入式設備遠程升級方案設計
        ATS與列車通信報文分析
        亚洲自拍另类欧美综合| 白白色发布视频在线播放| 中文字幕人妻日韩精品| 18岁日韩内射颜射午夜久久成人| 人妻献身系列第54部| 福利视频一二区| 亚洲精品综合久久中文字幕| 亚洲国产精品一区二区成人片国内 | 给我看免费播放的视频在线观看 | 日本免费三级一区二区| 国产亚洲av综合人人澡精品| 视频在线观看免费一区二区| 久久99精品久久久久久9蜜桃 | 中文字幕亚洲精品久久| 2021久久精品国产99国产精品| 亚洲AV成人片色在线观看高潮| av在线手机中文字幕| 国产亚洲中文字幕一区| av色综合久久天堂av色综合在| 无码人妻一区二区三区免费 | 亚洲一区二区成人在线视频| 精品国产日产av在线| 无码精品人妻一区二区三区漫画| 中文字幕精品一二三四五六七八| 无码一区二区三区在线在看| 久久开心婷婷综合中文| 欧美国产激情二区三区| 蜜臀av性久久久久蜜臀aⅴ| 亚洲熟妇在线视频观看| 国产精品天堂在线观看| 亚洲一二三区免费视频| 免费a级作爱片免费观看美国| 乱码一二三入区口| aa视频在线观看播放免费| 澳门蜜桃av成人av| 天美传媒一区二区| 欧美三级超在线视频| 富婆叫鸭一区二区三区| 国99精品无码一区二区三区| 99国产精品人妻噜啊噜| 亚洲av无码成人网站www|