溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解AXI Quad Serial Peripheral Interface IP核

發布時間:2021-12-20 11:21:36 來源:億速云 閱讀:332 作者:柒染 欄目:互聯網科技

如何理解AXI Quad Serial Peripheral Interface IP核,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

在使用MicroBlaze過程中,調用了此IP,所以有必須仔細學習下;

名詞:

     XIP: eXecute In  Place 

     Motorola M68HC11 

支持特性:

        *可配置的AXI4接口

        *支持對DRR/DTR FIFO的突發操作;

        *支持可配置的XIP模式操作;

        *支持AXI4-Lite或者AXI4接口連接的32bit Slave;

        *支持可配置的SPI模式:標準、雙、四模式;

        *可編程的SPI時鐘相位和極性;

        *可配置的FIFO深度,16、256深度;對XIP模式只支持64深度;

        *Configurable slave Memories in dual and quad modes are: Mixed,Micro,Winbond,and Spansion;

如何理解AXI Quad Serial Peripheral Interface IP核

如何理解AXI Quad Serial Peripheral Interface IP核

如何理解AXI Quad Serial Peripheral Interface IP核

*SPICR 

如何理解AXI Quad Serial Peripheral Interface IP核

*SPI DTR:

 After the SPE bit is set to 1 in master mode or spisel is active in the slave mode,the data is transferred from the SPI DTR to the shift register. 
如何理解AXI Quad Serial Peripheral Interface IP核

    1. DN-1位始終表示MSB位,與LSB優先或MSB優先傳輸選擇無關。 當傳輸寬度參數為8或16時,未使用的高位((AXI數據寬度-1)到N)被保留。
    2.在標準SPI模式下,根據內核配置,該寄存器的寬度可以是8或16或32。 在雙通道或四通道SPI模式下,該寄存器為8位寬。

 *SPI DRR

SPI數據接收寄存器(SPI DRR)用于讀取從SPI總線接收的數據。 這是一個雙緩沖寄存器。 每次完成傳輸后,接收的數據將被放入該寄存器中。 SPI架構沒有為從設備提供任何方法來限制總線上的流量; 因此,只有在最后一次SPI傳輸之前讀取了SPI DRR時,才會在每次完成的事務后更新SPI DRR。如果未讀取SPI DRR且已滿,則最近傳輸的數據將丟失并發生接收溢出中斷。 主SPI設備也會出現相同的情況。
如何理解AXI Quad Serial Peripheral Interface IP核

 *TX_FIFO_OCY:

僅當AXI Quad SPI內核配置了FIFO(FIFO深度= 16或256)時,才會出現SPI發送FIFO占用寄存器(TX_FIFO_OCY)。 如果它存在且發送FIFO不為空,則寄存器包含一個四位右對齊值,該值比FIFO中的元素數少一(占用率減1)。

該寄存器是只讀的。 寫入時,或當FIFO為空時讀取,寄存器內容不受影響。 確定發送FIFO為空/滿的唯一可靠方法是讀取SPI狀態寄存器中的Tx_Empty / Tx_Full狀態位或中斷狀態寄存器中的DTR空位。

如何理解AXI Quad Serial Peripheral Interface IP核

 *DGIER

    默認[31]=0,全局使能處于disable狀態;

如何理解AXI Quad Serial Peripheral Interface IP核

 *IPIER

中斷允許寄存器(IPIER)寄存器允許系統中斷輸出有效。 如果IPISR寄存器中的有效位對應于IPIER寄存器中的使能位,則會產生該中斷。 IPIER寄存器對IPISR的每個定義位都有一個使能位。 所有位在復位時清零。

* 編程順序:

 寫使能命令順序: 

    1.通過置位SPICR(60h)的主禁止位來禁用主事務,并通過SPICR復位RX和TX FIFO。
         示例:將0x1E6寫入SPICR
    2.通過將0x06寫入SPIDTR來發出write enable命令。
    3.通過向SPISSR(70h)寫入0x00來發出芯片選擇。
    4.通過置低SPICR主禁止位來使能主事務。
    5.通過將0x01寫入SPISSR來置低片選。
    6.通過置位SPICR主禁止位來禁用主事務。

 擦除命令序列:
      1.通過SPICR復位RX和TX FIFO。
      2.將扇區擦除命令(a)發送到SPIDTR以擦除閃存扇區地址后面的任何特定扇區或發出批量擦除命令(a)擦除整個閃存
         然后是flash基地址。
         示例:將0xD8寫入SPIDTR
     3.通過向SPISSR寫入0x00來發出芯片選擇。
     4.通過置低SPICR主禁止位來使能主事務。
     5.通過將0x01寫入SPISSR來置低片選。
     6.通過置位SPICR主禁止位來禁用主事務。

寫數據命令序列:

    1.通過SPICR復位RX和TX FIFO。
    2.將寫入數據命令(a)(b)發送到SPIDTR,以將數據寫入任何特定扇區
        其次是閃存扇區地址。
    3.使用要寫入閃存的數據填充SPIDTR; 最大數據大小取決于
        配置的QSPI FIFO大小。
    4.通過向SPISSR寫入0x00來發出芯片選擇。
    5.通過置低SPICR主禁止位來使能主事務。
    6.通過將0x01寫入SPISSR來置低片選。
    7.通過置位SPICR主禁止位來禁用主事務。

讀取數據命令序列:
   1.通過SPICR復位RX和TX FIFO。
   2.將讀取數據命令(a)(b)發送到SPIDTR以從任何特定扇區讀取數據
       其次是閃存扇區地址。
   3.使用虛擬數據填充SPIDTR以從閃存中讀取所需數據。
   4.通過向SPISSR(70h)寫入0x00來發出芯片選擇。
   5.通過置低SPICR主禁止位來使能主事務。
   6.通過將0x01寫入SPISSR來置低片選。
   7.通過置位SPICR主禁止位來禁用主事務
   8.讀取SPIDRR,以獲取從SPI總線接收的讀取數據。

     a.參見相應的SPI Slave(閃存)數據表,了解要發出的命令。
     b.寫入/讀取命令因使用的模式(標準/雙/四)而異。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女