資源描述:
《FPGA實戰(zhàn)開發(fā)技巧(10).doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、FPGA實戰(zhàn)開發(fā)技巧(10)5.5.3SPI串行Flash配置模式1.SPI串行配置介紹 串行Flash的特點是占用管腳比較少,作為系統(tǒng)的數(shù)據(jù)存貯非常合適,一般都是采用串行外設接口(SPI總線接口)。Flash存貯器與EEPROM根本不同的特征就是EEPROM可以按字節(jié)進行數(shù)據(jù)的改寫,而Flash只能先擦除一個區(qū)間,然后改寫其內(nèi)容。一般情況下,這個擦除區(qū)間叫做扇區(qū)(Sector),也有部分廠家引入了頁面(Page)的概念。選擇Flash產(chǎn)品時,最小擦除區(qū)間是比較重要的指標。在寫入Flash時,如果寫入的數(shù)據(jù)不能正好是一個最小擦除區(qū)間的尺寸,就需要把整個
2、區(qū)間的數(shù)據(jù)全部保存另外一個存貯空間,擦除這個空間,然后才能重新對這個區(qū)間改寫。大多數(shù)Flash工藝更容易實現(xiàn)較大的擦除區(qū)間,因此較小擦除區(qū)間的Flash其價格一般會稍貴一些。此外,SPI是標準的4線同步串行雙向總線,提供控制器和外設之間的串行通信數(shù)據(jù)鏈路,廣泛應用于嵌入式設備中?! ≠愳`思公司的新款FPGA都支持SPI接口。SPI總線通過4根信號線來完成主、從之間的通信,典型的SPI系統(tǒng)中常包含一個主設備以及至少一個從設備,在FPGA應用場合中,F(xiàn)PGA芯片為主設備,SPI串行FLASH為從設備。4個SPI接口信號的名稱和功能如表5-2所示?! ”?
3、-2SPI接口信號列表 一個主芯片和一個從芯片的通信接口如圖5-24所示。FPGA通過SCLK控制雙方通信的時序,在SS_n為低時,F(xiàn)PGA通過MOSI信號線將數(shù)據(jù)傳送到FLASH,在同一個時鐘周期中,F(xiàn)LASH通過SOMI將數(shù)據(jù)傳輸?shù)紽PGA芯片。無論主、從設備,數(shù)據(jù)都是在時鐘電平跳轉時輸出,并在下一個相反的電平跳轉沿,送入另外一個芯片。 圖5-24SPI接口連接示意圖 其中SCLK信號支持不同的速率,一般常采用20MHz。通過SPI接口中的CPOL和CPHA這兩個比特定義了4種通信時序。其中,CPOL信號定義了SCLK的空閑狀態(tài),當CPOL
4、為低時,SCLK的低電平為空閑狀態(tài),否則其空閑狀態(tài)為高電平;CPHA定義了數(shù)據(jù)有效的上升沿位置,當其為低時,數(shù)據(jù)在第1個電平跳轉沿有效,否則數(shù)據(jù)在第2個電平跳轉沿有效。其相應的時序邏輯如圖5-25所示?! D5-27CPHA為低時SPI的總線時序示意圖 圖5-28CPHA為高時SPI的總線時序示意圖 可以通過增加片選信號SS_n的位寬來支持多個從設備,SS_n的位寬等于從設備的個數(shù)。對于某時刻被選中的從設備和主設備而言,其讀寫時序邏輯和圖5-29一樣?! D5-29多個從芯片的連接電路圖 SPI串行FLASH作為一種新興的高性能非易失性
5、存儲器,其有效讀寫次數(shù)高達百萬次,不僅引腳數(shù)量少、封裝小、容量大,可以節(jié)約電路板空間,還能夠降低功耗和噪聲。從功能上看,可以用于代碼存儲以及大容量的數(shù)據(jù)和語音存儲,對于以讀為主,僅有少量擦寫和寫入時間的應用來說,支持分區(qū)(多頁)擦除和頁寫入的串行存儲是最佳方案。2.SPI串行FLASH配置電路 SPI串行配置模式常用于已采用了SPI串行FLASHPROM的系統(tǒng),在上電時將配置數(shù)據(jù)加載到FPGA中,這一過程只需向SPI串行發(fā)送一個4字節(jié)的指令,其后串行FLASH中的數(shù)據(jù)就像PROM配置方式一樣連續(xù)加載到FPGA中。一旦配置完成,SPI中的額外存儲空間還能
6、用于其它應用目的。1)SPI配置電路 雖然SPI接口是標準的4線接口,但不同的SPIFLASHPROM芯片采用了不同的指令協(xié)議。FPGA芯片通過變量選擇信號VS[2:0]來定義FPGA和SPIFLASH的通信方式、FPGA的讀指令以及在有效接收數(shù)據(jù)前插入的冗余比特數(shù)。常用SPIFLASH與FPGA的有效操作配置如表5-3所示,其余的VS[2:0]配置留有它用?! ”?-3賽靈思芯片所支持的SPIFLASH存儲器以及配置列表 從整體上看來,控制SPI串行閃存比較容易,只需要使用簡單的指令就能完成讀取、擦除、編程、寫使能/禁止以及其它功能。所有的指令
7、都是通過4個SPI引腳串行移位輸入的。 圖5-30支持快讀寫的串行FLASH配置電路示意圖 不同型號的FPGA芯片具有數(shù)目不同的從設備片選信號,因此所掛的串行芯片數(shù)目也就不一樣。例如:Spartan-3E系列FPGA芯片只有1位SPI從設備片選信號,因此只能外掛一片SPI串行FLASH芯片。在SPI串行FLASH配置模式下,M[2:0]=3’b001。FPGA上電后,通過外部SPI串行FLASHPROM完成配置,配置時鐘信號由FPGA芯片提供時鐘信號,支持兩類業(yè)界常用的FLASH?! D5-30給出了Spartan3E系列FPGA支持0X0B快速
8、讀寫指令的STMicro25系列PROM的典型配置電路。其中的Flash芯片需要