亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

SPI方式讀取外部FLASH抓取時序圖

發布時間:2020-07-25 04:33:44 來源:網絡 閱讀:5169 作者:weiqi7777 欄目:開發技術

         使用STM32SPI控制器,對外部的W25X16 FLASH2M字節)芯片進行操作。以下為邏輯分析儀抓取的時序。

         以下是該FLASH芯片的命令表。

    SPI方式讀取外部FLASH抓取時序圖

 

1、          1、讀取器件ID

先拉低片選信號CS,再發送命令0XAB,再發送三個字節的dummy。讀取第四個字節數據,數據就是device ID。最后拉高CS,結束一次操作。

    SPI方式讀取外部FLASH抓取時序圖

         以下是發送命令0XAB放大的圖。可以看出CLK空閑狀態是高電平(CPOL = 1),偶數邊沿為采樣時刻(CPHA = 1)。

    SPI方式讀取外部FLASH抓取時序圖

 

2、          2、讀取jedec標準ID

先拉低片選信號CS,再發送命令0X9f,讀取三個數據。最后拉高CS,結束一次操作。

第一個數據:生產廠商

第二個數據:存儲器類型

第三個數據:容量

    SPI方式讀取外部FLASH抓取時序圖

 

3、         3、 寫使能

Flash在寫數據,擦除,寫狀態寄存器之前,首先要打開寫使能。打開寫使能的方法也很簡單,發送命令0x06即可。

    SPI方式讀取外部FLASH抓取時序圖

 

4、         4、 寫數據

拉低片選,發送命令0x02,表示寫操作。發送3個字節的地址。因為選用的flash芯片大小為2M,地址范圍為0x00_0000 – 0x1f_ffff。所以需要24位表示地址。因此要發送3個字節來表征寫入的地址。

   SPI方式讀取外部FLASH抓取時序圖

         三個地址發送完畢后,就開始發送要寫入的數據。

         數據寫完畢后,拉高片選即可。

    SPI方式讀取外部FLASH抓取時序圖

         在寫數據完成后,要讀取flash芯片的狀態寄存器,判斷器件狀態。

         讀取狀態寄存器,所用命令為0x05,第二個SPI周期即為讀取的狀態寄存器值,可以一直讀取該狀態寄存器的值。

SPI方式讀取外部FLASH抓取時序圖

當讀到狀態寄存器的值為0x00后,表示器件完成寫操作。

    SPI方式讀取外部FLASH抓取時序圖

 

5、          5、扇區擦除

使用命令0x20對扇區進行擦除。

         擦除是從寫入扇區地址開始到扇區結束地址之間的內容擦除。即如果寫入擦除的地址是0x00_0010,那么就會將0x00_0010 – 0x00_0FFF(一個扇區大小是4k)之間的內存區域擦除為0xff

    SPI方式讀取外部FLASH抓取時序圖

6、          

                6、塊擦除

和扇區擦除一樣,只是發的命令為0xd8,擦除的最大大小是64KB

 

7、          7、芯片擦除

擦除整個芯片,發送命令0xc7

SPI方式讀取外部FLASH抓取時序圖

 

8、         8、 讀數據

FLASH的讀數據有三種方式:

 

第一種是普通讀方式:

先拉低片選信號CS,再發送命令0X03,發送讀取數據的地址,3個字節。后面每個SPI周期,就是讀取的數據。

 

    SPI方式讀取外部FLASH抓取時序圖

         第二種是快速讀方式(fast read):

先拉低片選信號CS,再發送命令0X0b,發送讀取數據的地址,3個字節。發送一個dummySPI周期,后面每個SPI周期,就是讀取的數據。

         快速讀方式,要等待5SPI周期后,才開始讀取有效信息。而普通讀模式下,只需等待4SPI周期后,就可以讀取有效信息了。

    SPI方式讀取外部FLASH抓取時序圖

         第三種是快速雙通道讀方式(fast read dual output

拉低片選CS,發送命令0x3b,發送讀取數據的地址,3個字節。發送一個dummySPI周期,后面每個SPI周期,就是讀取的數據。

SPI方式讀取外部FLASH抓取時序圖

         從時序圖。看出這種讀方式下,MOSIMISO都參與了讀數據的傳輸。所以在這種模式下,一個SPI可以讀取兩個字節。

                        第一個字節              第二個字節

         MISO    (1D7, 1D5, 1D3, 1D2)    (2D7, 2D5, 2D3, 2D2)

         MOSI        (1D6, 1D4, 1D2, 1D0)    (2D6, 2D4, 2D2, 2D0)

 

         下面通過波形圖比較一下三種讀取數據方式:

 

普通read讀取的波形圖。第一個有效數據在第5SPI處,值為0x69 第二個有效數據在第6SPI處,值為0x20

     SPI方式讀取外部FLASH抓取時序圖

Fast read讀取的波形圖。第一個有效數據在第6SPI處,值為0x69,第二個有效數據在第7SPI處,值為0x20

      SPI方式讀取外部FLASH抓取時序圖

Fast read dual讀取的波形圖。MOSIMISO同時參與數據的讀取。第一個有效數據和第二個有效數據在第6SPI處。

MISO   0 1 1 0  0 1 0 0         ( 1D7, 1D5, 1D3, 1D1)    ( 2D7, 2D5, 2D3, 2D1) 

         MOSI   1 0 0 1  0 0 0 0   1D6, 1D4, 1D2, 1D0  2D6, 2D4, 2D2, 2D0

         組合得到第一個數據   01 10 10 01  0x69

組合得到第二個數據   00 10 00 00  0x20

      SPI方式讀取外部FLASH抓取時序圖

       從抓取的波形圖,來學習SPI驅動外部的FLASH,是可以很直觀的看到數據傳輸的過程,從而對SPI協議及外部的FLASH驅動有更深的了解。



    可以下載pdf,查看清晰波形圖片信息。




附件:http://down.51cto.com/data/2367271
向AI問一下細節

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

AI

贞丰县| 大新县| 承德县| 清水河县| 松滋市| 延津县| 瑞安市| 扶余县| 广德县| 海林市| 伽师县| 平阳县| 察隅县| 苏尼特左旗| 石林| 广东省| 奈曼旗| 普宁市| 吉木乃县| 祁门县| 宾阳县| 天津市| 衢州市| 江口县| 汉阴县| 娱乐| 尤溪县| 珠海市| 新龙县| 迁西县| 松滋市| 类乌齐县| 福州市| 邯郸市| 中西区| 图木舒克市| 延庆县| 葫芦岛市| 梁平县| 辉县市| 丰镇市|