FPGA廣泛
應(yīng)用在
電子通信領(lǐng)域,其安全性引起了注意,本文針對(duì)安全配置提出了
解決方案。
現(xiàn)場(chǎng)可編程門陣列FPGA(Field Programmablc Gate Array)是基于門陣列方式為用戶提供可編程資源的,其內(nèi)部邏輯結(jié)構(gòu)的形成是由配置
數(shù)據(jù)決定的。采用在線可重配置方式ICR(In-Circuit Reconfigurability)將這些配置數(shù)據(jù)配置到FPGA內(nèi)部SRAM中,但由于SRAM的易失性,每次上電時(shí),都必須對(duì)FPGA重新進(jìn)行配置,從而實(shí)現(xiàn)用戶編程所要實(shí)現(xiàn)的
功能。
以前的
設(shè)計(jì)大多是將配置數(shù)據(jù)存放在FPGA組成的
系統(tǒng)上,本文提出將配置數(shù)據(jù)存放在使用者自己攜帶的外部存儲(chǔ)器(如可加密的U盤)中。使用前將U盤接入FPGA組成的系統(tǒng),系統(tǒng)上電時(shí)由
單片機(jī)控制讀出配置數(shù)據(jù),再傳送給FPGA進(jìn)行配置。這樣做優(yōu)點(diǎn)很多:修改、升級(jí)簡(jiǎn)便,現(xiàn)場(chǎng)保密性強(qiáng),安全性高;可多人分時(shí)使用同一
硬件系統(tǒng),同一硬件系統(tǒng)插入不同的配置U盤就可以實(shí)現(xiàn)不同的功能,可以方便地存儲(chǔ)大容量配置數(shù)據(jù)或多個(gè)配置數(shù)據(jù)
文件等;同時(shí),符合計(jì)算機(jī)和
嵌入式系統(tǒng)的熱點(diǎn)
USB OTG(On The Go,移動(dòng)USB)
技術(shù)趨勢(shì),是具有創(chuàng)新的設(shè)計(jì)。
1 FPGA的配置方式和配置數(shù)據(jù)文件
1.1 FPGA的配置方式
以Altera公司的FPGA器件為例,有2類配置下載方式:主動(dòng)配置和被動(dòng)配置。主動(dòng)配置方式是由FPGA器件主動(dòng)引導(dǎo)配置操作,從外圍專用配置芯片(如EPC4)中獲得配置數(shù)據(jù)的過程;被動(dòng)配置方式則是由外部計(jì)算機(jī)或控制器控制配置過程。
以Mercury、APEX 20K(2.5V)、ACEX 1K和FLEX10K系列FPGA為例,配置方式有:被動(dòng)串行PS(PasiveSerial)、被動(dòng)并行同步PPS(Passive Parallel Synchronous)、被動(dòng)并行異步PPA(Passive Parallel Asyn-chronous)和JTAG(Jont Test Action Group)等。具體配置方式由方式選擇引腳MSEL1和MSELO的邏輯電平組合決定。
基于SRAM LUT(查找表)結(jié)構(gòu)的FPGA采用在線可重配置方式ICR。以配置方式PS為例,可通過下載電纜南計(jì)算機(jī)直接對(duì)FPGA器件進(jìn)行配置。這種方法在設(shè)計(jì)調(diào)試時(shí)非常方便,但在現(xiàn)場(chǎng)應(yīng)用巾是很不現(xiàn)實(shí)的。上電后自動(dòng)加載對(duì)FPGA器件進(jìn)行配置是實(shí)際必須的,有許多方法,例如專用配置芯片(如EPC4)配置、單片機(jī)控制配置、MAX3000A控制F1ash存儲(chǔ)器配置、PCI總線配置、Internet配置、PSD(Programmable System Devices可編程器件)配置等。
1.2 FPGA的配置數(shù)據(jù)文件
Altera公司的Quartus II開發(fā)工具可以生成多種配置或編譯文件,用于不同配置方式。對(duì)于不同的目標(biāo)器件,編譯后開發(fā)工具會(huì)根據(jù)指定的FPGA器件自動(dòng)生成“.sof(SRAM Object File)”和“.pof(Programmer ObjectFile)”配置文件!.sof”配置文件是由下載電纜將其下載到FPGA中的;“.pof”配置文件是存放在配置器件里的。用單片機(jī)配置時(shí),要將“.sof”文件轉(zhuǎn)換成“.rbf(Raw BinaryFile)”文件,可打開QuartusII的File菜單,單擊ConvertProgramming Fiks進(jìn)行轉(zhuǎn)換。配置文件的大小隨FPGA器件的不同而不同,例如EPFlOKlO的配置文件“.sof”和“.rbf”的大小為15KB。
2 單片機(jī)配置FPGA設(shè)計(jì)
2.1 單片機(jī)配置FPGA的優(yōu)點(diǎn)
在實(shí)際應(yīng)用中,單片機(jī)控制配置FPGA,對(duì)于保密和升級(jí),以及實(shí)現(xiàn)多任務(wù)電路結(jié)構(gòu)重配置和降低配置成本,都是很好的選擇。配置方式PS、PPS和PPA均可以用單片機(jī)控制配置。
由單片機(jī)和外部存儲(chǔ)器組成配置FPGA電路,將配置數(shù)據(jù)寫入外部存儲(chǔ)器,系統(tǒng)上電時(shí)再由單片機(jī)控制對(duì)FPGA進(jìn)行配置。也可將多個(gè)配置文件分區(qū)存儲(chǔ)到外部存儲(chǔ)器中,然后由單片機(jī)接收不同的命令,選擇讀取不同存儲(chǔ)區(qū)的數(shù)據(jù)配置到FPGA器件,從而實(shí)現(xiàn)多任務(wù)電路結(jié)構(gòu)重配置,在線配置成多種不同的電路功能;代替了價(jià)格昂貴的不可擦寫和可擦寫配置芯片,降低了成本。
[此貼子已經(jīng)被作者于2010-11-17 12:00:38編輯過]