首页 » 通讯 » SPI-Flash是什么?运用留心事项及常见问题_擦除_芯片

SPI-Flash是什么?运用留心事项及常见问题_擦除_芯片

南宫静远 2024-12-25 16:37:55 0

扫一扫用手机浏览

文章目录 [+]

SPI:serial peripheral interface

串行接口设备,spi flash 便是通过串行的接口进行操作的flash存储设备

SPI-Flash是什么?运用留心事项及常见问题_擦除_芯片 SPI-Flash是什么?运用留心事项及常见问题_擦除_芯片 通讯

flash按照内部存储构造不同,分为两种:nor flash和nand flash。
这里spi flash 属于 nor flash!

SPI-Flash是什么?运用留心事项及常见问题_擦除_芯片 SPI-Flash是什么?运用留心事项及常见问题_擦除_芯片 通讯
(图片来自网络侵删)

spi flash 读写较慢,次数有限定,一样平常用于不常常变动的存储。

早期Norflash的接口是parallel的形式,即把数据线和地址线并排与IC的管脚连接。
但是后来创造不同容量的Norflash不能硬件上兼容(数据线和地址线的数量不一样),并且封装比较大,占用了较大的PCB板位置,所往后来逐渐被SPI(串行接口)Norflash所取代。
同时不同容量的SPI Norflash管脚也兼容封装也更小。
,至于现在很多人提及NOR flash直接都以SPI flash来代称。

二、SPI FLASH读写先容

对flash芯片的操作,一样平常包括对flash芯片的擦除,编程和读取,各大厂商的SPI flash芯片都大同小异,操作命令基本是没什么变革的,当我们拿到一款芯片,要特殊把稳芯片的容量,操作分区等。

实在,无论是对芯片的擦除,编程还是读取操作,我们大致可以按照以下的套路来:写命令---写地址---写(读)数据。
正如以下的时序图一样清晰明了,我们先把片选旗子暗记拉低,再依次写指令,地址和数据,就可以对FLASH芯片进行操作。

节制以上方法,就可以轻松操作SPI flash芯片了,当然,对时序这种底层的操作,还须要不断学习和积累,不论是用FPGA还是MCU,终极都是为了产生时序旗子暗记,只要静下来负责理解了它,统统问题就迎刃而解了。

三.把稳事变

1.不同的SPI FLASH芯片可能会供应的擦除办法:扇区擦除(4KBytes),半块擦除(32KBytes),块擦除(64KBytes),片擦除。

2.不同的SPI FLASH芯片可能会供应的编程办法(也便是写数据):页编程(256Bytes),扇区编程(4KBytes)。

3.SPI FLASH如果擦除过,在往里面写0xFF这样的数据意义不大,由于它的特性便是擦除后数据便是0xFF。

4.写入flash时,只能把数据(bit)从1该为0。

5.传统的EEPROM的特点便是可以随机访问和修正任何一个字节,可以往每个bit中写入0或1。
而写入flash时,只能把数据(bit)从1该为0。
但是传统的EEPROM容量因本钱的缘故收到限定,绝少有超过有512K的。

6.Nor Flash容量相对小,本钱高,基本没坏块,数据线和地址线分开,可以实现随机寻址,读取任何一个字节,擦除任然要按块来擦。
NAND FLASH容量大,本钱低,坏块常常涌现,但可以标记坏块,使软件跳过,数据线和地址线复用,按块擦除按页读取。

四、项目实操中的问题

项目中须要用到SPI flash,在利用这个4MB 的SPI flash中出了三个问题让印象深刻,特记录下来以作提醒

问题1:我们知道SPI flash也分主从模式,一样平常master都是有MCU等器件担当的,而slave有SPI器件担当,笔者的这个小系统同样如此。

并且MCU是自带有SPI controler,接线办法依然是四线解法,SCK,CS,DO,DI,在看手册的过程由于自己的不把稳,看到描述是“user can

decide the SPICS configuration in the master mode,if P_IO_Ctrl[10] set 1, the IOA[12] as GPIO function, if P_IO_Ctrl[10] set 0, the IOA[12] as SPICS hardware function” 我当时没有好好体会这句话的意思,大略的认为我在利用SPI flash之前就k肯定须要把P_IO_Ctrl[10]设置为 0, 实在这是缺点的认识。

由于现在是通过MCU对slave SPI器件操作,首先肯定是须要MCU端来选中SPI器件,从master角度来讲,只须要一个GPIO旗子暗记线接到slave的CS端,同时输出低电平就相称了选中了这个slave了,之以是如此说法是由于这是从slave角度来说的,相称于MCU现在也作为一个slave,另一个MCU掌握这个slave,则这时候SPI 初始化时就须要把 P_IO_Ctrl[10] set 0

问题2:须要一个烧录器向SPI flash中烧写内容,用的是西立特公司的superPro,但烧录步骤缺点了,忘却了在编程之前必须要erase,

理解了一下,彷佛是和nor flash一样的介质,擦除会把所有bit置1,在编程的时候根据须要只可以把相应位置0.

问题3:在利用MCU上一个SPI 掌握器接口接SPI flash时,没有交叉连接,即MCU 的DI该当接SPI 的DO,MCU 的DO该当接SPI 的DI。

标签:

相关文章

跨界之旅,IT行业转行攻略与心得分享

在科技日新月异的今天,IT行业以其高薪和广阔的发展前景吸引了大量人才涌入。随着时间的推移,部分从业者开始寻求新的发展路径,选择从I...

通讯 2024-12-27 阅读0 评论0