對FPGA中SPI復(fù)用配置的編程方法的研究
SPI(Serial Peripheral Inte
1 SPI配置介紹
1.1 Spantan-3E SPI配置流程
SPI方式是通過符合SPI接口時(shí)序的第三方SPI Flash對FPGA進(jìn)行加載。它適合作為FPGA硬件結(jié)構(gòu)的bit文件保存介質(zhì),如果應(yīng)用軟件工程編譯后的代碼較小,保存在同一片SPI FLash中(即復(fù)用SPI Flash)無疑是可行的最廉價(jià)方案。
由于本沒計(jì)軟件工程規(guī)模較小,所以利用此復(fù)用SPI Flash方式對FPGA進(jìn)行配置,既保存FPGA配置的bit文件,也保存應(yīng)用軟件工程的bit文件。系統(tǒng)在上電或向PROG_B引腳發(fā)出低脈沖后,F(xiàn)PGA芯片經(jīng)過一個(gè)初始化序列清空內(nèi)部FPGA配置存儲(chǔ)器。此序列開始時(shí),DONE和INIT_B引腳均轉(zhuǎn)為低。初始化完成后,INIT_B引腳轉(zhuǎn)為高,并采樣芯片的配置模式及變量選擇引腳。
SPI模式下,F(xiàn)PGA對變量選擇(VS[2:0])引腳采樣,以確定發(fā)出哪個(gè)SPI命令序列。當(dāng)初始化之后發(fā)出INIT_B信號時(shí),模式引腳和變量選擇引腳都必須處在正確的邏輯級,以確保正確采樣。
在變量選擇引腳選擇SPI命令集之后,F(xiàn)PGA將CSO_B選擇信號置為低,并且開始通過FPGA的CCLK引腳對SPI Flash存儲(chǔ)器進(jìn)行時(shí)鐘控制。接著發(fā)出8位讀命令后跟24位起始地址0x000000和目標(biāo)命令集的適量虛擬字節(jié)。FPGA從地址0開始讀取SPI Flash存儲(chǔ)器陣列,直到讀完所需的配置位數(shù)。如果從存儲(chǔ)器件讀取到有效比特流,則發(fā)DONE信號,以指示FPGA配置成功。圖1為SPI配置方式的時(shí)序。
圖2是AT45DB161D SPI Flash的配置接口。這種配置方式只占用了FPGA芯片的4個(gè)引腳,而且配置成功之后,所有SPI引腳都成為可用的用戶I/O引腳,這就節(jié)省了FPGA的引腳資源。
評論