基于單片機(jī)實(shí)現(xiàn)FPGA的加載配置
隨著電子技術(shù)的發(fā)展,數(shù)字系統(tǒng)的設(shè)計(jì)正朝著速度快、容量大、體積小、重量輕的方向發(fā)展。高密度現(xiàn)場(chǎng)可編程邏輯器件的出現(xiàn)將大量邏輯功能集成于一個(gè)單片 IC之中。對(duì)基于 E2PROM (或 Flash Memory)工藝的器件,配置數(shù)據(jù)在掉電后不會(huì)丟失,可以直接采用Byte Blaster并口下載電纜對(duì)其進(jìn)行配置[1],但基于該架構(gòu)的器件的集成度較低;然而對(duì)基于SRAM工藝的器件,配置數(shù)據(jù)在器件掉電后會(huì)丟失,但器件的集成度較高。由于在當(dāng)前項(xiàng)目開發(fā)中所需使用的可編程邏輯器件的集成度要求越來(lái)越高,基于SRAM工藝的器件被廣泛使用。如何將配置數(shù)據(jù)成功地寫入目標(biāo)器件,并且保證其在掉電再上電后能夠自動(dòng)恢復(fù)配置數(shù)據(jù),成為電子設(shè)計(jì)工程師能否正確使用基于 SRAM工藝的器件必須掌握的一項(xiàng)技術(shù)。本文介紹采用 AT89S52單片機(jī)實(shí)現(xiàn) FPGA器件的被動(dòng)串行 (PS)模式的下載配置[2]。
1系統(tǒng)組成
該系統(tǒng)的硬件電路由AT89S52單片機(jī)、E2PROM存儲(chǔ)器AT28C256、復(fù)位電路和被配置FPGA器件組成,如圖1所示。
2FLEX10K系列器件的配置文件
對(duì)于同一個(gè)FLEX系列的器件而言,可以由開發(fā)軟件生成不同種類的配置文件。對(duì)不同的配置 方法應(yīng)該采用相應(yīng)的配置文件。本系統(tǒng)采用RBF文件配置。RBF文件,是一種純ASCⅡ碼文件,該文件的優(yōu)點(diǎn)是他能夠被任何匯編或高級(jí)語(yǔ)言編譯器讀出。
在開發(fā)軟件MAX PLUSⅡ中*SOF文件轉(zhuǎn)換為*RBF文件,轉(zhuǎn)換后的RBF文件大小均為1 4.4 k,如圖2所示。所以利用E2PROM存儲(chǔ)器AT28C256可以達(dá)到配置Altera公司FLEX1 0K10的目的,如果需要配置其他FLEX10K則需要選擇合適的E2PROM存儲(chǔ)器。
3硬件原理圖
硬件原理如圖3所示。上電后,單片機(jī)執(zhí)行程序完成如下操作:將已經(jīng)存儲(chǔ)在E2P ROM存儲(chǔ)器AT28C256中的器件配置文件讀出[3];采用被動(dòng)串行模式 (PS)[2]將該文件配置到 FPGA器件 中,從而實(shí)現(xiàn)器件上電或復(fù)位后自動(dòng)恢復(fù)配置數(shù)據(jù)的功能。然后,單片機(jī)就會(huì)工作在動(dòng)態(tài)停機(jī)狀態(tài)。
4單片機(jī)軟件程序設(shè)計(jì)
5結(jié)語(yǔ)
本系統(tǒng)可用于配置所有Altera公司生產(chǎn)的基于SRAM架構(gòu)的FPGA器件和Xilinx公司生產(chǎn)的基于SRAM架構(gòu)的FPGA器件以及其他主流器件制造公司生產(chǎn)的基于 SRAM架構(gòu)的器件,具有很強(qiáng)的通用性。由于該電路使用的元器件非常少,也可以將其制作成面積很小、便于攜帶的通用下載配置板使用。該下載配置方案已經(jīng)過(guò)實(shí)際調(diào)試、使用,其工作穩(wěn)定可靠,具有很好的應(yīng)用前景。
參考文獻(xiàn)
[1]林 敏,方穎立.VHDL數(shù)字系統(tǒng)設(shè)計(jì)與高層次綜合[M].北京:電子工業(yè)出版社,2002.
[2]潘 松,黃繼業(yè).EDA技術(shù)實(shí)用教程[M].北京:科學(xué)出版社,2002.
[3]徐維祥,劉旭敏.單片機(jī)微型機(jī)原理及應(yīng)用[M].大連:大連理工大學(xué)出版社,1996.