一、编写目的
在移植Bootstrap V1.9至9260核心板时,出现NAND FLASH无法正确读取数据(可以读取ID)的情况。由于之前一直没有系统地学习NAND FLASH驱动,因此分析问题也比较慢,所以把Bootstrap V1.9移植工作暂时停止,先来学习NAND FLASH驱动部分再继续移植工作。
本文档用户记录NAND FLASH驱动分析的过程。本文档中使用的NAND为K9F1208U0C,为9260核心板上使用的64MB NAND。使用的源码为Bootstrap V1.9。
二、NAND FLASH(K9F1208U0C)
1. 引脚说明
2. memory组织方式
由上图可知,此NAND将整个存储器分为4096个Block,每个Block有32个Pages(也有称为Sector),总共有4096*32=131072=128K个Page。
每个Page中有528 B存储单元,其中512 B为存储数据使用,另外16 B为OOB备用区域,一般用于存入检验码信息。
上图最下一部分显示一Page的读写通过两个半页寄存器定位。因此要读一页数据,需要执行两次操作,分别为读取前、后半页。操作NAND Flash时,先传输命令,然后传输地址,最后读写数据。
3. 地址传输
NAND的读写的最小单位为Page,此款NAND为64 MB,因此地址长度最大为17 BIT。此IC地址传输分为4个周期,如下图所示。先传输的为列地址(半页内地址0~256),此IC固定为0x00;再传输三字节页地址,低地址在前。通过命令00H、01H区别读取前半页或后半页,即地址A8位。
4. 命令
此IC的命令集如下图所示。00H读取前半页,01H读取后半页,50H为读取备用区域。
5. 模式控制
通过设置各个使能引脚可使IC处于不同的工作模式。
6. 操作时间限制
这部分内容参考DATASHEET中,需要根据这些内容设置CPU的NAND控制器的参数。
三、Bootstrap驱动分析
1. CPU引脚设置
2. CPU NAND控制器设置
3. 读取NAND ID
执行流程为:
Ø [命令模式]传输90H命令
Ø [地址模式]传输00H地址
Ø [读取模式]传输4个ID值
相关的代码片段如下图所示,与DATASHEET中描述的一致,但代码中只读取了前面两个数据。
4. 读取一页数据
执行流程为:
Ø [命令模式]传输00H命令,读取前半页数据
Ø [地址模式]传输页地址
Ø [读取模式]传输4个ID值
Ø [状态模式]等待就绪
Ø [数据模式]传输前半页数据
Ø [命令模式]传输01H命令,读取后半页数据
Ø [地址模式]传输页地址
Ø [状态模式]等待就绪
Ø [数据模式]传输后半页数据
相关的代码片段如下图所示,与DATASHEET中描述的一致。但代码中等待就绪是使用了两个判断才能正常通过,编写者在注释中也使用了”?”来提出疑问。
5. 读取备用区域数据
6. 连续读取页
7. 连续读取备用区域
8. 页编程
9. 块删除
10. 写保护
关键字:NAND_FLASH 驱动
引用地址:
NAND_FLASH(K9F1208U0C)驱动分析
推荐阅读最新更新时间:2024-11-01 23:36
μC/OS-II的多任务信息流与CAN总线驱动
μC/OS-II是美国人Jean Labrosse编写的一个免费的、源码公开的嵌入式实时内核。对于开发计算机嵌入式应用产品的技术人员来说是一个实用价值很高的实时嵌入式操作系统ERTOS(Embedded Real Time Operation System)。
要开发出完善的ERTOS,就要在多任务的调度和对I/O设备操作的稳定性、协调性方面做出大量的工作,这也是我在开发ERTOS过程中深深体会到的重点所在。希望本文能对开发ERTOS的技术人员在多任务信息流和I/O驱动方面有所启迪。
1 多任务信息流关键技术
在讨论多任务信息流之前,先讨论一下多任务的工作状态。在μC/OS中,每个任务都是无限循环的,
[嵌入式]
晶合月产能将扩产10万片,驱动芯片短缺Q4可否缓解?
驱动芯片将不再短缺?近日,产业链消息人士向集微网记者透露,晶合原本计划2021年月产能提高4.5万片~5万片,现在看来有可能进一步增加到8万片~10万片,所以下半年TDDI(触控与显示驱动器集成)紧缺的状况可能会获得稍微缓解。 晶圆产能向大陆转移 晶圆产能紧张局势正在改变驱动芯片晶圆代工格局,中国大陆地位逐渐提高。 全球驱动芯片晶圆产能主要受中国台湾厂商、中国大陆厂商以及韩国厂商掌控。其中台湾地区厂商台积电、联电、世界先进、力积电等在全球驱动芯片代工市场占据主导地位,50%以上的驱动芯片晶圆产能由中国台湾厂商供应,他们正在调整驱动芯片晶圆代工产能结构,逐渐减少8英寸驱动芯片晶圆产能,并增加12英寸驱动芯片晶圆产能,以提高盈利水
[手机便携]
单片机驱动MODE的方法和应用实例
单片机对modem要进行哪些初始化操作? 答:一般单片机的MODEM通讯必须要有两个背景知识,一个是AT命令集,另一个是通用非同步接收发送器(UART)。 AT命令集 下面介绍我通讯程式例子中涉及到的AT命令。 Dn:拨号命令。该命令使MODEM立即进入摘机状态,并拨出跟在后面的号码。D命令是基本的拨号命令,它受到其他命令的修饰可构成MODEM何时拨号以及如何拨号等操作。 T:音频拨号。例如,ATDT8886666,其中8886666为电话号码。 P:脉冲拨号。例如,ATDP8886666,其中8886666为电话号码。 ,:标准暂停。我们常常碰到拨打外线电话时需要暂停一下,等听到二次拨号音(外线)之后才能再拨后续的号码。缺省时暂
[单片机]
LG投资LED驱动半导体解决方案
导读 :节能应用控制器(PAC)平台和ActiveDirectDriveLED驱动半导体解决方案可实现前所未有的节能和成本节约. 节能应用控制器(PAC)平台和Active Direct Drive LED驱动半导体解决方案可实现前所未有的节能和成本节约. 灵活且高度集成的半导体电源管理解决方案领域的领导者今天宣布,LG电子公司(LGElectronicsInc.)成为一轮战略融资的主要新投资者,这轮融资将加快适用于LG电子的多样化行业领先电子产品系列的电源半导体解决方案的开发。 LG电子能源组件业务负责人SamHa博士说:“Active-Semi的电源解决方案和固件可以满足LG电子严格的下一代电子系统空间和成
[电源管理]
二相混合式步进电机的高性能驱动器研究
引言 步进电机是一种数字电机,具有无累积误差、性价比高等优点,被广泛应用于生活和生产领域中。异于其他电机,步进电机必须使用驱动器才能工作。步进电机运行时存在低频振荡和矩频特性,是设计驱动系统时必须考虑的两大难题。另外,步进动电机需要有升降速过程才能运行平稳。起动时,如果加在电机上的脉冲信号频率过高,则会出现失步或振荡,电机会抖动并有呼啸声。驱动器的性能影响着步进电机的发展前景,因此研究一种高性能步进电机驱动方法具有重要的实际意义。 1 驱动系统的原理与设计 本系统的设计方案采用调频调压驱动方式,系统的硬件电路按功能来划分,主要包含以STM32F103为核心的主控模块、功率驱动电路、调频调压驱动电源和电机电流检测模
[嵌入式]
TMC2240智能高性能步进电机驱动器IC概述
TMC2240 是一款智能高性能步进电机驱动器 IC,具有串行通信接口(SPI、UART)和广泛的诊断功能。它结合了业界最先进的步进电机驱动器,该驱动器基于 256 步内置分度器和两个完全集成的 36V、3.0AMAX H 桥以及非耗散集成电流感应 (ICS)。 TMC2240 具有丰富的诊断和保护功能,例如短路保护/OCP、热关断、欠压锁定。在热关断和欠压锁定事件期间,驱动器被禁用。此外,TMC2240 还提供测量驱动器温度、估计电机温度和测量一个外部模拟输入的功能。 TMC2240ATJ+与TMC2240AUU+参数及应用是一样的,唯独封装不同。TMC2240AUU+的封装为TSSOP38 (9.7×4.4)。 附带
[嵌入式]
10年LED驱动设计工程师的恒流IC使用心得
以前的 LED 灯具都是用恒压电源,当时不了解LED的性能,按照厂家给的数据每只小灯珠给到20MA,经过我们测试后,灯珠总是烧掉,才知道厂家的数据是不可靠的,我们减小了电流使用。那时是在2002年,做些MR16小灯泡,广告牌之类的应用。我是2007年才开始做恒流驱动,什么HV9910,PT4107,PT6901,SN3910,IR的,试验多了,但是最先成功的是QX9910,出过一些货,但是QX9910有很多不良品,老化后的产品也不太稳定,经常有闪灯现象,现在还有一些剩余的做纪念品了。我认为,要想做好驱动,先要找好芯片。 当初在07年的时候,恒流IC很难找到,价格也贵的离奇,一片HV9910要8元,一片IR的 S2540要25元
[电源管理]
OLED无源驱动技术发展状况分析
为了达到O LED 的均匀显示效果和解决交叉效应,首先分析了OLED 结构特性以及无源OLED 器件的驱动特点,介绍了OLED 的无源驱动技术。其次,为了达到均匀的现示,采用电流源驱动和预充电技术来提高现示亮度的均匀性。最后,在分析了交叉效应形成原因的基础上采取反向电压抑 制法,使非选中像素在反向电压的作用下处于截止状态,从而有效的解决了交叉效应现象对显示的影响。 引言 目前,在平板显示技术中,有机发光二极管(OLED, Organic Light Emitting Diode)具有自发光性、高对比度、高的反应速度、广视角等优点,在近几年引起了世界范围内的关注,在平板显示技术中发挥着越来越重要的作用。作为新一 代显示器
[电源管理]