欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Micro2440 SDRAM初始化实验

程序员文章站 2022-06-08 21:45:58
...

1、BWSCON(位宽和等待寄存器)
Micro2440 SDRAM初始化实验

Micro2440 SDRAM初始化实验
通过上面两个图可以发现这个寄存器每四位控制一个bank,所以我们只需要配置第7的这四个位。
ST7:配置为0,不是用UB/LB,通过芯片连接图可得知
WS7:配置为0,不初始化为等待。
DW7:位宽为32位,则配置为10。
BANK6也控制着SDRAM,所以配置一样,其他配置为0
则这个寄存器配置为0x22000000
2、BANKCONx(BANK控制寄存器)
Micro2440 SDRAM初始化实验
不使用,直接配置成默认值。
3、BNAK控制寄存器

Micro2440 SDRAM初始化实验
Micro2440 SDRAM初始化实验
配置BANKCON6,7.
MT:配置成11,表示配置为SDRAM
最后配置后三位:
Trcd:通过前面的时序图可配置成为2clocks,则为00
Micro2440 SDRAM初始化实验
SCAN:通过SDRAM芯片手册可以知道,为9bit,则配置成01.
Micro2440 SDRAM初始化实验
则这个寄存器配置为0x22000000。
4、REFRESH(刷新寄存器)
配置这个寄存器
Micro2440 SDRAM初始化实验
REFEN:配置为1,使能SDRAM刷新寄存器。
TREFMD:配置为0,自动刷新。
Trp:看数据手册,上面显示为两个时钟信号,配置为00
Micro2440 SDRAM初始化实验
Tsrc:默认为7个clock,配置为11。
Reserved:配置为0。
Refresh Counter:直接配置为1269
则整个寄存器配置为:0x008c04f5
​5、BANKSIZE
Micro2440 SDRAM初始化实验
BURST_EN:支持突发传输,配置为1。
SCKE_EN:节能模式,配置为1。
SCLK_EN:配置为推荐的1。
BK76MAP:配置为001由两片32位芯片配置而成。
最后配置为:0x000000b1.
6、模式设置寄存器MRSRBx
Micro2440 SDRAM初始化实验
其它固定,只配置CL,CAS的潜伏期
Micro2440 SDRAM初始化实验
由数据手册可得:
CLOCK为3,则配置为011
整个寄存器配置为:0x00000030
代码如下:


#define men_contrl 0x48000000

init_sdram:
		ldr r0, =men_contrl @起始地址保存在r0中
		add r3, r0, #4*13  @每个寄存器为4位,13个
		adr1 r1, men_data  @把men_data的地址传给r1

0:
		ldr r2, [r1], #4
		str r2, [r0], #4
		cmp r0, r3  @比较两个地址
		bne 0b      @往前跳转
		mov pc, lr

men_data:
		@存储控制器的13个寄存器的设置值
		.long  0x22000000  @BWSCON
		.long  0x00000700  @BANKCON0
		.long  0x00000700  @BANKCON1
		.long  0x00000700  @BANKCON2
		.long  0x00000700  @BANKCON3
		.long  0x00000700  @BANKCON4
		.long  0x00000700  @BANKCON5
		.long  0x00018001  @BANKCON6
		.long  0X00018001  @BANKCON7
		.long  0x008C04f5  @REFRESH
		.long  0x000000B1  @BANKSIAZE
		.long  0x00000030  @MRSRB6
		.long  0x00000030  @MRSRB7
相关标签: Micro2440学习笔记