找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2667|回复: 14
打印 上一主题 下一主题

SDRAM的工作频率是可以编程吗?

[复制链接]

20

主题

133

帖子

821

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
821
跳转到指定楼层
1#
发表于 2009-7-6 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 hanicesnow 于 2009-7-7 16:29 编辑 1 X9 p" J8 [* N) b

+ c/ v6 `$ `+ P5 p0 c' k9 b一个标称是166MHZ的SDRAM,如果控制器对SDRAM的时钟是可以编程的," j8 F* @* k! l3 P5 ?
那这颗SDRAM是不是可以跑在0-166MHZ之间的任何一个频率(不考虑系统性能),请各位高手指点。
' H6 f0 k0 [' ~4 |附件中是DRAM控制器的描述。

未命名.JPG (35.19 KB, 下载次数: 12)

未命名.JPG
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

6

主题

46

帖子

4523

积分

五级会员(50)

Rank: 5

积分
4523
2#
发表于 2009-7-6 11:15 | 只看该作者
可以8 I5 i2 ~6 @# _
不过这个通常是需要看MCU的手册的,按照MCU手册上面的关于MEM CLOCK这部分
5 }% m3 l& j% J% y& K5 F9 L: t* {- V0 d
通常在系统启动的时候进行寄存器部分的设置拿三星的2410来说
9 n4 c- Q1 i( w   AREA    Init,CODE,READONLY
4 ]: o$ [. _* h: g# C- J/ o    ENTRY   |; d5 f# D7 W
    b   HandlerUndef    ;handler for Undefined mode2 m9 V+ z6 N- ]
    b   HandlerSWI      ;handler for SWI interrupt
. C0 z1 j" ]+ @  f    b   HandlerPabort   ;handler for PAbort
) b( C' [" T6 l8 g: q7 ?2 G% o    b   HandlerDabort   ;handler for DAbort; y( D7 o  A- d" v& d% ?0 ]$ ^
    b   .               ;reserved
& X3 `- |. M. h, u+ K    b   HandlerIRQ      ;handler for IRQ interrupt 9 c" b- s9 R( w' v  F, U' u% [
    b   HandlerFIQ      ;handler for FIQ interrupt
6 |' G8 f4 q; R/ [; w  z& R初始化中断向量表。。。。
" }1 D/ T, m* o8 V& f/ A: I在初始化堆栈前必须做外部SDRAM内存的硬件初始化,这个时候就会根据硬件手册设置好相应的
, D, e" V( B4 y3 D* V, ?/ E...................." l0 I% w2 E7 I& X
    ;Set memory control registers; b" B& _$ S; E# h$ I2 `
    ldr r0,=SMRDATA
/ l. c5 X) A8 w9 ^- V    ldr r1,=BWSCON      ;BWSCON Address
. h- j# P' g& k' p    add r2, r0, #52     ;End address of SMRDATA* K' ?+ w5 l# B
.................
/ f4 j2 G8 M! T: B  i1 B;@0x20
( s0 `6 H2 J2 |  C    b   EnterPWDN
+ Z# y! F- t$ [6 W# qSMRDATA DATA- j5 o1 N% i6 z; h
; Memory configuration should be optimized for best performance
3 U3 @! `" q* y( ?+ x  w' c; The following parameter is not optimized.                     
2 z" a+ B' l% E: v# o2 i; Memory access cycle parameter strategy
& L. C4 x: o) Z% `; ~: p1 h; k; 1) The memory settings is  safe parameters even at HCLK=75Mhz.
9 M' [/ ^4 R. F. s; 2) SDRAM refresh period is for HCLK=75Mhz.
3 c& ]: R" c4 j; Q
; a7 O2 f$ U0 s" V* R3 w% E( E    DCD (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28))" c* D* r- }: q7 o1 _! u, }  J0 o
    DCD ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))   ;GCS0
9 ]# M) w0 ]' W    DCD ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC))   ;GCS1 # a' R# z" _2 I6 J
    DCD ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))   ;GCS2
0 T; _# }8 u2 i    DCD ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC))   ;GCS3
) u! y; w* o9 b* l    DCD ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))   ;GCS4
9 v  F0 e) I) c/ G" U7 P    DCD ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC))   ;GCS54 z5 f% `( n. q- F
    DCD ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))    ;GCS6
; o- Y5 l7 E) ~    DCD ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN))    ;GCS7
( s. x  K" e8 R# K6 V4 ~5 m% q;   DCD ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT)    ;Tchr not used bit: s1 L! j1 c' W
    DCD ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+REFCNT)       0 p4 l" j7 y  H: F

& V1 U1 L  I  w; E! I9 j, q2 M5 N8 D5 h7 ?5 x. ?* I7 \
9 k9 x  m' E* V$ M/ D6 u
;   DCD 0x32            ;SCLK power saving mode, ARM core burst disable, BANKSIZE 128M/128M
# N; g3 b2 U% j" B  P3 b    DCD 0xb2            ;SCLK power saving mode, ARM core burst enable , BANKSIZE 128M/128M - 11/29/2002
% c2 K* z9 E$ h! `0 F) n( _. C- p
2 o* |3 R) T6 o    DCD 0x30            ;MRSR6 CL=3clk
7 l4 a5 ]) U6 \! B* O5 W: E    DCD 0x30            ;MRSR7
1 T- J8 k$ h2 M0 C7 Q, y, e;   DCD 0x20            ;MRSR6 CL=2clk
' j) a6 M6 I+ [2 u;   DCD 0x20            ;MRSR7

6

主题

46

帖子

4523

积分

五级会员(50)

Rank: 5

积分
4523
3#
发表于 2009-7-6 11:23 | 只看该作者

5 Q2 a% r  C7 R4 [; l: d8 D8 o2 e: K: A4 v4 X& N3 b! Z" i/ X
看一下这个吧呵呵,不同的MCU设置SDRAM寄存器的方式也不一样,(MCU的架构MCU的厂家不同都会有区别)9 o6 ~9 m3 z0 V" Z
之所以给你举2410的例子是应为有中文的文档!易于理解^_^( r1 i/ ~1 E7 Z' G+ d( M

! h$ L* j) y) r! {& w你自己看一下理解一下吧,我怕说多了有些乱。

s3c2410-5.rar

288.89 KB, 下载次数: 37, 下载积分: 威望 -5

20

主题

445

帖子

1316

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1316
4#
发表于 2009-7-6 12:45 | 只看该作者
最低频率通常有限制的,你看一下颗粒的datasheet,能查到的,一般不推荐低于多少。

20

主题

133

帖子

821

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
821
5#
 楼主| 发表于 2009-7-7 14:44 | 只看该作者
多谢两位,兄弟受益匪浅啊。我仔细看了下SDRAM的规格书,在时钟周期一栏,定义了最小时间,但是时钟的最大时间没有定义,也就是我没有找到最低频率。找了几个规格书都没有。' U1 ], r; `* i  Y3 E6 F, b' w+ `
请问高手,这个最低频率一般由什么决定的,! y# ~' G. s7 j! S* ]" \8 l! ?, O& ^
是系统性能吗?要求数据处理的快,那么SDRAM就工作频率就高。
$ g7 a' C$ B3 @+ M$ a还是有其它的东西限制着这个最低频率?

20

主题

445

帖子

1316

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1316
6#
发表于 2009-7-8 12:44 | 只看该作者
物理限制当然有一些的,如果你跑几K的速录,用个电容设计就可以,何必用MOS+电容的结构呢。1 y8 B, s& }7 V' W( Q
# o, A+ u4 Q' {( r/ \' r
选RAM还不主要因为你软件的需求,要跑多快,多大带宽吗?如果DDR2 667能搞定,就不要用DDR2 800的颗粒。

6

主题

46

帖子

4523

积分

五级会员(50)

Rank: 5

积分
4523
7#
发表于 2009-7-8 13:13 | 只看该作者
物理限制当然有一些的,如果你跑几K的速录,用个电容设计就可以,何必用MOS+电容的结构呢。1 Z3 [0 _( t- }- Q/ A

- V2 V4 @8 a5 n' P: Q+ ]6 T选RAM还不主要因为你软件的需求,要跑多快,多大带宽吗?如果DDR2 667能搞定,就不要用DDR2 800的颗粒。& T: S2 Q6 Y" m
liqiangln 发表于 2009-7-8 12:44

9 g! p  H4 s9 ]" B( R, x3 i
: Y3 {$ `- h+ e1 e, K& dhehe翻译一下,SDRAM都看最快能跑多少,没有人看最慢的呵呵,设计的时候如果用低速率的SDRAM还便宜能够满足系统设计的要求。为什么还要用速率高的。。。。。。

20

主题

133

帖子

821

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
821
8#
 楼主| 发表于 2009-7-8 13:53 | 只看该作者
本帖最后由 hanicesnow 于 2009-7-8 15:18 编辑
7 {  n& G, ^3 t% S# m
# n  @+ g8 O% r9 n1 g$ y9 G多谢两位,学习了。

6

主题

46

帖子

4523

积分

五级会员(50)

Rank: 5

积分
4523
9#
发表于 2009-7-8 16:01 | 只看该作者
设计的时信号控制线上面加22欧的电阻试试。

39

主题

206

帖子

1385

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1385
10#
发表于 2009-7-14 18:16 | 只看该作者
楼上的,貌似加电阻不会改变频率的哦。

6

主题

46

帖子

4523

积分

五级会员(50)

Rank: 5

积分
4523
11#
发表于 2009-7-15 08:33 | 只看该作者
楼上的你没有看到他编辑了一次么?
9 c, O! s3 p9 s+ S8 s他的问题最终是EMC问题,在内存旁边总有一个频场,我认为加电阻能够解决这个问题。

15

主题

300

帖子

-1万

积分

未知游客(0)

积分
-11811
12#
发表于 2009-9-17 11:21 | 只看该作者
学习!

4

主题

34

帖子

765

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
765
13#
发表于 2009-9-24 11:36 | 只看该作者
一般的SDRAM的时钟DDR1 有133 266 400 , F; M: c* I$ n  m9 e; D/ a
DDR2 533 667 8007 r0 f6 E+ O: ]6 B
你要使用合适的频率就要更主频有很大关系的
% ^& }3 X5 S* D4 n  ?* x5 W' R' J, o如ARM中就必须是MPLL :HPLL 就要1:3 或这个1:2 & d( R2 C0 ?2 D2 w. k
这个要根据你的芯片的寄存器设置 不是想怎样改 就能改的

3

主题

47

帖子

165

积分

二级会员(20)

Rank: 2Rank: 2

积分
165
14#
发表于 2011-3-29 23:38 | 只看该作者
:):):):)

43

主题

163

帖子

818

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
818
15#
发表于 2011-3-31 21:32 | 只看该作者
不错,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-22 19:25 , Processed in 0.068235 second(s), 36 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表