【RK3568+PG2L50H开发板实验例程】FPGA部分 | DDR3 读写实验例程

本原创文章由深圳市小眼睛科技有限公司创作,版权归本公司所有,如需转载,需授权并注明出处(www.meyesemi.com)

1.实验简介

实验目的:

完成 DDR3 的读写测试。

实验环境:

Window11 PDS2022.2-SP6.4

芯片型号:

PG2L50H-484

2.实验原理

开发板集成 1 颗 4Gbit(512MB)DDR3 芯片,型号为 MT41K256M16。DDR3 的总线宽度共为 16bit。DDR3 SDRAM 的最高数据速率 1066Mbps。

2.1. DDR3 控制器简介

PG2L50H 为用户提供一套完整的 DDR memory 控制器解决方案,配置方式比较灵活,采用软核实现 DDR memory 的控制,有如下特点:

  • 支持 DDR3
  • 支持 x8、x16 Memory Device
  • 最大位宽支持 32 bit
  • 支持精简的 AXI4 总线协议
  • 一个 AXI4 256 bit Host Port
  • 支持 Self_refresh,Power down
  • 支持 Bypass DDRC
  • 支持 DDR3 Write Leveling 和 DQS Gate Training
  • DDR3 最快速率达 1066 Mbps

3.工程说明

PDS 安装后,需手动添加 DDR3 IP,请按以下步骤完成:

DDR3 IP 文件:PG2L_IP\PG2L_IP\DDR3\ips2l_hmic_s_v1_10.iar

3.1. DDR3 读写 Example 工程

打开 PDS 软件,新建工程 ddr3_test,点开如下图标,打开 IP Compiler;

选择 DDR3 IP,取名 ddr3_test,然后点击 Customize;

在 DDR3 设置界面中 Step1 按照如下设置:

Step2 按照如下设置,需要自己新建 DDR3 模型,选择 MT41K256M16XX 为模板,并保持Timing parameters 和地址以及 Drive Options 和下图设置的一致。

Step3 按照如下设置,勾选 Custom Control/Address Group,管脚约束参考原理图:

提醒:

在设置 IP 核时,step 3:pin/bank options 中,管脚设置中的 Group Number 与原理图的对应关系如下图:

R5 表示 BANK5,G1 表示 Group Nmuber 为 1。

Step4 为概要,点击 Generate 可生成 DDR3 IP;

关闭本工程,按此路径打开 Example 工程:

打开顶层文件,需要对顶层文件进行修改,具体参考详细代码。下图是经过修改后的顶层文件。

对"Step3 已做管脚约束"外的其他管脚,对照原理图使用 UCE 工具进行修改,移植的话可以直接参考工程的 fdc 文件进行移植。

以下管脚可约束在 LED,方便观察实验现象;

可按以下方式查看 IP 核的用户指南,了解 Example 模块组成;

4.实验现象

下载程序,可以看到 LED1 常亮,LED3 闪烁, LED4 闪烁,LED5 常亮;

提醒:

Heart_beat_led 信号闪烁表示 ddrphy 系统时钟正常。

err_flag_led 信号闪烁说明数据检测无错误。可在 IP 核数据手册中找到。

如果正常的话,err_flag_led 闪烁的速度快于 heart_beat_led 的闪烁速度。

相关推荐
一起搞IT吧43 分钟前
Android性能系列专题理论之十:systrace/perfetto相关指标知识点细节含义总结
android·嵌入式硬件·智能手机·性能优化
明德扬1 小时前
K7+AD9144 多模式实测|8 种 JESD204B 配置全覆盖验证
fpga开发
生成论实验室1 小时前
《事件关系阴阳博弈动力学:识势应势之道》第四篇:降U动力学——认知确定度的自驱演化
人工智能·科技·神经网络·算法·架构
不懂的浪漫1 小时前
把 AI Skill 做成系统:路由、领域技能、自我复盘和进化飞轮
人工智能·ai·skill
Truffle7电子1 小时前
STM32CubeIDE/Programmer/Touch GFX 应用
stm32·单片机·嵌入式硬件
constant_LDX2 小时前
步进电机开发(一、硬件设计)
单片机·嵌入式硬件
北山有鸟3 小时前
修改源码法和插件法
嵌入式硬件·学习
richxu202510013 小时前
嵌入式学习之路->stm32篇->(14)通用定时器(上)
stm32·单片机·嵌入式硬件·学习
AI进化营-智能译站3 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
Deitymoon3 小时前
STM32——串口通信(USART)
单片机·嵌入式硬件