一種嵌入式系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本實用新型涉及通信技術(shù)領(lǐng)域,具體地說,涉及一種嵌入式系統(tǒng)。
【背景技術(shù)】
[0002]嵌入式系統(tǒng)廣泛應(yīng)用于通信、工業(yè)控制等領(lǐng)域的產(chǎn)品中。嵌入式微處理器(Microcontroller Unit,簡稱MCU)是嵌入式系統(tǒng)存儲設(shè)備的核心部分,在實際應(yīng)用中,經(jīng)常存在諸如存儲設(shè)備程序升級等維護需求。傳統(tǒng)的MCU程序升級通常使用專用編程器、PC機和下載線纜等硬件存儲設(shè)備來實現(xiàn)。在環(huán)境復(fù)雜的現(xiàn)場使用情況下,上述手段依賴多種不同的硬件,甚至需要對存儲設(shè)備進行拆裝方能實現(xiàn)升級維護,存在諸多不便并且效率較低。
[0003]因此,隨著科技的進步,人們開始通過利用通用串行總線(Universal SerialBus,簡稱USB)接口連接各種存儲設(shè)備(例如U盤)來對MCU進行升級維護,使得MCU的升級維護變得較為簡單易行。
[0004]但發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)中,若想通過U盤等USB存儲設(shè)備來為MCU進行升級維護,則該MCU必須自帶USB主模式的控制功能,否則無法實現(xiàn)與USB存儲設(shè)備的通訊。因此,能夠采用USB存儲設(shè)備進行升級維護的MCU的種類、規(guī)格受到限制,仍無法徹底解決MCU升級不便的問題。
【實用新型內(nèi)容】
[0005]本實用新型的目的在于提供一種嵌入式系統(tǒng),以解決MCU升級不便的技術(shù)問題。
[0006]本實用新型提供了一種嵌入式系統(tǒng),該嵌入式系統(tǒng)包括:
[0007]上位機,所述上位機設(shè)置有通用串行總線接口和串行通信接口 ;
[0008]下位機,每一下位機連接一串行通信接口,通過串行通信接口與所述上位機通訊。
[0009]其中,所述上位機檢測到所述通用串行總線接口有存儲設(shè)備接入時,檢測接入的存儲設(shè)備內(nèi)部是否存在升級程序;若檢測到存在升級程序,根據(jù)預(yù)設(shè)置的規(guī)則,確定該升級程序的對應(yīng)對象,并在確定該對應(yīng)對象后,終止用來控制各下位機的主程序,判斷是否可利用該升級程序為其對應(yīng)對象進行升級維護;若是,則利用該升級程序為其對應(yīng)對象進行升級維護。
[0010]其中,該嵌入式系統(tǒng)還包括:
[0011]顯示裝置,所述顯示裝置通過顯示裝置接口連接所述上位機,顯示上位機及其下位機的狀態(tài)。
[0012]其中,所述顯示裝置顯示當(dāng)前進行升級維護的上位機和/或下位機,還顯示上位機從接入的存儲設(shè)備獲取升級程序的速度、上位機與下位機傳輸升級程序的速度以及是否成功獲取和/或成功傳輸。
[0013]其中,下位機為具有應(yīng)用編程功能的微控制單元。
[0014]其中,所述上位機為設(shè)置有通用串行總線接口、串行通信接口和顯示裝置接口的工業(yè)控制計算機。
[0015]其中,所述上位機還設(shè)置有電源接口、音頻接口和網(wǎng)口。
[0016]本實用新型帶來了以下有益效果:本實用新型實施例提供了一種嵌入式系統(tǒng),該嵌入式系統(tǒng)的上位機設(shè)置有USB接口,通過上位機及其USB接口接入的存儲設(shè)備的配合,為下位機的升級維護提供了便利,解決了下位機升級操作不便的技術(shù)問題。
[0017]本實用新型的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本實用新型而了解。本實用新型的目的和其他優(yōu)點可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。
【附圖說明】
[0018]為了更清楚地說明本實用新型實施例中的技術(shù)方案,下面將對實施例描述中所需要的附圖做簡單的介紹:
[0019]圖1是本實用新型實施例提供的嵌入式系統(tǒng)的結(jié)構(gòu)示意圖;
[0020]圖2是本實用新型實施例提供的上位機側(cè)的流程示意圖;
[0021]圖3是本實用新型實施例提供的下位機側(cè)的流程示意圖。
【具體實施方式】
[0022]以下將結(jié)合附圖及實施例來詳細(xì)說明本實用新型的實施方式,借此對本實用新型如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達成技術(shù)效果的實現(xiàn)過程能充分理解并據(jù)以實施。需要說明的是,只要不構(gòu)成沖突,本實用新型中的各個實施例以及各實施例中的各個特征可以相互結(jié)合,所形成的技術(shù)方案均在本實用新型的保護范圍之內(nèi)。
[0023]如圖1所示,在本實用新型實施例中,提供了一種嵌入式系統(tǒng),該嵌入式系統(tǒng)包括上位機和一個或多個可與該上位機通訊的下位機(例如下位機I至4)。一般來說,在概念上,控制者和提供服務(wù)者是上位機,被控制者和被服務(wù)者是下位機。本實用新型實施例中,上位機采用帶串行通信接口(簡稱串口)、USB接口、顯示裝置(例如液晶顯示裝置(LiquidCrystal Display,簡稱IXD))接口等接口的工業(yè)控制計算機,上位機的串口是用來與各下位機通訊的,為了實時監(jiān)控升級維護過程,便于工作人員的操作,該上位機還連接有顯示裝置。另外,本實用新型實施例的下位機采用帶有應(yīng)用編程(In Applicat1n Programming,簡稱IAP)功能的MCU微控制器。
[0024]以下,將詳細(xì)描述如何利用該嵌入式系統(tǒng)的為下位機進行升級維護,該升級維護方法有利于解決現(xiàn)有技術(shù)中下位機(例如MCU)升級不便的技術(shù)問題。
[0025]工作人員將適用于通用串行總線接口的存儲設(shè)備(例如U盤)插入上位機的對應(yīng)接口后,上位機會對該接入的存儲設(shè)備進行掃描,以檢測該接入的存儲設(shè)備內(nèi)是否存在升級程序。
[0026]具體的,上位機掃描接入的存儲設(shè)備內(nèi)部的各文件名,當(dāng)檢測到特定的文件名時,即可知道該接入的存儲設(shè)備內(nèi)存在升級程序。
[0027]一般來說,工程人員為了便于分辨各升級程序,會賦予各升級程序一個獨一無二的文件名,而且文件名一般是與其對應(yīng)的上位機或下位機相配的。上位機可根據(jù)升級程序的文件名,將該文件名與上位機本身以及各下位機的名稱進行匹配,以確定該升級程序的對應(yīng)對象。
[0028]或者,也可預(yù)先在上位機內(nèi)存儲一表格或一組升級目錄,表格或目錄內(nèi)記載有升級程序的文件名和上位機、下位機的對應(yīng)關(guān)系。在本實用新型實施例中,上位機在獲取到升級程序的文件名后,通過查詢該升級目錄即可得知該升級文件的對應(yīng)對象了。
[0029]當(dāng)確定了升級程序的對應(yīng)對象后,上位機需要檢測該升級程序?qū)ζ鋵?yīng)對象而言是否為較高的版本。而此時無論升級程序的對應(yīng)對象為上位機本身還是其中一個下位機,都必須保證升級程序的對應(yīng)對象處于不工作狀態(tài),否則不僅可能無法正常升級,還有可能給該對應(yīng)對象本身造成不可逆轉(zhuǎn)的損壞。因此,上位機終止了控制各下位機的主程序,這使得上位機本身也進入不工作狀態(tài)。
[0030]上位機訪問該升級程序的對應(yīng)對象,獲取該升級程序的對應(yīng)對象的當(dāng)前程序的版本號,與升級程序的版本號進行對比。若是升級程序的版本號較新,則上位機得知可利用該升級程序來對其對應(yīng)對象進行升級維護操作;否則,將保持該對應(yīng)對象的當(dāng)前狀態(tài)不變。
[0031]當(dāng)升級維護操作結(jié)束后,上位機重新開啟其主程序,以實現(xiàn)對下位機的控制、驅(qū)動,恢復(fù)正常工作狀態(tài)。
[0032]其中,若所確定的升級程序的對應(yīng)對象為上位機,且該升級程序的版本高于上位機的當(dāng)前主程序的版本時,上位機將自接入USB接口的存儲設(shè)備中獲取升級程序,緩存在內(nèi)存(例如隨機存取存儲器(Random-Access Memory,簡稱RAM))中。獲取成功后,上位機將調(diào)取該升級程序來覆蓋當(dāng)前的主程序,進行上位機的升級維護操作。
[0033]另外,若所確定的升級程序的對應(yīng)對象為其中一個下位機,且該升級程序的版本較高時,上位機同樣需要自接入USB接口的存儲設(shè)備中獲取升級程序并緩存在內(nèi)存中。獲取成功后,上位機將該升級程序發(fā)送給對應(yīng)的下位機,供下位機進行升級維護操作。
[0034]下位機中的應(yīng)用主程序在檢測到有來自上位機的升級程序時,與上位機進行串口握手通信后轉(zhuǎn)入到下位機預(yù)設(shè)的“boot引導(dǎo)程序”中,此時可接收該二進制的升級程序。由于升級程序傳輸時,是分割成為多個數(shù)據(jù)包,這多個數(shù)據(jù)包按順序依次發(fā)送,下位機依次接收這些數(shù)據(jù)包并根據(jù)各數(shù)據(jù)包的先后順序復(fù)原為升級程序。為了防止傳輸過程出錯,導(dǎo)致下位機升級維護失敗,在傳輸過