并行NOR Flash在SOPC開發(fā)中的應(yīng)用設(shè)計(jì)
引言
隨著FPGA技術(shù)的發(fā)展,出現(xiàn)了一種新概念的嵌入式系統(tǒng),即SOPC(System On Programmable Chip)。SOPC技術(shù)融合了SoC和FPGA的優(yōu)點(diǎn),將處理器、片上總線、片上存儲(chǔ)器、內(nèi)部外設(shè)、I/O接口以及自定義邏輯集成在同一片FPGA中,而且軟硬件可裁剪、可升級(jí)、可修改,具有軟硬件在系統(tǒng)編程能力,在保證高性能的同時(shí)具有非常高的靈活性。由于大部分功能部件在FPGA內(nèi)實(shí)現(xiàn),外部只需要很少的器件,如大容量的RAM、Flash、DAC、ADC等。在系統(tǒng)需要脫離計(jì)算機(jī)獨(dú)立運(yùn)行時(shí)(絕大部分情況如此),非易失的存儲(chǔ)器件Flash是必不可少的。Flash可以用來存儲(chǔ)配置比特流、代碼、數(shù)據(jù)或參數(shù)等重要信息。本文以Intel StrataFlash 3V Memory系列的JS28F128J3D75并行NOR Flash(簡(jiǎn)稱“J3D”)和Xilinx FPGA Spartan3E系列的XC3S1600E(簡(jiǎn)稱“1600E”)為背景,在結(jié)合項(xiàng)目開發(fā)經(jīng)驗(yàn)和參閱相關(guān)文獻(xiàn)的基礎(chǔ)上,介紹了并行NOR Flash在SOPC開發(fā)中的4種不同應(yīng)用。
1 存儲(chǔ)FPGA配置比特流
1600E工作在BPI(Bytewide Peripheral Interface)配置模式時(shí),通過專門的引腳與J3D連接,這些引腳在配置完成后可以作為用戶I/O使用。連接時(shí),大部分引腳參考1600E的數(shù)據(jù)手冊(cè)直接連接即可,但有些引腳需要特別注意。J3D有×8(數(shù)據(jù)總線寬度為8位)和×16(數(shù)據(jù)總線寬度為16位)兩種工作模式。配置時(shí)應(yīng)工作在×8模式,配置完成后,根據(jù)需要可以設(shè)置為×8或×16模式。圖1為1600E與J3D引腳連接示意圖。
若配置后需要切換至×16模式,則需綜合考慮1600E的HSWAP腳。HSWAP接高電平時(shí),1600E所有用戶I/O的內(nèi)部上拉電阻禁用,HDC通過4.7 kΩ電阻接高電平,LDC2通過4.7 kΩ電阻接地,LDC1和LDC0通過4.7 kΩ電阻接高電平,同時(shí)這3個(gè)信號(hào)應(yīng)分別連到J3D的BYTE#、OE#、CE0腳。這樣上電后的瞬間,J3D工作在×8模式,且因CE0腳被拉高而處于非選中狀態(tài),不會(huì)導(dǎo)致對(duì)J3D的誤操作;然后在1600E的控制下進(jìn)入配置狀態(tài),配置結(jié)束可通過控制LDC2輸出高電平而將J3D切換為×16模式。HSWAP接低電平時(shí),1600E所有用戶I/O的內(nèi)部上拉電阻使能,LDC1、LDC0和HDC無需外接上拉電阻;而LDC2應(yīng)接340 Ω的下拉電阻,以使上電后J3D工作在×8模式,從而順利進(jìn)入配置狀態(tài),配置結(jié)束后可將J3D切換為×16模式。
圖1 1600E與J3D引腳連接示意圖
若配置后工作在×8模式,則J3D的BYTE#腳接低電平,1600E的LDC2懸空。當(dāng)HSWAP接高電平時(shí),LCD1和LCD0分別連至OE#、CE0腳,同時(shí)應(yīng)通過4.7 kΩ電阻上拉;HSWAP接低電平時(shí),LCD1和LCD0不用上拉。
配置比特流文件首先通過iMPCT轉(zhuǎn)換成MCS文件,再通過PicoBlaze NOR Flash Programmer(http://www.xilinx.com/products/boards/s3estarter/files/s3esk_picoblaze_nor_flash_programmer.zip)下載到J3D中。
J3D可以同時(shí)配置多塊FPGA,也可對(duì)同一塊FPGA進(jìn)行多比特流配置。例如先配置一個(gè)診斷測(cè)試比特流,測(cè)試成功后,再重新配置應(yīng)用比特流。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論