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