国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【FPGA】SPI-FLASH-M25P16手冊解讀

這篇具有很好參考價值的文章主要介紹了【FPGA】SPI-FLASH-M25P16手冊解讀。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

M25P16概述:

M25P16是一款帶有先進寫保護機制和高速SPI總線訪問的串行Flash存儲器。M25P16特點如下:

  • 存儲結構:16M Bit(2M Byte)的存儲空間,一共32個扇區(qū)(sector),每個扇區(qū)256頁,每頁256字節(jié),每個字節(jié)的的存儲地址由扇區(qū)地址(8bit)+頁地址(8bit)+字節(jié)地址(8bit)構成。
  • SPI總線兼容的串行接口。
  • 可以單扇區(qū)擦除,也可以整塊擦除。
  • 可以同時編程1~256字節(jié),頁編程速率高達256Byte/1.4ms,即寫入一頁數據需要1.4ms。
  • 數據保存至少20年。
  • 只支持SPI工作模式0和3。

m25p16,單片機,fpga

M25P16引腳圖如下:

m25p16,單片機,fpga

m25p16,單片機,fpga

引腳描述:

m25p16,單片機,fpga

C: 時鐘信號,相當于SPI總線的SCLK。

D: 數據輸入,相當于SPI總線的主機輸出、從機輸入MOSI。

Q: 數據輸出,相當于SPI總線的主機輸入、從機輸出MISO。

S#: 片選信號,相當于SPI總線的片選信號CS_N。

HOLD: 在選中期間期間輸出高阻態(tài),實際上比較像SDRAM的“掩碼”。

W#: 寫保護,低電平有效,在寫保護有效時無法寫入數據。

VCC: 電源。

VSS : 電源地。

M25P16工作原理和保護機制

1.工作原理:
  • M25P16寫入一個字節(jié)數據需寫使能(WREN)和寫入(PP)指令,采用這兩個指令實現單頁編程。對于某個單字節(jié)空間的操作,在使用PP指令之前需要對其擦除(FFh)。擦除操作可通過單塊擦除指令(SE)和整塊擦除(BE)來完成。擦除之前需要先執(zhí)行WREN指令。
  • 當片選信號被拉為低電平,在時鐘信號的第一個下降沿開始采樣數據輸入信號。每個指序列都是以單字節(jié)指令代碼開頭,緊接著就是地址或數據。在讀取數據、快速讀取數據、讀狀態(tài)寄存器、讀標識和讀電子簽名時,數據輸出序列緊隨輸入指令序列。當數據輸出序列的所有數據位都輸出后,片選信號置為高電平。而在頁數據寫入、單塊擦除、整塊擦除、寫狀態(tài)寄存器、寫使能和寫無效時,片選信號必須在一個字節(jié)內置為高電平。否則,指令不執(zhí)行。也就是說,拉低片選信號后,時鐘信號必須是8的整數倍。在寫狀態(tài)寄存器周期、數據寫入周期或者擦除周期,則忽略任何對存儲空間的訪問,并不會對這些周期產生影響。
2.保護機制

使用非易失性存儲設備的環(huán)境可能噪聲很大。沒有SPI設備能在噪聲過大的情況下正常工作。為了解決這個問題,M25P16擁有以下數據保護機制:

a.開機復位和內部定時器(tPUW)可以在電源超出操作規(guī)范時提供保護,防止意外變化;

b.編程、擦除和寫狀態(tài)寄存器指令在被接受執(zhí)行之前,檢查它們是否是由8的倍數的時鐘脈沖組成;

c.所有修改數據的指令之前都必須有一個寫使能指令來設置寫使能鎖存器位。這個比特通過以下事件返回到它的重置狀態(tài)。

SPI模式支持:只支持模式00和模式11

m25p16,單片機,fpga

CPOL(時鐘極性)和CPHA(時鐘相位)判斷:

  • 時鐘的極性(CPOL)用來決定在總線空閑時,同步時鐘(SCK)信號線上的電位是高電平還是低電平。當時鐘極性為0時(CPOL=0),SCK信號線在空閑時為低電平;當時鐘極性為1時(CPOL=1),SCK信號線在空閑時為高電平;
  • 當時鐘相位為1時(CPHA=1),在SCLK的偶數沿進行數據采樣,當時鐘相位為0時(CPHA=0),在SCLK的奇數沿進行數據采樣;采樣的上升沿和下降沿根據CPOL決定。
  • m25p16,單片機,fpga

  • m25p16,單片機,fpga

操作指令

m25p16,單片機,fpga

  • m25p16,單片機,fpga

M25P16時鐘頻率

  • 需要注意的是M25P16普通讀支持的頻率如下,此時我們進行四分頻,選擇12.5M這個頻率:

m25p16,單片機,fpga

  • 此外,各指令在發(fā)出后,仍需要一定的時間才能真正執(zhí)行完,各個指令所需的時間如下:

m25p16,單片機,fpga

  • 需要注意的是,在兩個指令之間需要間隔一定的時間(比如發(fā)送全擦除指令前需要發(fā)送寫使能指令,在這兩個指令之間就需要間隔一定的時間),具體時間如下:

m25p16,單片機,fpga

m25p16,單片機,fpga

M25P16指令操作

m25p16,單片機,fpga

讀ID--Read Identification (RDID):1字節(jié)的指令、3字節(jié)的ID數據

Read Identification (RDID)指令允許讀取8位的制造商標識,操作指令為9Fh,然后讀取兩個字節(jié)的設備標識。設備標識由設備制造商指定,第一個字節(jié)表示內存類型(20h),第二個字節(jié)表示內存類型(20h),第三個字節(jié)表示設備的內存容量(15h)。

m25p16,單片機,fpga

m25p16,單片機,fpga

讀數據--Read Data Bytes (READ):1字節(jié)指令+3字節(jié)地址+1字節(jié)數據

m25p16,單片機,fpga

讀數據操作,操作指令為03h,要執(zhí)行數據讀指令,首先拉低片選信號選中 Flash 芯片,隨后寫入數據讀(READ)指令,緊跟指令寫入 3 字節(jié)的數據讀取首地址(A23-A0),指令和地址會在串行時鐘上升沿被芯片鎖存。隨后存儲地址對應存儲單元中的數據在串行時鐘下降沿通過串行數據總線輸出。 數據讀取首地址可以為芯片中的任何一個有效地址,使用數據讀(READ)指令可以對芯 片內數據連續(xù)讀取,當首地址數據讀取完成,會自動對首地址的下一個地址進行數據讀取。若最高位地址內數據讀取完成,會自動跳轉到芯片首地址繼續(xù)進行數據讀取,只有再次拉高片選信號,才能停止數據讀操作,否者會對芯片執(zhí)行無線循環(huán)讀操作。具體時序如下:

m25p16,單片機,fpga

讀取狀態(tài)寄存器--Read Status Register (RDSR):1字節(jié)指令+2字節(jié)數據

m25p16,單片機,fpga

讀取狀態(tài)寄存器(RDSR)指令允許讀取狀態(tài)寄存器,操作指令為05h,狀態(tài)寄存器可以在任何時候被讀取,即使是在頁編程、擦除或寫狀態(tài)寄存器周期正在進行。當其中一個循環(huán)正在進行時,建議檢查WIP位,然后再向設備發(fā)送新指令。

m25p16,單片機,fpga

WIP:

WIP (Write In Progress)位表示內存是否處于寫狀態(tài)寄存器、頁編程或擦除周期。當設置為1時,表示設備處于工作狀態(tài),當設置為0時,表示設備處于空閑狀態(tài)。

WEL:

WEL (Write Enable Latch)位表示內部Write Enable Latch的狀態(tài)。當設置為1時,內部寫使能被設置,當設置為0時,表示沒有接收寫狀態(tài)寄存器,頁編程或擦除指令。

BP2、BP1、BP0: 塊保護(BP2,BP1, BP0)位是非易失性的。它們定義了被軟件保護的區(qū)域的大小

編程和擦除指令。這些位是用寫狀態(tài)寄存器(WRSR)指令寫的。

m25p16,單片機,fpga

寫使能時序--Write Enable (WREN):1字節(jié)指令

m25p16,單片機,fpga

寫使能(WREN) 指令用于設置內部寫使能鎖存器位。在頁編程、扇區(qū)擦除、整塊擦除和寫狀態(tài)寄存器之前,必須先執(zhí)行寫使能。當片選信號拉低后,就開始執(zhí)行寫使能指令,接著傳輸指令。指令發(fā)送完后,片選信號置為高電平。

m25p16,單片機,fpga

扇區(qū)擦除--Sector Erase (SE):1字節(jié)指令+3字節(jié)地址

m25p16,單片機,fpga

扇區(qū)擦除(Sector Erase)操作,簡稱 SE,操作指令為 D8h,扇區(qū)擦除指令是將 Flash 芯片中的被選中扇區(qū)的所有存儲單元設置為全 1,在 Flash 芯片寫入扇區(qū)擦出指令之前,需要先寫入寫使能 (WREN)指令;發(fā)送完擦除指令后就進入擦除周期(持續(xù)時間tSE或tBE)。發(fā)送擦除指令之前必須先發(fā)送寫使能指令。時序圖如下:

m25p16,單片機,fpga

頁寫--Page Program (PP):1字節(jié)指令+3字節(jié)地址+1字節(jié)數據

m25p16,單片機,fpga

頁寫(Page Program)操作,簡稱 PP,操作指令為02h。要發(fā)送一個數據字節(jié),需要兩個指令:寫使能指令(WREN)和頁編程指令(PP),然后是內部頁編程周期(持續(xù)時間為tPP)。Page Program (PP)指令允許一次編程最多256字節(jié)(將位從1改為0),前提是它們位于同一內存頁上的連續(xù)地址中。

Flash 芯片中一頁最多可以存儲 256 字節(jié)數據,這也表示頁寫操作一次最多向 Flash 芯片寫入 256 字節(jié)數據若寫入超出256字節(jié),則超出字節(jié)會覆蓋本頁原有的數據。

頁寫時序如下:

m25p16,單片機,fpga文章來源地址http://www.zghlxwxcb.cn/news/detail-758012.html

到了這里,關于【FPGA】SPI-FLASH-M25P16手冊解讀的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【STM32 CubeMX】SPI_Flash_W25Q64的操作方法

    【STM32 CubeMX】SPI_Flash_W25Q64的操作方法

    在嵌入式系統(tǒng)開發(fā)中,使用外部 SPI Flash 存儲器可以為 STM32 微控制器提供額外的存儲空間,以存儲程序代碼、配置數據等。W25Q64 是一款常見的 SPI Flash 存儲器,具有64Mb容量和SPI接口。本文將介紹如何使用 STM32 CubeMX 結合 SPI 庫與 W25Q64 SPI Flash 進行集成,以便在 STM32 微控制器上

    2024年02月22日
    瀏覽(23)
  • 【STM32】SPI初步使用 讀寫FLASH W25Q64

    【STM32】SPI初步使用 讀寫FLASH W25Q64

    (1) SS( Slave Select):從設備選擇信號線,常稱為片選信號線,每個從設備都有獨立的這一條 NSS 信號線,當主機要選擇從設備時,把該從設備的 NSS 信號線設置為低電平,該從設備即被選中,即片選有效,接著主機開始與被選中的從設備進行 SPI通訊。所以 SPI通訊以 NSS 線置低電

    2024年02月10日
    瀏覽(22)
  • 【FPGA】SPI讀寫flash

    【FPGA】SPI讀寫flash

    SPI是同步全雙工通信,通信原理以主從方式工作,通常有一個主設備和一個或多個從設備,需要4根線連接:MISO(主設備數據輸入)、MOSI(主設備輸出)、SCLK(時鐘)、CS(片選)。通常拉低對應從機的片選來收發(fā)數據。 MISO:主設備輸入,從設備輸出 MOSI:主設備輸出,從設備輸入 SCLK:時

    2024年02月05日
    瀏覽(19)
  • 【FPGA】SPI讀寫FLASH閃存

    【FPGA】SPI讀寫FLASH閃存

    通信原理 SPI也是以主從方式工作,通常需要四根線來完成數據的傳輸,分別是MISO MOSI CS SCLK。以下是這四根線代表的含義: MISO:主設備輸入,從設備輸出 MOSI:主設備輸出,從設備輸入 CS :片選信號,選擇進行通信的從設備 SCLK:時鐘線,由主設備產生給到從設備 SPI通信的

    2024年02月16日
    瀏覽(26)
  • FPGA使用SPI控制FLASH

    FPGA使用SPI控制FLASH

    通過控制FLASH芯片進一步熟悉SPI協(xié)議 Flash 存儲器 : Flash 存儲器是一種非易失性存儲器,它具有 RAM 和 ROM 的一些特點。與 ROM 類似,Flash 存儲器的內容在斷電時不會丟失,但與 RAM 類似,它可以通過編程來修改存儲的內容。Flash 存儲器通常用于嵌入式系統(tǒng)中存儲程序代碼、配置

    2024年03月19日
    瀏覽(22)
  • FPGA模塊——SPI協(xié)議(讀寫FLASH)

    FPGA模塊——SPI協(xié)議(讀寫FLASH)

    芯片引腳圖: 內部結構圖: 存儲區(qū)域總共分成了32塊,每塊64KB。每塊又分成了16個部分,每個部分4KB。方便進行讀取和局部操作。 電路設計 SPI的四種模式 這里使用這個模式: 主機和從機在時鐘上升沿放入要輸出的數據,在時鐘下降沿讀取要輸入的數據。 8個時鐘后交換一個

    2024年02月05日
    瀏覽(21)
  • FPGA解析串口指令控制spi flash完成連續(xù)寫、讀、擦除數據

    FPGA解析串口指令控制spi flash完成連續(xù)寫、讀、擦除數據

    最近在收拾抽屜時找到一個某寶的spi flash模塊,如下圖所示,我就想用能不能串口來讀寫flash,大致過程就是,串口向fpga發(fā)送一條指令,fpga解析出指令控制flah,這個指令協(xié)議目前就是: 55 + AA + CMD + LEN_h + LEN_m + LEN_l + DATA CMD:01 寫;02 讀;03 擦除(片擦除); LEN_h/m/l:三個字

    2024年02月03日
    瀏覽(21)
  • 【STM32CubeMX學習】SPI讀寫W25Q16

    【STM32CubeMX學習】SPI讀寫W25Q16

    ????????SPI分為主從工作模式,通常有一個主設備和一個或多個從設備,本文中MCU為主機,W25Q16為從機。 SPI通信有以下四根線: MISO:主設備數據輸入,從設備數據輸出。 MOSI:主設備數據輸出,從設備數據輸入。 SCLK:時鐘信號,由主設備產生。 CS:從設備片選信號,由

    2024年02月03日
    瀏覽(17)
  • 基于STM32實現W25Q16讀寫操作(spi)

    基于STM32實現W25Q16讀寫操作(spi)

    在之前我們學習了flash閃存,這個更多的是內部數據存儲,容量也是會比較小。這次我們來學習一下更多的存儲單元w25q16,順便了解spi———串行外圍設備接口。 在我們的核心板子上基本都會有這么一塊芯片,只是有的容量會計較大,大家可以查看板子的原理圖,如圖所示:

    2024年01月19日
    瀏覽(23)
  • MicroBlaze系列教程(7):AXI_SPI的使用(M25P16)

    本文是Xilinx MicroBlaze系列教程的第7篇文章。 AXI_SPI簡介 Xilinx AXI-SPI IP共有兩個:一個是標準的AXI_SPI,即4線制SPI,CS、SCLK、MOSI和MISO,另一個是AXI_Quad SPI,支持配置成標準SPI、2位數據線Dual SPI和4位數據線Quad SPI模式,在Xilinx ISE開發(fā)環(huán)境下有兩個IP核是分開的,而在Vivado開發(fā)環(huán)境

    2024年02月08日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包