IMX6ULL裸机篇之DDR3参数配置分析

本文详细介绍了DDR3L内存芯片NT5CC128M16JR-EKI的初始化配置,包括时钟频率1866Mb/s,CL-TRCD-TRP参数,以及DDR3芯片的DeviceInformation、SystemInformation和SIConfiguration等设置,提供了一步步的配置指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.   DDR3L 初始化简介

上一篇博文进行了 DDR参数的初始化,通过一个 execl表进行配置,生成脚本文件。文章网址如下:

IMX6ULL裸机篇之DDR3初始化_凌雪舞的博客-优快云博客

本文对 DDR的参数配置进行详细的说明。即对 "Register Configuration"页面参数的配置进行说明。

二.   "Register Configuration" 参数值配置:

开发板上的DDR3L 内存芯片型号是 NT5CC128M16JR-EKI ,所以,应该对应打开  "NT5CC128M16JR-EK.pdf" 文档,可以通过参考可知是如下:

时钟频率是 933,数据传输速率是 1866Mb/sCL-TRCD-TRP分别为 13 ,13, 13。

如下图:

可以参考  "NT5CC128M16JR-EK.pdf" 文档,配置 "Register Configuration" 页面内容。参考如下内容可进行配置(截图自 "NT5CC128M16JR-EK.pdf" 文档):

Device Information:  DDR3 芯片设备信息设置,此部分需要根据所使用的 DDR3 芯片来设置。

具体如下:

(1)  NT5CC128M16JR-EK型号的DDR支持最大速率是 1866Mb/s,但是 "Memory type"项中的配置选项中没有,可以选择1600 Mb/s。

(2)  "DRAM density" 选项表示 DDR容量,单位是 Gb,是Gbit的意思。

NT5CC128M16JR-EK型号即 128*2=256MB,换算为Gb,即为 2 Gb。

(3)  "DRAM Bus Width" 即位宽,位宽为 16位。

(4)  "Number of banks "即DDR3 内部 BANK 数量,对于 DDR3 来说内部都是 8 个 BANK。

(5)  Number of ROW Addresses:行地址宽度。

      Number COLUMN Addresses:列地址宽度。

      Page Size(K)DDR3 页大小。

这三个参数根据要具体所使用的 DDR3 芯片来定。如下所示:

(6)  tRCD=tRP=CL(ns):DDR3 的 tRCD-tRP-CL 时间参数

  tRC Min(ns)DDR3 的 tRC 时间参数。

  tRAS Min(ns)DDR3 的 tRAS 时间参数

参考文档可以知道,如下所示:

System Information 此部分设置 I.MX6UL/6ULL 相关属性

具体的设置项如下:

Bus Width:总线宽度,16 位宽。

Density per Chip select(Gb)每个片选对应的 DDR3 容量。NT5CC128M16JR-EKI芯片即 128*2= 256MB ,换算为 Gbit单位,则为  256*8/1024 = 2 Gb。

Number of Chip Select used使用几个片选信号?可选择 1 或 2,正点原子所有的核心板

都只使用了一个片选信号,因此选择 1。

Total DRAM Density(Gb)整个 DDR3 的容量。一个DDR芯片,256MB即为 2Gb。

DRAM Clock Freq(MHz)DDR3 工作频率,设置为 400MHz。

DRAM Clock Cycle Time(ns)DDR3 工作频率对应的周期,单位为 ns,如果工作在 400MHz,

那么周期就是 2.5ns。

Address Mirror(for CS1)地址镜像,仅 CS1 有效,此处选择关闭,也就是“Disable”,此

选项我们不需要修改。

SI Configuratin :

此部分是信号完整性方面的配置,主要是一些信号线的阻抗设置,这个要咨询硬件工程师,

这里我们直接使用 NXP 的默认设置即可。

以上就是 ""Register Configuration" 页面参数值配置。

你想要学习在IMX6ULL平台上裸机(即不依赖操作系统)编程控制LCD吗?这是一个不错的学习项目!在开始之前,你需要了解一些基本的知识,包括LCD的工作原理、接口协议以及IMX6ULL平台的GPIO控制等。以下是一些步骤供你参考: 1. 了解LCD的基本知识:学习LCD的工作原理、显示原理、分辨率、颜色深度等。 2. 确定LCD的接口类型:IMX6ULL平台可能支持不同的接口类型,如RGB、LVDS、MIPI等,你需要确定你使用的LCD的接口类型,并准备相应的连接线。 3. 配置IMX6ULL的GPIO:通过配置IMX6ULL的GPIO引脚,将其连接到LCD的控制和数据线上。你可以查阅IMX6ULL的技术文档或参考资料来了解如何配置GPIO。 4. 编写LCD控制代码:使用C语言或汇编语言编写裸机代码,通过设置GPIO引脚的电平和发送相应的命令和数据来控制LCD。你需要根据LCD的接口协议编写相应的代码。 5. 调试和测试:将代码下载到IMX6ULL开发板上,连接LCD,并进行调试和测试。你可以使用示波器或逻辑分析仪来检查信号是否正确发送到LCD,并观察LCD是否正确显示图像。 请注意,裸机编程需要一定的硬件和低级编程知识。确保在开始之前对相关的知识和技术有一定的了解。另外,IMX6ULL平台可能有其特定的文档和资料,你可以查阅相关文档以获取更详细的信息。祝你成功学习LCD控制!如果你有其他问题,欢迎继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值