⑴ 什么是FLASH存储器
什么是Flash Memory存储器
介绍关于闪速存储器有关知识 近年来,发展很快的新型半导体存储器是闪速存储器(Flash Memory)。它的主要特点是在不加电的情况下能长期保持存储的信息。就其本质而言,Flash Memory属于EEPROM(电擦除可编程只读存储器)类型。它既有ROM的特点,又有很高的存取速度,而且易于擦除和重写, 功耗很小。目前其集成度已达4MB,同时价格也有所下降。
由于Flash Memory的独特优点,如在一些较新的主板上采用Flash ROM BIOS,会使得BIOS 升级非常方便。 Flash Memory可用作固态大容量存储器。目前普遍使用的大容量存储器仍为硬盘。硬盘虽有容量大和价格低的优点,但它是机电设备,有机械磨损,可靠性及耐用性相对较差,抗冲击、抗振动能力弱,功耗大。因此,一直希望找到取代硬盘的手段。由于Flash Memory集成度不断提高,价格降低,使其在便携机上取代小容量硬盘已成为可能。 目前研制的Flash Memory都符合PCMCIA标准,可以十分方便地用于各种便携式计算机中以取代磁盘。当前有两种类型的PCMCIA卡,一种称为Flash存储器卡,此卡中只有Flash Memory芯片组成的存储体,在使用时还需要专门的软件进行管理。另一种称为Flash驱动卡,此卡中除Flash芯片外还有由微处理器和其它逻辑电路组成的控制电路。它们与IDE标准兼容,可在DOS下象硬盘一样直接操作。因此也常把它们称为Flash固态盘。 Flash Memory不足之处仍然是容量还不够大,价格还不够便宜。因此主要用于要求可靠性高,重量轻,但容量不大的便携式系统中。在586微机中已把BIOS系统驻留在Flash存储器中。
http://bbs.zol.com.cn/index20060220/index_17_241442.html
⑵ 请问 nand flash引脚定义48脚的是什么定义
答:1. 硬件特性: 【Flash的硬件实现机制】 Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(Volatile Memory Device)。关于什么是非易失性/易失性,从名字中就可以看出
⑶ Nand,iNAND和NOR flash有什么区别
sdram:主要用于程序执行时的程序存储、执行或计算,类似内存。
nor flash:适合小容量的程序或数据存储,类似小硬盘;
nand flash:适合大容量数据存储,类似硬盘;
inand flash:是SanDisk公司研发的存储芯片,可以简单的看成SD卡或MMC卡芯片化。
Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00上。
Nand flash是IO设备,数据、地址、控制线都是共用的,需要软件区控制读取时序,所以不能像nor flash、内存一样随机访问,不能EIP(片上运行),因此不能直接作为boot。
NANDFlash启动: NANDFlash控制器自动把nandflash存储器的前4K载到Steppingstone(内部SRAM缓冲器),并把0x00000000S设置为内部SRAM的起始地址,cpu从内部SRAM的0x00000000开始启动,这个过程不需要程序干涉。(cpu会自动从NAND flash中读取前4KB的数据放置在片内SRAM里(s3c2440是soc),同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000)。cpu是从0x00000000开始执行,也就是NAND flash里的前4KB内容。因为NAND FLASH连地址线都没有,不能直接把NAND映射到0x00000000,只好使用片内SRAM做一个载体。通过这个载体把nandflash中大代码复制到RAM(一般是SDRAM)中去执行)。程序员要完成的工作是把最核心的代码放在nandflash的前4K中。4K代码要完成S3C2440的核心配置以及启动代码(U-boot)的剩余部分拷贝到SDRAM中。 这4K的启动代码需要将NANDFlash中的内容复制到SDRAM中执行。NANDFlash的前4K空间放启动代码,SDRAM速度较快,用来执行主程序的代码。ARM一般从ROM或Flash启动完成初始化,然后将应用程序拷贝到RAM,然后跳到RAM执行。
NORflash启动:支持XIP即代码直接在NOR Flash上执行,无需复制到内存中。这是由于NORFlash的接口与RAM完全相同,可随机访问任意地址数据。NORflash速度快,数据不易失,可作为存储并执行起到代码和应用程序的存储器,norflash可像内存一样读操作,但擦初和写操作效率很低,远不及内存,一般先在代码的开始部分使用汇编指令初始化外接的的内存部件(外存SDRAM),最后跳到外存中继续执行。对于小程序一般把它烧到NANDflash中,借助cpu内部RAM(SRAM)直接云行。 nor flash被映射到0x00000000地址(就是nGCS0,这里就不需要片内SRAM来辅助了,所以片内SRAM的起始地址还是0x40000000). 然后cpu从0x00000000开始执行(也就是在Norfalsh中执行)。 NORflash速度快,数据不易失,可作为存储并执行起到代码和应用程序的存储器,norflash可像内存一样读操作,但擦初和写操作效率很低,价格很昂贵。SDRAM和nandflash的价格比较适中。根据这些特点,一些人产生了这样一种想法:外部nandflash中执行启动代码,SDRAM中执行主程序。NANDFlash控制器自动把nandflash存储器的前4K载到Steppingstone(内部SRAM缓冲器),并把0x00000000S设置为内部SRAM的起始地址,cpu从内部SRAM的0x00000000开始启动,这个过程不需要程序干涉。这4K的启动代码需要将NANDFlash中的内容复制到SDRAM中执行。NANDFlash的前4K空间放启动代码,SDRAM速度较快,用来执行主程序的代码。ARM一般从ROM或Flash启动完成初始化,然后将应用程序拷贝到RAM,然后跳到RAM执行。
总结: Arm的启动都是从0地址开始,所不同的是地址的映射不一样。在arm开电的时候,要想让arm知道以某种方式(地址映射方式)运行,不可能通过你写的某段程序控制,因为这时候你的程序还没启动,这时候arm会通过引脚的电平来判断。
1当引脚OM0跟OM1有一个是高电平时,这时地址0会映射到外部nGCS0片选的空间,也就是Norflash,程序就会从Norflash中启动,arm直接取Norflash中的指令运行。
2当OM0跟OM1都为低电平,则0地址内部bootbuf(一段4k的SRAM)开始。系统上电,arm会自动把NANDflash中的前4K内容考到bootbuf(也就是0地址),然后从0地址运行。这时NANDFlash中的前4K就是启动代码(他的功能就是初始化硬件然后在把NANDFlash中的代码复制到RAM中,再把相应的指针指向该运行的地方)为什么会有这两种启动方式,关键还是两种flash的不同特点造成,NOR FLASH容量小,速度快,稳定性好,输入地址,然后给出读写信号即可从数据口得到数据,适合做程序存储器。NAND FLASH 总容量大,但是读写都需要复杂的时序,更适合做数据存储器。这种不同就造成了NORflash可以直接连接到arm的总线并且可以运行程序,而NANDflash必须搬移到内存(SDRAM)中运行。在实际的开发中,一般可以把bootloader烧入到Norflash,程序运行可以通过串口交互,进行一定的操作,比如下载,调试。这样就很可以很方便的调试你的一些代码。Norflash中的Bootloader还可以烧录内核到Norflash等等功能
关于为什么NAND Flash不能直接运行程序的说明:
Nand Flash的命令、地址、数据都通过I/O口发送,管脚复用,这样做做的好处是,可以明显减少NAND FLASH的管脚数目,将来如果设计者想将NAND FLASH更换为更高密度、更大容量的,也不必改动电路板。
NAND FLASH不能够执行程序,本人总结其原因如下 :
1. NAND FLASH本身是连接到了控制器上而不是系统总线上。CPU启动后是要取指令执行的,如果是SROM、NOR FLASH 等之类的,CPU 发个地址就可以取得指令并执行,NAND FLASH不行,因为NAND FLASH 是管脚复用,它有自己的一套时序,这样CPU无法取得可以执行的代码,也就不能初始化系统了。
2. NAND FLASH是顺序存取设备,不能够被随机访问,程序就不能够分支或跳转,这样你如何去设计程序。
⑷ AT89C52引脚的功能
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的 Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要管脚有:
XTAL1(19 脚)和XTAL2(18 脚):
为振荡器输入输出端口,外接12MHz 晶振。XTAL1(19 脚):振荡器反相放大器及内部时钟发生器的输入端。XTAL2(18 脚):振荡器反相放大器的输出端。
RST/Vpd(9 脚):
为复位输入端口,外接电阻电容组成的复位电路。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
VCC(40 脚)和VSS(20 脚):
为供电端口,分别接+5V电源的正负端。
P0~P3 为可编程通用I/O 脚,其功能用途由软件定义。
P0 :
口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写"1"时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1:
是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写"1",通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,P1 接收低8 位地址。
P2:
是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写"1",通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16 位地数据存储器(例如执行MOVX @DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX@RI 指令)时,P2 口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。
P3:
是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入"1"时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能。P3 口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字
节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
EA/VPP:
外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
⑸ is25lp016d+flash应该与单片机的什么管脚连接
这要看你的单片机是什么类型,是否支持DSPI或QSPI接口了。
如果只是基本SPI接口,那么用单片机SPI接口的MISO接SO、单片机的MOSI接SI、单片机的SCK接SCK、共地,就可以了。
⑹ FLASH存储器是什么
什么是flash
memory存储器
介绍关于闪速存储器有关知识
近年来,发展很快的新型半导体存储器是闪速存储器(flash
memory)。它的主要特点是在不加电的情况下能长期保持存储的信息。就其本质而言,flash
memory属于eeprom(电擦除可编程只读存储器)类型。它既有rom的特点,又有很高的存取速度,而且易于擦除和重写,
功耗很小。目前其集成度已达4mb,同时价格也有所下降。
由于flash
memory的独特优点,如在一些较新的主板上采用flash
rom
bios,会使得bios
升级非常方便。
flash
memory可用作固态大容量存储器。目前普遍使用的大容量存储器仍为硬盘。硬盘虽有容量大和价格低的优点,但它是机电设备,有机械磨损,可靠性及耐用性相对较差,抗冲击、抗振动能力弱,功耗大。因此,一直希望找到取代硬盘的手段。由于flash
memory集成度不断提高,价格降低,使其在便携机上取代小容量硬盘已成为可能。
目前研制的flash
memory都符合pcmcia标准,可以十分方便地用于各种便携式计算机中以取代磁盘。当前有两种类型的pcmcia卡,一种称为flash存储器卡,此卡中只有flash
memory芯片组成的存储体,在使用时还需要专门的软件进行管理。另一种称为flash驱动卡,此卡中除flash芯片外还有由微处理器和其它逻辑电路组成的控制电路。它们与ide标准兼容,可在dos下象硬盘一样直接操作。因此也常把它们称为flash固态盘。
flash
memory不足之处仍然是容量还不够大,价格还不够便宜。因此主要用于要求可靠性高,重量轻,但容量不大的便携式系统中。在586微机中已把bios系统驻留在flash存储器中。