国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 存儲閃存 >> Winbond W25QXX SPI Flash使用筆記

Winbond W25QXX SPI Flash使用筆記

關(guān)鍵字:SPI總線 使用筆記 華邦flash 作者:admin 來源: 發(fā)布時間:2019-06-26  瀏覽:87

相較于EEPROM而言,SPI Flash的存儲空間簡直就是打開了一個新世界。以W25Q16為例,16Mb也就是2MB的空間,是AT24C08芯片的1KB空間的2048倍,價格也沒有相差很多。同時使用SPI總線可以實現(xiàn)更高的讀寫速度,W25Qxx的SPI總線可以達(dá)到80MHz,這是IIC總線望塵莫及的,而且我比較喜歡用的STM32單片機(jī)的IIC總線總是讓人那么揪心,所以我一直都是用的軟件模擬IIC,而STM32的SPI則好用得多。但是SPI Flash也屬于是閃存的一種,內(nèi)部也是由Nand flash或者是Nor flash構(gòu)成的,F(xiàn)lash存儲結(jié)構(gòu)的毛病就是在寫入之前必須要執(zhí)行擦除操作,就像STM32單片對自身的Flash空間進(jìn)行編程的時候需要先擦除一頁然后在寫入數(shù)據(jù),SPI Flash也一樣,每次寫入都要先擦除,不像EEPROM一樣方便,想讀哪個讀哪個,想寫哪個寫哪個。并且W25Qxx系列的Flash的數(shù)據(jù)保存時間是20年,而AT24Cxx系列的EEPROM的數(shù)據(jù)保存時間為100年,當(dāng)然我們不指望我們的產(chǎn)品能夠用100年,至少這說明了EEPROM和FLASH各有優(yōu)勢,但是隨著生活生產(chǎn)中數(shù)據(jù)量的增加,F(xiàn)lash的優(yōu)勢變得越來越突出。

由于之后的設(shè)計可能會使用SPI Flash代替EEPROM,所以特地用開發(fā)板上的W25Q16測試了一下Flash的性能。電路連接示意如下圖:

華邦W25QXX線路圖

W25Qxx系列(W25Q80, W25Q16 and W25Q32)的Flash內(nèi)部是按照Page、Sector、Block的結(jié)構(gòu)來劃分的,一個Page為256個Byte,一個Sector為16個Page也就是4KB,一個Block為16個Sector也就是64KB。

不像上學(xué)那會一樣有時間自己寫驅(qū)動代碼了,現(xiàn)在直接拿例程代碼進(jìn)行修改了?偟膩碚fW25Qxx系列的Flash的SPI控制邏輯就是:

  1. 拉低片選引腳
  2. SPI寫命令字
  3. SPI讀/寫數(shù)據(jù)
  4. 拉高片選引腳
  5. 等待完成操作

數(shù)據(jù)擦除可以以Sector為單位也可以以Block為單位,進(jìn)行Sector擦除的時候發(fā)送0x20命令字,然后跟隨24位的存儲地址,寫入的24位地址應(yīng)該是會將低12位忽略掉,不過數(shù)據(jù)手冊上沒有說明。進(jìn)行Block(64KB)擦除的時候發(fā)送0xD8命令字,然后發(fā)送24位的地址,芯片內(nèi)部同樣會忽略低16位地址。擦除之后芯片內(nèi)所有數(shù)據(jù)都是0xFF,這是Flash的特性,感興趣的可以查閱資料,這里做個簡單的說明。Flash存儲單元中是無法寫入位1的,只能寫入位0,所以要寫入數(shù)據(jù)的話要先將原來的數(shù)據(jù)都擦出成0xFF然后寫入數(shù)據(jù)的時候遇到bit 1時不做處理,遇到bit 0時寫入0即可。這就是為什么Flash進(jìn)行寫入之前需要進(jìn)行擦除的原因。我在W25Q16上做了一個有趣的測試,在不擦除Sector的情況下寫入,發(fā)現(xiàn)依然可以寫入,讀出寫入的數(shù)據(jù)發(fā)現(xiàn)新寫入的數(shù)據(jù)的0會將源數(shù)據(jù)中的對應(yīng)位的1覆蓋,但是新寫入的1并不會覆蓋原數(shù)據(jù)中對應(yīng)位的0,印證了上面介紹的Flash原理。也就是說如果一個地址處的數(shù)據(jù)是0xFF,那么這個地址還可以寫入任何數(shù)據(jù),否則不可能完整寫入任何數(shù)據(jù)。

數(shù)據(jù)寫入的時候只能按照Page來寫入,最多一次只能寫256個字節(jié),也就是一個頁的空間,寫入的時候可以不從頁的開始地址寫入,如果一次寫入字節(jié)數(shù)溢出了一個頁的空間,那么多出來的會從循環(huán)到頁的開始地址處覆蓋原來的數(shù)據(jù),數(shù)據(jù)手冊的10.2.14節(jié)說的很明白。頁寫的命令字為0x02,尾隨24位的地址。

有時候我們還需要讀取芯片的ID號,W25Qxx系列Flash有多個ID號,Manufacturer ID、Device ID、Unique ID、JEDEC ID,W25Q16讀取到的Manufacturer ID為0xEF,Device ID為0x14,Unique ID沒讀出來,JEDEC ID沒興趣讀......我感興趣的Unique ID卻沒讀出來,因為這個ID是可以當(dāng)做程序加密使用的。算了,反正STM32也有唯一標(biāo)識ID,寫入到FLASH中也可以實現(xiàn)程序加密。

其實使用上面的4個命令就可以正常得使用SPI Flash工作了,其他的很多命令字都用不上。

編輯:admin  最后修改時間:2019-06-26

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

国产在线视频好看不卡| 男女午夜福利院在线观看| 色哟哟国产精品免费视频| 日本美国三级黄色aa| 久久综合日韩精品免费观看| 人妻亚洲一区二区三区| 中文字幕一区二区三区中文| 久久热中文字幕在线视频| 91欧美日韩精品在线| 欧美人妻少妇精品久久性色| 亚洲视频在线观看免费中文字幕 | 视频在线播放你懂的一区| 欧美日韩国产另类一区二区 | 久热这里只有精品九九| 国产成人精品99在线观看| 国产又黄又猛又粗又爽的片| 久久热在线视频免费观看| 欧美日韩一区二区午夜| 日本午夜免费观看视频| 香蕉久久夜色精品国产尤物| 国产高清精品福利私拍| 久久热中文字幕在线视频| 精品日韩视频在线观看| 久久大香蕉精品在线观看| 亚洲a级一区二区不卡| 夫妻性生活动态图视频| 日本人妻中出在线观看| 免费在线播放不卡视频| 日韩女优精品一区二区三区| 亚洲av熟女国产一区二区三区站| 国产毛片av一区二区三区小说| 日韩精品一区二区一牛| 国产一区二区三区草莓av| 人妻亚洲一区二区三区| 国产成人精品99在线观看| 欧美尤物在线视频91| 欧美日不卡无在线一区| 99久久精品午夜一区二| 一区二区在线激情视频| 精品人妻精品一区二区三区| 久久机热频这里只精品|