存储、NAND FLASH控制器实验(S3C2410)

发布者:之敖赵先生最新更新时间:2016-08-01 来源: eefocus关键字:存储  NAND  FLASH  S3C2410 手机看文章 扫描二维码
随时随地手机看文章
       本实验介绍如何使用SDRAM,这需要设置13个寄存器。呵呵,别担心,这些寄存器很多是类似的,并且由于我们只使用了BANK6,大部分的寄存器我们不必理会:
1.BWSCON:对应BANK0-BANK7,每BANK使用4位。这4位分别表示:
       a.STx:启动/禁止SDRAM的数据掩码引脚,对于SDRAM,此位为0;对于SRAM,此位为1。
       b.WSx:是否使用存储器的WAIT信号,通常设为0
       c.DWx:使用两位来设置存储器的位宽:00-8位,01-16位,10-32位,11-保留。
       d.比较特殊的是BANK0对应的4位,它们由硬件跳线决定,只读。
       对于本开发板,使用两片容量为32Mbyte、位宽为16的SDRAM组成容量为64Mbyte、位宽为32的存储器,所以其BWSCON相应位为:0010。对于本开发板,BWSCON可设为0x22111110:其实我们只需要将BANK6对应的4位设为0010即可,其它的是什么值没什么影响,这个值是参考手册上给出的。
2.BANKCON0-BANKCON5:我们没用到,使用默认值0x00000700即可
3.BANKCON6-BANKCON7:设为0x00018005
      在8个BANK中,只有BANK6和BANK7可以使用SRAM或SDRAM,所以BANKCON6-7与BANKCON0-5有点不同:
     a.MT([16:15]):用于设置本BANK外接的是SRAM还是SDRAM:SRAM-0b00,SDRAM-0b11
     b.当MT=0b11时,还需要设置两个参数:
        Trcd([3:2 R A S to CAS delay,设为推荐值0b01
 SCAN([1:0]):SDRAM的列地址位数, 对于本开发板使用的SDRAM HY57V561620CT-H,列地址位数为9,所以SCAN=0b01。如果使用其他型号的SDRAM,您需要查看它的数据手册来决定SCAN的取值:00-8位,01-9位,10-10位
       4.REFRESH(SDRAM refresh control register):设为0x008e0000+ R_CNT其中R_CNT用于控制SDRAM的刷新周期,占用REFRESH寄存器的[10:0]位,它的取值可如下计算(SDRAM时钟频率就是HCLK):
       R_CNT = 2^11 + 1 – SDRAM时钟频率(MHz) *SDRAM刷新周期(uS)
在未使用PLL时,SDRAM 时钟频率等于晶振频率12MHz;SDRAM的刷新周期在SDRAM的数据手册上有标明,在本开发板使用的SDRAM HY57V561620CT-H的数据手册上,可看见这么一行“8192 refresh cycles /64ms”:所以,刷新周期=64ms/8192 = 7.8125 uS。
对于本实验,R_CNT = 2^11 + 1 – 12 * 7.8125 =1955,
REFRESH=0x008e0000 + 1955 = 0x008e07a3
  5.BANKSIZE:0x000000b2
位[7]=1:Enable burst operation
位[5]=1:SDRAM power down mode enable
位[4]=1:SCLK is active only during the access(recommended)
位[2:1]=010:BANK6、BANK7对应的地址空间与BANK0-5不同。BANK0-5的地址空间都是固定的128M,地址范围是(x*128M)到(x+1)*128M-1,x表示0到5。但是BANK7的起始地址是可变的,您可以从S3C2410数据手册第5章“Table5-1. Bank 6/7 Addresses”中了解到BANK6、7的地址范围与地址空间的关系。本开发板仅使用BANK6的64M空间,我们可以令位[2:1]=010(128M/128M)或001(64M/64M):这没关系,多出来的空间程序会检测出来,不会发生使用不存在的内存的情况——后面介绍到的bootloader和linux内核都会作内存检测。
位[6]、位[3]没有使用

6.MRSRB6、MRSRB7:0x00000030
         能让我们修改的只有位[6:4](CL),SDRAM HY57V561620CT-H不支持CL=1的情况,所以位[6:4]取值为010(CL=2)或011(CL=3)。
          只要我们设置好了上述13个寄存器,往后SDRAM的使用就很简单了。本实验先使用汇编语言设置好SDRAM,然后把程序本身从Steppingstone(还记得吗?本节开始的时候提到过,复位之后NAND
Flash开头的4k代码会被自动地复制到这里)复制到SDRAM处,然后跳到SDRAM中执行。
本实验源代码在SDRAM目录中,
head.s开头的代码如下:
1 bl disable_watch_dog
2 bl memsetup
3 bl copy_steppingstone_to_sdram
4 ldr pc, =set_sp @跳到SDRAM中继续执行
5 set_sp:
6 ldr sp, =0x34000000 @设置堆栈
7 bl main @跳转到C程序main函数
8 halt_loop:
9 b halt_loop
       为了让程序结构简单一点,我都使用函数调用的方式。第一条指令是禁止WATCH DOG,往WTCON寄存器(地址0x53000000)写入0即可禁止WATCH DOG。第二条指令设置本节开头所描述的13个寄存器,以便使用SDRAM。往下程序做的事情就是:将Steppingstone中的代码复制到SDRAM中(起始地址为 0x30000000),然后向pc寄存器直接赋值跳到SDRAM中执行下一条指令“ldr sp, =0x34000000”。
关键字:存储  NAND  FLASH  S3C2410 引用地址:存储、NAND FLASH控制器实验(S3C2410)

上一篇:ARM7嵌入式系统中Bootloader分析与设计
下一篇:ARM的中断原理

推荐阅读最新更新时间:2024-03-16 15:02

清华微电子所与厦门合作发展新型存储
集微网消息,2月9日,厦门邀请国内权威的学术界专家和业界高管召开厦门半导体工业技术工研院项目专家评审会,该项目在会上顺利通过专家评审。   半导体工业领域专家、清华大学钱鹤教授表示,该研究院将集合清华大学前端研究和厦门集成电路龙头企业,打造成研发一体的项目,并将研发新型的存储器。此外,该项目将打造成为清华大学微电子学科的研究成果转换平台(首先以新型存储器产品为突破),清华大学微电子所的学术发布平台,微电子与纳电子系硕士、本科生人才实训平台。   近年来,厦门集成电路产业发展势头迅猛,已初步形成了各环节布局完整的全产业链格局。随着联芯、紫光展锐、三安、士兰微、通富等一批重点龙头项目相继落地,全市已聚集集成电路企业两百余家。
[手机便携]
SK海力士联手希捷共谋存储大计,但度过眼前大劫才是关键?
根据韩国媒体所发布的一份韩国官方文件指出,韩国内存大厂  SK 海力士  (SK Hynix) 正在寻求全球储存大厂 希捷 (Seagate) 建立合资企业,进而加强非易失性存储用 闪存 芯片的中长期竞争力。 不过,文件中并没有表明已经做了什么样确定的决定。   报导中指出,由于考虑到碟片式硬盘转型到闪存储存的趋势,再加上技术进展与客户业务需求的压力,SK 海力士与希捷两家企业无疑已经受到这波浪潮的严重影响与冲击。   事实上,碟片式硬盘市场正在不断萎缩,而做为主要资料储存媒介,目前市场也开始由碟片式硬盘转向闪存。这是因为闪存无论在存取速度,或者是功耗与冷却需求方面都有一定的优势。不过,SK 海力士与希捷两家企业在闪存芯片
[嵌入式]
用于系统级芯片的纳米晶非易失性存储
基于不断发展的硅技术的集成电路使得集成了若干模块的复杂SoC的制造得以实现。最早的SoC是微控制器,其中包括CPU、缓存SDRAM和用于连接传感器和制动器(actuator)的外设模块。非易失性存储器即使在系统断电时也能保存信息,已经在很多年前就嵌入到SoC中了,最初是用在摩托罗拉公司1982推出的MC68HC11中。这种微控制器用在很多汽车、工业和消费应用中,包括汽车引擎盖内这种恶劣的环境。 从用户来看,数据和代码都可以存储在非易失性存储器中。尽管最初提供了可字节擦除的EEPROM和块可擦除的闪存EEPROM,但当前的SoC仅提供闪存EEPROM用于代码和数据存储,因为其擦除次数已经增加到大于100,000次,这已经足够了。
[嵌入式]
网络与存储双管齐下 LSI“两手抓两手都要硬”
近几年来LSI公司动作频频,陆续完成了九次收购和两个业务部的出售,处于金融危机的大形势之下,各大厂商都“保暖过冬”,LSI何以如此大胆,敢于“逆流而上”?不仅如此,LSI公司长期以来一直致力于推广存储技术,在完成了此次战略转型之后,还依然保持其在存储市场领先的优势,并增加了新的工作亮点,网络产品方面也有了可喜的成绩。对于LSI来说,这无疑是锦上添花。 业务的整合 LSI在经过数年的尝试与探索之后,借助于大胆的重组和合并,成功塑造了其在网络和存储半导体市场的领头羊形象。 “在过去三到四年LSI公司本身有很大的转变,我们在做公司内部的转型,现在我们的核心业务,也是两大支柱业务:网络和存储。”LSI 执行副总裁
[EEWORLD独家]
网络与<font color='red'>存储</font>双管齐下  LSI“两手抓两手都要硬”
谷歌正式推出在线存储服务Google Drive
    Google Drive页面截图(腾讯科技配图) 腾讯科技讯(萧谔) 北京时间4月25日消息,据国外媒体报道,谷歌周二推出了等待已久的在线存储服务Google Drive,允许用户在该公司的服务器上存储照片、文件和视频,并通过包括苹果的iPhone和iPad等网络连接设备访问这些文件。       新服务被视为谷歌与硅谷最炙手可热的新创企业Dropbox以及类似公司竞争的尝试。今年2月《华尔街日报》曾报道,谷歌将在数月内推出该服务。与Dropbox一样,Google Drive也是针对移动互联网设备如智能手机和平板电脑的日益增长和云计算的兴起,可在线存储文件,然后从多种设备访问并很方便地与他人分享。    
[手机便携]
数字存储式自动应答录音系统
摘要:介绍用单片机进行控制,利用ISD2590芯片设计实现的一种数字式自动答录系统。该系统具有一定程度的智能化,且实现简单,具有较大的可扩充性。 关键词:单片机 ISD2590芯片 录音 双音多频(DTMF) 随着电子技术特别是数字技术的迅猛发展,电脑自动应答、数字点歌、自动音频服务、自动应答录音电话等各种自动答录系统在越来越多的场合发挥着重要的作用。这些技术极大地方便了人们的工作和生活,提高了效率。本文介绍以数字存储方式设计实现的一种简单的自动应答录音系统。该系统主要采用ISD2590语音芯片进行数字录音,其特点是:音质好,且可随时更改主人留言信息。另外该系统利用单片机控制,具有一定程度的智能化及可扩充性。 1 系统
[手机便携]
由外部总线访问MPC5554的内部存储
在基于双CPU的嵌入式应用中,通常都会涉及数据交互的问题。一般来说有两种数据交互的方案:一种是使用诸如SPI的通信协议直接进行数据传输,这种方法只适用于小规模的数据交互,对于批量数据则显得无能为力;另一种则是双CPU通过外部总线接口扩展外部共享存储器,例如双口RAM,通过共享存储器实现对交互数据的写入与读出,目前大部分双CPU都是采用这种方案。处理器中大都集成有较大规模的Flash存储器,如果能通过外部总线直接访问处理器的内存储器并进行读/写,就可以将共享存储器从片外移到片内。片内集成的存储器在速度和可靠性方面都比片外扩展的存储器要高很多,有些处理器集成的F1ash存储器还带有ECC校验,进一步提高了存储数据的可靠性。 1 处理器
[单片机]
由外部总线访问MPC5554的内部<font color='red'>存储</font>器
两种存储利弊分析
  20世纪50年代,磁带存储领域开始在世界上慢慢发展起来,经过几十年一代又一代的研发,磁带存储日益方便,目前,磁带存储仍然是外围存储设备中应用比例最多的,并且该领域的专家们也相当的乐观,相信在未来的50年里,不仅磁带存储量会大幅增加,而且数据速率,可靠性和磁带存储的管理也会大幅增加,也相信磁带能继续提供低成本高效益,高可靠性和高容量的存储功能,将会是存储领域绿荫场上的“主力中锋”。   然而,近年兴起的磁盘阵列存储发展迅速,磁盘阵列作为独立系统在主机外直连或通过网络与主机相连,拥有着多方面的优势,极大的影响了磁带存储的地位。下面,小编将崇硕的小存储阵列柜崇硕Fit系列与磁带机的应用做一番比较,衡量哪种存储选择最为睿智。   
[安防电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved