国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于數(shù)據(jù)幀異步傳輸協(xié)議的fpga芯片在線升級(jí)結(jié)構(gòu)及方法

      文檔序號(hào):6400021閱讀:238來(lái)源:國(guó)知局
      專利名稱:基于數(shù)據(jù)幀異步傳輸協(xié)議的fpga芯片在線升級(jí)結(jié)構(gòu)及方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及可編程邏輯器件FPGA芯片領(lǐng)域,特別涉及FPGA芯片在線更新升級(jí)控制技術(shù)領(lǐng)域,具體是指ー種基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)及其控制方法。
      背景技術(shù)
      現(xiàn)在FPGA芯片大都是基于RAM,其程序存儲(chǔ)在外部的FLASH存儲(chǔ)器中,用戶一般通過(guò)JTAG下載接ロ對(duì)程序進(jìn)行下載和調(diào)試。現(xiàn)有的在線更新主要存在于局域網(wǎng)之內(nèi),并且一般只能更新PC上應(yīng)用軟件,無(wú)法對(duì)更深ー層(芯片級(jí))的軟硬件進(jìn)行升級(jí);而通過(guò)傳統(tǒng)的下載接ロ更新芯片的程序則比較復(fù)雜難以在各種各樣的現(xiàn)場(chǎng)中實(shí)現(xiàn)。這樣就給人們的工作帶來(lái)了種種不便。

      發(fā)明內(nèi)容
      本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)中的缺點(diǎn),提供ー種簡(jiǎn)單可靠、方便易行、運(yùn)行速度更快、擴(kuò)展性更強(qiáng)、工作性能穩(wěn)定可靠、適用范圍較為廣泛的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)及其控制方法。為了實(shí)現(xiàn)上述的目的,本發(fā)明的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)及其控制方法如下:該基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu),包括控制卡、主端子板和數(shù)個(gè)從端子板,所述的控制卡、主端子板和各個(gè)從端子板上均承載有FPGA芯片和對(duì)應(yīng)的Flash存儲(chǔ)器,所述的控制卡與外部計(jì)算機(jī)相連接,且所述的控制卡、主端子板和數(shù)個(gè)從端子板依次串接,其主要特點(diǎn)是,所述的控制卡上承載有主機(jī)接口和從機(jī)接ロ,所述的主端子板上承載有主端子板主機(jī)接口和主端子板從機(jī)接ロ,所述的各個(gè)從端子板上均承載有各自的從端子板主機(jī)接口和從端子板從機(jī)接ロ,所述的控制卡的主機(jī)接ロ與外部計(jì)算機(jī)相連接,且該控制卡的從機(jī)接ロ與所述的主端子板主機(jī)接ロ相連接,所述的主端子板從機(jī)接ロ與ー從端子板上的從端子板主機(jī)接ロ相連接,該從端主板上的從端子板從機(jī)接ロ與其余的從端子板依次串接。該基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)中的控制卡的主機(jī)接ロ為PCI金手指插條。該基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)中的控制卡的從機(jī)接ロ為PCI通信端ロ,且所述的主端子板主機(jī)接ロ、主端子板從機(jī)接ロ、各個(gè)從端子板主機(jī)接口和從端子板從機(jī)接ロ均為PCI通信端ロ。該基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)中的Flash存儲(chǔ)器中具有數(shù)據(jù)頭存儲(chǔ)區(qū)、原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū),所述的數(shù)據(jù)頭存儲(chǔ)區(qū)中具有上電加載程序的物理地址信息和備份引導(dǎo)代碼的物理地址信息,且所述的上電加載程序的物理地址信息與所述的原鏡像文件地址空間存儲(chǔ)區(qū)的起始物理地址相對(duì)應(yīng),所述的備份引導(dǎo)代碼的物理地址信息與所述的更新鏡像文件地址空間存儲(chǔ)區(qū)的起始物理地址相對(duì)應(yīng)。該基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)中的原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū)中均設(shè)置有同步字,且所述的同步字均位于所述的原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū)的最低地址,或者所述的同步字均位于所述的原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū)的最聞地址。該利用上述的電路結(jié)構(gòu)實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其主要特點(diǎn)是,所述的方法包括計(jì)算機(jī)進(jìn)行下載文件的解析處理操作、計(jì)算機(jī)進(jìn)行數(shù)據(jù)包的發(fā)送處理操作和控制卡進(jìn)行FPGA芯片在線升級(jí)處理操作,所述的計(jì)算機(jī)進(jìn)行下載文件的解析處理操作,包括以下步驟:(11)所述的外部計(jì)算機(jī)讀取配置文件;(12)讀取FPGA下載文件;(13)將所述的PFGA下載文件中的地址信息、CRC校驗(yàn)碼及格式信息去除,僅保留有效的更新配置數(shù)據(jù),并計(jì)算出更新對(duì)象的大?。?14)將所述的更新配置數(shù)據(jù)和配置文件打包成命令幀;(15)將該命令幀寫入到上電加載程序文件中;所述的計(jì)算機(jī)進(jìn)行數(shù)據(jù)包的發(fā)送處理操作,包括以下步驟:(21)所述的外部計(jì)算機(jī)關(guān)閉更新reconfig模式;(22)清空并復(fù)位FIFO隊(duì)列;(23)讀取所述的上電加載程序文件;(24)開啟更新 reconfig 模式;(25)向需要在線升級(jí)的FPGA芯片發(fā)送擦除命令幀;(26)判斷是否出現(xiàn)配置錯(cuò)誤;(27)如果出現(xiàn)配置錯(cuò)誤,則報(bào)錯(cuò)并退出整個(gè)處理過(guò)程;否則,判斷是否擦除完成;(28)如果擦除未完成,則返回步驟(25);否則,判斷FIFO隊(duì)列是否為空;(29)如果不為空,則進(jìn)行超時(shí)報(bào)錯(cuò)或者配置錯(cuò)誤報(bào)錯(cuò),并退出整個(gè)處理過(guò)程;(29)如果為空,則進(jìn)行數(shù)據(jù)幀發(fā)送處理;(210)關(guān)閉更新 reconfig 模式;所述的FPGA芯片在線升級(jí)處理操作,包括以下步驟:(31)判斷模式是否為更新reconfig模式;(32)如果否,則繼續(xù)沿用原通信協(xié)議;(33)如果是,則更新主端子板、各個(gè)從端子板和控制卡狀態(tài);(34)將主端子板、各個(gè)從端子板的更新失敗標(biāo)志寫入驅(qū)動(dòng)程序中;(35)判斷數(shù)據(jù)幀是否到達(dá)端子板;(36)如果否,則進(jìn)行數(shù)據(jù)幀重發(fā);如果是,則判斷主端子板、各個(gè)從端子板是否擦與完成;(37)如果擦寫未完成,則發(fā)送無(wú)效幀;否則,判斷FIFO隊(duì)列是否滿;
      (38)如果未滿,則不執(zhí)行任何操作;否則,接收一數(shù)據(jù)幀;(39)判斷該數(shù)據(jù)幀的CRC校驗(yàn)是否正確;(310)如果不正確,則進(jìn)行報(bào)錯(cuò);否則進(jìn)行FPGA芯片的更新操作。該實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的配置文件中包含更新對(duì)象的ID號(hào)和更新對(duì)象的起始地址。該實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的命令幀中還包括有加密信息。該實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的數(shù)據(jù)幀發(fā)送處理,包括以下步驟:(291)進(jìn)行數(shù)據(jù)幀的打包處理;(292)進(jìn)行數(shù)據(jù)幀的發(fā)送處理;(293)判斷發(fā)送最后一個(gè)數(shù)據(jù)幀后是否收到done標(biāo)志;(294)如果未收到,則對(duì)最后一個(gè)數(shù)據(jù)幀進(jìn)行重發(fā),并返回上述步驟(26);(295)如果收到,則返回上述步驟(210)。該實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的進(jìn)行FPGA芯片的更新操作,包括以下步驟:(3101)對(duì)所述的數(shù)據(jù)幀的命令類型以及更新標(biāo)識(shí)進(jìn)行判斷;(3102)如果該數(shù)據(jù)幀的命令類型為擦除命令且更新標(biāo)識(shí)為控制卡,則進(jìn)行Flash存儲(chǔ)器擦除操作;(3103)如果該數(shù)據(jù)幀為純數(shù)據(jù)且更新標(biāo)識(shí)為控制卡,則進(jìn)行Flash存儲(chǔ)器寫入操作;(3104)如果該數(shù)據(jù)幀的命令類型為擦除命令且更新標(biāo)識(shí)為主端子板,或者該數(shù)據(jù)幀的命令類型為擦除命令且更新標(biāo)識(shí)為某個(gè)從端子板,或者該數(shù)據(jù)幀為純數(shù)據(jù)且更新標(biāo)識(shí)為主端子板,或者該數(shù)據(jù)幀為純數(shù)據(jù)且更新標(biāo)識(shí)為某個(gè)從端子板,則進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,并返回。該實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的進(jìn)行Flash存儲(chǔ)器擦除操作,包括以下步驟:(31021)所述的控制卡對(duì)其所承載的Flash存儲(chǔ)器中的內(nèi)容進(jìn)行擦除;(31022)設(shè)置控制卡Flash存儲(chǔ)器擦除未完成的標(biāo)志;(31023)所述的控制卡進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,并返回。該實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的進(jìn)行Flash存儲(chǔ)器寫入操作,包括以下步驟:(31031)所述的控制卡將所述的數(shù)據(jù)幀中的數(shù)據(jù)寫入該控制卡所承載的Flash存儲(chǔ)器中;(31032)所述的控制卡延時(shí)系統(tǒng)預(yù)設(shè)的時(shí)間;(31033)所述的控制卡對(duì)所承載的Flash存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)進(jìn)行讀?。?31034)判斷所讀取的數(shù)據(jù)與前面寫入的數(shù)據(jù)之間的一致性;(31035)如果否,則設(shè)置配置失敗的標(biāo)志,并結(jié)束;(31036)如果是,則所述的控制卡進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,并返回。
      該實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,具體為:所述的控制卡將所述的數(shù)據(jù)幀設(shè)置為重發(fā)幀,并通過(guò)從機(jī)接口依次下發(fā)至所述的主端子板和各個(gè)從端子板,所述的主端子板和各個(gè)從端子板根據(jù)所收到的數(shù)據(jù)幀進(jìn)行后續(xù)相應(yīng)的FPGA芯片的更新操作。采用了該發(fā)明的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)及其控制方法,由于其中更新對(duì)象為控制器或某節(jié)點(diǎn),更新數(shù)據(jù)包可以從控制端PC通過(guò)局域網(wǎng)發(fā)送到直接控制的PC上,然后再轉(zhuǎn)發(fā)給控制器、從機(jī)節(jié)點(diǎn),直到到達(dá)更新目標(biāo);更新目標(biāo)拿到更新的數(shù)據(jù)然后對(duì)自身程序保存的ROM進(jìn)行更新,更新的過(guò)程中將更新?tīng)顟B(tài)發(fā)送給上一級(jí);同時(shí)能夠應(yīng)對(duì)更新過(guò)程中出現(xiàn)的錯(cuò)誤、保證更新順利可靠的執(zhí)行,從而成功的解決了現(xiàn)在底層無(wú)法更新或者更新方式復(fù)雜難以實(shí)現(xiàn)的問(wèn)題,簡(jiǎn)單可靠、方便易行、運(yùn)行速度更快、擴(kuò)展性更強(qiáng),工作性能穩(wěn)定可靠,適用范圍較為廣泛。與現(xiàn)有的JTAG更新程序的方案相t匕,本發(fā)明具有以下優(yōu)點(diǎn):(I)方便易行——不需要在產(chǎn)品上添加額外的專用物理連接,可以方便的通過(guò)軟件的方式運(yùn)行在產(chǎn)品上,而不需要專業(yè)的燒寫器和燒寫軟件。特別是在比較復(fù)雜難以拆裝的產(chǎn)品、產(chǎn)量較大的產(chǎn)品的軟硬件維護(hù)、升級(jí),傳統(tǒng)的下載方式顯然不太適用;(2)速度快——實(shí)測(cè)更新0.65Mbyte的配置數(shù)據(jù),6MHz的JTAG下載需要143s,而本發(fā)明只需要15s ;(3)接口簡(jiǎn)單可靠,下載時(shí)間大大縮短,這樣就增加了其可靠性,JTAG下載因?yàn)閿?shù)據(jù)量比較大、接口不穩(wěn)定,容易出現(xiàn)下載中斷;(4)擴(kuò)展性強(qiáng),特別是在一個(gè)通信系統(tǒng)中,可以很方便的更新系統(tǒng)中的所有FPGA節(jié)點(diǎn)。


      圖1為本發(fā)明的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)所應(yīng)用的網(wǎng)絡(luò)環(huán)境示意圖。圖2為本發(fā)明的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)中的控制卡電路布局結(jié)構(gòu)示意圖。圖3為本發(fā)明的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)中的端子板電路布局結(jié)構(gòu)示意圖。圖4為本發(fā)明的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)所應(yīng)用的伺服控制系統(tǒng)層次結(jié)構(gòu)示意圖。圖5為本發(fā)明的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)的整體連接示意圖。圖6a、6b為本發(fā)明的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)中的Flash存儲(chǔ)器順序地址存儲(chǔ)結(jié)構(gòu)示意圖。圖7為本發(fā)明的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)中的Flash存儲(chǔ)器寫入方式示意圖。圖8為本發(fā)明的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的下載文件的解析處理操作流程圖。圖9為本發(fā)明的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的數(shù)據(jù)包的發(fā)送處理操作流程圖。圖10為本發(fā)明的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法中的下FPGA芯片在線升級(jí)處理操作流程圖。
      具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的技術(shù)內(nèi)容,特舉以下實(shí)施例詳細(xì)說(shuō)明。請(qǐng)參閱圖1至圖7所示,該基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu),包括控制卡、主端子板和數(shù)個(gè)從端子板,所述的控制卡、主端子板和各個(gè)從端子板上均承載有FPGA芯片和對(duì)應(yīng)的Flash存儲(chǔ)器,所述的控制卡與外部計(jì)算機(jī)相連接,且所述的控制卡、主端子板和數(shù)個(gè)從端子板依次串接,其中,所述的控制卡上承載有主機(jī)接口和從機(jī)接口,所述的主端子板上承載有主端子板主機(jī)接口和主端子板從機(jī)接口,所述的各個(gè)從端子板上均承載有各自的從端子板主機(jī)接口和從端子板從機(jī)接口,所述的控制卡的主機(jī)接口與外部計(jì)算機(jī)相連接,且該控制卡的從機(jī)接口與所述的主端子板主機(jī)接口相連接,所述的主端子板從機(jī)接口與一從端子板上的從端子板主機(jī)接口相連接,該從端主板上的從端子板從機(jī)接口與其余的從端子板依次串接。其中,所述的控制卡的主機(jī)接口為PCI金手指插條,該控制卡的從機(jī)接口為PCI通信端口,且所述的主端子板主機(jī)接口、主端子板從機(jī)接口、各個(gè)從端子板主機(jī)接口和從端子板從機(jī)接口均為PCI通信端口。同時(shí),所述的Flash存儲(chǔ)器中具有數(shù)據(jù)頭存儲(chǔ)區(qū)、原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū),所述的數(shù)據(jù)頭存儲(chǔ)區(qū)中具有上電加載程序的物理地址信息和備份引導(dǎo)代碼的物理地址信息,且所述的上電加載程序的物理地址信息與所述的原鏡像文件地址空間存儲(chǔ)區(qū)的起始物理地址相對(duì)應(yīng),所述的備份引導(dǎo)代碼的物理地址信息與所述的更新鏡像文件地址空間存儲(chǔ)區(qū)的起始物理地址相對(duì)應(yīng);所述的原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū)中均設(shè)置有同步字,且所述的同步字可以均位于所述的原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū)的最低地址,或者所述的同步字也可以均位于所述的原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū)的最高地址。再請(qǐng)參閱圖8至圖10所示,該利用上述的電路結(jié)構(gòu)實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其主要特點(diǎn)是,所述的方法包括計(jì)算機(jī)進(jìn)行下載文件的解析處理操作、計(jì)算機(jī)進(jìn)行數(shù)據(jù)包的發(fā)送處理操作和控制卡進(jìn)行FPGA芯片在線升級(jí)處理操作,所述的計(jì)算機(jī)進(jìn)行下載文件的解析處理操作,包括以下步驟:(11)所述的外部計(jì)算機(jī)讀取配置文件;該配置文件中包含更新對(duì)象的ID號(hào)和更新對(duì)象的起始地址;(12 )讀取FPGA下載文件;(13)將所述的PFGA下載文件中的地址信息、CRC校驗(yàn)碼及格式信息去除,僅保留有效的更新配置數(shù)據(jù),并計(jì)算出更新對(duì)象的大?。?14)將所述的更新配置數(shù)據(jù)和配置文件打包成命令幀;該命令幀中還包括有加密信息;(15)將該命令幀寫入到上電加載程序文件中;所述的計(jì)算機(jī)進(jìn)行數(shù)據(jù)包的發(fā)送處理操作,包括以下步驟:(21)所述的外部計(jì)算機(jī)關(guān)閉更新reconfig模式;(22)清空并復(fù)位FIFO隊(duì)列;(23)讀取所述的上電加載程序文件;(24)開啟更新 reconfig 模式;(25)向需要在線升級(jí)的FPGA芯片發(fā)送擦除命令幀;(26)判斷是否出現(xiàn)配置錯(cuò)誤;(27)如果出現(xiàn)配置錯(cuò)誤,則報(bào)錯(cuò)并退出整個(gè)處理過(guò)程;否則,判斷是否擦除完成;(28)如果擦除未完成,則返回步驟(25);否則,判斷FIFO隊(duì)列是否為空;(29)如果不為空,則進(jìn)行超時(shí)報(bào)錯(cuò)或者配置錯(cuò)誤報(bào)錯(cuò),并退出整個(gè)處理過(guò)程;(29)如果為空,則進(jìn)行數(shù)據(jù)幀發(fā)送處理,包括以下步驟:(a)進(jìn)行數(shù)據(jù)幀的打包處理;(b)進(jìn)行數(shù)據(jù)幀的發(fā)送處理;(c)判斷發(fā)送最后一個(gè)數(shù)據(jù)幀后是否收到done標(biāo)志;(d)如果未收到,則對(duì)最后一個(gè)數(shù)據(jù)幀進(jìn)行重發(fā),并返回上述步驟(26);(e)如果收到,則返回上述步驟(210);(210)關(guān)閉更新 reconfig 模式;所述的FPGA芯片在線升級(jí)處理操作,包括以下步驟:(31)判斷模式是否為更新reconfig模式;(32)如果否,則繼續(xù)沿用原通信協(xié)議;(33)如果是,則更新主端子板、各個(gè)從端子板和控制卡狀態(tài);(34)將主端子板、各個(gè)從端子板的更新失敗標(biāo)志寫入驅(qū)動(dòng)程序中;(35)判斷數(shù)據(jù)幀是否到達(dá)端子板;(36)如果否,則進(jìn)行數(shù)據(jù)幀重發(fā);如果是,則判斷主端子板、各個(gè)從端子板是否擦與完成;(37)如果擦寫未完成,則發(fā)送無(wú)效幀;否則,判斷FIFO隊(duì)列是否滿;(38)如果未滿,則不執(zhí)行任何操作;否則,接收一數(shù)據(jù)幀;(39)判斷該數(shù)據(jù)幀的CRC校驗(yàn)是否正確;(310)如果不正確,則進(jìn)行報(bào)錯(cuò);否則進(jìn)行FPGA芯片的更新操作,包括以下步驟:(a)對(duì)所述的數(shù)據(jù)幀的命令類型以及更新標(biāo)識(shí)進(jìn)行判斷;(b)如果該數(shù)據(jù)幀的命令類型為擦除命令且更新標(biāo)識(shí)為控制卡,則進(jìn)行Flash存儲(chǔ)器擦除操作,包括以下步驟:(i)所述的控制卡對(duì)其所承載的Flash存儲(chǔ)器中的內(nèi)容進(jìn)行擦除;(ii)設(shè)置控制卡Flash存儲(chǔ)器擦除未完成的標(biāo)志;(iii)所述的控制卡進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,并返回;(c)如果該數(shù)據(jù)幀為純數(shù)據(jù)且更新標(biāo)識(shí)為控制卡,則進(jìn)行Flash存儲(chǔ)器寫入操作,包括以下步驟:(i)所述的控制卡將所述的數(shù)據(jù)幀中的數(shù)據(jù)寫入該控制卡所承載的Flash存儲(chǔ)器中;(ii)所述的控制卡延時(shí)系統(tǒng)預(yù)設(shè)的時(shí)間;(iii)所述的控制卡對(duì)所承載的Flash存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)進(jìn)行讀??;(iv)判斷所讀取的數(shù)據(jù)與前面寫入的數(shù)據(jù)之間的一致性;(V)如果否,則設(shè)置配置失敗的標(biāo)志,并結(jié)束;(Vi)如果是,則所述的控制卡進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,并返回;(d)如果該數(shù)據(jù)幀的命令類型為擦除命令且更新標(biāo)識(shí)為主端子板,或者該數(shù)據(jù)幀的命令類型為擦除命令且更新標(biāo)識(shí)為某個(gè)從端子板,或者該數(shù)據(jù)幀為純數(shù)據(jù)且更新標(biāo)識(shí)為主端子板,或者該數(shù)據(jù)幀為純數(shù)據(jù)且更新標(biāo)識(shí)為某個(gè)從端子板,則進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,并返回;該進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,具體為:所述的控制卡將所述的數(shù)據(jù)幀設(shè)置為重發(fā)幀,并通過(guò)從機(jī)接口依次下發(fā)至所述的主端子板和各個(gè)從端子板,所述的主端子板和各個(gè)從端子板根據(jù)所收到的數(shù)據(jù)幀進(jìn)行后續(xù)相應(yīng)的FPGA芯片的更新操作。在實(shí)際應(yīng)用當(dāng)中,本發(fā)明主要分為三個(gè)層面上的創(chuàng)新:(I)更新對(duì)象的設(shè)計(jì),核心:針對(duì)性強(qiáng),可靠性高;(2)通信總線中的設(shè)計(jì),核心:盡量兼容原通信協(xié)議;(3)上位機(jī)應(yīng)用層中的設(shè)計(jì),核心:簡(jiǎn)單、可靠、控制靈活。更新對(duì)象的設(shè)計(jì)如下:請(qǐng)參閱圖5所示,其為更新的對(duì)象(控制卡或端子板上的FPGA芯片)。本發(fā)明主要存在三個(gè)層面:PC上的應(yīng)用軟件、FPGA上運(yùn)行的軟硬件程序以及FLASH存儲(chǔ)的配置信息。為了防止在更新FPGA程序過(guò)程中,突然掉電導(dǎo)致Flash存儲(chǔ)器程序不完整,導(dǎo)致FPGA程序無(wú)法正常運(yùn)行的情況,采用Flash存儲(chǔ)器復(fù)用的方式。通過(guò)復(fù)用的方式,將需要更新的FPGA程序與原程序一起存放于Flash存儲(chǔ)器不同的地址空間當(dāng)中。更新程序時(shí),首先將需更新的FPGA程序更新到“更新鏡像文件地址空間”,更新成功之后,再更新“原鏡像文件地址空間”。至此,兩份地址空間的程序完全一致?!霸R像文件地址空間”和“更新鏡像文件地址空間”地址分配可有順序和逆序兩種存儲(chǔ)模式。其中,順序地址存儲(chǔ)結(jié)構(gòu)請(qǐng)參閱圖6a所示。上電重配置或者以命令形式要求重配置時(shí),F(xiàn)PGA默認(rèn)從Flash存儲(chǔ)器0x00000地址的Header段開始讀取FPGA配置數(shù)據(jù)信息,Header段包括了同步字以及FPGA內(nèi)部寄存器的相關(guān)初始化信息,包括寄存器GENERAL1,2,3,4,5。其中,GENERALI寄存器定義了默認(rèn)加載的FPGA配置數(shù)據(jù)地址空間的低16位地址,GENERAL2寄存器定義了默認(rèn)加載的FPGA配置數(shù)據(jù)地址空間的高8位地址以及讀取存儲(chǔ)器的命令。GENERAL3寄存器定義了更新程序的起始低16位地址,GENERAL4寄存器定義了更新程序的高8位地址,GENERAL5寄存器為用戶自定義寄存器。FPGA默認(rèn)加載GENERALI,2寄存器指定地址空間的配置數(shù)據(jù),若加載配置錯(cuò)誤或者CRC校驗(yàn)錯(cuò)誤,則FPGA重新加載配置數(shù)據(jù),同時(shí)strike計(jì)數(shù)器加I。若加載GENERALI,2指定的地址空間配置數(shù)據(jù)錯(cuò)誤3次,即strike為3,則加載GENERAL3,4指定地址空間的配置數(shù)據(jù),若加載配置錯(cuò)誤或者CRC校驗(yàn)錯(cuò)誤,則FPGA重新加載配置數(shù)據(jù),同時(shí)strike計(jì)數(shù)器加I。若加載GENERAL3,4指定的地址空間配置數(shù)據(jù)錯(cuò)誤3次,即strike為6,則進(jìn)入加載Header數(shù)據(jù)段。再請(qǐng)參閱圖6b所示,其中表示FLASH存儲(chǔ)器的存儲(chǔ)結(jié)構(gòu),其中數(shù)據(jù)頭(Header)固定不可擦除,單獨(dú)存在一個(gè)扇區(qū)之內(nèi),它決定了上電加載程序(FirstRun)以及錯(cuò)誤后跳轉(zhuǎn)備份引導(dǎo)代碼(BOOT)的物理地址信息。在更新FirstRun時(shí),出現(xiàn)異常導(dǎo)致更新中斷,上電后會(huì)加載備份引導(dǎo)代碼Boot,然后運(yùn)行Boot程序可以重新對(duì)已破壞的FirstRun進(jìn)行更新,此時(shí)出現(xiàn)異常不會(huì)對(duì)Boot區(qū)域?qū)懭?,故Boot永遠(yuǎn)不會(huì)被損壞。再請(qǐng)參閱圖7所示,其中,F(xiàn)irstRun和Boot都有一份同步字,F(xiàn)PGA通過(guò)同步字來(lái)識(shí)別程序區(qū)域,同步字存在于數(shù)據(jù)塊的最低地址。為了應(yīng)對(duì)在擦寫或者寫入的過(guò)程中出現(xiàn)異常而突然停止(如擦除錯(cuò)誤、寫入錯(cuò)誤、突然斷電等),程序設(shè)計(jì)中在擦寫過(guò)程中,擦寫方向?yàn)橛傻偷刂返礁叩刂?,這樣先擦除同步字再擦除配置數(shù)據(jù),就不會(huì)出現(xiàn)同步字存在而配置數(shù)據(jù)已被擦除的情況;程序在寫入的過(guò)程中,寫入方向由高地址到低地址,這樣先寫入配置數(shù)據(jù)再寫入同步字,就不會(huì)出現(xiàn)同步字已寫入而配置數(shù)據(jù)未完全寫入的情況。通信總線中的設(shè)計(jì)如下:通信協(xié)議主要實(shí)現(xiàn)將數(shù)據(jù)包接收并轉(zhuǎn)發(fā)的功能,所以在現(xiàn)有的基礎(chǔ)上,增加一個(gè)格式的命令幀即可。新增通信幀的格式如下:
      數(shù)據(jù)頭I配置數(shù)據(jù)I命令|CRC~其中數(shù)據(jù)頭為一個(gè)固定的常量,命令包含擦除命令和寫入命令,CRC為校驗(yàn)碼,配置數(shù)據(jù)為要擦除的地址信息或者要寫入的FPGA配置數(shù)據(jù)。關(guān)于在線更新的流程請(qǐng)參閱圖10所示,正常情況下,控制器接收一個(gè)命令數(shù)據(jù)包后執(zhí)行或者轉(zhuǎn)發(fā)給下一個(gè)節(jié)點(diǎn);出現(xiàn)異常情況例如,擦寫過(guò)程中失敗、燒寫過(guò)程中失敗、通信過(guò)程中失敗、CRC校驗(yàn)失敗等,控制器將當(dāng)前的狀態(tài)發(fā)送給PC,PC上的上位機(jī)軟件進(jìn)行相應(yīng)的處理。此流程比較簡(jiǎn)單,只在原程序內(nèi)添加一個(gè)獨(dú)立的函數(shù)模塊,可以方便在產(chǎn)品上移植。上位機(jī)應(yīng)用層中的設(shè)計(jì)如下:上位機(jī)設(shè)計(jì)分為兩個(gè)部分,一個(gè)為下載文件的解析,一個(gè)為數(shù)據(jù)包的發(fā)送。分為兩個(gè)部分可以簡(jiǎn)化操作,方便維護(hù)人員操作,還可以防止程序泄密。文件的解析過(guò)程請(qǐng)參閱圖8所示,具體如下:文件解析首先讀取文件,將傳統(tǒng)的下載文件FirstRun.mcs中的地址信息、CRC校驗(yàn)碼以及其他格式信息去除,只留下更新程序數(shù)據(jù),并計(jì)算出更新對(duì)象的大??;然后將更新程序數(shù)據(jù)和“配置文件.txt”打包成命令幀,最后寫入到FirstRun.hex?!芭渲梦募?txt”包含更新對(duì)象的ID號(hào),更新對(duì)象的起始地址。必要時(shí),可在解析文件的過(guò)程中添加加密信息,防止文件FirstRun.hex外發(fā)而導(dǎo)致的泄密。數(shù)據(jù)包的發(fā)送過(guò)程請(qǐng)參閱圖9所示,具體如下:
      數(shù)據(jù)包的發(fā)送是將配置數(shù)據(jù)發(fā)送到更新目標(biāo),處理更新過(guò)程中出現(xiàn)的各種異常并顯示當(dāng)前狀態(tài)。數(shù)據(jù)包的發(fā)送,開始時(shí)先關(guān)閉reconfig (更新)模式是為了防止上一次軟件異常導(dǎo)致的當(dāng)前控制卡還處于更新?tīng)顟B(tài)。清空FIFO是把上次可能未發(fā)送完成的數(shù)據(jù)包清除,防止誤發(fā)。然后讀取文件“FirstRun.hex”,首先發(fā)送第一幀(擦除命令幀),等到擦除完成后,開始發(fā)送含有配置命令的數(shù)據(jù)幀。發(fā)送的過(guò)程中,實(shí)時(shí)監(jiān)測(cè)下位機(jī)更新的過(guò)程并顯示當(dāng)前狀態(tài),處理當(dāng)前出現(xiàn)的錯(cuò)誤或者異常。例如:若PCI總線發(fā)送數(shù)據(jù)異常導(dǎo)致CRC校驗(yàn)碼錯(cuò)誤,此時(shí)應(yīng)該重新發(fā)送;若擦除過(guò)程中出錯(cuò),則需要重新擦除;若燒寫過(guò)程中出錯(cuò),則需要重新擦除之后再進(jìn)行燒寫;若更新超時(shí),則關(guān)閉設(shè)備,重新進(jìn)行更新操作。采用了上述技術(shù)方案,具有以下優(yōu)點(diǎn):(I)速度比市場(chǎng)上最快的JTAG燒寫器快5倍以上。(2)方便易行,克服了傳統(tǒng)下載方式物理上的缺陷,節(jié)省了產(chǎn)品維護(hù)成本。(3)可靠性高,穩(wěn)定性強(qiáng)。突然斷電等異常狀態(tài)不會(huì)對(duì)軟件造成不可恢復(fù)的損壞??煽啃詼y(cè)試中,在線更新仍可以在EMC測(cè)試中穩(wěn)定的運(yùn)行。EMC測(cè)試等級(jí)為:(a) EFT (電快速瞬變脈沖群抗干擾度),±2KV。(b)ESD (靜電放電抗干擾度),±8KV。(c) SOUGE (雷擊浪涌),±2KV。采用了上述的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu)及其控制方法,由于其中更新對(duì)象為控制器或某節(jié)點(diǎn),更新數(shù)據(jù)包可以從控制端PC通過(guò)局域網(wǎng)發(fā)送到直接控制的PC上,然后再轉(zhuǎn)發(fā)給控制器、從機(jī)節(jié)點(diǎn),直到到達(dá)更新目標(biāo);更新目標(biāo)拿到更新的數(shù)據(jù)然后對(duì)自身程序保存的ROM進(jìn)行更新,更新的過(guò)程中將更新?tīng)顟B(tài)發(fā)送給上一級(jí);同時(shí)能夠應(yīng)對(duì)更新過(guò)程中出現(xiàn)的錯(cuò)誤、保證更新順利可靠的執(zhí)行,從而成功的解決了現(xiàn)在底層無(wú)法更新或者更新方式復(fù)雜難以實(shí)現(xiàn)的問(wèn)題,簡(jiǎn)單可靠、方便易行、運(yùn)行速度更快、擴(kuò)展性更強(qiáng),工作性能穩(wěn)定可靠,適用范圍較為廣泛。與現(xiàn)有的JTAG更新程序的方案相比,本發(fā)明具有以下優(yōu)點(diǎn):(I)方便易行——不需要在產(chǎn)品上添加額外的專用物理連接,可以方便的通過(guò)軟件的方式運(yùn)行在產(chǎn)品上,而不需要專業(yè)的燒寫器和燒寫軟件。特別是在比較復(fù)雜難以拆裝的產(chǎn)品、產(chǎn)量較大的產(chǎn)品的軟硬件維護(hù)、升級(jí),傳統(tǒng)的下載方式顯然不太適用;(2)速度快——實(shí)測(cè)更新0.65Mbyte的配置數(shù)據(jù),6MHz的JTAG下載需要143s,而本發(fā)明只需要15s ;(3)接口簡(jiǎn)單可靠,下載時(shí)間大大縮短,這樣就增加了其可靠性,JTAG下載因?yàn)閿?shù)據(jù)量比較大、接口不穩(wěn)定,容易出現(xiàn)下載中斷;(4)擴(kuò)展性強(qiáng),特別是在一個(gè)通信系統(tǒng)中,可以很方便的更新系統(tǒng)中的所有FPGA節(jié)點(diǎn)。在此說(shuō)明書中,本發(fā)明已參照其特定的實(shí)施例作了描述。但是,很顯然仍可以作出各種修改和變換而不背離本發(fā)明的精神和范圍。因此,說(shuō)明書和附圖應(yīng)被認(rèn)為是說(shuō)明性的而非限制性的。
      權(quán)利要求
      1.ー種基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu),包括控制卡、主端子板和數(shù)個(gè)從端子板,所述的控制卡、主端子板和各個(gè)從端子板上均承載有FPGA芯片和對(duì)應(yīng)的Flash存儲(chǔ)器,所述的控制卡與外部計(jì)算機(jī)相連接,且所述的控制卡、主端子板和數(shù)個(gè)從端子板依次串接,其特征在于,所述的控制卡上承載有主機(jī)接口和從機(jī)接ロ,所述的主端子板上承載有主端子板主機(jī)接口和主端子板從機(jī)接ロ,所述的各個(gè)從端子板上均承載有各自的從端子板主機(jī)接口和從端子板從機(jī)接ロ,所述的控制卡的主機(jī)接ロ與外部計(jì)算機(jī)相連接,且該控制卡的從機(jī)接ロ與所述的主端子板主機(jī)接ロ相連接,所述的主端子板從機(jī)接ロ與ー從端子板上的從端子板主機(jī)接ロ相連接,該從端主板上的從端子板從機(jī)接ロ與其余的從端子板依次串接。
      2.根據(jù)權(quán)利要求1所述的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu),其特征在于,所述的控制卡的主機(jī)接ロ為PCI金手指插條。
      3.根據(jù)權(quán)利要求1所述的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu),其特征在于,所述的控制卡的從機(jī)接ロ為PCI通信端ロ,且所述的主端子板主機(jī)接ロ、主端子板從機(jī)接ロ、各個(gè)從端子板主機(jī)接口和從端子板從機(jī)接ロ均為PCI通信端ロ。
      4.根據(jù)權(quán)利要求1所述的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu),其特征在于,所述的Flash存儲(chǔ)器中具有數(shù)據(jù)頭存儲(chǔ)區(qū)、原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū),所述的數(shù)據(jù)頭存儲(chǔ)區(qū)中具有上電加載程序的物理地址信息和備份引導(dǎo)代碼的物理地址信息,且所述的上電加載程序的物理地址信息與所述的原鏡像文件地址空間存儲(chǔ)區(qū)的起始物理地址相對(duì)應(yīng),所述的備份引導(dǎo)代碼的物理地址信息與所述的更新鏡像文件地址空間存儲(chǔ)區(qū)的起始物理地址相對(duì)應(yīng)。
      5.根據(jù)權(quán)利要求4所述的基于數(shù)據(jù)幀異步傳輸協(xié)議實(shí)現(xiàn)FPGA芯片在線升級(jí)的電路結(jié)構(gòu),其特征在于,所述的原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū)中均設(shè)置有同步字,且所述的同步字均位于所述的原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū) 的最低地址,或者所述的同步字均位于所述的原鏡像文件地址空間存儲(chǔ)區(qū)和更新鏡像文件地址空間存儲(chǔ)區(qū)的最高地址。
      6.ー種利用權(quán)利要求1所述的電路結(jié)構(gòu)實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其特征在于,所述的方法包括計(jì)算機(jī)進(jìn)行下載文件的解析處理操作、計(jì)算機(jī)進(jìn)行數(shù)據(jù)包的發(fā)送處理操作和控制卡進(jìn)行FPGA芯片在線升級(jí)處理操作,所述的計(jì)算機(jī)進(jìn)行下載文件的解析處理操作,包括以下步驟: (11)所述的外部計(jì)算機(jī)讀取配置文件; (12)讀取FPGA下載文件; (13)將所述的PFGA下載文件中的地址信息、CRC校驗(yàn)碼及格式信息去除,僅保留有效的更新配置數(shù)據(jù),并計(jì)算出更新對(duì)象的大?。? (14)將所述的更新配置數(shù)據(jù)和配置文件打包成命令幀; (15)將該命令幀寫入到上電加載程序文件中; 所述的計(jì)算機(jī)進(jìn)行數(shù)據(jù)包的發(fā)送處理操作,包括以下步驟: (21)所述的外部計(jì)算機(jī)關(guān)閉更新reconfig模式; (22)清空并復(fù)位FIFO隊(duì)列; (23)讀取所述的上電加載程序文件;(24)開啟更新reconfig模式; (25)向需要在線升級(jí)的FPGA芯片發(fā)送擦除命令幀; (26)判斷是否出現(xiàn)配置錯(cuò)誤; (27)如果出現(xiàn)配置錯(cuò)誤,則報(bào)錯(cuò)并退出整個(gè)處理過(guò)程;否則,判斷是否擦除完成; (28)如果擦除未完成,則返回步驟(25);否則,判斷FIFO隊(duì)列是否為空; (29)如果不為空,則進(jìn)行超時(shí)報(bào)錯(cuò)或者配置錯(cuò)誤報(bào)錯(cuò),并退出整個(gè)處理過(guò)程; (29)如果為空,則進(jìn)行數(shù)據(jù)幀發(fā)送處理; (210)關(guān)閉更新reconfig模式; 所述的FPGA芯片在線升級(jí)處理操作,包括以下步驟: (31)判斷模式是否為更新reconfig模式; (32)如果否,則繼續(xù)沿用原通信協(xié)議; (33)如果是,則更新主端子板、各個(gè)從端子板和控制卡狀態(tài); (34)將主端子板、各個(gè)從端子板的更新失敗標(biāo)志寫入驅(qū)動(dòng)程序中; (35)判斷數(shù)據(jù)幀是否到達(dá)端子板; (36)如果否,則進(jìn)行數(shù)據(jù)幀重發(fā);如果是,則判斷主端子板、各個(gè)從端子板是否擦寫完成; (37)如果擦寫未完成,則發(fā)送無(wú)效幀;否則,判斷FIFO隊(duì)列是否滿; (38)如果未滿,則不執(zhí)行任何操作;否則,接收一數(shù)據(jù)幀; (39)判斷該數(shù)據(jù)幀的CRC校驗(yàn)是否正確; (310)如果不正確,則進(jìn)行報(bào)錯(cuò);否則進(jìn)行FPGA芯片的更新操作。
      7.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其特征在于,所述的配置文件中包含更新對(duì)象的ID號(hào)和更新對(duì)象的起始地址。
      8.根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其特征在于,所述的命令幀中還包括有加密信息。
      9.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其特征在于,所述的數(shù)據(jù)幀發(fā)送處理,包括以下步驟: (291)進(jìn)行數(shù)據(jù)幀的打包處理; (292)進(jìn)行數(shù)據(jù)幀的發(fā)送處理; (293)判斷發(fā)送最后一個(gè)數(shù)據(jù)幀后是否收到done標(biāo)志; (294)如果未收到,則對(duì)最后ー個(gè)數(shù)據(jù)幀進(jìn)行重發(fā),并返回上述步驟(26); (295)如果收到,則返回上述步驟(210)。
      10.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其特征在于,所述的進(jìn)行FPGA芯片的更新操作,包括以下步驟: (3101)對(duì)所述的數(shù)據(jù)幀的命令類型以及更新標(biāo)識(shí)進(jìn)行判斷; (3102)如果該數(shù)據(jù)幀的命令類型為擦除命令且更新標(biāo)識(shí)為控制卡,則進(jìn)行Flash存儲(chǔ)器擦除操作; (3103)如果該數(shù)據(jù)幀為純數(shù)據(jù)且更新標(biāo)識(shí)為控制卡,則進(jìn)行Flash存儲(chǔ)器寫入操作; (3104)如果該數(shù)據(jù)幀的命令類型為擦除命令且更新標(biāo)識(shí)為主端子板,或者該數(shù)據(jù)幀的命令類型為擦除命令且更新標(biāo)識(shí)為某個(gè)從端子板, 或者該數(shù)據(jù)幀為純數(shù)據(jù)且更新標(biāo)識(shí)為主端子板,或者該數(shù)據(jù)幀為純數(shù)據(jù)且更新標(biāo)識(shí)為某個(gè)從端子板,則進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,并返回。
      11.根據(jù)權(quán)利要求10所述的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其特征在于,所述的進(jìn)行Flash存儲(chǔ)器擦除操作,包括以下步驟: (31021)所述的控制卡對(duì)其所承載的Flash存儲(chǔ)器中的內(nèi)容進(jìn)行擦除; (31022)設(shè)置控制卡Flash存儲(chǔ)器擦除未完成的標(biāo)志; (31023)所述的控制卡進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,并返回。
      12.根據(jù)權(quán)利要求10所述的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其特征在于,所述的進(jìn)行Flash存儲(chǔ)器寫入操作,包括以下步驟: (31031)所述的控制卡將所述的數(shù)據(jù)幀中的數(shù)據(jù)寫入該控制卡所承載的Flash存儲(chǔ)器中; (31032)所述的控制卡延時(shí)系統(tǒng)預(yù)設(shè)的時(shí)間; (31033)所述的控制卡對(duì)所承載的Flash存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)進(jìn)行讀?。? (31034)判斷所讀取的數(shù)據(jù)與前面寫入的數(shù)據(jù)之間的一致性; (31035)如果否,則設(shè)置配置失敗的標(biāo)志,并結(jié)束; (31036)如果是,則所述的控制卡進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,并返回。
      13.根據(jù)權(quán)利要求10至13中`任一項(xiàng)所述的實(shí)現(xiàn)基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法,其特征在于,所述的進(jìn)行數(shù)據(jù)幀下行發(fā)送操作,具體為: 所述的控制卡將所述的數(shù)據(jù)幀設(shè)置為重發(fā)幀,并通過(guò)從機(jī)接ロ依次下發(fā)至所述的主端子板和各個(gè)從端子板,所述的主端子板和各個(gè)從端子板根據(jù)所收到的數(shù)據(jù)幀進(jìn)行后續(xù)相應(yīng)的FPGA芯片的更新操作。
      全文摘要
      本發(fā)明涉及一種基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)電路結(jié)構(gòu),其中控制卡的主機(jī)接口與外部計(jì)算機(jī)連接,控制卡的從機(jī)接口與所述的主端子板主機(jī)接口連接,主端子板從機(jī)接口與一從端子板上的從端子板主機(jī)接口連接,從端主板上的從端子板從機(jī)接口與其余從端子板依次串接。本發(fā)明還涉及一種基于該電路結(jié)構(gòu)的基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)控制方法。采用該種結(jié)構(gòu)的基于數(shù)據(jù)幀異步傳輸協(xié)議的FPGA芯片在線升級(jí)電路結(jié)構(gòu)及方法,能夠應(yīng)對(duì)更新過(guò)程中出現(xiàn)的錯(cuò)誤、保證更新順利可靠的執(zhí)行,從而成功的解決了現(xiàn)在底層無(wú)法更新或者更新方式復(fù)雜難以實(shí)現(xiàn)的問(wèn)題,簡(jiǎn)單可靠、方便易行、運(yùn)行速度更快、擴(kuò)展性更強(qiáng),工作性能穩(wěn)定可靠,適用范圍較為廣泛。
      文檔編號(hào)G06F9/445GK103106163SQ201310071769
      公開日2013年5月15日 申請(qǐng)日期2013年3月6日 優(yōu)先權(quán)日2013年3月6日
      發(fā)明者王少陽(yáng), 鄧美龍, 汪定軍, 鄭之開, 湯同奎 申請(qǐng)人:上海維宏電子科技股份有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1