有没有人用过ddr内存K4H511638G,改如何配置参数?

shellgo 2010-10-16 03:30:40
有没有人用过ddr内存K4H511638G-lccc,改如何配置参数?
是当成266来使用的
现在配置文件是:
DDR_tREFRESH EQU 7800 ; ns 7800

DDR_tRC EQU 65 ; ns (min: 67.5ns)
DDR_tRFC EQU 75 ; ns (min: 80ns)
DDR_tRAS EQU 45 ; ns (min: 45ns)
DDR_tRCD EQU 20 ; ns (min: 22.5ns)
DDR_tRP EQU 20 ; ns (min: 22.5ns)
DDR_tRRD EQU 15 ; ns (min: 15ns)
DDR_tWR EQU 15 ; ns (min: 15ns)
DDR_tXSR EQU 120 ; ns (min: 120ns)
DDR_CASL EQU 3 ; CAS Latency 3
;-------------------------------------------------------------------------------
; Definitions for memory configuration
;-------------------------------------------------------------------------------
USE_DMC0 SETL {FALSE}
USE_DMC0_CHIP0 SETL {FALSE}
USE_DMC0_CHIP1 SETL {FALSE}
USE_DMC1 SETL {TRUE}
USE_DMC1_CHIP0 SETL {TRUE}
USE_DMC1_CHIP1 SETL {FALSE}

;-------------------------------------------------------------------------------
; Memory Configuration Register
; CKE_Ctrl[31], Active_Chip[22:21], Qos_master[20:18], Burst[17:15], Stop_mem_clock[14]
; Auto_power_down[13], Pwr_down_prd[12:7], AP bit[6], Row bit[5:3], Column bit[2:0]
; CKE_Ctrl : 1'b0(One CKE Ctrl), 1'b1(Individual CKE Ctrl)
; Active Chip : 2'b00 (1chip), 2'b01(2chips)
; Memory Burst: 3'b000 (Burst1), 3'b001(Burst2), 3'b010(Burst4), 3'b011(Burst8), 3'b100(Burst16)

; 31th register in P1MEMCFG shoud be set as '0' to support one cke control
DMC1_MEM_CFG EQU ((1<<30)+(0<<21)+(0<<18)+(2<<15)+(0<<14)+(0<<13)+(0<<7)+(0<<6)+(2<<3)+(2<<0)) ; colum A0~A9
;DMC1_MEM_CFG EQU 0x80010012

;-------------------------------------------------------------------------------
; Memory Configuration 2 Register
; Read Delay[12:11], Memory Type[10:8], Memory Width[7:6], Bank bits[5:4], DQM init[2], Clock[1:0]
; Read Delay : 2'b00 (SDRAM), 2'b01 (DDR,mDDR), 2'b10 = Read Delay 2 cycle
; Memory Type: 3'b000(SDRAM), 3'b001(DDR), 3'b011(mDDR), 3'b010(Embedded DRAM)
; Memory Width : 2'b00 (16bit), 2'b01(32bit)
; DQM init : DQM state at reset
; Clock Config: AXI and Memory Clock are sync.
DMC1_MEM_CFG2 EQU ((1<<11)+(1<<8)+(1<<6)+(0<<4)+(0<<2)+(1<<0))
;DMC1_MEM_CFG2 EQU 0xB41

;-------------------------------------------------------------------------------
; CHIP Configuration Register
; BRC_RBC[16], Addr_match[15:8], Addr_Mask[7:0]
; BRC_RBC: 1'b0 (Row-Bank-Column), 1'b1 (Bank-Row-Column)
; Addr_match: AXI_addr[31:24], Ex) 0x5000_0000, Set 0x50
; Addr_Mask : AXI_addr[31:24], Ex) 0x57ff_ffff, Set 0xF8
DMC1_CHIP0_CFG EQU ((1<<16)+(0x50<<8)+(0xF8<<0)) ; BRC (Linear Address Mapping)
;DMC1_CHIP0_CFG EQU ((0<<16)+(0x50<<8)+(0xF8<<0)) ; RBC (4K Unit Permute)
;DMC1_CHIP0_CFG EQU 0x150F8

; User Configuration Register
; DQS3[7:6], DQS2[5:4], DQS1[3:2], DQS0[1:0]
DMC1_USER_CFG EQU 0x0

;-------------------------------------------------------------------------------
; Memory Configurations for DMC
; (HCLK: DMC Clock)
;-------------------------------------------------------------------------------

;---------------------------
; mDDR Memory Configuration
;---------------------------
[ {TRUE}
DMC_DDR_BA_EMRS EQU (2)
DMC_DDR_MEM_CASLAT EQU (3)
DMC_DDR_CAS_LATENCY EQU (DDR_CASL<<1) ; 6 Set Cas Latency to 3
DMC_DDR_t_DQSS EQU (1) ; Min 0.75 ~ 1.25
DMC_DDR_t_MRD EQU (2) ; Min 2 tck
DMC_DDR_t_RAS EQU (((HCLK/1000*DDR_tRAS)+500000)/1000000+1) ; 7, Min 45ns
DMC_DDR_t_RC EQU (((HCLK/1000*DDR_tRC)+500000)/1000000+1) ; 10, Min 67.5ns
DMC_DDR_t_RCD EQU (((HCLK/1000*DDR_tRCD)+500000)/1000000+1) ; 4,5(TRM), Min 22.5ns
DMC_DDR_schedule_RCD EQU ((DMC_DDR_t_RCD -3) <<3);
DMC_DDR_t_RFC EQU (((HCLK/1000*DDR_tRFC)+500000)/1000000+1) ; 11,18(TRM) Min 80ns
DMC_DDR_schedule_RFC EQU ((DMC_DDR_t_RFC -3) <<5);
DMC_DDR_t_RP EQU (((HCLK/1000*DDR_tRP)+500000)/1000000+1) ; 4, 5(TRM) Min 22.5ns
DMC_DDR_schedule_RP EQU ((DMC_DDR_t_RP -3) <<3);
DMC_DDR_t_RRD EQU (((HCLK/1000*DDR_tRRD)+500000)/1000000+1) ; 3, Min 15ns
DMC_DDR_t_WR EQU (((HCLK/1000*DDR_tWR)+500000)/1000000+1) ; Min 15ns
DMC_DDR_t_WTR EQU (2)
DMC_DDR_t_XP EQU (2) ; 1tck + tIS(1.5ns)
DMC_DDR_t_XSR EQU (((HCLK/1000*DDR_tXSR)+500000)/1000000+1) ; 17, Min 120ns
DMC_DDR_t_ESR EQU (DMC_DDR_t_XSR)
DMC_DDR_REFRESH_PRD EQU (((HCLK/1000*DDR_tREFRESH)+500000)/1000000) ; TRM 2656
DMC_DDR_REFRESH_PRD_DVS EQU (DMC_DDR_REFRESH_PRD/2) ; HCLK can be divided by 2
]

END


但贴老的内存芯片是没有问题K4H511638D;贴了新的内存芯片K4H511638G系统就启动不了,烧制nk.bin也有问题
...全文
869 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shellgo 2010-10-20
  • 打赏
  • 举报
回复
楼上的,你那边有没有什么问题啊?
能否把配置文件发一份给参考下,shellgo@126.com
非常感谢!
myearth 2010-10-20
  • 打赏
  • 举报
回复
K4H511638G是K4H511638F的升级版,没区别,直接用。
我这边是这样,视乎和ddr布线有很大关联。
shellgo 2010-10-20
  • 打赏
  • 举报
回复
非常感谢,又学习了一些知识,
myearth 2010-10-20
  • 打赏
  • 举报
回复
[ {TRUE}
DMC_DDR_BA_EMRS EQU (2)
。。。。。。。。。。。。。。。。。
|
[ {TRUE} ;HCLK=133MHZ
表示选HCLK=133MHZ就是DDR266M

我们都没加电阻,通过pcb阻抗匹配,等长线等等
shellgo 2010-10-20
  • 打赏
  • 举报
回复
试验过了,还是不行,估计还是和布板有关系
问下:Xm1CKE0、Xm1SCLK、Xm1SCLKn等信号脚有没有加电阻来匹配啊?
shellgo 2010-10-20
  • 打赏
  • 举报
回复
非常感谢,今天测试下
顺便问个问题:
[ {TRUE}
DMC_DDR_BA_EMRS EQU (2)
。。。。。。。。。。。。。。。。。
|
[ {TRUE} ;HCLK=133MHZ
DMC_DDR_REFRESH_PRD EQU (0x40D) ; TRM 2656
。。。。。。。。。。。。。。。。。
DMC_DDR_t_ESR EQU (DMC_DDR_t_XSR)
]

这个是什么意思?在start.s中是选择哪个?语法到哪里可以找到?
myearth 2010-10-20
  • 打赏
  • 举报
回复
; Include the system definitions

; INCLUDE s3c6410.inc

GBLL USE_DMC0
GBLL USE_DMC0_CHIP0
GBLL USE_DMC0_CHIP1
GBLL USE_DMC1
GBLL USE_DMC1_CHIP0
GBLL USE_DMC1_CHIP1

;-------------------------------------------------------------------------------
; DDR Timing Parameter
;-------------------------------------------------------------------------------
DDR_tREFRESH EQU 7800 ; ns 7800

DDR_tRAS EQU 45 ; ns (min: 45ns)
DDR_tRC EQU 68 ; ns (min: 67.5ns)
DDR_tRCD EQU 23 ; ns (min: 22.5ns)
DDR_tRFC EQU 80 ; ns (min: 80ns)
DDR_tRP EQU 23 ; ns (min: 22.5ns)
DDR_tRRD EQU 15 ; ns (min: 15ns)
DDR_tWR EQU 15 ; ns (min: 15ns)
DDR_tXSR EQU 120 ; ns (min: 120ns)

DDR_CASL EQU 3 ; CAS Latency 3

;-------------------------------------------------------------------------------
; Definitions for memory configuration
;-------------------------------------------------------------------------------
USE_DMC0 SETL {FALSE}
USE_DMC0_CHIP0 SETL {FALSE}
USE_DMC0_CHIP1 SETL {FALSE}
USE_DMC1 SETL {TRUE}
USE_DMC1_CHIP0 SETL {TRUE}
USE_DMC1_CHIP1 SETL {FALSE}

;-------------------------------------------------------------------------------
; Memory Configuration Register
; CKE_Ctrl[31], Active_Chip[22:21], Qos_master[20:18], Burst[17:15], Stop_mem_clock[14]
; Auto_power_down[13], Pwr_down_prd[12:7], AP bit[6], Row bit[5:3], Column bit[2:0]
; CKE_Ctrl : 1'b0(One CKE Ctrl), 1'b1(Individual CKE Ctrl)
; Active Chip : 2'b00 (1chip), 2'b01(2chips)
; Memory Burst: 3'b000 (Burst1), 3'b001(Burst2), 3'b010(Burst4), 3'b011(Burst8), 3'b100(Burst16)

; 31th register in P1MEMCFG shoud be set as '0' to support one cke control
DMC1_MEM_CFG EQU ((1<<30)+(0<<21)+(0<<18)+(2<<15)+(0<<14)+(0<<13)+(0<<7)+(0<<6)+(2<<3)+(2<<0)) ; colum A0~A9
;DMC1_MEM_CFG EQU 0x80010012

;-------------------------------------------------------------------------------
; Memory Configuration 2 Register
; Read Delay[12:11], Memory Type[10:8], Memory Width[7:6], Bank bits[5:4], DQM init[2], Clock[1:0]
; Read Delay : 2'b00 (SDRAM), 2'b01 (DDR,mDDR), 2'b10 = Read Delay 2 cycle
; Memory Type: 3'b000(SDRAM), 3'b001(DDR), 3'b011(mDDR), 3'b010(Embedded DRAM)
; Memory Width : 2'b00 (16bit), 2'b01(32bit)
; DQM init : DQM state at reset
; Clock Config: AXI and Memory Clock are sync.
DMC1_MEM_CFG2 EQU ((1<<11)+(3<<8)+(1<<6)+(0<<4)+(0<<2)+(1<<0))
;DMC1_MEM_CFG2 EQU 0xB41

;-------------------------------------------------------------------------------
; CHIP Configuration Register
; BRC_RBC[16], Addr_match[15:8], Addr_Mask[7:0]
; BRC_RBC: 1'b0 (Row-Bank-Column), 1'b1 (Bank-Row-Column)
; Addr_match: AXI_addr[31:24], Ex) 0x5000_0000, Set 0x50
; Addr_Mask : AXI_addr[31:24], Ex) 0x57ff_ffff, Set 0xF8
DMC1_CHIP0_CFG EQU ((1<<16)+(0x50<<8)+(0xF8<<0)) ; BRC (Linear Address Mapping)
;DMC1_CHIP0_CFG EQU ((0<<16)+(0x50<<8)+(0xF8<<0)) ; RBC (4K Unit Permute)
;DMC1_CHIP0_CFG EQU 0x150F8

; User Configuration Register
; DQS3[7:6], DQS2[5:4], DQS1[3:2], DQS0[1:0]
DMC1_USER_CFG EQU 0x0

;-------------------------------------------------------------------------------
; Memory Configurations for DMC
; (HCLK: DMC Clock)
;-------------------------------------------------------------------------------

;---------------------------
; mDDR Memory Configuration
;---------------------------
[ {TRUE}
DMC_DDR_BA_EMRS EQU (2)
DMC_DDR_MEM_CASLAT EQU (3)
DMC_DDR_CAS_LATENCY EQU (DDR_CASL<<1) ; 6 Set Cas Latency to 3
DMC_DDR_t_DQSS EQU (1) ; Min 0.75 ~ 1.25
DMC_DDR_t_MRD EQU (2) ; Min 2 tck
DMC_DDR_t_RAS EQU (((HCLK/1000*DDR_tRAS)+500000)/1000000+1) ; 7, Min 45ns
DMC_DDR_t_RC EQU (((HCLK/1000*DDR_tRC)+500000)/1000000+1) ; 10, Min 67.5ns
DMC_DDR_t_RCD EQU (((HCLK/1000*DDR_tRCD)+500000)/1000000+1) ; 4,5(TRM), Min 22.5ns
DMC_DDR_schedule_RCD EQU ((DMC_DDR_t_RCD -3) <<3);
DMC_DDR_t_RFC EQU (((HCLK/1000*DDR_tRFC)+500000)/1000000+1) ; 11,18(TRM) Min 80ns
DMC_DDR_schedule_RFC EQU ((DMC_DDR_t_RFC -3) <<5);
DMC_DDR_t_RP EQU (((HCLK/1000*DDR_tRP)+500000)/1000000+1) ; 4, 5(TRM) Min 22.5ns
DMC_DDR_schedule_RP EQU ((DMC_DDR_t_RP -3) <<3);
DMC_DDR_t_RRD EQU (((HCLK/1000*DDR_tRRD)+500000)/1000000+1) ; 3, Min 15ns
DMC_DDR_t_WR EQU (((HCLK/1000*DDR_tWR)+500000)/1000000+1) ; Min 15ns
DMC_DDR_t_WTR EQU (2)
DMC_DDR_t_XP EQU (2) ; 1tck + tIS(1.5ns)
DMC_DDR_t_XSR EQU (((HCLK/1000*DDR_tXSR)+500000)/1000000+1) ; 17, Min 120ns
DMC_DDR_t_ESR EQU (DMC_DDR_t_XSR)
DMC_DDR_REFRESH_PRD EQU (((HCLK/1000*DDR_tREFRESH)+500000)/1000000) ; TRM 2656
|
[ {TRUE} ;HCLK=133MHZ
DMC_DDR_REFRESH_PRD EQU (0x40D) ; TRM 2656

DMC_DDR_CAS_LATENCY EQU (0x6) ; 6 Set Cas Latency to 3
DMC_DDR_t_DQSS EQU (0x1) ; Min 0.75 ~ 1.25
DMC_DDR_t_MRD EQU (0x2) ; Min 2 tck
DMC_DDR_t_RAS EQU (0x6) ; 7, Min 45ns
DMC_DDR_t_RC EQU (0xA) ; 11 Changed ; 10, Min 67.5ns
DMC_DDR_t_RCD EQU (0xC) ; 4,5(TRM), Min 22.5ns
DMC_DDR_t_RFC EQU (0x10B) ;
DMC_DDR_t_RP EQU (0xC) ; 4, 5(TRM) Min 22.5ns
DMC_DDR_t_RRD EQU (0x2) ; 3, Min 15ns
DMC_DDR_t_WR EQU (0x2) ; Min 15ns
DMC_DDR_t_WTR EQU (0x2)
DMC_DDR_t_XP EQU (0x2) ; 1tck + tIS(1.5ns)
DMC_DDR_t_XSR EQU (0x10) ;18 ; 17, Min 120ns
DMC_DDR_t_ESR EQU (DMC_DDR_t_XSR)
]
[ {FALSE} ;HCLK=150MHZ
DMC_DDR_REFRESH_PRD EQU (0x491) ; TRM 2656

DMC_DDR_CAS_LATENCY EQU (0x6) ; 6 Set Cas Latency to 3
DMC_DDR_t_DQSS EQU (0x1) ; Min 0.75 ~ 1.25
DMC_DDR_t_MRD EQU (0x2) ; Min 2 tck
DMC_DDR_t_RAS EQU (0x7) ; 7, Min 45ns
DMC_DDR_t_RC EQU (0xB) ; 11 Changed ; 10, Min 67.5ns
DMC_DDR_t_RCD EQU (0xC) ; 4,5(TRM), Min 22.5ns
DMC_DDR_t_RFC EQU (0x12C) ;
DMC_DDR_t_RP EQU (0xC) ; 4, 5(TRM) Min 22.5ns
DMC_DDR_t_RRD EQU (0x3) ; 3, Min 15ns
DMC_DDR_t_WR EQU (0x3) ; Min 15ns
DMC_DDR_t_WTR EQU (0x2)
DMC_DDR_t_XP EQU (0x2) ; 1tck + tIS(1.5ns)
DMC_DDR_t_XSR EQU (0x12) ;18 ; 17, Min 120ns
DMC_DDR_t_ESR EQU (DMC_DDR_t_XSR)
]
]

END
shellgo 2010-10-19
  • 打赏
  • 举报
回复
有没有朋友的使用过改芯片啊?
shellgo 2010-10-18
  • 打赏
  • 举报
回复
设置了好几个选项,但没有用,郁闷的,有人也用同样的内存吗?
shellgo 2010-10-17
  • 打赏
  • 举报
回复
顶一下,有人也用同样的片子么?
loongembedded 2010-10-17
  • 打赏
  • 举报
回复
但贴老的内存芯片是没有问题K4H511638D;贴了新的内存芯片K4H511638G系统就启动不了,烧制nk.bin也有问题
---》目前还没有用过DDR内存,但楼主的K4H511638D和K4H511638G的差别应该不大,楼主还是仔细比较着两种DDR的参数的区别,我建议楼主先看懂基于K4H511638D DDR的相关寄存器的设置后,我相信楼主就可以很快基于K4H511638G DDR内存来设置相关的寄存器了。

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧