可在線升級的FPGA并行配置方法的實(shí)現(xiàn)
在當(dāng)今變化的市場環(huán)境中,產(chǎn)品是否便于現(xiàn)場升級、便于靈活使用,已成為產(chǎn)品進(jìn)入市場的關(guān)鍵因素。而基于 SRAM結(jié)構(gòu)的 FPGA器件的出現(xiàn),為系統(tǒng)設(shè)計者動態(tài)改變運(yùn)行電路中的邏輯功能創(chuàng)造了條件,也為現(xiàn)場升級等奠定了基礎(chǔ)。但由于 SRAM的掉電易失性,系統(tǒng)每次上電時,必須重新配置數(shù)據(jù),只有在數(shù)據(jù)配置正確的情況下系統(tǒng)才能正常工作。
筆者在實(shí)際項目應(yīng)用中,采用 SST89V564微處理器對 FPGA進(jìn)行快速高效的 PPA數(shù)據(jù)配置,不僅可以完成對 FPGA的上電啟動配置,同時利用其 IAP技術(shù)還可以在 FPGA配置完以后,通過修改微處理器中的配置數(shù)據(jù)和參數(shù)來實(shí)現(xiàn)系統(tǒng)的在線升級。
1.FPGA的 PPA配置過程
FPGA的在線配置方式一般有兩類:一是通過下載電纜由計算機(jī)直接對其進(jìn)行配置;二是通過微處理器對其進(jìn)行配置。前者調(diào)試時非常方便,在應(yīng)用現(xiàn)場是很不現(xiàn)實(shí)的,只適合產(chǎn)品的調(diào)試,而一般實(shí)際產(chǎn)品中采用微處理器對 FPGA進(jìn)行配置。
FPGA器件 PPA配置時序如圖 1所示,其中 nCS和 CS兩個片選信號只需用一個,當(dāng)
選用 nCS作為片選信號控制配置,CS接高電平。其配置過程為微處理器在 nCONFIG引腳上產(chǎn)生一個最少 21µs的低脈沖,等待直至 nSTATUS和 CONF_DONE變低。此時將 nCONFIG置高, nSTATUS會在 nCONFIG跳高后 4µs內(nèi)跳高,則表示 FPGA可以配置了[1]。
配置成功時,F(xiàn)PGA器件釋放 CONF_DONE信號,由外部將其拉高。如果微處理器檢
測到該信號為高,則表明配置成功;否則,要對其重新配置。
2.基本硬件組成
2.1 SST89V564RD及接口設(shè)計
SST89V564RD是 SST公司的 8位集成 SUPERFLASH 存儲器的 51 兼容 MCU,帶有 1K字節(jié)片內(nèi) RAM和 72K字節(jié)片內(nèi) SUPERFLASH。其片內(nèi) Flash分成 Block0(64K字節(jié))和 Block1(8K字節(jié))兩塊,Block0和 Block1低 8K地址相同,程序運(yùn)行時,可通過設(shè)置特功能寄存器 SFCF對低 8K字節(jié)的 Flash程序存儲塊進(jìn)行切換,以使程序運(yùn)行在 Block0或 Block1。微處理器與 FPGA的接口電路如圖 2所示。
評論