一種基于AT25T1024 FLASH的高速SPI接口設(shè)計(jì)
摘要:從一種軍用板卡的實(shí)際需求出發(fā),對(duì)SPI接口在設(shè)計(jì)中有諸如FPGA資源和管腳等限制的情況下,快速加栽配置數(shù)據(jù)的方法進(jìn)行了分析。并基于ATMEL公司的AT25F1024 FLASH器件,描述了高速SPI接口的設(shè)計(jì)原理和方法,具有一定的實(shí)用性和可行性。
關(guān)鍵詞:SPI;FIASH;軍用板卡;FPGA;AT25T1024
0 引言
在一些軍用芯片的早期設(shè)計(jì)中,一般先采用比較成熟的商用協(xié)議芯片進(jìn)行軍用化改造(通常做成板卡形式),而商用芯片的軍用化改造主要體現(xiàn)在確定性、實(shí)時(shí)性、穩(wěn)定性、安全性等問題上,所以一般需要在商用協(xié)議芯片的上層加入較多的控制功能。FPGA以其資源豐富,易于組織流水和并行處理等優(yōu)點(diǎn),為這種復(fù)雜控制提供了很好的選擇。而SPI在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間,因此在基于FPGA的讀寫接口設(shè)計(jì)中,高速SPI是一種很好的選擇。
1 SPI結(jié)構(gòu)
SPI (Serial Peripheral Interface-串行外圍設(shè)備接口)是Motorola公司推出的一種高效率全雙工同步串行數(shù)據(jù)接口,以主從模式工作,廣泛應(yīng)用于FLASH,實(shí)時(shí)時(shí)鐘,AD轉(zhuǎn)換器等。SPI串行外圍設(shè)備總線根據(jù)串行同步時(shí)鐘極性(CPOL)和時(shí)鐘相位(CPHA)兩個(gè)參數(shù)的設(shè)置分為四種工作方式(SPO,SP1,SP2,SP3)。本板卡選用的片外存儲(chǔ)器AT25F1024僅支持0和3模式,為簡(jiǎn)化設(shè)計(jì),本設(shè)計(jì)的SPI時(shí)鐘采用SP0模式(CP-OL=0,CPHA=0),時(shí)鐘極性為低電平,時(shí)鐘相位串行時(shí)鐘上升沿采樣數(shù)據(jù),下降沿?cái)?shù)據(jù)輸出.SPI為主從工作方式,主設(shè)備由三部分構(gòu)成,SPI_CFG_LOAD配置加載模塊可自動(dòng)讀取存儲(chǔ)器FLASH的值,并加載到片內(nèi)DPRAM中。主機(jī)通過配置SPI_CTRL控制模塊相應(yīng)的寄存器,來完成對(duì)片外FLASH的訪問。SPI結(jié)構(gòu)框圖如圖1所示。
2 高速SPI接口設(shè)計(jì)
2.1 配置加載模塊的設(shè)計(jì)
SPI_CFG_LOAD配置加載模塊主要完成從片外FLASH讀取數(shù)據(jù),并將數(shù)據(jù)存入片內(nèi)DPRAM中的功能。圖2給出了對(duì)應(yīng)的狀態(tài)機(jī)設(shè)計(jì)。
評(píng)論