一種升級fpga的配置文件的方法和升級設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及電子技術(shù)領(lǐng)域,特別涉及一種升級FPGA的配置文件的方法和升級設(shè)備。
【背景技術(shù)】
[0002]FPGA(FieId-ProgrammabIe Gate Array,現(xiàn)場可編程門陣列)是一種主流的控制芯片,具有性能穩(wěn)定,集成度高的優(yōu)點(diǎn)。FPGA可以完成的功能由用戶編寫的配置文件決定。
[0003]用戶在電腦上編寫配置文件后,將配置文件通過USB接口傳送給微處理器。微處理器將配置文件通過SPI(Serial Peripheral Interface,串行外設(shè)接口)總線燒寫入配置芯片中。FPGA同樣通過SPI總線加載配置芯片中的配置文件。
[0004]由于儀器設(shè)備中常存在電磁干擾,導(dǎo)致微處理器向配置芯片中寫入的配置文件可能會出現(xiàn)損壞的現(xiàn)象。當(dāng)FPGA通過SPI總線加載位于配置芯片中的配置文件是損壞的文件時(shí),F(xiàn)PGA會一直占用與配置芯片相連的SPI總線,導(dǎo)致用戶無法通過SPI總線升級配置芯片中的配置文件。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種升級FPGA的配置文件的方法和升級設(shè)備,用以解決現(xiàn)有技術(shù)中當(dāng)FPGA通過SPI總線加載配置芯片中的配置文件是損壞的時(shí),F(xiàn)PGA會一直占用與配置芯片連接的SPI總線,導(dǎo)致用戶無法通過SPI總線升級配置芯片中的配置文件的問題。
[0006]本發(fā)明實(shí)施例提供一種升級現(xiàn)場可編程門陣列FPGA的配置文件的方法,包括:
[0007]微控制器在確定FPGA的配置文件需要升級后,控制串行外設(shè)接口SPI總線開關(guān)導(dǎo)通所述微控制器與配置芯片之間的SPI總線,并斷開所述FPGA與所述配置芯片之間的SPI總線;
[0008]所述微控制器將升級使用的配置文件通過所述微控制器與配置芯片之間的SPI總線發(fā)送給所述配置芯片后,控制所述SPI總線開關(guān)斷開所述微控制器與所述配置芯片之間的SPI總線,并導(dǎo)通所述FPGA與所述配置芯片之間的SPI總線。
[0009]由于本發(fā)明實(shí)施例微控制器在需要對FPGA的配置文件進(jìn)行升級時(shí),可以通過控制SPI總線開關(guān)斷開FPGA與配置芯片之間的SPI總線,因此可以防止SPI總線被FPGA占用,并且導(dǎo)通FPGA與所述配置芯片之間的SPI總線,因此微控制器可以通過SPI總線對配置文件進(jìn)行升級。
[0010]可選的,所述微控制器確定所述FPGA的配置文件需要升級,包括:
[0011]所述微處理器在收到來自控制設(shè)備的升級指令后,確定所述FPGA的配置文件需要升級。
[0012]可選的,所述微控制器將升級使用的配置文件通過導(dǎo)通SPI總線發(fā)送給所述配置芯片之前,還包括:
[0013]所述微控制器在收到來自控制設(shè)備的升級指令后,接收來自控制設(shè)備的配置文件,并將收到的所述配置文件作為升級使用的配置文件。
[0014]可選的,所述微控制器將升級使用的配置文件通過所述微控制器與配置芯片之間的SPI總線發(fā)送給所述配置芯片后,還包括:
[0015]所述微控制器判斷所述FPGA加載配置文件是否失敗,并將加載結(jié)果發(fā)送給所述控制設(shè)備。
[0016]本發(fā)明實(shí)施例中的微控制器可以確定FPGA是否可以成功加載升級使用的配置文件,因此可以使FPGA更有效加載正確的配置文件。
[0017]可選的,所述微處理器根據(jù)下列方式判斷所述FPGA加載配置文件是否失敗:
[0018]所述微處理器在所述FPGA加載所述配置文件后,判斷是否在設(shè)定時(shí)間內(nèi)收到所述FPGA反饋的加載成功信號;
[0019]如果是,則確定所述FPGA加載配置文件成功;
[0020]否則,確定所述FPGA加載配置文件失敗。
[0021]本發(fā)明實(shí)施例微控制器可以判斷FPGA加載配置文件是否成功,進(jìn)而更準(zhǔn)確的控制SPI總線用于升級還是用于加載配置文件。
[0022]本發(fā)明實(shí)施例提供一種升級設(shè)備,包括微處理器,SPI總線控制開關(guān),F(xiàn)PGA和配置芯片,所述微處理器用于:
[0023]在確定所述FPGA的配置文件需要升級后,控制SPI總線開關(guān)導(dǎo)通所述升級模塊與配置芯片之間的SPI總線,并斷開所述FPGA與所述配置芯片之間的SPI總線;
[0024]將升級使用的配置文件通過所述升級模塊與配置芯片之間的SPI總線發(fā)送給所述配置芯片后,控制所述SPI總線開關(guān)斷開所述升級模塊與所述配置芯片之間的SPI總線,并導(dǎo)通所述FPGA與所述配置芯片之間的SPI總線。
[0025]可選的,所述微控制器具體用于:
[0026]在收到來自控制設(shè)備的升級指令后,確定所述FPGA的配置文件需要升級;或
[0027]在所述FPGA加載配置文件失敗后,確定所述FPGA的配置文件需要升級。
[0028]可選的,所述微控制器還用于:
[0029]在收到來自控制設(shè)備的升級指令后,降低加載失敗的配置文件中的加載時(shí)鐘頻率,并將降低后的配置文件作為升級使用的配置文件。
[0030]可選的,所述微控制器還用于:
[0031 ]判斷所述FPGA加載配置文件是否失敗,并將加載結(jié)果發(fā)送給所述控制設(shè)備。
[0032]可選的,所述微控制器還用于,根據(jù)下列方式判斷所述FPGA加載配置文件是否失敗:
[0033]在所述FPGA加載所述配置文件后,判斷是否在設(shè)定時(shí)間內(nèi)收到所述FPGA反饋的加載成功信號:
[0034]如果是,則確定所述FPGA加載配置文件成功;
[0035]否則,確定所述FPGA加載配置文件失敗。
【附圖說明】
[0036]圖1為本發(fā)明實(shí)施例一種升級FPGA的配置文件的方法流程示意圖;
[0037]圖2為本發(fā)明實(shí)施例一種升級FPGA的配置文件的方法的整體流程圖;
[0038]圖3為本發(fā)明實(shí)施例一種升級設(shè)備的結(jié)構(gòu)不意圖;
[0039]圖4為本發(fā)明實(shí)施例升級FPGA的配置文件的系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0040]本發(fā)明實(shí)施例提供一種升級FPGA的配置文件的方法,該方法中微控制器在確定FPGA的配置文件需要升級后,控制SPI總線開關(guān)導(dǎo)通所述微控制器與配置芯片之間的串行外設(shè)接口 SPI總線,并斷開所述FPGA與所述配置芯片之間的SPI總線;所述微控制器將升級使用的配置文件通過所述微控制器與配置芯片之間的SPI總線發(fā)送給所述配置芯片后,控制所述SPI總線開關(guān)斷開所述微控制器與所述配置芯片之間的SPI總線,并導(dǎo)通所述FPGA與所述配置芯片之間的SPI總線。由于本發(fā)明實(shí)施例微控制器在需要對FPGA的配置文件進(jìn)行升級時(shí),可以通過控制SPI總線開關(guān)斷開FPGA與配置芯片之間的SPI總線,因此可以防止SPI總線被FPGA占用,并且導(dǎo)通FPGA與所述配置芯片之間的SPI總線,因此微控制器可以通過SPI總線對配置文件進(jìn)行升級。
[0041]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本申請一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾堉械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本申請保護(hù)的范圍。
[0042]如圖1所示,本發(fā)明實(shí)施例提供一種升級FPGA的配置文件的方法,包括:
[0043]步驟101,微控制器在確定FPGA的配置文件需要升級后,控制SPI總線開關(guān)導(dǎo)通所述微控制器與配置芯片之間的SPI總