存储器
存储器的基本结构可以分为两种:随机存取存储器(Random Access Memory,简称RAM)和只读存储器(Read-Only Memory,简称ROM)。
存储器太多了五花八门的,接口也很丰富,I2C,SPI,串口,并口等等。
这个是课本上的51的内部存储结构,涉及到汇编的知识,之前的老司机多数都是用的汇编编程,现在的编程语言丰富而繁多了,但是汇编直到今天还在用,涉及的底层逻辑清晰可见,编程相对来说简单,就是写起来繁多,这里就不赘述了,感兴趣的伙伴重新看下汇编吧。
存储其实指令操作比较多,硬件相对比较单一,我们就按照实际项目讲解,存储的硬件功能原理。
W25Q128JVSIG这颗料属于SPI nor FLASH, 128Mbit(16MB),8位数据总线宽度,NOR Flash是一种闪存类型,可以用于存储程序代码、固件、操作系统以及其他数据。闪存是一种非易失性存储器,也属于ROM.
NOR FLASH存储原理:NOR Flash中的存储单元由晶体管和电荷储存区域组成,通过在晶体管的栅极和源极之间施加电压,可以控制电荷的存储和释放,从而表示数据的0和1。
架构特点:NOR Flash具有并行访问结构,这意味着每个存储单元都有一个地址,并且可以直接访问任何存储单元。这使得NOR Flash具有快速的随机访问能力,适用于执行代码和读取关键数据。
读取操作:NOR Flash的读取速度比较快,典型的读取时间在几十纳秒到几微秒之间。此外,NOR Flash具有低延迟,可以快速响应读取请求。编程和擦除:与其他闪存类型相比,NOR Flash的编程和擦除操作较为简单。
编程是指向存储单元写入数据,而擦除是将存储单元中的数据擦除为全1状态。NOR Flash支持按字节编程,这意味着可以直接在需要更改的位置写入数据,而不需要整体擦除。引导存储器:由于其较快的读取速度和低延迟特性,NOR Flash常被用作引导存储器。
在嵌入式系统中,引导存储器用于加载启动代码和操作系统。通过在NOR Flash中存储引导代码,可以实现设备的快速启动和稳定运行。
NOR FLASH唯一一点就是比较贵,相对应的NAND FLASH,NAND 只是读取速度比NOR慢,其他的性能基本优于NOR,然后最大的优势是大容量下的性价比高,后面我会用一文单独来写DDR,这个是我们用的比较多的应用RAM。不过我们系统不太复杂的,用的比较多的还是小容量的,性价比高,还便宜的存储器。
当然MCU启动,离不开Boot,Boot是任何一款MCU都有的特性。首先应FLASH,从分类上来看应该属于Parallel NOR FLASH,你的应用代码都是保存在FLASH里,每次上电CPU会自动从FLASH里获取应用代码并执行,这个行为就是Boot,网上应该有很多篇幅介绍了Boot的启动方式和工作原理,这里就不班门弄斧了。
小结:
1.根据需求选取自己需要的元器件,一定要仔细查看规格书,元器件的电压,电流,存储空间,地址位,数据位,通讯接口和工作速度等等。
2.选取的存储器要关注MCU的启动方式,boot的选择mode。