关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于C8051F340的非易失大容量数据存储方案

基于C8051F340的非易失大容量数据存储方案

作者:时间:2010-12-08来源:网络收藏

4.3 软件编程
K9WAG08UOA的编程比通常的串、并行器复杂。实际应用中将页编程子程序、块擦除子程序、读操作字程序编写成子程序,在需要时进行调用。由图5 看出,C8051F340对K9WAG08UOA的读写操作均通过通用进行。C805lF340对端口的操作通过访问对应的端口寄存器。向端口写入时,被锁存到端口寄存器中,以保持引脚上的输出数据值不变;读端口数据寄存器将返回端口输入引脚的逻辑状态。具体举例来说,比如P0=0x80,表示Ox80被锁存到端口数据寄存器中,把CE引脚拉低,引脚产生一个上升沿,数据就被写入K9WAG 08UOA中的数据/命令寄存器。Ox8O为命令还是数据取决于CLE和ALE的状态,CLE为高,ALE为低,表示Ox80为命令字段;CLE为低,ALE为高,表示Ox80为数据。下面对K9WAG08UOA的页编程、页读、块擦除做详细的说明。
d.JPG

4.3.1 页编程
K9WAG08UOA的页编程是以页为单位的,它允许在一个页编程周期里写入1~2 112字节的数据。数据被加载到数据寄存器,然后调用内部写入过程写入正确的单元。在写入之前必须擦除,否则出错。页编程的步骤为:1)写入串行输入指令0x80;2)分5次写入编程首地址;3)写人数据,一次最多2 112字节;4)最后写入页编程指令0x1O。启动内部编程操作。为了反馈写入操作是否成功,K9WAG08UOA的内部状态寄存器记录了写入状态,通过查询寄存器状态位O,判断写入是否成功。
4.3.2 页读操作
K9WAG08UOA读页面的操作过程为写入0x00到命令寄存器,然后输入5个字节的地址,再写入命令Ox30启动页读操作。选中页面的2 112个字节的数据不是立即输出到I/0口,而先被复制到K9WAG08UOA的数据寄存器。通过检测R/B引脚状态来判断复制操作是否完成。一旦R/B 为高电平后,表示复制完成。微处理器器控制RE不断的高低变化,数据寄存器中的数据将按照在芯片中的地址排列依次锁存输出到口,此时读取I/O口电平即可。
4.3.3 块擦除
K9WACO8UOA的擦除操作以块为单位进行。首先写入擦除指令Ox60,然后分3次写入行地址。载入行地址后执行擦除确认指令0xd0来初始化内部擦除操作。通过状态引脚R/B了解擦除的进度,R/B为高电平表示内部擦除完成。通过检测状态位(I/O0)来检查擦除操作是否发生错误。
4.4 应用举例
本设计的单片机P1口与K9WAGO8UOA直接连接,其他控制引脚与PO口的引脚连接。为防止器误操作,在单片机复位后要进行初始化设置。 K9WAGO8UOA最大的优点是容量大,低功耗。海洋潜标在水下工作的时间通常为3个月以上,累计的数据量通常上百兆,K9WAG08UOA能够胜
任这样的容量要求。在实验室水池进行多次长时间测试,K9WAG08UOA记录的数据可靠。

5 结束语
利用C805lF340丰富的接口资源,可以方便地扩展大容量的器。本文介绍的3种存储器扩展方案采用不同的硬件连接方式,但都具有非易失、低功耗的特点,又各有特点,可以根据系统开发的具体需求,进行选择使用。通过实践,总结以下经验:1)提高系统存取效率,加入FIFO缓存。数据按时间顺序写入 FIFO,大到一定容量后再由处理器以块形式读出。这样可以避免MCU频繁进入中断,提高处理器的工作效率。2)在控制印刷电路板面积及布线复杂度上,使用I2C接口最为简洁,SPI接口次之。3)读写速度上,并口Flash最快,适应于微秒级存取;SPI接口次之,提高时钟频率也可达到微秒级;I2C接口最慢,适合毫秒级的访问。4)容量上,NAND架构闪存(K9WAG08UOA)的存储单元采用串行结构,一页包含若干字节,若干页组成储存块,这种结构最大的优点是使得容量可以做得很大。因此,在容量和存储密度上,NAND闪存比其他结构的存储器大。仅从容量考虑时,优先选择NAND架构的闪存。

本文引用地址:http://www.eepw.com.cn/article/162599.htm

上一页 1 2 3 下一页

关键词: I/O 数据 存储

评论


相关推荐

技术专区

关闭