Flash存储芯片的通讯方式以SPI居多,在实现flash读写时就是要实现SPI的通讯协议,与EEPROM不同的是,SPI在操作时是按照PAGE页进行整页擦除写入的,这一点需要注意。Flash分为NorFlash和NandFlash,这里主要介绍NorFlash,下面从硬件设计和编程的角度介绍一下。

1 Flash存储芯片的硬件设计

Flash存储芯片多数都是SO-8的封装,具有八个引脚,存储容量较大,比如1M,2M,64M,128M等。通讯方式以SPI居多,所包含的引脚有数据输出DO、数据输入DI、时序SCLK、片选CS以及写保护WP等。

需要用到四个GPIO,片选CS低电平有效,保持和写保护为可选功能。

2 Flash存储芯片的编程事项

Flash是用来存储数据的,在消费类电子上应用比较多,如智能手环、体重秤以及作为WIFI、蓝牙模组的固件存储等。对Flash芯片的操作主要包括擦除和写入。Flash厂家、型号虽然不同,但是同为SPI通讯方式时,基本操作大同小异,都是通过整个PAGE来擦除和写入的,需要注意容量、可操作扇区的不同。在编程时需要注意如下几个问题:

首先,在拿到Flash时需要首先查看Flash的扇区划分

其次,需要根据手册的SPI时序实现程序代码的编写,这一部分一定要遵循手册的时序。

再次,需要设置正确的波特率并选择选择CPOL和CPHA。编程部分,代码的编写比较灵活每个人的实现方式不同、编程思想不同,无法展示代码。也可以选择官方的驱动代码,在此基础上进行修改。

EEPROM一般为IIC通讯,是按照字节读写的,而SIP的Flash是按照PAGE页进行擦除和读写的,这一点需要注意。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查