新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 可在線升級的FPGA并行配置方法的實現(xiàn)

可在線升級的FPGA并行配置方法的實現(xiàn)

作者: 時間:2009-08-10 來源:網絡 收藏

2.2 SST89V564RD微處理器片內 Flash應用劃分
SST89V564RD微處理器片內 Flash兩塊( 64K+8K)中, Block1分成 64個扇區(qū),每個扇區(qū)包括 128個字節(jié),總共 8K字節(jié);Block0分成 512個扇區(qū),每個扇區(qū)包括 128個字節(jié),總共 64K字節(jié)[2]。
微處理器兩塊 Flash地址應用劃分為: Block0中,低地址段 0x0000~0x1FFF存放對 Block1進行擦寫的 IAP程序,高地址段 0x2000~0xFFFF存放 配置數(shù)據。 Block1的所有空間用來存放上電啟動時對 進行配置以及配置完后的 IAP操作程序。微處理器默認下從 Block1啟動。當程序運行在 IAP命令狀態(tài)時,可以通過設置特功能寄存器 SFCF使程序運行在 Block0或 Block1,來對另一 Flash塊進行擦寫或升級。
由于 Block0和 Block1的低 8K字節(jié)的地址相同,因此在編程應用程序到 Flash中時,編程器將 Block1的地址定義在 0x10000~0x11FFF地址段,在編譯程序時需要將 Block1的程序定位在 0x10000~0x11FFF之間才能正確燒寫。
3.軟件設計
微處理器狀態(tài)流程如圖 3所示,在上電啟動時,微處理器從 Block1啟動,讀取 Block1中 0x2000開始的配置數(shù)據,完成對 的配置。配置完成以后,微處理器處于 IAP狀態(tài),既可以通過串口 IAP指令來對 Block0高地址段的 FPGA配置數(shù)據進行擦寫或升級,也可以通過串口 IAP指令切換微處理器跳到 Block0中低地址段運行,來對 Block1中的程序進行擦寫或升級。
由于 Block0中低地址段存放的只是對 Block1進行擦寫的 IAP程序,因此無需擦寫或升級該部分程序。升級只限于當更改 FPGA邏輯功能時升級 Block0高地址段的配置數(shù)據,或者更改了 FPGA芯片時更改 Block1中的配置數(shù)據參數(shù)以及 Block0中高地址段的配置數(shù)據。當程序運行在 Block0中,要切換到 Block1運行重新配置 FPGA時,將產生復位信號,復位微處理器和 FPGA使微處理器重新對 FPGA進行配置。



評論


相關推薦

技術專區(qū)

關閉