FPGA中SPI Flash存儲(chǔ)器的復(fù)用編程方法的實(shí)現(xiàn)
SPI(Serial Peripheral Interface,串行外圍設(shè)備接口)是一種高速、全雙工、同步的通信總線,在芯片的引腳上只占用4根線,不僅節(jié)約了芯片的引腳,同時(shí)在PCB的布局上還節(jié)省空間。正是出于這種簡單、易用的特性,現(xiàn)在越來越多的芯片集成了這種通信協(xié)議。
1 SPI配置介紹
1.1 Spantan-3E SPI配置流程
SPI方式是通過符合SPI接口時(shí)序的第三方SPIFlash對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信號(hào)時(shí),模式引腳和變量選擇引腳都必須處在正確的邏輯級(jí),以確保正確采樣。
在變量選擇引腳選擇SPI命令集之后,F(xiàn)PGA將CSO_B選擇信號(hào)置為低,并且開始通過FPGA的CCLK引腳對SPI Flash存儲(chǔ)器進(jìn)行時(shí)鐘控制。接著發(fā)出8位讀命令后跟24位起始地址0x000000和目標(biāo)命令集的適量虛擬字節(jié)。FPGA從地址0開始讀取SPI Flash存儲(chǔ)器陣列,直到讀完所需的配置位數(shù)。如果從存儲(chǔ)器件讀取到有效比特流,則發(fā)DONE信號(hào),以指示FPGA配置成功。圖1為SPI配置方式的時(shí)序。
圖2是AT45DB161D SPI Flash的配置接口。這種配置方式只占用了FPGA芯片的4個(gè)引腳,而且配置成功之后,所有SPI引腳都成為可用的用戶I/O引腳,這就節(jié)省了FPGA的引腳資源。
復(fù)用編程方法的實(shí)現(xiàn)" hspace=0 src="/uploadfile/mn
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
評論