Flash存儲芯片的通訊方式以SPI居多,在實現flash讀寫時就是要實現SPI的通訊協議,與EEPROM不同的是,SPI在操作時是按照PAGE頁進行整頁擦除寫入的,這一點需要注意。Flash分為NorFlash和NandFlash,這里主要介紹NorFlash,下面從硬件設計和編程的角度介紹一下。
1Flash存儲芯片的硬件設計
Flash存儲芯片多數都是SO-8的封裝,具有八個引腳,存儲容量較大,比如1M,2M,64M,128M等。通訊方式以SPI居多,所包含的引腳有數據輸出DO、數據輸入DI、時序SCLK、片選CS以及寫保護WP等。與單片機通訊的電路原理如下圖所示。
需要用到四個GPIO,片選CS低電平有效,保持和寫保護為可選功能。
2Flash存儲芯片的編程事項
Flash是用來存儲數據的,在消費類電子上應用比較多,如智能手環、體重秤以及作為WIFI、藍牙模組的固件存儲等。對Flash芯片的操作主要包括擦除和寫入。Flash廠家、型號雖然不同,但是同為SPI通訊方式時,基本操作大同小異,都是通過整個PAGE來擦除和寫入的,需要注意容量、可操作扇區的不同。在編程時需要注意如下幾個問題:
EEPROM一般為IIC通訊,是按照字節讀寫的,而SIP的Flash是按照PAGE頁進行擦除和讀寫的,這一點需要注意。
以上就是這個問題的回答,感謝留言、評論、轉發。更多電子設計、硬件設計、單片機等內容請關注本:玩轉嵌入式。感謝大家。