固件更新方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及電力配電終端技術(shù)領(lǐng)域,尤其涉及一種固件更新方法及裝置。
【背景技術(shù)】
[0002]電力企業(yè)的生產(chǎn)過(guò)程需要使用大量的智能配電終端,以便對(duì)電網(wǎng)的運(yùn)行情況進(jìn)行測(cè)量、監(jiān)視、控制和保護(hù)。因此,智能配電終端在生產(chǎn)過(guò)程中承擔(dān)著非常重要的作用。20世紀(jì)40年代中期,隨著電子技術(shù)的迅速發(fā)展,出現(xiàn)了在一塊芯片上集成了 CPU、存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、并行與串行接口,甚至A/D、D/A轉(zhuǎn)換器的大規(guī)模集成電路,簡(jiǎn)稱為單片機(jī)。由于單片機(jī)具有集成度高,體積較小的特點(diǎn),在智能配電終端上獲得了大規(guī)模的應(yīng)用。以單片機(jī)為核心,智能配電終端具有數(shù)據(jù)存儲(chǔ)和處理能力,可以通過(guò)固件編程實(shí)現(xiàn)各種配電功能,甚至實(shí)現(xiàn)硬件無(wú)法完成的功能,提高了終端的性能指標(biāo)。
[0003]智能配電終端的固件一般都固化在只讀存儲(chǔ)器中,而不是以磁盤為載體可以隨意更換,所以其生命周期和智能配電終端本身一樣長(zhǎng)。但是,電力企業(yè)的應(yīng)用系統(tǒng)時(shí)常進(jìn)行升級(jí)或者更換,導(dǎo)致智能配電終端中集成的固件也不斷需要完善、修改和更新。
[0004]對(duì)固件的更新可以被分為本地更新和遠(yuǎn)程更新。相比較而言,本地更新對(duì)執(zhí)行更新的場(chǎng)景有諸多要求,過(guò)程不是十分方便。而遠(yuǎn)程更新雖然為用戶提供了便利,但通常要求被更新固件的設(shè)備具有能夠執(zhí)行遠(yuǎn)程通信的通信接口,門檻較高。尤其在現(xiàn)在智能配電終端的集成度不斷提高的背景下,同一個(gè)智能配電終端中可能同時(shí)集成有多個(gè)單片機(jī),而為每個(gè)單片機(jī)都配備一個(gè)遠(yuǎn)程通信接口顯然不夠經(jīng)濟(jì)。
【發(fā)明內(nèi)容】
[0005]針對(duì)上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種固件更新方法及裝置,以降低智能配電終端中遠(yuǎn)程通信接口的數(shù)量。
[0006]第一方面,本發(fā)明實(shí)施例提供了一種固件更新方法,所述方法包括:
[0007]通過(guò)串行接口獲取到從機(jī)發(fā)送的升級(jí)指令之后,檢測(cè)所述從機(jī)是否處于可升級(jí)狀態(tài);
[0008]若所述從機(jī)處于可升級(jí)狀態(tài),通過(guò)所述串行接口向所述從機(jī)發(fā)送固件更新數(shù)據(jù)。
[0009]第二方面,本發(fā)明實(shí)施例還提供了一種固件更新裝置,所述裝置包括:
[0010]狀態(tài)檢測(cè)模塊,用于在通過(guò)串行接口獲取到從機(jī)發(fā)送的升級(jí)指令之后,檢測(cè)所述從機(jī)是否處于可升級(jí)狀態(tài);
[0011]數(shù)據(jù)發(fā)送模塊,用于當(dāng)所述從機(jī)處于可升級(jí)狀態(tài)之時(shí),通過(guò)所述串行接口向所述從機(jī)發(fā)送固件更新數(shù)據(jù)。
[0012]本發(fā)明實(shí)施例提供的固件更新方法和裝置,通過(guò)串行接口獲取到從機(jī)發(fā)送的升級(jí)指令之后,檢測(cè)所述從機(jī)是否處于可升級(jí)狀態(tài),若所述從機(jī)處于可升級(jí)狀態(tài),通過(guò)所述串行接口向所述從機(jī)發(fā)送固件更新數(shù)據(jù),使得從機(jī)通過(guò)自身的串行接口即可獲取到自身的固件更新數(shù)據(jù),使得智能配電終端不需要為每個(gè)從機(jī)配備一個(gè)遠(yuǎn)程通信接口,減少了智能配電終端中的遠(yuǎn)程通信接口的數(shù)量。
【附圖說(shuō)明】
[0013]通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0014]圖1是本發(fā)明實(shí)施例提供的執(zhí)行所述固件更新方法的系統(tǒng)結(jié)構(gòu)框圖;
[0015]圖2是本發(fā)明第一實(shí)施例提供的固件更新方法的流程圖;
[0016]圖3是本發(fā)明第二實(shí)施例提供的固件更新方法的流程圖;
[0017]圖4是本發(fā)明第三實(shí)施例提供的固件更新方法中數(shù)據(jù)發(fā)送操作的流程圖;
[0018]圖5是本發(fā)明第四實(shí)施例提供的固件更新方法中數(shù)據(jù)發(fā)送操作的流程圖;
[0019]圖6是本發(fā)明第五實(shí)施例提供的固件更新方法的流程圖;
[0020]圖7是本發(fā)明第六實(shí)施例提供的固件更新裝置的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0021]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
[0022]第一實(shí)施例
[0023]本實(shí)施例提供了固件更新方法的一種技術(shù)方案。所述固件更新方法由固件更新裝置執(zhí)行。所述固件更新裝置集成在智能配電終端的主機(jī)中。
[0024]圖1示出了用于執(zhí)行所述固件更新方法的智能配電終端的系統(tǒng)結(jié)構(gòu)框圖。參見(jiàn)圖1,所述智能配電終端包括一個(gè)主機(jī)11及若干個(gè)相互獨(dú)立的從機(jī)12。每個(gè)從機(jī)12都具有自己獨(dú)立的單片機(jī),能夠獨(dú)立的運(yùn)行所述智能配電終端的一項(xiàng)功能。一般來(lái)說(shuō),每個(gè)從機(jī)12還具有自己獨(dú)立的存儲(chǔ)器。具體的,從機(jī)的存儲(chǔ)器可以是flash存儲(chǔ)器或者EEPR0M存儲(chǔ)器。由于自身具有獨(dú)立的存儲(chǔ)器,從機(jī)對(duì)自己采集到的數(shù)據(jù)可以進(jìn)行記錄。
[0025]所述智能配電終端還包括一個(gè)主機(jī)11。所述主機(jī)11與其他從機(jī)12之間通過(guò)串行總線連接,并且通過(guò)上述串行總線執(zhí)行對(duì)各個(gè)從機(jī)12的運(yùn)行控制。另外,所述主機(jī)11還具有所述智能配電終端上唯一的遠(yuǎn)程通信接口。所述遠(yuǎn)程通信接口可以是以太網(wǎng)接口、無(wú)線局域網(wǎng)接口,或者3G通信接口。當(dāng)然,所述遠(yuǎn)程通信接口還可以是其他類型的通信接口,只要能夠?qū)崿F(xiàn)固件的遠(yuǎn)程更新的目的,本發(fā)明對(duì)此不做限制。另外,還需要說(shuō)明,本發(fā)明提供的固件更新方法由所述智能配電終端的主機(jī)11執(zhí)行。
[0026]參見(jiàn)圖2,所述固件更新方法包括:
[0027]S21,通過(guò)串行接口獲取到從機(jī)發(fā)送的升級(jí)指令之后,檢測(cè)所述從機(jī)是否處于可升級(jí)狀態(tài)。
[0028]如前文所述,主機(jī)具有自身的遠(yuǎn)程通信接口。而且,主機(jī)還具有容量較大的存儲(chǔ)器。在執(zhí)行對(duì)從機(jī)的固件更新之前,所述主機(jī)可以將從機(jī)需要的固件更新數(shù)據(jù)通過(guò)所述遠(yuǎn)程通信接口下載至本地,并將下載到的固件更新數(shù)據(jù)存儲(chǔ)在自身的存儲(chǔ)器內(nèi)。
[0029]在本發(fā)明中,從機(jī)有兩種工作狀態(tài):第一種是可升級(jí)狀態(tài),第二種是非可升級(jí)狀態(tài)。非可升級(jí)狀態(tài)一般情況下是從機(jī)的正常工作狀態(tài),在這種狀態(tài)下從機(jī)處于正常的運(yùn)行中,不能執(zhí)行固件的升級(jí)??缮?jí)狀態(tài)則相反,在此狀態(tài)下從機(jī)的正常運(yùn)行處于停滯,專門執(zhí)行固件的升級(jí)。
[0030]從機(jī)需要執(zhí)行固件更新時(shí),通過(guò)與主機(jī)之間的串行總線,也就是通過(guò)自身的串行接口向主機(jī)發(fā)送升級(jí)指令。主機(jī)在通過(guò)串行接口獲取到所述升級(jí)指令之后,以發(fā)送請(qǐng)求的方式檢測(cè)要求固件更新的從機(jī)是否處于可升級(jí)狀態(tài)。
[0031]S22,若所述從機(jī)處于可升級(jí)狀態(tài),通過(guò)所述串行接口向所述從機(jī)發(fā)送固件更新數(shù)據(jù)。
[0032]所述固件更新數(shù)據(jù)是執(zhí)行固件更新是使用的新的固件數(shù)據(jù)。一般來(lái)說(shuō),從機(jī)接收到主機(jī)發(fā)送的固件更新數(shù)據(jù)以后,使用所接收到的固件更新數(shù)據(jù)覆蓋(overwrite)自身存儲(chǔ)的原有固件數(shù)據(jù),即可完成對(duì)自身固件的更新。
[0033]而且,所述固件更新數(shù)據(jù)一般是對(duì)從機(jī)固件中應(yīng)用程序區(qū)中的固件的更新數(shù)據(jù),而不是對(duì)從機(jī)固件中引導(dǎo)區(qū)中的固件的更新數(shù)據(jù)。
[0034]如果主機(jī)經(jīng)過(guò)檢測(cè),確定所述從機(jī)處于可升級(jí)狀態(tài),則向請(qǐng)求固件更新的從機(jī)發(fā)送固件更新數(shù)據(jù)。而且,主機(jī)是通過(guò)串行接口向所述從機(jī)發(fā)送固件更新數(shù)據(jù)。進(jìn)一步優(yōu)選的,所述串行接口是RS485接口。
[0035]采用RS485接口進(jìn)行固件更新數(shù)據(jù)的發(fā)送的優(yōu)點(diǎn)在于,不必為從機(jī)單獨(dú)配備遠(yuǎn)程通信接口即可完成對(duì)從機(jī)中