关键词:闪速存储器 K9F1208UOM 图像采集 图像存储
引言
图像的保存和恢复是一个图像采集系统所不可或缺的功能之一。保存图像信息所用的介质或设备有很多种,如常用的电影胶片、胶卷、硬盘、软盘、光盘、各种静态和动态RAM、ROM以及固态存储器件等。其中,Flash ROM以其内容掉电不消失、价格低廉、控制方法灵活、与微处理器接口方便等特点,越来越多地应用在图像采集与存储系统中,如常见的数码像机。因此,研究Flash ROM在图像采集记录系统中的应用技术有着重要的意义。
1 闪速存储器的分类和发展现状
目前常见的图像采集记录系统如数码像机、数码摄像机中,通常采用半导体存储器作为其记忆部分。半导体存储器通常可分为随机存储器(RAM)和只读存储器(ROM_。RAM的内容可以随时刷新,访问速度快,但是掉电后其存储的信息会丢失;ROM则具有掉电不丢失数据的特性。通常ROM又可分为固定ROM、PROM、EPROM和EEPROM。
图1 K9F1208UOM引脚定义
闪速存储器(Flash ROM)属于半导体存储器的一种,属于非易失性存储器NVM(Non-Volatile Memory)。它采用类似于EPROM的单管叠栅结构的存储单元揣怕,是新一代用电信号擦除的可编程ROM;它既吸收了EPROM结构简单、编程可靠的优点,又具有EPROM用随道效应擦除的快捷特性,集成度可做得很高,因而在便携式数据存储和各种图像采集记录系统中得到了广泛的应用。
全球闪速存储器的主要供应商有AMD、Atmel、Fujistu、Hitachi、Hyundai、Intel、Micron、Mitsubishi、Samsung、SST、Sharp、Toshiba。由于各自技术架构的不同,分为几大阵营,因此闪速存储也按其采用技术的不同而分为几大类:
*NOR技术——代表公司Intel,特点为擦除和写入慢、随机读快;
*NAND技术——代表公司Samsung,特点为随机读写慢、以页为单位连续读写快;
*AND技术——代表公司Hitachi,特点为低功耗,价格高。
*由EEPROM派生的闪速存储器。特点:介于NOR与EEPROM之间。
存储器的发展具有容量更大、体积更小、价格更低的趋势,这在闪速存储器行业表现得淋漓尽致。随着单导体制造工艺的展,主流闪速存储器厂家采用0.18μm,甚至0.15μm的制造工艺。
借助于先进工艺的优势,闪速存储器的容量可以变大:NOR技术将出现256Mb的器件,NAND和AND技术已经有16Gb的器件。
芯片的封装尺寸更小:从最初DIP封装,到PSOP、SSOP、TSOP封装,再到BGA封装,闪速存储器已经变得非常纤细小巧。
工作电压更低:从最初12V的编程电压,一步步下降到5V、3.3V、2.7V、1.8V单电压供电;符合国际上低功耗的潮流,更促进了便携式产品的发展。
位成本大幅度下降:采用NOR技术的Intel公司的28F128J3价格为25美元,NAND技术和AND技术的闪速存储器已经突破10MB 2美元的价位,性价比极高。
本文中讨论的是采用NAND技术的K9F1208U0M。
图2 AT90S8515和K9F1208UOM硬件接口原理
2 64M闪速存储器K9F1208UOM简介
K9F1208U0M是Samsung公司生产的采用NAND技术的大容量、高可靠Flash存储器。该器件采用三星公司的CMOS浮置门技术和与非存储结构,存储容量为64M×8位,除此之外还有2048K×8位的空闲存储区。该器件采用TSSOP48封装,工作电压2.7~3.6V。
K9F1208U0M对528字节一页的写操作所需时间典型值是200μs,而对16K字节一块的擦除操作典型民仅需2ms。每一页中的数据出速度也很快,平均每个字节只需50ns,已经与一般的SRAM相当。8位I/O端口采用地址、数据和命令复用的方法。这样既可减少引脚数,还可使接口电路简洁。片内的写控制器能自动执行写操作和擦除功能,包括必要的脉冲产生,内部校验等,完全不用外部微控制器考虑,简化了器件的编程控制难度。
2.1 器件结构
K9F1208U0M的结构如图1所示。由以下几部分组成:
①地址译码器。它是一个二维的译码器,A0~A7为Y方向译码器,A9~A25为X方向译码器;而A8是由命令寄存器决定的,用于选择Flash ROM存储器的区号。
②存储阵列。如图1所示,由于地址A8的不同,可以把存储阵列分为第一和第二两部分;同时,它还有一个空闲区,都可通过命令进行选择。整个存储阵列又可分为4096块,每一块分为32页,一页包含528字节。这528字节包含第一部分的256字节和第二部分的256字节以及空闲区的16字节。
③命令寄存器。命令寄存器把输入的命令暂存起来,根据不同的命令和控制线执行不同的操作。
④控制逻辑和高电压产生器。控制逻辑产生各种控制信号,用于对内部的存储阵列缓存器等进行合理的控制。高电压产生器可以产生用于对存储阵列进行编程的高压。
⑤I/O缓存、全局缓存及输出驱动。用于对输入及输出进行必要的缓存,以符合时序的要求。输出驱动加强带载能力。
2.2 引脚说明
表1概要地说明了K9F1208U0M各个引脚的功能。
表1 K9F1208U 0 引脚定义
引 脚 |
功 能 |
I/O0~I/O | 数据输入输出端,芯片未选中为高阻态 |
CLE | 命令锁存使能 |
ALE | 地址锁存使能 |
CE | 芯片选择控制 |
RE | 数据输出控制,有效时数据送到I/O总线上 |
WE | 写I/O口控制,命令地址数据在上升沿锁存 |
WP | 写保护 |
R/B | 指示器件的状态,0为忙,1为闲。开漏输出 |
Vcc | 电源端 |
Vss | 地 |
①命令锁存使能(CLE),使输入的命令发送到命令寄存器。当变为高电平时,在WE上升沿命令通过I/O口锁存到命令寄存器。
②地址锁存使能(ALE),控制地址输入到片内的地址寄存器中,地址是在WE的上升沿被锁存的。
③片选使能(CE),用于器件的选择控制。在读操作、CE变为高电平时,器件返回到备用状态;然而,当器件在写操作或擦除操作过程中保持忙状态时,CE的变高将被忽略,不会返回到备用状态。
④写使能(WE),用于控制把命令、地址和数据在它的上升沿写入到I/O端口;而在读操作时必须保持高电平。
⑤读使能(RE),控制把数据放到I/O总线上,在它的下降沿tREA时间后数据有效;同时使用内部的列地址自动加1。
⑥I/O端口,用于命令、地址和数据的输入及读操作时的数据输出。当芯片未选中时,I/O口为高阻态。
⑦写保护(WP),禁止写操作和擦除操作。当它有效时,内部的高压生成器将会复位。
⑧准备/忙(R/B),反映当前器件的状态。低电平时,表示写操作或擦除操作以及随机读正进行中;当它变为高电平时,表示这些操作已经完成。它采用了开漏输出结构,在芯片未选中时不会保持高阻态。
2.3 K9F1208U0M的接口控制方法
K9F1208U0M在应用时必须通过外部微控制器来控制其内容的读写,图2给出了K9F1208U0M与AT90S8515单片机接口的方法。
K9F1208U0M的数据总线与AT90S8515的数据口PA口相连,用单片机的地址高位引脚PC6作为K9F1208U0M的片选信号(CS);PC5接K9F1208U0M的命令数据选择端(CMD/DATA),而PC4接K9F1208U0M的地址锁存允许端(ALE)。因此,对K0F1208U0M的访问就相当于访问地址分别为0xaf00、0x9f00、0x8f00的三个端口,分别对应K9F1208U0M的命令端口、地址端口、数据端口。因此,对于单片机而言,对K9F1208U0M的命令、地址和数据操作可通过不同的端口进行,简化了K9F1208U0M读写控制的难度。
2.4 读写操作流程
图3所示为K9F1208U0M的写时序流程。
由图3可看出,进行写操作时先要写入命令字80H,通知K9F1208U0M要进行写操作,然后顺序写入目的地地址和待写入的数据。应该注意的是,地址只需写入一次,便可以连续写入多个字节数据。地址指针的调整是由K9F1208U0M内部逻辑控制的,不用外部干预。写入操作是以页为单位(1~528字节)进行的,即每次连续写入能超过528个字节。这是由于K9F1208U0M的工作方式决定的:写入的数据先保存至Flash内部的页寄存器(528字节)中,然后再写入存储单元。数据写完之后还要给K9F1208U0M发出1个写操作指令10H,通知其将页寄存器中的数据写入存储单元,随后就应该对状态引脚进行查询。如果该引脚为低,表明此次写操作结束。最后的步骤是数据校验,如果采用了ECC校验模式,则此步骤可以省略。
其它操作如读操作、擦除操作等过程均与此类似,可参考相关的器件说明文档。限于篇,这里不再多述。
2.5 注意事项
在以K9F1208U0M为数据存储介质的系统设计中,需要注意无效块的问题。无效块即包含一个和多个无效数据位的块。由于结构方面的原因,一块(32页)中有一个无效位也会导致整个块无效。因此,系统必须在写入数据时避开无效块。出厂时,每片K9F1208U0M的无效块信息均保存在一个无效块信息表中,可以根据该表中的原始无效块信息识别无效块的位置。在K9F1208U0M的使用过程中,应随时对无效块情况进行检查和更新,以保证无效块表内容的准确性;同时,应该禁止任何试图擦除无效块信息表的操作。
3 闪速存储器在图像采集记录系统中应用
图4是一种采用闪速存储器为图像记录介质的数字图像采集记录系统的原理框图。
在该系统中,通过光学镜头把像成在位于焦平面处的CMOS图像传感器(OV7620)的像面上。CMOS图像传感器对其进行空闲采用并数字化以后,直接输出分辨率为512×480的8位灰度数字图像数据。由于K9F1208U0M的读写时序无法与CMOS图像传感器配合,因此,需要在两者之间加一个静态缓存。这里使用的是HM62815(512×8位SRAM)。先把图像数据保存在静态缓存中,然后通过AVR单片机的控制,把图像转存到K9F1208U0M里。至于何时需要转存,则由AVR单片机根据外部控制命令接口传来的命令;同时,还要由CMOS图像传感器输出的行场同步时序信号来决定。
图像记录保存的最终目的是要显示出来,因此还需要把保存在闪速存储器K9F1208U0M中的图像数据读出。本系统中K9F1208U0M的图像数据是通过USB接口读出的。采用了AVR系列的AT90S8515单片机作为USB接口控制器,负责对与上位机通信用的USB接口进行配置及管理,此外,其主要的工作还包括对静态缓存、K9F1208U0M等进行读写控制。在上位机中采用Visual C++语言编写相应的图像数据采集软件,就能够实现通过USB总线对K9F1208U0M中图像数据的读取、显示及保存。
该图像采集系统输出的数字图像分辨率为512×480,而K9F1208U0M是64M×8位的闪速存储器;因此,最多可以存储272张图片,并且读写速度达到300kB/s,基本能够满足一般使用的要求。
4 结论
闪速存储器是图像采集记录系统中的记忆部分,对它的希望就是读写速度快、容量大以及操作方便。通过对Samsung公司采用NAND技术的闪速存储器K9F1208U0M进行的研究表明:K9F1208U0M器件与系统的接口十分简单、操作灵活方便、器件从硬件到软件均有多种保护、数据可靠性高、使用寿命长,为大容量固态图像存储器市场提供了最具成本效益的解决方案,因而在各种数字图像采集和存储应用领域具有广阔的应用前景。