1.Nandflash操作原理
下图是原理图中NandFlash和S3C2440的连接图,
问1. 原理图上NAND FLASH和S3C2440之间只有数据线,
怎么传输地址?
答1.在DATA0~DATA7上既传输数据,又传输地址
当ALE为高电平时传输的是地址,
问2. 从NAND FLASH芯片手册可知,要操作NAND FLASH需要先发出命令
怎么传入命令?
答2.在DATA0~DATA7上既传输数据,又传输地址,也传输命令
当ALE为高电平时传输的是地址,
当CLE为高电平时传输的是命令
当ALE和CLE都为低电平时传输的是数据
问3. 数据线既接到NAND FLASH,也接到NOR FLASH,还接到SDRAM、DM9000等等
那么怎么避免干扰?
答3. 这些设备,要访问之必须"选中",
没有选中的芯片不会工作,相当于没接一样
问4. 假设烧写NAND FLASH,把命令、地址、数据发给它之后,
NAND FLASH肯定不可能瞬间完成烧写的,
怎么判断烧写完成?
答4. 通过状态引脚RnB来判断:它为高电平表示就绪,它为低电平表示正忙
问5. 怎么操作NAND FLASH呢?
答5. 根据NAND FLASH的芯片手册,一般的过程是:
发出命令
发出地址
发出数据/读数据
NAND FLASH S3C2440
发命令 选中芯片
CLE设为高电平 NFCMMD=命令值
在DATA0~DATA7上输出命令值
发出一个写脉冲
发地址 选中芯片 NFADDR=地址值
ALE设为高电平
在DATA0~DATA7上输出地址值
发出一个写脉冲
发数据 选中芯片 NFDATA=数据值
ALE,CLE设为低电平
在DATA0~DATA7上输出数据值
发出一个写脉冲
读数据 选中芯片 val=NFDATA
发出读脉冲
读DATA0~DATA7的数据
我们的2440内部有一个nandflash控制器,如果我们想向nandflash发送命令,那么我们的2440只需要往NFCMMD寄存器写入命令值就好了。
2.用UBOOT来体验NAND FLASH的操作
1. 读ID
S3C2440 u-boot
选中 NFCONT的bit1设为0 md.l 0x4E000004 1; mw.l 0x4E000004 1
发出命令0x90 NFCMMD=0x90 mw.b 0x4E000008 0x90
发出地址0x00 NFADDR=0x00 mw.b 0x4E00000C 0x00
读数据得到0xEC val=NFDATA md.b 0x4E000010 1
读数据得到device code val=NFDATA md.b 0x4E000010 1
0xda
退出读ID的状态 NFCMMD=0xff mw.b 0x4E000008 0xff
2. 读内容: 读0地址的数据
使用UBOOT命令:
nand dump 0
Page 00000000 dump:
17 00 00 ea 14 f0 9f e5 14 f0 9f e5 14 f0 9f e5
S3C2440 u-boot
选中 NFCONT的bit1设为0 md.l 0x4E000004 1; mw.l 0x4E000004 1
发出命令0x00 NFCMMD=0x00 mw.b 0x4E000008 0x00
发出地址0x00 NFADDR=0x00 mw.b 0x4E00000C 0x00
发出地址0x00 NFADDR=0x00 mw.b 0x4E00000C 0x00
发出地址0x00 NFADDR=0x00 mw.b 0x4E00000C 0x00
发出地址0x00 NFADDR=0x00 mw.b 0x4E00000C 0x00
发出地址0x00 NFADDR=0x00 mw.b 0x4E00000C 0x00
发出命令0x30 NFCMMD=0x30 mw.b 0x4E000008 0x30
读数据得到0x17 val=NFDATA md.b 0x4E000010 1
读数据得到0x00 val=NFDATA md.b 0x4E000010 1
读数据得到0x00 val=NFDATA md.b 0x4E000010 1
读数据得到0xea val=NFDATA md.b 0x4E000010 1
退出读状态 NFCMMD=0xff mw.b 0x4E000008 0xff
关于读数据有一个地方需要注意,就是发出了五次地址,由时序图也可以看出要发五次地址。
为什么要发送5此地址呢,这是因为我们的nandfalsh是256M的,所以需要28位的地址,于是要发送五个字节的地址。
上一篇:S3C2440裸机------NandFlash编程_时序及初始化
下一篇:S3C2440裸机------Nor Flash编程_擦写读
推荐阅读
史海拾趣
随着公司规模的不断扩大,ECI越来越重视团队建设。公司高层认识到,一个团结、高效的团队是企业持续发展的关键。在人力资源部经理刘女士的策划下,ECI开展了一系列团队建设活动,如拓展训练、员工分享会等。这些活动不仅增强了员工的凝聚力,也提升了员工的工作效率和创新能力。
在追求经济效益的同时,CMOSIS公司也注重可持续发展和社会责任。公司积极采用环保材料和工艺,减少生产过程中的能源消耗和废弃物排放。同时,公司还积极参与社会公益活动,为推动社会进步和可持续发展贡献自己的力量。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。
请注意,以上故事是基于一般性的电子行业发展趋势和CMOS图像传感器市场的特点构建的,并未涉及CMOSIS公司的具体内部情况。如果需要更详细和准确的信息,建议直接查阅CMOSIS公司的官方资料或相关新闻报道。
1994年,AMOTECH在韩国创立,凭借创始人的远见卓识和技术团队的扎实能力,公司迅速在电子行业中崭露头角。经过两年的努力,1996年,AMOTECH被政府通讯部评为“光明前途企业”,这是对其技术实力和市场潜力的肯定。随后,公司不断加大研发投入,终于在2000年获得ISO9000认证,这标志着AMOTECH在产品质量管理上达到了国际标准。
随着全球环保意识的日益增强,Bel Power Solutions积极响应号召,将环保理念融入产品设计和生产中。公司推出了多款环保型电源产品,如高效能、低能耗的DC-DC转换器和电源供应器,帮助客户降低能耗、减少碳排放。同时,公司还致力于研发和推广可再生能源应用技术,为可持续发展做出贡献。
随着全球环保意识的日益增强,Bel Power Solutions积极响应号召,将环保理念融入产品设计和生产中。公司推出了多款环保型电源产品,如高效能、低能耗的DC-DC转换器和电源供应器,帮助客户降低能耗、减少碳排放。同时,公司还致力于研发和推广可再生能源应用技术,为可持续发展做出贡献。
进入21世纪,安国继续深耕集线器控制芯片领域。2000年,公司发布了首款USB键盘集线器控制芯片——AU9432,这款芯片凭借其卓越的性能和稳定性,成功被Apple的iMAC键盘所采用。这一里程碑事件不仅证明了安国在集线器控制芯片领域的领先地位,也为其后续的产品研发和市场拓展奠定了坚实基础。
CES 2010果然是惊喜不断,不光是让人眼馋的新手机新电脑,一个叫Airnergy Charger的小东西让84更加的兴奋不已。这个设备可以从WiFi信号中摄取能量来给手机等数码设备充电,比起便携的太阳能充电器,Airnergy Charger可以不分天气好坏和白天黑夜有 ...… 查看全部问答∨ |
|
我知道I/O接口编址方式分为存储器映射方式和独立编址方式,那么这个仅仅是由硬件决定的吗? 比如8086系列是采用独立的编址方式,那么现代我们正在使用的计算机是采用什么方式的呢?,比如Intel/AMD系列的 还有这和操作系统有关系吗,比如说如果采用的是 ...… 查看全部问答∨ |
|
【我给xilinx资源中心做贡献】Linux在Xilinx FPGA上的移植 Linux在Xilinx FPGA上的移植这个是论文,感觉真不错!~摘 要:Xilinx公司开发的Virtex-Ⅱ pro等FPGA结合可编程片上系统(SOPC)技术嵌入了PowerPC处理器硬核。本文结合Linux操作系统的优点及PowerPC嵌入式处理器硬 核,在Virtex-Ⅱ Pro开发平台 ...… 查看全部问答∨ |
|
不久前在IC-china的展会上看到上海高通的蓝牙拨号器升级方案,后来在最近几天的中国电子展上也看到了中电的蓝牙拨号器方案,貌似现在这个东西特别火哦~~据说都装了上海高通的字库芯片,现在可以同步电话目录和短信了,还配合小键盘输入法(好像也 ...… 查看全部问答∨ |
求救鼠标失灵与QT4下触摸不准问题! 昨天在板上运行QT4(自己编译的4.8.6)示例程序时触摸点不准,然后改用鼠标,中午出去吃饭,板子没断电,回来时鼠标就动不了了,也不知道是什么原因。 今天早上重新刷了系统,鼠标还是动不了(鼠标在电脑上能 ...… 查看全部问答∨ |