新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT25T1024 FLASH的高速SPI接口設計

        基于AT25T1024 FLASH的高速SPI接口設計

        作者: 時間:2011-08-03 來源:網絡 收藏

          在一些軍用芯片的早期設計中,一般先采用比較成熟的商用協議芯片進行軍用化改造(通常做成板卡形式),而商用芯片的軍用化改造主要體現在確定性、實時性、穩定性、安全性等問題上,所以一般需要在商用協議芯片的上層加入較多的控制功能。FPGA以其資源豐富,易于組織流水和并行處理等優點,為這種復雜控制提供了很好的選擇。而SPI在芯片的管腳上只占用四根線,節約了芯片的管腳,同時為PCB的布局上節省空間,因此在基于FPGA的讀寫接口設計中,高速SPI是一種很好的選擇。

          1 SPI結構

          SPI (Serial Peripheral Interface-串行外圍設備接口)是Motorola公司推出的一種高效率全雙工同步串行數據接口,以主從模式工作,廣泛應用于,實時時鐘,AD轉換器等。SPI串行外圍設備總線根據串行同步時鐘極性(CPOL)和時鐘相位(CPHA)兩個參數的設置分為四種工作方式(SPO,SP1,SP2,SP3)。本板卡選用的片外存儲器AT25F1024僅支持0和3模式,為簡化設計,本設計的SPI時鐘采用SP0模式(CP-OL=0,CPHA=0),時鐘極性為低電平,時鐘相位串行時鐘上升沿采樣數據,下降沿數據輸出.SPI為主從工作方式,主設備由三部分構成,SPI_CFG_LOAD配置加載模塊可自動讀取存儲器的值,并加載到片內DPRAM中。主機通過配置SPI_CTRL控制模塊相應的寄存器,來完成對片外的訪問。SPI結構框圖如圖1所示。

          

        基于AT25T1024 FLASH的高速SPI接口設計

          2 設計

          2.1 配置加載模塊的設計

          SPI_CFG_LOAD配置加載模塊主要完成從片外FLASH讀取數據,并將數據存入片內DPRAM中的功能。圖2給出了對應的狀態機設計。

          

        基于AT25T1024 FLASH的高速SPI接口設計

          各狀態說明如下:

          SPI_IDLE:空閑狀態,如果主機配置了寄存器SPICFGSTART,狀態就跳到SPI_TX_BUFFER狀態。

          SPI_TX_BUFFER:在此狀態主要向SPI_CTRL模塊的發送緩沖區地址0填入8位讀命令及讀取數據的三字節起始地址,狀態機之間進入下一狀態。

          SPI_CTRL_REG:在這一狀態,配置SPI_CTRL模塊CTRL寄存器的值,包括一次讀操作搬運的數據位數,數據加載方式。如果配置GO位為“1”,表明可以開始進行讀傳輸,進入下一狀態SPI_CS。

          SPI_CS:配置SPI_CTRL)模塊寄存器SS位的值,以選擇傳輸數據的從設備。

          SPI_WAIT:本狀態判斷讀操作的起始地址和終止地址是否在要求的范圍內,如果處于相應的范圍,地址自動加64后,狀態機進入SPI_SS_ UA狀態。

          SPI_SS_UA:等待片內DPRAM的寫操作完成,如果DPRAM_WR_END_T信號為高,說明當前的傳輸操作已經結束,可以進入下一次的訪問,狀態機進入SPI_IDLE狀態。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 游戏| 兴城市| 格尔木市| 峨眉山市| 三穗县| 喀什市| 电白县| 康平县| 宣化县| 怀化市| 河津市| 柘城县| 梓潼县| 高清| 颍上县| 嵩明县| 乐亭县| 安丘市| 西平县| 阳东县| 盈江县| 余庆县| 大邑县| 南江县| 贵定县| 台山市| 肥城市| 杨浦区| 洪洞县| 平昌县| 河北区| 雅江县| 遵化市| 竹溪县| 拉萨市| 大名县| 柘城县| 应城市| 邻水| 沙雅县| 关岭|