基于單片機(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)目開(kāi)發(fā)中所需使用的可編程邏輯器件的集成度要求越來(lái)越高,基于SRAM工藝的器件被廣泛使用。如何將配置數(shù)據(jù)成功地寫(xiě)入目標(biāo)器件,并且保證其在掉電再上電后能夠自動(dòng)恢復(fù)配置數(shù)據(jù),成為電子設(shè)計(jì)工程師能否正確使用基于 SRAM工藝的器件必須掌握的一項(xiàng)技術(shù)。本文介紹采用 AT89S52單片機(jī)實(shí)現(xiàn) FPGA器件的被動(dòng)串行 (PS)模式的下載配置[2]。
本文引用地址:http://cafeforensic.com/article/171750.htm1系統(tǒng)組成
該系統(tǒng)的硬件電路由AT89S52單片機(jī)、E2PROM存儲(chǔ)器AT28C256、復(fù)位電路和被配置FPGA器件組成,如圖1所示。
2FLEX10K系列器件的配置文件
對(duì)于同一個(gè)FLEX系列的器件而言,可以由開(kāi)發(fā)軟件生成不同種類(lèi)的配置文件。對(duì)不同的配置 方法應(yīng)該采用相應(yīng)的配置文件。本系統(tǒng)采用RBF文件配置。RBF文件,是一種純ASCⅡ碼文件,該文件的優(yōu)點(diǎn)是他能夠被任何匯編或高級(jí)語(yǔ)言編譯器讀出。
在開(kāi)發(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)。
評(píng)論