一種可快速重新配置fpga的方法及電路的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于基本電子電路領(lǐng)域,具體涉及一種可快速重新配置FPGA的方法及電路。
【背景技術(shù)】
[0002]現(xiàn)場可編程門陣列FPGA(Field Programmable Gate Array)是電子設(shè)備中廣泛使用的控制單元,可以通過加載不同的配置文件,實現(xiàn)不同的電路功能。目前FPGA更新配置文件主要使用專用的下載裝置,經(jīng)過JTAG接口將配置文件固化在外部FLASH中,系統(tǒng)上電時FPGA會自動加載該配置文件。但是當(dāng)整機設(shè)備組裝完成后,一旦需要重新配置FPGA,就必須進(jìn)行整機拆卸操作,再使用專用下載裝置更新配置文件,最后再將整機組裝完好。整個過程費時費力,效率低下。
[0003]中國專利文獻(xiàn)號為CN104657178A于2015年5月27日公開的一種采用接口技術(shù)進(jìn)行FPGA配置的方法,其思路是通過USB數(shù)據(jù)鏈路直接使用PC機對FPGA進(jìn)行配置,不用為FPGA配備專用的配置芯片和JTAG仿真器。這一方案需要額外增加USB芯片,增加了電路復(fù)雜度;斷電后FPGA配置文件無法保存,需要在上電后再次對FPGA進(jìn)行配置,使用繁瑣。
[0004]中國專利文獻(xiàn)號為CN203858623U于2014年10月I日公開的一種簡便的FPGA動態(tài)配置結(jié)構(gòu),其思路是引入主控芯片來控制FPGA的配置過程,主控芯片上設(shè)置有通訊端口和FLASH存儲器,通過主控芯片與FPGA的配合,實現(xiàn)配置文件的下載與保存。這一方案需要額外增加主控芯片,該主控芯片不僅要支持外部通信,同時內(nèi)部設(shè)置還要有FLASH存儲器,且該存儲器的容量可以保存至少一個FPGA配置文件,增加了電路設(shè)計難度。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是提出一種可快速重新配置FPGA的方法及電路,【背景技術(shù)】中的電路如果用在一個芯片制作工廠,面對大量的測試設(shè)備將會帶來巨大的投入,如果通過用主控服務(wù)器與FPGA之間通信的方式,將更新后的配置文件寫入外部FLASH中,實現(xiàn)對FPGA的重新配置,易于操作,提高工作效率;同時重新配置FPGA的過程無需主控芯片,由FPGA本身來實現(xiàn)對重新配置過程的控制,降低了電路設(shè)計難度,減少開發(fā)成本。
[0006]為了實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:
一種可快速重新配置FPGA的方法,F(xiàn)PGA電路上電,F(xiàn)PGA電路首先與一個主控服務(wù)器建立通信連接,當(dāng)接收到有新的配置文件命令時:則接收從主控服務(wù)器發(fā)出的新配置文件,并將接收的新配置文件送入FLASH存儲器,F(xiàn)PGA電路加載FLASH存儲器中的新配置文件并運行,重新配置FPGA過程結(jié)束。
[0007]方案進(jìn)一步是:所述與主控服務(wù)器建立通信連接是通過在所述FPGA電路中實現(xiàn)的通信控制電路經(jīng)系統(tǒng)總線而建立的。
[0008]方案進(jìn)一步是:所述的系統(tǒng)總線是局域網(wǎng)線或互聯(lián)網(wǎng)線。
[0009]方案進(jìn)一步是:所述新的配置文件命令具有優(yōu)先權(quán)。
[0010]方案進(jìn)一步是:所述將接收的新配置文件送入FLASH存儲器,是通過在所述FPGA電路中實現(xiàn)的存儲器接口控制電路完成的。
[0011 ]方案進(jìn)一步是:所述方法進(jìn)一步包括:通過回讀,檢測FLASH存儲器中配置文件是否為最新?是否需要更新升級?如果是最新,則繼續(xù)執(zhí)行下一步操作,如果不是最新,則尋問是否需要更新,如果不需要更新,則繼續(xù)執(zhí)行下一步操作,如果需要更新則將新配置文件送入FLASH存儲器。
[0012]方案進(jìn)一步是:所述方法進(jìn)一步包括:所述將接收的新配置文件送入FLASH存儲器后,主控服務(wù)器發(fā)出校驗命令;如果校驗通過,則允許FPGA電路加載該配置文件,如果校驗未通過,則主控服務(wù)器重新發(fā)送配置文件。
[0013]一種可快速重新配置FPGA的電路,包括FPGA電路,在所述FPGA電路中分別實現(xiàn)一個通信控制電路和一個存儲器接口控制電路,所述通信控制電路通過系統(tǒng)總線連接主控服務(wù)器,所述存儲器接口控制電路連接一個FLASH存儲器;所述主控服務(wù)器用于通過系統(tǒng)總線向FPGA電路傳送配置文件以及發(fā)送重新配置命令,所述FLASH存儲器用于掉電時保存配置文件,所述存儲器接口控制電路用于將主控服務(wù)器傳送的配置文件存入FLASH存儲器。
[0014]方案進(jìn)一步是:所述FLASH存儲器與FPGA電路之間設(shè)置有一個雙向數(shù)據(jù)驅(qū)動控制電路,雙向數(shù)據(jù)驅(qū)動控制電路的雙向控制端連接所述存儲器接口控制電路。
[0015]方案進(jìn)一步是:所述主控服務(wù)器通過系統(tǒng)總線連接多個FPGA電路,形成一個可快速重新配置FPGA的電路網(wǎng)絡(luò)。
[0016]本發(fā)明的有益效果是:
本發(fā)明通過利用系統(tǒng)總線實現(xiàn)了主控服務(wù)器對FPGA的重新配置,主控服務(wù)器通過系統(tǒng)總線直接對FPGA進(jìn)行重新配置,易于操作;重新配置FPGA時無需拆卸整機,無需專用JTAG下載裝置,提高效率;重新配置FPGA的過程無需額外增加主控芯片,可以在現(xiàn)有設(shè)備的基礎(chǔ)上連成控制網(wǎng)絡(luò),由FPGA本身來實現(xiàn)對重新配置過程的控制,降低設(shè)計難度,節(jié)約成本。
[0017]下面結(jié)合附圖和實施例對本發(fā)明作一詳細(xì)描述。
【附圖說明】
[0018]圖1是本發(fā)明電路結(jié)構(gòu)示意圖;
圖2是本發(fā)明電路一種具體實現(xiàn)電路。
【具體實施方式】
[0019]實施例1:
一種可快速重新配置FPGA的方法,F(xiàn)PGA電路上電,如圖1所示,作為可編程門陣列的FPGA電路I首先與一個主控服務(wù)器2建立通信連接,當(dāng)FPGA電路從主控服務(wù)器接收到有新的配置文件命令時:則接收從主控服務(wù)器發(fā)出的新配置文件,并將接收的新配置文件送入FLASH存儲器3,F(xiàn)PGA電路加載FLASH存儲器中的新配置文件并運行,重新配置FPGA過程結(jié)束;FLASH存儲器保證了掉電情況下配置文件的不丟失,可編程門陣列的FPGA電路中具有加載配置文件的FPGA配置專用模塊101。
[0020]實施例中:所述與主控服務(wù)器建立通信連接是通過在所述FPGA電路中實現(xiàn)的通信控制電路102經(jīng)系統(tǒng)總線而建立的通信連接。
[0021]實施例中:所述的系統(tǒng)總線是局域網(wǎng)線或互聯(lián)網(wǎng)線,通過網(wǎng)線可以建立一個可快速重新配置FPGA的網(wǎng)絡(luò),實現(xiàn)由一個主控服務(wù)器控制多個FPGA電路。
[0022]實施例中:所述新的配置文件命令具有優(yōu)先權(quán),也就是當(dāng)有新的配置文件命令時不允許執(zhí)行其它任何命令。
[0023]實施例中:所述將接收的新配置文件送入FLASH存儲器,是通過在所述FPGA電路中實現(xiàn)的存儲器接口控制電路103完成的。
[0024]實施例中:所述方法進(jìn)一步包括:通過回讀,檢測FLASH存儲器中配置文件是否為最新?是