快讯
HOME
快讯
正文内容
nand flash 转 spi 宏旺半导体解答什么是SPI Flash 运用于哪些领域
发布时间 : 2024-10-06
作者 : 小编
访问数量 : 23
扫码分享至微信

宏旺半导体解答什么是SPI Flash 运用于哪些领域

有关注宏旺半导体的小伙伴都知道,宏旺半导体是一家专注于存储芯片Design、研发、封装、测试、销售服务于一体的高科技企业。在之前宏旺半导体给大家带来了很多关于存储方面的文章,主要介绍了eMMC、UFS等Flash,但很少提到SPI闪存,作为闪存家族的重要一员,今天就和大家聊聊ICMAX SPI。

什么是SPI Flash

SPI Flash是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,一般智能电视、老式机顶盒、智能后视镜、投影仪、物联网、监控摄像机等产品会用到。由于体积小,它可以减少ASIC控制器引脚数,降低封装成本,缩小电路板空间,并降低系统成本。与并行闪存相比,SPI串行闪存功耗更低、连线更少,它是一种理想的高成本效益的数据传输解决方案。

如果采用SPI NAND Flash的方案,主控(MCU)内可以不需要带有传统NAND的控制器,只需要有SPI的接口,这样可以减少主控的成本。另外SPI NAND Flash的封装形式多采用 WSON的封装,尺寸比传统的NAND Flash TSOP的封装要小很多,充分节省了PCB板的空间,已经管脚的数量,从而可以减小PCB的尺寸及层数,既满足了小型化的需求也降低了产品的成本。

随着5G网络即将带来的数据狂潮,万物互联对存储芯片有了更高的需求,目前SPI SLC NAND在PON、网通模块、监控等领域也逐步普及。SPI NAND有更快的写入速度,且对于频繁擦写有着更高的稳定性。从上面我们了解到了 SPI NAND Flash的这么多优点,那么他的性能相比于传统的NAND Flash是否有打折扣呢?

我们以国产本土品牌ICMAX的2Gb SPI NAND Flash 型号为IMS2G083J1H2S-WN 为例来进行说明。SPI NAND Flash本质上是一个NAND Flash+ SPI controller,ICMAX为了提供给客户稳定可靠的ICMAX Flash,保证用户的程序代码的一致性,将NAND Flash和 SPI controller做了独特别设计,从而保证了所有ICMAX出厂的SPI NAND Flash都拥有一致的controller,客户在对于SPI 编程时也不会出现因为不同的controller导致驱动程序需要调整的问题。

另外ICMAX拥有完全自主的NAND Flash设计能力,在SPI NAND Flash中采用的 NAND 晶圆均为SLC规格的,擦写次数达到10万次,存储时间高达10年以上,硬件的ECC校验,更好的帮助客户管理好Flash。宏旺半导体ICMAX的SPI NAND具备体积小、集成度高等优势,从严格的封装、测试、认证等一步到位,大大缩短生产周期,为客户提供高性能到高性价比的解决方案,帮助客户抢占市场先机。

SPI-Flash是什么?使用注意事项及常见问题

一.概念:

SPI:serial peripheral interface

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

flash按照内部存储结构不同,分为两种:nor flash和nand flash。这里spi flash 属于 nor 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。

相关问答

spi flash 工作原理?

SPIflash是一种片外扩展存储的方法。主机与flash芯片采用SPI(SerialPeripheralInterface串行外设接口)总线进行通信。因为norflash是数据串行通信,而...

SPI FLASH 与NOR FLASH 的区别?

1、SPIFlash(即SPINorFlash)是NorFlash的一种;2、NORFlash根据数据传输的位数可以分为并行(Parallel)NORFlash和串行(SPI)NORFlash;3...

spi 接口的主从设备怎么接?

SPI接口的主从设备接法如下:-主设备(Master):时钟信号产生器,驱动SPI总线。比如单片机、MCU等。-从设备(Slave):接受主设备发送的时钟信号。比如SPIF...

SPI 闪存,什么是 SPI 闪存?

1、意思是SPIFlash存储器2、SPIFlash(即SPINorFlash)是NorFlash的一种,NORFlash是一种非易失闪存技术,是Intel创建的。1、意思是SPI...

高人指点MCU(只支持5V供电)和 flash memery(只支持3.3V供电)采用用 SPI 通讯方式的连接电路?

很多(Flashmemery只支持3.3v供电)都允许直接与5VMCU的IO直接连接,不通讯时保持低电平即可。还有一方法就是中间串个470R的电阻。很多(Flashmemery只支持...

qspi原理?

QSPI是QueuedSPI的简写,是Motorola公司推出的SPI接口的扩展,比SPI应用更加广泛。在SPI协议的基础上,Motorola公司对其功能进行了增强,增加了队列传输机制,...

我在stm32外加了sram和 flash 怎样让程序从片外的 flash 启动?

方法一:从flash旧扇区,取出1k数据到ram,放到flash新的扇区;从flash旧扇区,取出第2个1k数据到ram,放到flash新的扇区;重复至取完,然后再擦除flash旧扇...方....

flash 模组是什么?

Flash模组是一种集成了闪存存储器的模块。闪存是一种非易失性存储器,可以在断电后保持数据的存储。Flash模组通常用于嵌入式系统和电子设备中,用于存储程序代...

qspi协议?

QSPI是QueuedSPI的简写,是Motorola公司推出的SPI接口的扩展,比SPI应用更加广泛。在SPI协议的基础上,Motorola公司对其功能进行了增强,增加了队列传输机制,...

路由器固件反编译教程哪里有?

可以进行反编译。路由器的固件通常存储在FLASH中,通常都是以xxx.bin格式的文件形式保存的。bin格式是一种二进制文件,存储的是路由器的机器码,通过反编译,...

 道德文化  温可馨 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部