• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > EDA/PCB > 設計應用 > 一種基于AT25T1024 FLASH的高速SPI接口設計

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

    作者: 時間:2011-07-04 來源:網絡 收藏

    各狀態說明如下:
    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狀態。
    2.2 控制模塊的設計
    SPI_CTRL控制模塊可將發送緩沖區0的數據讀出來,經過并串轉換,發送到串行線SI上,并且控制從串行線SO上接收數據,存儲在接收緩沖區,并行數據轉換成串行輸出由并串轉換狀態機來控制實現,見圖3。

    本文引用地址:http://www.czjhyjcfj.com/article/191112.htm

    c.JPG


    各狀態含義如下:
    TX_IDLE:等待主機設置控制寄存器的GO位,如果置“1”,表示準備開始傳輸,跳入下一狀態TX_ADDR。
    TX_ADDR:當傳輸長度小于等于32位時,跳入下一狀態PARALELL_DATA。
    PARALELL_DATA:如果GO為1,在此狀態TIP將被置“1”,說明傳輸開始,傳輸的計數器開始計數。
    SERIAL_DATA:并行數據轉換為串行數據發送出去,當CNT_SHIFT計數器減到0時,傳輸結束,狀態跳入TX_IDLE。
    2.3 串行移位時鐘設計
    SPI串行線上的主從設備必須根據具體要求設置匹配的傳輸時序模式,時序只有匹配,數據傳輸才能正常進行。如果設置的不匹配,可能導致數據接收方和發送方在同一時鐘沿作用,而使數據傳輸失敗。本設計中的時鐘僅支持SP0模式,即串行時鐘處于空閑電平時,空閑狀態時鐘的極性電平為低,在時鐘的前沿采樣數據,時鐘后沿串行線上數據變化。
    在采樣時刻,線上數據必須已經穩定可靠,因此數據發送端設備應提前將數據移出到數據線上,本SPI接口電路設計在同一串行移位時鐘周期中的前一個時鐘沿(即相反時鐘變化方向)將數據移出,移位時鐘設計為系統時鐘的兩分頻,為40/2MHz。
    2.4 SPI相關寄存器描述
    在本設計中,共有四種32位寄存器,包括控制寄存器,從設備選擇寄存器,加載配置數據起始寄存器以及加載配置數據完成寄存器。
    控制寄存器用來控制配置信息加載方式,即:片外加載方式或主機直接加載方式。當選擇片外加載方式時,控制寄存器還用來控制一次數據傳輸的長度。CTRL寄存器的具體描述見表1。

    d.JPG



    關鍵詞: T1024 FLASH 1024 25T

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 交口县| 黄陵县| 姜堰市| 同心县| 县级市| 丁青县| 谷城县| 咸丰县| 永宁县| 区。| 仁布县| 尚义县| 阿荣旗| 平顺县| 鄯善县| 博湖县| 庆安县| 三河市| 新兴县| 玉门市| 平遥县| 萨嘎县| 从化市| 盱眙县| 米林县| 舞阳县| 涿州市| 繁昌县| 高州市| 淳化县| 台安县| 泰安市| 临清市| 虎林市| 札达县| 卓资县| 长丰县| 凤庆县| 五家渠市| 长乐市| 镇原县|