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