Flash存儲芯片的通訊方式以SPI居多,在實現(xiàn)flash讀寫時就是要實現(xiàn)SPI的通訊協(xié)議,與EEPROM不同的是,SPI在操作時是按照PAGE頁進行整頁擦除寫入的,這一點需要注意。Flash分為NorFlash和NandFlash,這里主要介紹NorFlash,下面從硬件設(shè)計和編程的角度介紹一下。
1 Flash存儲芯片的硬件設(shè)計
Flash存儲芯片多數(shù)都是SO-8的封裝,具有八個引腳,存儲容量較大,比如1M,2M,64M,128M等。通訊方式以SPI居多,所包含的引腳有數(shù)據(jù)輸出DO、數(shù)據(jù)輸入DI、時序SCLK、片選CS以及寫保護WP等。
需要用到四個GPIO,片選CS低電平有效,保持和寫保護為可選功能。
2 Flash存儲芯片的編程事項
Flash是用來存儲數(shù)據(jù)的,在消費類電子上應用比較多,如智能手環(huán)、體重秤以及作為WIFI、藍牙模組的固件存儲等。對Flash芯片的操作主要包括擦除和寫入。Flash廠家、型號雖然不同,但是同為SPI通訊方式時,基本操作大同小異,都是通過整個PAGE來擦除和寫入的,需要注意容量、可操作扇區(qū)的不同。在編程時需要注意如下幾個問題:
首先,在拿到Flash時需要首先查看Flash的扇區(qū)劃分
其次,需要根據(jù)手冊的SPI時序?qū)崿F(xiàn)程序代碼的編寫,這一部分一定要遵循手冊的時序。
再次,需要設(shè)置正確的波特率并選擇選擇CPOL和CPHA。編程部分,代碼的編寫比較靈活每個人的實現(xiàn)方式不同、編程思想不同,無法展示代碼。也可以選擇官方的驅(qū)動代碼,在此基礎(chǔ)上進行修改。
EEPROM一般為IIC通訊,是按照字節(jié)讀寫的,而SIP的Flash是按照PAGE頁進行擦除和讀寫的,這一點需要注意。
-
FlaSh
+關(guān)注
關(guān)注
10文章
1614瀏覽量
147652 -
編程
+關(guān)注
關(guān)注
88文章
3565瀏覽量
93535 -
存儲芯片
+關(guān)注
關(guān)注
11文章
881瀏覽量
43040
發(fā)布評論請先 登錄
相關(guān)推薦
評論