亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種FPGA配置文件更新方法及設(shè)備與流程

文檔序號(hào):12362947閱讀:203來(lái)源:國(guó)知局
一種FPGA配置文件更新方法及設(shè)備與流程

本發(fā)明涉及大功率電力電子柔性直流輸電技術(shù)領(lǐng)域,特別是涉及一種FPGA配置文件更新方法及設(shè)備。



背景技術(shù):

隨著大功率電力電子技術(shù)的不斷發(fā)展,基于大功率電力電子的柔性直流輸電設(shè)備得到了廣泛應(yīng)用。隨著柔性直流輸電設(shè)備的電壓等級(jí)越來(lái)越高,一套柔性直流輸電設(shè)備的功率單元數(shù)量也越來(lái)越多。

每個(gè)功率單元的控制板上都有FPGA(Field-Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)芯片,功率單元的FLASH(Flash EEPROM Memory,閃存)只有一個(gè)分區(qū),F(xiàn)LASH初始寫(xiě)入出廠程序。現(xiàn)場(chǎng)需要更新功率單元的FPGA配置文件時(shí),通常需要工人爬上閥塔,通過(guò)手動(dòng)逐個(gè)將待更新的配置文件存儲(chǔ)于功率單元的FLASH中,以便FPGA從該FLASH中直接加載,從而實(shí)現(xiàn)FPGA配置文件更新。

然而,高電壓等級(jí)的柔性直流輸電設(shè)備的功率單元數(shù)量較多,以3300V的柔性直流輸電設(shè)備為例,約有3798個(gè)功率單元。若按照傳統(tǒng)的方法更新FPGA配置文件,即使多個(gè)工人同時(shí)處理,完成所有功率單元的FPGA配置文件更新,也需要多個(gè)工作日,不但工人工作強(qiáng)度大,而且更新時(shí)間過(guò)長(zhǎng),影響后續(xù)設(shè)備調(diào)試進(jìn)度。而且,多個(gè)工人分組更新,難免出現(xiàn)遺漏或重復(fù),可靠性很難保證。

因此,亟需一種FPGA配置文件更新方案用以解決上述問(wèn)題。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明針對(duì)現(xiàn)有技術(shù)中存在的上述不足,提供一種FPGA配置文件更新方法及設(shè)備,用以解決現(xiàn)有的FPGA配置文件更新費(fèi)時(shí)、費(fèi)力,可靠性低的問(wèn)題。

本發(fā)明為解決上述技術(shù)問(wèn)題,采用如下技術(shù)方案:

本發(fā)明提供一種FPGA配置文件更新方法,應(yīng)用于包括主控制器和功率單元的系統(tǒng)中,功率單元的非易失性存儲(chǔ)器包括第一加載區(qū)和第二加載區(qū),第一加載區(qū)中存儲(chǔ)有FPGA出廠配置文件;所述方法包括:

功率單元接收主控制器發(fā)送的數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文攜帶有待更新的FPGA配置文件和待更新的FPGA配置文件的版本號(hào);

功率單元從所述數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件的版本號(hào),并獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào);

功率單元將待更新的FPGA配置文件的版本號(hào)與當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相比較,若二者不同,則從所述數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件,并將所述待更新的FPGA配置文件存儲(chǔ)于非易失性存儲(chǔ)器的第二加載區(qū)。

本發(fā)明還提供一種功率單元,包括FPGA芯片和非易失性存儲(chǔ)器,所述非易失性存儲(chǔ)器包括第一加載區(qū)和第二加載區(qū),第一加載區(qū)中存儲(chǔ)有FPGA出廠配置文件;所述FPGA芯片包括接收模塊和處理模塊;所述接收模塊用于,接收主控制器發(fā)送的數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文攜帶有待更新的FPGA配置文件和待更新的FPGA配置文件的版本號(hào);

所述處理模塊用于,從所述數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件的版本號(hào),并獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào);將待更新的FPGA配置文件的版本號(hào)與當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相比較,當(dāng)二者不同時(shí),從所述數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件,并將所述待更新的FPGA配置文件存儲(chǔ)于非易失性存儲(chǔ)器的第二加載區(qū)。

本發(fā)明將功率單元的非易失性存儲(chǔ)器分成兩個(gè)加載區(qū),其中一個(gè)加載區(qū)存儲(chǔ)FPGA出廠配置文件,另一加載區(qū)存儲(chǔ)FPGA芯 片當(dāng)前運(yùn)行的FPGA配置文件,當(dāng)主控制器發(fā)送的待更新的FPGA配置文件的版本號(hào)與當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)不同時(shí),將待更新的FPGA配置文件存儲(chǔ)于非易失性存儲(chǔ)器的第二加載區(qū),可以實(shí)現(xiàn)各個(gè)功率單元自動(dòng)更新FPGA配置文件,降低工人勞動(dòng)強(qiáng)度,節(jié)省PFGA配置文件更新時(shí)間,更加省時(shí)省力,能夠?yàn)楹罄m(xù)設(shè)備調(diào)試預(yù)留更多的時(shí)間。

本發(fā)明還提供一種FPGA配置文件更新方法,應(yīng)用于包括主控制器和功率單元的系統(tǒng)中,所述方法包括:

主控制器向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文攜帶有待更新的FPGA配置文件和待更新的FPGA配置文件的版本號(hào);

在向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文后的第一時(shí)長(zhǎng)到達(dá)時(shí),所述主控制器控制各個(gè)功率單元下電并重啟;

在控制各個(gè)功率單元重啟后的第二時(shí)長(zhǎng)到達(dá)時(shí),所述主控制器向各個(gè)功率單元發(fā)送自檢請(qǐng)求報(bào)文;

所述主控制器接收各功率單元返回的自檢響應(yīng)報(bào)文,并根據(jù)各功率單元返回的所述自檢響應(yīng)報(bào)文判斷各功率單元的FPGA配置文件是否更新成功,若全部功率單元的FPGA配置文件均更新成功,則結(jié)束本次FPGA配置文件更新,若至少一個(gè)功率單元的FPGA配置文件更新失敗,則向各個(gè)功率單元重新發(fā)送所述數(shù)據(jù)報(bào)文。

本發(fā)明還提供一種主控制器,包括發(fā)送模塊、接收模塊和控制模塊;

所述控制模塊用于,指示所述發(fā)送模塊向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文攜帶有待更新的FPGA配置文件和待更新的FPGA配置文件的版本號(hào);在所述發(fā)送模塊向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文后的第一時(shí)長(zhǎng)到達(dá)時(shí),控制各個(gè)功率單元下電并重啟;在控制各個(gè)功率單元重啟后的第二時(shí)長(zhǎng)到達(dá)時(shí),指示所述發(fā)送模塊向各個(gè)功率單元發(fā)送自檢請(qǐng)求報(bào)文;根據(jù)所述接收模塊接收到的各功率單元返回的自檢響應(yīng)報(bào)文,判斷各功率單元的FPGA配置文件是否更新成功,若全部功率單元的FPGA配置文件均更 新成功,則結(jié)束本次FPGA配置文件更新,若至少一個(gè)功率單元的FPGA配置文件更新失敗,則指示所述發(fā)送模塊向各個(gè)功率單元重新發(fā)送所述數(shù)據(jù)報(bào)文。

本發(fā)明向各個(gè)功率單元發(fā)送待更新的FPGA配置文件,控制各個(gè)功率單元重新啟動(dòng),以使各個(gè)功率單元加載待更新的FPGA配置文件,并通過(guò)主控制器與各個(gè)功率單元之間的自檢機(jī)制判斷各個(gè)功率單元是否已成功更新該待更新的FPGA配置文件,若至少一個(gè)功率單元未成功更新,則重新發(fā)送該待更新的FPGA配置文件,直至全部功率單元均成功更新該待更新的FPGA配置文件,從而提高FPGA配置文件更新的可靠性。

附圖說(shuō)明

圖1為本發(fā)明的網(wǎng)絡(luò)架構(gòu)示意圖;

圖2為本發(fā)明的功率單元的結(jié)構(gòu)示意圖;

圖3為本發(fā)明的主控制器的結(jié)構(gòu)示意圖;

圖4為本發(fā)明實(shí)施例提供的FPGA配置文件更新整體流程圖;

圖5為本發(fā)明實(shí)施例提供的功率單元存儲(chǔ)待更新的FPGA配置文件的流程圖;

圖6為本發(fā)明實(shí)施例提供的數(shù)據(jù)報(bào)文的格式示意圖;

圖7為本發(fā)明實(shí)施例提供的將多條數(shù)據(jù)報(bào)文組合生成完整的數(shù)據(jù)報(bào)文的流程圖,以及進(jìn)行CRC校驗(yàn)的流程圖;

圖8為本發(fā)明實(shí)施例提供的功率單元加載FPGA配置文件的流程圖;

圖9為本發(fā)明實(shí)施例提供的主控制器與功率單元之間的自檢流程圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明中的附圖,對(duì)本發(fā)明中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通 技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

參見(jiàn)圖1,為本發(fā)明的網(wǎng)絡(luò)架構(gòu)示意圖,如圖所示,該網(wǎng)絡(luò)架構(gòu)包括:主控制器10以及多個(gè)功率單元20,主控制器10為柔性直流輸電主控制器。如圖1所示,功率單元為n個(gè),包括功率單元1、功率單元2、......、功率單元n。主控制器10通過(guò)光纖與各功率單元20進(jìn)行通信。需要說(shuō)明的是,本發(fā)明主要應(yīng)用于柔性直流輸電系統(tǒng)中功率單元的配置文件的自動(dòng)更新,主控制器10為柔性直流輸電系統(tǒng)中的控制器,例如,可以為換流閥主控制器,當(dāng)然,本領(lǐng)域技術(shù)人員可知,控制器10并不限定為換流閥主控制器,也可包括柔性直流輸電系統(tǒng)中其他設(shè)備的控制器。

參見(jiàn)圖2,功率單元20可以包括FPGA芯片201和非易失性存儲(chǔ)器202,非易失性存儲(chǔ)器202用于存儲(chǔ)FPGA配置文件,在本發(fā)明實(shí)施例中,非易失性存儲(chǔ)器以FLASH為例進(jìn)行說(shuō)明。FPGA芯片201為邏輯控制器件,能夠加載非易失性存儲(chǔ)器202中存儲(chǔ)的FPGA配置文件,并根據(jù)FPGA配置文件控制功率單元的IGBT(Insulated Gate Bipolar Transistor,絕緣柵雙極型晶體管)工作。

本發(fā)明對(duì)功率單元的非易失性存儲(chǔ)器202進(jìn)行了功能劃分,具體的,非易失性存儲(chǔ)器202可以包括第一加載區(qū)2021和第二加載區(qū)2022,第一加載區(qū)2021中已存儲(chǔ)FPGA出廠配置文件,且不支持FPGA配置文件更新(即不可燒寫(xiě)),第二加載區(qū)2022用于存儲(chǔ)功率單元的FPGA芯片201運(yùn)行的FPGA配置文件,且支持FPGA配置文件更新(即可燒寫(xiě))。需要說(shuō)明的是,非易失性存儲(chǔ)器202在出廠時(shí),第一加載區(qū)2021和第二加載區(qū)2022中均存儲(chǔ)有FPGA出廠配置文件。

FPGA芯片201可以包括接收模塊2011和處理模塊2022,還可以包括發(fā)送模塊2013。

參見(jiàn)圖3,本發(fā)明的主控制器10可以包括發(fā)送模塊101、接收模塊103和控制模塊102。

在系統(tǒng)初始化階段,主控制器內(nèi)設(shè)置以下參數(shù):

1、第一時(shí)長(zhǎng)t1;第一時(shí)長(zhǎng)t1是FLASH的第二加載區(qū)存儲(chǔ)待更新的FPGA配置文件的時(shí)長(zhǎng),通常,t1設(shè)置為5分鐘;

2、第二時(shí)長(zhǎng)t2,第二時(shí)長(zhǎng)t2是FPGA芯片在下電并重啟后加載第二加載區(qū)內(nèi)存儲(chǔ)的待更新的FPGA配置文件的是時(shí)長(zhǎng),通常,t2設(shè)置為3分鐘;

3、待更新的FPGA配置文件的版本號(hào)。

為了保證主控制器10與各個(gè)功率單元20之間通信暢通,使FPGA配置文件更新能夠順利進(jìn)行,在FPGA配置文件更新之前,先檢測(cè)主控制器10與各個(gè)功率單元20之間的光纖鏈路是否正常,即進(jìn)行鏈路自檢,所述鏈路自檢過(guò)程可以包括以下步驟:

步驟100,主控制器10向各個(gè)功率單元20發(fā)送鏈路自檢請(qǐng)求報(bào)文。

具體的,主控制器10上電后,向斷路器(圖中未繪示)發(fā)送啟動(dòng)控制信號(hào),以使斷路器控制各個(gè)功率單元的電源開(kāi)啟,從而啟動(dòng)n個(gè)功率單元20。當(dāng)n個(gè)功率單元20均上電后,主控制器10向各個(gè)功率單元20發(fā)送鏈路自檢請(qǐng)求報(bào)文。

優(yōu)選的,主控制器10向各個(gè)功率單元20廣播發(fā)送鏈路自檢請(qǐng)求報(bào)文。

步驟101,功率單元20向主控制器返回鏈路自檢響應(yīng)報(bào)文。

具體的,功率單元20接收到主控制器10發(fā)送的鏈路自檢請(qǐng)求報(bào)文后,向主控制器10返回鏈路自檢響應(yīng)報(bào)文。

若主控制器10接收到功率單元20返回的鏈路自檢響應(yīng)報(bào)文,則說(shuō)明流閥主控制器10與該功率單元20之間的光纖鏈路的通信正常。若主控制器10接收到n個(gè)功率單元20返回的鏈路自檢響應(yīng)報(bào)文,則說(shuō)明主控制器10與n個(gè)功率單元20之間的光纖鏈路的通信均正常,可以進(jìn)行FPGA配置文件更新。

以下結(jié)合附圖4,對(duì)本發(fā)明的FPGA配置文件更新過(guò)程進(jìn)行詳細(xì)說(shuō)明。如圖4所示,該FPGA配置文件更新過(guò)程包括以下步驟:

步驟401,主控制器向各個(gè)功率單元發(fā)送待更新的FPGA配 置文件。

具體的,主控制器10向各個(gè)功率單元20廣播發(fā)送數(shù)據(jù)報(bào)文,數(shù)據(jù)報(bào)文中攜帶有待更新的FPGA配置文件。

數(shù)據(jù)報(bào)文的格式后續(xù)再作詳細(xì)說(shuō)明。

步驟402,各功率單元獲取待更新的FPGA配置文件并存儲(chǔ)。

具體的,各功率單元20解析該數(shù)據(jù)報(bào)文,獲取待更新的FPGA配置文件,并將該待更新的FPGA配置文件存儲(chǔ)于本功率單元的非易失性存儲(chǔ)器的第二加載區(qū)。

功率單元存儲(chǔ)待更新的FPGA配置文件的過(guò)程后續(xù)結(jié)合圖5再作詳細(xì)說(shuō)明。

步驟403,主控制器控制各功率單元下電并重啟。

具體的,主控制器10在向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文后的第一時(shí)長(zhǎng)t1到達(dá)時(shí),向斷路器發(fā)送重啟控制信號(hào),以使斷路器控制各個(gè)功率單元20的電源重啟,從而使各個(gè)功率單元20下電并重啟。

步驟404,各功率單元加載所述待更新的FPGA配置文件。

具體的,各功率單元20下電并重啟后,加載第二加載區(qū)內(nèi)存儲(chǔ)的待更新的FPGA配置文件。功率單元20加載待更新的FPGA配置文件的過(guò)程后續(xù)結(jié)合圖8再作詳細(xì)說(shuō)明。

步驟405-406,主控制器通過(guò)與各個(gè)功率單元進(jìn)行自檢,判斷待更新的FPGA配置文件在各個(gè)功率單元中是否均更新成功,若至少一個(gè)功率單元更新待更新的FPGA配置文件失敗,則執(zhí)行步驟401,否則,結(jié)束FPGA配置文件更新流程。

具體的,主控制器10通過(guò)與各個(gè)功率單元20的自檢機(jī)制,判斷各功率單元是否成功更新待更新的FPGA配重文件,若至少一個(gè)功率單元20更新失敗,主控制器10需要重新向各功率單元發(fā)送待更新的FPGA配置文件。

以下結(jié)合圖5,詳細(xì)說(shuō)明功率單元存儲(chǔ)待更新的FPGA配置文件的過(guò)程。如圖5所示,功率單元存儲(chǔ)待更新的FPGA配置文件的過(guò)程包括以下步驟:

步驟501,功率單元接收主控制器發(fā)送的數(shù)據(jù)報(bào)文。

具體的,主控制器10向各功率單元20發(fā)送的數(shù)據(jù)報(bào)文中攜帶有待更新的FPGA配置文件和待更新的FPGA配置文件的版本號(hào)。

步驟502,功率單元從數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件的版本號(hào),并獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)。

具體的,功率單元10解析該數(shù)據(jù)報(bào)文,獲取待更新的FPGA配置文件的版本號(hào)。

步驟503,功率單元將所述待更新的FPGA配置文件的版本號(hào)與當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相比較,若二者不同,則執(zhí)行步驟504,否則,執(zhí)行步驟505。

具體的,若待更新的FPGA配置文件的版本號(hào)與當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)不同,說(shuō)明待更新的FPGA配置文件與FPGA芯片上當(dāng)前運(yùn)行的FPGA配置文件不同,因此,功率單元獲取待更新的FPGA配置文件并存儲(chǔ)(即執(zhí)行步驟504);若待更新的FPGA配置文件的版本號(hào)與當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相同,說(shuō)明待更新的FPGA配置文件與FPGA芯片上當(dāng)前運(yùn)行的FPGA配置文件相同,因此,無(wú)需更新FPGA配置文件,丟棄該數(shù)據(jù)報(bào)文(即執(zhí)行步驟505)。

步驟504,功率單元從數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件,并將待更新的FPGA配置文件存儲(chǔ)于非易失性存儲(chǔ)器的第二加載區(qū)。

具體的,若功率單元判斷出待更新的FPGA配置文件與FPGA芯片上當(dāng)前運(yùn)行的FPGA配置文件不同,則解析該數(shù)據(jù)報(bào)文,獲取其中攜帶的待更新的FPGA配置文件,并將待更新的FPGA配置文件燒寫(xiě)到FLASH的第二加載區(qū)2022。

步驟505,功率單元丟棄數(shù)據(jù)報(bào)文。

具體的,若功率單元判斷出待更新的FPGA配置文件與FPGA芯片上當(dāng)前運(yùn)行的FPGA配置文件相同,則忽略該數(shù)據(jù)報(bào)文并丟棄,無(wú)需在FLASH的第二加載區(qū)2022中燒寫(xiě)待更新的FPGA配 置文件。

需要說(shuō)明的是,本發(fā)明自定義了數(shù)據(jù)報(bào)文的格式,以下結(jié)合圖6,對(duì)數(shù)據(jù)報(bào)文的格式進(jìn)行詳細(xì)說(shuō)明。

如圖6所示,數(shù)據(jù)報(bào)文的數(shù)據(jù)載荷部分可以包括以下字段:FLAG、EX、LEN、Ver、UPDATA,在數(shù)據(jù)載荷之后還包括CRC校驗(yàn)碼。FLAG字段是一個(gè)1字節(jié)的報(bào)文類(lèi)型標(biāo)記,用于表示報(bào)文的類(lèi)型,例如,數(shù)據(jù)報(bào)文的FLAG字段值為0xAA,自檢報(bào)文(包括自檢請(qǐng)求報(bào)文和自檢響應(yīng)報(bào)文)的FLAG字段值為0xAB。EX字段是一個(gè)1字節(jié)的擴(kuò)展標(biāo)識(shí),用于功率單元的FPGA芯片識(shí)別數(shù)據(jù)報(bào)文是否為結(jié)束幀。LEN字段為一個(gè)4字節(jié)的長(zhǎng)度標(biāo)識(shí),用于表示Ver、UPDATA和CRC字段的總長(zhǎng)度。Ver字段為一個(gè)2字節(jié)的版本標(biāo)識(shí),用于表示FPGA配置文件的版本號(hào)。UPDATA字段用于表示FPGA配置文件的數(shù)據(jù)內(nèi)容,共10M字節(jié)。CRC字段為一個(gè)4字節(jié)的校驗(yàn)碼。

為了保證數(shù)據(jù)傳輸?shù)目煽啃?,主控制?0先將完整的FPGA配置文件拆分為n個(gè)FPGA配置文件數(shù)據(jù)包,前(n-1)個(gè)FPGA配置文件數(shù)據(jù)包為126字節(jié),第n個(gè)FPGA配置文件數(shù)據(jù)包為2-126字節(jié)。然后,主控制器10分別將n個(gè)FPGA配置文件數(shù)據(jù)包攜帶于數(shù)據(jù)報(bào)文的UPDATA字段中,分別通過(guò)n條數(shù)據(jù)報(bào)文順序發(fā)送給各功率單元20。各功率單元20再分別獲取每條數(shù)據(jù)報(bào)文中攜帶的FPGA配置文件數(shù)據(jù)包,并將接收到的n條數(shù)據(jù)報(bào)文(攜帶有待更新的FPGA配置文件的部分?jǐn)?shù)據(jù)的各條數(shù)據(jù)報(bào)文),組合生成攜帶有完整的待更新的FPGA配置文件的數(shù)據(jù)報(bào)文。

需要說(shuō)明的是,第1條數(shù)據(jù)報(bào)文的Ver字段值為待更新的FPGA配置文件的版本號(hào),其他(n-1)條數(shù)據(jù)報(bào)文的Ver字段可以為空。第n條數(shù)據(jù)報(bào)文的CRC字段值為32位的CRC校驗(yàn)碼,其他(n-1)條數(shù)據(jù)報(bào)文的CRC字段可以為空。第n條數(shù)據(jù)報(bào)文的EX的字段值可以為2,表示結(jié)束幀,其他(n-1)條數(shù)據(jù)報(bào)文的EX的字段值可以為1,表示非結(jié)束幀。

以下結(jié)合圖7,詳細(xì)說(shuō)明功率單元將多條攜帶有待更新的 FPGA配置文件的部分?jǐn)?shù)據(jù)的數(shù)據(jù)報(bào)文,組合生成攜帶有完整的待更新的FPGA配置文件的數(shù)據(jù)報(bào)文的過(guò)程。如圖7所示,該過(guò)程包括以下步驟:

步驟701,功率單元接收攜帶有待更新的FPGA配置文件的部分?jǐn)?shù)據(jù)的數(shù)據(jù)報(bào)文。

具體的,主控制器10將完整的FPGA配置文件拆分為n個(gè)FPGA配置文件數(shù)據(jù)包,并依次通過(guò)n條數(shù)據(jù)報(bào)文,將n個(gè)FPGA配置文件數(shù)據(jù)包廣播發(fā)送給各個(gè)功率單元20,相應(yīng)的,各個(gè)功率單元10能夠依次接收該n條數(shù)據(jù)報(bào)文。

步驟702,功率單元從該數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件的部分?jǐn)?shù)據(jù)。

具體的,功率單元20在接收到一條數(shù)據(jù)報(bào)文后,就解析該數(shù)據(jù)報(bào)文,獲取其中攜帶的待更新的FPGA配置文件數(shù)據(jù)包(即待更新的FPGA配置文件的部分?jǐn)?shù)據(jù))。

步驟703,功率單元判斷該數(shù)據(jù)報(bào)文是否為待更新的FPGA配置文件的最后一條數(shù)據(jù)報(bào)文,若是,則執(zhí)行步驟704,否則,執(zhí)行步驟701。

具體的,功率單元解析該數(shù)據(jù)報(bào)文,獲取EX字段的值,根據(jù)EX字段的值判斷該數(shù)據(jù)報(bào)文是否為待更新的FPGA配置文件的最后一條數(shù)據(jù)報(bào)文。例如,若EX字段的值為1,說(shuō)明該條數(shù)據(jù)報(bào)文不是待更新的FPGA配置文件的最后一條數(shù)據(jù)報(bào)文,則等待接收下一條數(shù)據(jù)報(bào)文(即攜帶有待更新的FPGA配置文件的其他部分?jǐn)?shù)據(jù)的數(shù)據(jù)報(bào)文),即執(zhí)行步驟701,直到接收到待更新的FPGA配置文件的最后一條數(shù)據(jù)報(bào)文為止。若EX字段的值為2,說(shuō)明該條數(shù)據(jù)報(bào)文是待更新的FPGA配置文件的最后一條數(shù)據(jù)報(bào)文,則執(zhí)行步驟704。

步驟704,功率單元按照數(shù)據(jù)報(bào)文接收時(shí)間,將攜帶有待更新的FPGA配置文件的部分?jǐn)?shù)據(jù)的各條數(shù)據(jù)報(bào)文組合生成攜帶有待更新的FPGA配置文件的數(shù)據(jù)報(bào)文。

具體的,若功率單元20判斷出當(dāng)前接收到數(shù)據(jù)報(bào)文為待更新 的FPGA配置文件的最后一條數(shù)據(jù)報(bào)文,說(shuō)明待更新的FPGA配置文件的全部數(shù)據(jù)已接收完畢,可以將之前接收到的n條數(shù)據(jù)報(bào)文組合生成攜帶有完整的待更新的FPGA配置文件的數(shù)據(jù)報(bào)文。

組合后的數(shù)據(jù)報(bào)文的格式如圖6所示,其中,Ver字段的值可以根據(jù)第1條數(shù)據(jù)報(bào)文的Ver字段獲得,CRC字段的值可以根據(jù)第n條報(bào)文的CRC字段獲得,EX字段的值為2。

通過(guò)上述步驟701-704,可以將接收到的n條攜帶有待更新的FPGA配置文件的部分?jǐn)?shù)據(jù)的數(shù)據(jù)報(bào)文,組合生成攜帶有完整的待更新的FPGA配置文件的數(shù)據(jù)報(bào)文。

進(jìn)一步的,為了保證FPGA配置文件更新的可靠性,在步驟704之后、步驟502之前,還執(zhí)行以下步驟:

步驟705-步驟706,功率單元獲取并校驗(yàn)校驗(yàn)碼,若校驗(yàn)碼校驗(yàn)成功,則執(zhí)行步驟502,否則,執(zhí)行步驟707。

具體的,功率單元20解析該組合后的數(shù)據(jù)報(bào)文,獲取其中攜帶的CRC校驗(yàn)碼,并進(jìn)行CRC校驗(yàn)。若CRC校驗(yàn)成功,則從組合后的數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件的版本號(hào),即執(zhí)行步驟502,否則,執(zhí)行步驟707。

步驟707,功率單元丟棄攜帶有待更新的FPGA配置文件的部分?jǐn)?shù)據(jù)的數(shù)據(jù)報(bào)文和組合后的數(shù)據(jù)報(bào)文。

具體的,若CRC校驗(yàn)失敗,則功率單元20丟棄所述n條數(shù)據(jù)報(bào)文(攜帶有待更新的FPGA配置文件的部分?jǐn)?shù)據(jù)的數(shù)據(jù)報(bào)文),并丟棄組合后的數(shù)據(jù)報(bào)文(攜帶有待更新的FPGA配置文件的數(shù)據(jù)報(bào)文),不再燒寫(xiě)FLASH。

需要說(shuō)明的是,在CRC校驗(yàn)成功之后,功率單元20才存儲(chǔ)待更新的FPGA配置文件,即執(zhí)行步驟502-505,這樣,能夠保證FPGA配置文件更新的可靠性。

在步驟502中,功率單元20解析組合后的數(shù)據(jù)報(bào)文,獲取其中的Ver字段的值,Ver字段的值即為待更新的FPGA配置文件的版本號(hào)。

以下結(jié)合圖8,詳細(xì)說(shuō)明功率單元加載FPGA配置文件的過(guò) 程。如圖8所示,該過(guò)程包括以下步驟:

步驟801,功率單元下電并重啟后,加載第二加載區(qū)內(nèi)存儲(chǔ)的FPGA配置文件。

具體的,功率單元20下電并重啟后,加載第一加載區(qū)2021內(nèi)存儲(chǔ)的FPGA出廠配置文件,并借助FPGA出廠配置文件的引導(dǎo),加載第二加載區(qū)2022內(nèi)存儲(chǔ)的FPGA配置文件。

步驟802,功率單元判斷第二加載區(qū)內(nèi)存儲(chǔ)的FPGA配置文件是否加載成功,若加載成功,則執(zhí)行步驟803,否則,執(zhí)行步驟804。

具體的,功率單元20通過(guò)判斷FPGA芯片201的引腳電平,判斷是否成功加載第二加載區(qū)內(nèi)存儲(chǔ)的FPGA配置文件。例如,若引腳為高電平,則加載成功,執(zhí)行步驟803;若引腳為低電平,則判斷加載失敗,執(zhí)行步驟804。

步驟803,運(yùn)行已加載的FPGA配置文件。

具體的,功率單元20在下電并重啟后,若能夠成功加載第二加載區(qū)內(nèi)存儲(chǔ)的FPGA配置文件,可以對(duì)應(yīng)以下3種情況:

(1)在步驟707的情況下,CRC校驗(yàn)失敗,功率單元20并未進(jìn)入FPGA配置文件存儲(chǔ)步驟。本次待更新的FPGA配置文件并未燒寫(xiě)在FLASH中,此時(shí),功率單元20的FLASH的第二加載區(qū)2022中可能存儲(chǔ)有FPGA出廠配置文件,或者在先版本的FPGA配置文件。

(2)在FPGA配置文件存儲(chǔ)過(guò)程中(步驟504中),功率單元20成功將待更新的FPGA配置文件存儲(chǔ)于非易失性存儲(chǔ)器的第二加載區(qū)2022,即本次的FPGA配置文件成功燒寫(xiě)在FLASH中,此時(shí),功率單元的FLASH的第二加載區(qū)2022中存儲(chǔ)的是待更新的FPGA配置文件,本次FPGA配置文件更新成功。

(3)在FPGA配置文件存儲(chǔ)過(guò)程中,功率單元20判斷出待更新的FPGA配置文件與FPGA芯片上當(dāng)前運(yùn)行的FPGA配置文件相同(步驟505中),因此,本次的FPGA配置文件并未燒寫(xiě)在FLASH中,此時(shí),功率單元的FLASH的第二加載區(qū)2022中存 儲(chǔ)的也是待更新的FPGA配置文件。

步驟804,運(yùn)行FPGA出廠配置文件。

具體的,若功率單元20在FPGA配置文件存儲(chǔ)過(guò)程中(步驟504中),將待更新的FPGA配置文件存儲(chǔ)于非易失性存儲(chǔ)器的第二加載區(qū)失敗,即本次的FPGA配置文件在FLASH中燒寫(xiě)失敗,這樣會(huì)導(dǎo)致原來(lái)存儲(chǔ)在第二加載區(qū)內(nèi)的FPGA配置文件損壞,因此,功率單元20無(wú)法加載第二加載區(qū)內(nèi)存儲(chǔ)的FPGA配置文件,功率單元20加載的是第一加載區(qū)內(nèi)存儲(chǔ)的FPGA出廠配置文件。

通過(guò)上述步驟801-804可以看出,功率單元加載FPGA配置文件的過(guò)程,只能夠判斷出第二加載區(qū)中是否存儲(chǔ)有FPGA配置文件,而無(wú)法判斷出在功率單元20重啟之前,待更新的FPGA配置文件是否已成功存儲(chǔ)在第二加載區(qū)內(nèi)。待更新的FPGA配置文件是否成功存儲(chǔ)在第二加載區(qū)內(nèi),則需要通過(guò)主控制器10與各功率單元20之間的自檢過(guò)程進(jìn)行確定。

進(jìn)一步的,在功率單元加載第二加載區(qū)內(nèi)存儲(chǔ)的FPGA配置文件成功,并運(yùn)行已加載的FPGA配置文件之后,或者,在功率單元運(yùn)行FPGA出廠配置文件之后,主控制器10與各功率單元20之間進(jìn)行自檢。通過(guò)自檢過(guò)程可以判斷各功率單元20當(dāng)前運(yùn)行的FPGA配置文件是否是待更新的FPGA配置文件,從而確定功率單元的FPGA配置文件是否更新成功。

主控制器10與各功率單元20之間的自檢過(guò)程的一種實(shí)現(xiàn)方式可以如圖9所示,包括以下步驟:

步驟901,功率單元接收主控制器發(fā)送的自檢請(qǐng)求報(bào)文。

具體的,主控制器10向各個(gè)功率單元20廣播發(fā)送自檢請(qǐng)求報(bào)文,自檢請(qǐng)求報(bào)文中攜帶有待更新的FPGA配置文件的版本號(hào)。

優(yōu)選的,自檢請(qǐng)求報(bào)文的格式可以與數(shù)據(jù)報(bào)文的格式相同,可以通過(guò)FLAG字段的值來(lái)區(qū)分?jǐn)?shù)據(jù)報(bào)文和自檢請(qǐng)求報(bào)文。

步驟902,功率單元從所述自檢請(qǐng)求報(bào)文中獲取待更新的FPGA配置文件的版本號(hào),并獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)。

具體的,各功率單元20接收并解析主控制器10發(fā)送的自檢請(qǐng)求報(bào)文,獲取其中攜帶的待更新的FPGA配置文件的版本號(hào)。

各功率單元20獲取FPGA芯片201當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)。其中,若在步驟801中,功率單元20加載第二加載區(qū)內(nèi)存儲(chǔ)的FPGA配置文件成功,則FPGA芯片201當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)為待更新的FPGA配置文件的版本號(hào)。若功率單元20加載第二加載區(qū)內(nèi)存儲(chǔ)的FPGA配置文件失敗,則FPGA芯片201當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)為FPGA出廠配置文件的版本號(hào)。

步驟903,功率單元將待更新的FPGA配置文件的版本號(hào)與所述當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相比較,并根據(jù)比較結(jié)果,在自檢響應(yīng)報(bào)文中攜帶用于表示待更新的FPGA配置文件更新成功或失敗的更新標(biāo)記。

具體的,當(dāng)待更新的FPGA配置文件的版本號(hào)與當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相同時(shí),更新標(biāo)記為表示待更新的FPGA配置文件更新成功的標(biāo)記,當(dāng)待更新的FPGA配置文件的版本號(hào)與當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)不同時(shí),更新標(biāo)記為表示待更新的FPGA配置文件更新失敗的標(biāo)記。

步驟904,功率單元向主控制器返回所述自檢響應(yīng)報(bào)文。

具體的,功率單元向主控制器返回自檢響應(yīng)報(bào)文,自檢報(bào)文中攜帶有該更新標(biāo)記。主控制器10根據(jù)自檢響應(yīng)報(bào)文中攜帶的更新標(biāo)記判斷各功率單元20是否成功更新待更新的FPGA配重文件,若至少一個(gè)功率單元20更新失敗,主控制器10需要重新向各功率單元發(fā)送待更新的FPGA配置文件。

主控制器10與各功率單元20之間的自檢過(guò)程的另一種實(shí)現(xiàn)方式包括以下步驟:

步驟901’,主控制器向各個(gè)功率單元發(fā)送自檢請(qǐng)求報(bào)文。

具體的,自檢請(qǐng)求報(bào)文可以不攜帶待更新的FPGA配置文件的版本號(hào)。

步驟902’,功率單元接收到主控制器發(fā)送的自檢請(qǐng)求報(bào)文后, 獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào),在自檢響應(yīng)報(bào)文中攜帶所述當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào),并向主控制器返回所述自檢響應(yīng)報(bào)文。

步驟903’,主控制器從自檢響應(yīng)報(bào)文中獲取發(fā)送該自檢響應(yīng)報(bào)文的功率單元當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)。

步驟904’,主控制器將待更新的FPGA配置文件的版本號(hào)與所述當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相比較,若二者相同,則判斷出發(fā)送該自檢響應(yīng)報(bào)文的功率單元的FPGA配置文件更新成功,否則,判斷出發(fā)送該自檢響應(yīng)報(bào)文的功率單元的FPGA配置文件更新失敗。

以下詳細(xì)說(shuō)明主控制器控制FPGA配置文件更新的過(guò)程。該過(guò)程包括以下步驟:

步驟1001,主控制器向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文。

具體的,主控制器10將待更新的FPGA配置文件拆分為至少兩個(gè)部分,并生成至少兩條數(shù)據(jù)報(bào)文,每條數(shù)據(jù)報(bào)文攜帶有待更新的FPGA配置文件的部分?jǐn)?shù)據(jù),其中,第一條數(shù)據(jù)報(bào)文還攜帶有待更新的FPGA配置文件的版本號(hào),最后一條數(shù)據(jù)報(bào)文還攜帶有校驗(yàn)碼。主控制器10向各個(gè)功率單元20順序廣播發(fā)送所述數(shù)據(jù)報(bào)文。

步驟1002,在向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文后的第一時(shí)長(zhǎng)到達(dá)時(shí),主控制器控制各個(gè)功率單元下電并重啟。

具體的,各功率單元20在接收到數(shù)據(jù)報(bào)文之后的第一時(shí)長(zhǎng)t1內(nèi),能夠完成FPGA配置文件的存儲(chǔ),因此,在向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文后的第一時(shí)長(zhǎng)t1到達(dá)時(shí),主控制器10可以控制各個(gè)功率單元20下電并重啟,以使各功率單元加載并運(yùn)行FPGA配置文件。

步驟1003,在控制各個(gè)功率單元重啟后的第二時(shí)長(zhǎng)到達(dá)時(shí),主控制器向各個(gè)功率單元發(fā)送自檢請(qǐng)求報(bào)文。

具體的,各功率單元20在重啟后的第二時(shí)長(zhǎng)t2內(nèi),能夠完 成FPGA配置文件的加載和運(yùn)行,在控制各個(gè)功率單元重啟后的第二時(shí)長(zhǎng)t2到達(dá)時(shí),主控制器10可以向各個(gè)功率單元20發(fā)送自檢請(qǐng)求報(bào)文,用以與各功率單元20進(jìn)行自檢,以判斷各個(gè)功率單元的待更新的FPGA配置文件是否更新成功。

步驟1004-1005,主控制器接收各功率單元返回的自檢響應(yīng)報(bào)文,根據(jù)各功率單元返回的所述自檢響應(yīng)報(bào)文判斷各功率單元的FPGA配置文件是否更新成功,并判斷是否全部功率單元的FPGA配置文件均更新成功,若是,則結(jié)束本次FPGA配置文件更新過(guò)程;若至少一個(gè)功率單元的FPGA配置文件更新失敗,則執(zhí)行步驟1001。

具體的,主控制器10從自檢響應(yīng)報(bào)文中獲取更新標(biāo)記,并根據(jù)所述更新標(biāo)記,判斷發(fā)送該自檢響應(yīng)報(bào)文的功率單元是否將所述待更新的FPGA配置文件更新成功,進(jìn)而可以判斷出全部功率單元的FPGA配置文件是否均更新成功?;蛘撸骺刂破?0從自檢響應(yīng)報(bào)文中獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào),將所述待更新的FPGA配置文件的版本號(hào)與所述當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相比較,若二者相同,則判斷出發(fā)送該自檢響應(yīng)報(bào)文的功率單元的FPGA配置文件更新成功,否則,判斷出發(fā)送該自檢響應(yīng)報(bào)文的功率單元的FPGA配置文件更新失敗。

若至少一個(gè)功率單元的FPGA配置文件更新失敗,則向各個(gè)功率單元20重新發(fā)送所述數(shù)據(jù)報(bào)文,即執(zhí)行步驟1001。

需要說(shuō)明的是,在主控制器向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文之前,還進(jìn)行鏈路自檢,即執(zhí)行步驟100-101,鏈路自檢過(guò)程如前所述,在此不再贅述。

本發(fā)明實(shí)施例還提供一種功率單元,如圖2所示,該功率單元20包括FPGA芯片201和非易失性存儲(chǔ)器202,非易失性存儲(chǔ)器202包括第一加載區(qū)2021和第二加載區(qū)2022,第一加載區(qū)2021中存儲(chǔ)有FPGA出廠配置文件;FPGA芯片201包括接收模塊2011和處理模塊2012。

接收模塊2011用于,接收主控制器10發(fā)送的數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文攜帶有待更新的FPGA配置文件和待更新的FPGA配置文件的版本號(hào)。

處理模塊2012用于,從所述數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件的版本號(hào),并獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào);將待更新的FPGA配置文件的版本號(hào)與當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相比較,當(dāng)二者不同時(shí),從所述數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件,并將所述待更新的FPGA配置文件存儲(chǔ)于非易失性存儲(chǔ)器的第二加載區(qū)2022。

進(jìn)一步的,處理模塊2012還用于,在功率單元20下電并重啟后,加載第二加載區(qū)內(nèi)202存儲(chǔ)的FPGA配置文件;判斷第二加載區(qū)2022內(nèi)存儲(chǔ)的FPGA配置文件是否加載成功,若加載成功,則運(yùn)行已加載的FPGA配置文件,否則,運(yùn)行FPGA出廠配置文件。

優(yōu)選的,處理模塊2012具體用于,加載第一加載區(qū)2021內(nèi)存儲(chǔ)的FPGA出廠配置文件,并借助所述FPGA出廠配置文件的引導(dǎo),加載第二加載區(qū)2022內(nèi)存儲(chǔ)的FPGA配置文件。

進(jìn)一步的,F(xiàn)PGA芯片201還包括發(fā)送模塊。

接收模塊2011還用于,接收主控制器10發(fā)送的自檢請(qǐng)求報(bào)文,所述自檢請(qǐng)求報(bào)文中攜帶有待更新的FPGA配置文件的版本號(hào);所述自檢請(qǐng)求報(bào)文是主控制器10在向各功率單元20發(fā)送所述數(shù)據(jù)報(bào)文之后,且各功率單元20下電并重啟之后發(fā)送的。

處理模塊2012還用于,從所述自檢請(qǐng)求報(bào)文中獲取待更新的FPGA配置文件的版本號(hào),并獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào);將所述待更新的FPGA配置文件的版本號(hào)與所述當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相比較,并根據(jù)比較結(jié)果在自檢響應(yīng)報(bào)文中攜帶用于表示待更新的FPGA配置文件更新成功或失敗的更新標(biāo)記。

發(fā)送模塊2013用于,向主控制器10返回所述自檢響應(yīng)報(bào)文。

進(jìn)一步的,接收模塊2011還用于,接收主控制器10發(fā)送的 自檢請(qǐng)求報(bào)文,所述自檢請(qǐng)求報(bào)文是主控制器10在向各功率單元20發(fā)送所述數(shù)據(jù)報(bào)文之后,且各功率單元20下電并重啟之后發(fā)送的。

處理模塊2012還用于,獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào),在自檢響應(yīng)報(bào)文中攜帶所述當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)。

發(fā)送模塊2013用于,向主控制器10返回所述自檢響應(yīng)報(bào)文。

優(yōu)選的,所述數(shù)據(jù)報(bào)文包括至少兩條,每條數(shù)據(jù)報(bào)文攜帶有所述待更新的FPGA配置文件的部分?jǐn)?shù)據(jù),其中,第一條數(shù)據(jù)報(bào)文還攜帶有待更新的FPGA配置文件的版本號(hào),最后一條數(shù)據(jù)報(bào)文還攜帶有校驗(yàn)碼。

處理模塊2012具體用于,當(dāng)接收模塊2011接收到數(shù)據(jù)報(bào)文時(shí),從數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件的部分?jǐn)?shù)據(jù);判斷所述數(shù)據(jù)報(bào)文是否為所述待更新的FPGA配置文件的最后一條數(shù)據(jù)報(bào)文,若是,則按照數(shù)據(jù)報(bào)文接收時(shí)間,將攜帶有所述待更新的FPGA配置文件的部分?jǐn)?shù)據(jù)的各條數(shù)據(jù)報(bào)文組合生成攜帶有待更新的FPGA配置文件的數(shù)據(jù)報(bào)文,組合后的數(shù)據(jù)報(bào)文攜帶有待更新的FPGA配置文件、待更新的FPGA配置文件的版本號(hào)和校驗(yàn)碼;否則,等待所述接收模塊繼續(xù)接收數(shù)據(jù)報(bào)文。

處理模塊2012還用于,在從組合后的數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件的版本號(hào)之前,獲取校驗(yàn)碼,并校驗(yàn)校驗(yàn)碼,當(dāng)校驗(yàn)碼校驗(yàn)成功時(shí),從組合后的數(shù)據(jù)報(bào)文中獲取待更新的FPGA配置文件的版本號(hào)。

進(jìn)一步的,接收模塊2011還用于,接收主控制器10發(fā)送的鏈路自檢請(qǐng)求報(bào)文;所述鏈路自檢請(qǐng)求報(bào)文是主控制器10向各功率單元發(fā)送數(shù)據(jù)報(bào)文之前發(fā)送的。

處理模塊2012還用于,在接收模塊2011接收到鏈路自檢請(qǐng)求報(bào)文時(shí),向主控制器10返回鏈路自檢響應(yīng)報(bào)文,以使主控制器10在接收到全部功率單元20返回的自檢響應(yīng)報(bào)文時(shí),向各個(gè)功率單元20發(fā)送數(shù)據(jù)報(bào)文。

本發(fā)明實(shí)施例還提供一種主控制器,如圖3所示,該主控制器10包括發(fā)送模塊101、接收模塊103和控制模塊102。

控制模塊102用于,指示發(fā)送模塊101向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文,所述數(shù)據(jù)報(bào)文攜帶有待更新的FPGA配置文件和待更新的FPGA配置文件的版本號(hào);在發(fā)送模塊101向各個(gè)功率單元發(fā)送數(shù)據(jù)報(bào)文后的第一時(shí)長(zhǎng)到達(dá)時(shí),控制各個(gè)功率單元20下電并重啟;在控制各個(gè)功率單元20重啟后的第二時(shí)長(zhǎng)到達(dá)時(shí),指示發(fā)送模塊101向各個(gè)功率單元20發(fā)送自檢請(qǐng)求報(bào)文;根據(jù)接收模塊103接收到的各功率單元返回的自檢響應(yīng)報(bào)文,判斷各功率單元20的FPGA配置文件是否更新成功,若全部功率單元的FPGA配置文件均更新成功,則結(jié)束本次FPGA配置文件更新,若至少一個(gè)功率單元20的FPGA配置文件更新失敗,則指示發(fā)送模塊101向各個(gè)功率單元20重新發(fā)送所述數(shù)據(jù)報(bào)文。

優(yōu)選的,控制模塊102具體用于,從所述自檢響應(yīng)報(bào)文中獲取更新標(biāo)記,并根據(jù)所述更新標(biāo)記,判斷發(fā)送該自檢響應(yīng)報(bào)文的功率單元20是否將所述待更新的FPGA配置文件更新成功。

優(yōu)選的,控制模塊102具體用于,從所述自檢響應(yīng)報(bào)文中獲取當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào),并將所述待更新的FPGA配置文件的版本號(hào)與所述當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)相比較,若二者相同,則判斷出發(fā)送該自檢響應(yīng)報(bào)文的功率單元20的FPGA配置文件更新成功,否則,判斷出發(fā)送該自檢響應(yīng)報(bào)文的功率單元20的FPGA配置文件更新失?。黄渲?,所述當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)為發(fā)送自檢響應(yīng)報(bào)文的功率單元20當(dāng)前運(yùn)行的FPGA配置文件的版本號(hào)。

優(yōu)選的,控制模塊102具體用于,將所述待更新的FPGA配置文件拆分為至少兩個(gè)部分,并生成至少兩條數(shù)據(jù)報(bào)文,每條數(shù)據(jù)報(bào)文攜帶有所述待更新的FPGA配置文件的部分?jǐn)?shù)據(jù),其中,第一條數(shù)據(jù)報(bào)文還攜帶有待更新的FPGA配置文件的版本號(hào),最后一條數(shù)據(jù)報(bào)文還攜帶有校驗(yàn)碼。

發(fā)送模塊101具體用于,向各個(gè)功率單元20順序發(fā)送所述數(shù)據(jù)報(bào)文。

進(jìn)一步的,控制模塊102還用于,在指示發(fā)送模塊101向各個(gè)功率單元20發(fā)送數(shù)據(jù)報(bào)文之前,指示發(fā)送模塊101向各個(gè)功率單元20發(fā)送鏈路自檢請(qǐng)求報(bào)文;以及,判斷接收模塊103是否接收到全部功率單元20返回的鏈路自檢響應(yīng)報(bào)文,若是,則指示發(fā)送模塊101向各個(gè)功率單元20發(fā)送數(shù)據(jù)報(bào)文。

以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1