【Z-turn Board试用体验】+内存测试+Linux简单显示 - 问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【Z-turn Board试用体验】+内存测试+Linux简单显示

中科院 ( 楼主 ) 2015-5-25 12:19:18  只看该作者 倒序浏览
之前的设计与我上一篇的流程类似,这里贴不出那个vivado流程的网络地址
先在vivado新建工程,之后再设置DDR的相应参数,具体可以查看zynq-ddr相关的手册

其中ddr设置为最下面的那个型号


这是我的ddr测试的结果


其中需要注意的是ddr参数的设置过后,要相应修改bit文件



PS。这是使用米尔的资料里面的相关文档,里面许多都是非常好的Linux源文件



查看到了许多的LED接口








前天晚上遇到的一个FSBL问题到现在还没有解决,我会加倍去修改代码,设计流程尝试解决。

DDR3.png (76.77 KB, 下载次数: 36)

DDR3.png

DDR1.png (110.58 KB, 下载次数: 32)

DDR1.png

15个回复

blackroot 发表于 2015-5-25 13:33:25
选择最下面那个DDR3型号,可是内存的大小变成了4GB
回复

举报 使用道具

blackroot 发表于 2015-5-25 13:33:56
但是板子上两片DDR3大小不是1GB么
回复

举报 使用道具

blackroot 发表于 2015-5-25 13:35:43
板子上的DDR3,不是两片才1GB么
回复

举报 使用道具

myir.tom 发表于 2015-5-26 11:28:27
blackroot 发表于 2015-5-25 13:35
板子上的DDR3,不是两片才1GB么

是两片DDR合成1G的,两片DDR是bit总线,合成32bit 1G的
回复

举报 使用道具

刘权国 发表于 2015-6-15 08:43:48
好资料,谢谢分享,学习了好资料,谢谢分享,学习了好资料,谢谢分享,学习了
回复

举报 使用道具

wjh_yw 发表于 2015-6-16 07:35:47
学习学习,谢谢分享!
回复

举报 使用道具

hiche 发表于 2015-6-21 17:37:41
你的DRAM Training下面三个都没有使能,另外DQS Delay和Board Delay参数是怎么得到的?和米尔科技提供的例程里面的延时参数不一致,这些参数和板卡的走线相关的,所以应该以米尔提供的参数为准。不明白的是米尔为什么不提供BRD文件,所以无从得知走线长度。
回复

举报 使用道具

hiche 发表于 2015-6-21 17:39:18
https://bbs.elecfans.com/forum.php?mod=attachment&aid=MjYyMjIzfGJiNDVlOTAzOWViOGVmYjRlNDQyNmFlYWFkNGNlZjlkfDE3MTM1NTU1MjE%3D&request=yes&_f=.png

2015-06-21 17:01:21屏幕截图.png (49.97 KB, 下载次数: 28)

2015-06-21 17:01:21屏幕截图.png
回复

举报 使用道具

中科院 发表于 2015-6-21 22:17:52
hiche 发表于 2015-6-21 17:39
https://bbs.elecfans.com/forum.php?mod=attachment&aid=MjYyMjIzfGJiNDVlOTAzOWViOGVmYjRlNDQyNmFlYWFkNGNlZjlkfDE3MTM1NTU1MjE%3D&request=yes&_f=.png

这个我找了一些资料,也没有搞特别清楚,你认为呢?
回复

举报 使用道具

中科院 发表于 2015-6-21 22:27:05
hiche 发表于 2015-6-21 17:37
你的DRAM Training下面三个都没有使能,另外DQS Delay和Board Delay参数是怎么得到的?和米尔科技提供的例程里面的延时参数不一致,这些参数和板卡的走线相关的,所以应该以米尔提供的参数为准。不明白的是米尔为什么不提供BRD文件,所以无从得知走线长度。
...

我看了几篇文章感觉这个延时函数就是测试时的一个等待时延,应该是可以不一样的,但是没有准确把握。
回复

举报 使用道具

hiche 发表于 2015-6-23 14:08:03
中科院 发表于 2015-6-21 22:27
我看了几篇文章感觉这个延时函数就是测试时的一个等待时延,应该是可以不一样的,但是没有准确把握。

一般cpu的内存都是多片DDR3组合,z-turn采用2片16bit的DDR3组合成32bit单通道1G的内存。多片DDR3芯片和CPU之间连接方式有两种:T型和fly-by(链型)。目前基本所有的PCB布局都采用fly-by方式,z-turn也不例外,即CPU的DDR引脚先连接到DDR芯片1,再通过DDR芯片1连接到DDR芯片2。这样就会导致32位CPU先访问到DDR1的16bit,延时一段时间(0点几个ns也是延时,特别是高速信号下)再访问到DDR2的16bit,这样CPU每次读写1个字(32bit)就会出现高低16bit不匹配。解决的方式就是DDR Training(Leveling),利用种子参数(通过CPU分别到DDR1/DDR2的走线长度和官方的计算公式算出,即上图中的那些参数)得到最好的延时参数,有支持硬件leveling的,还有软件leveling的(TI的DSP/ARM异构核心很多都是)。TI的芯片是将由种子参数得到的精确延时参数写到某些寄存器中,一般是通过uboot进行配置。ZYNQ系列还没看完相关手册,不太了解。
回复

举报 使用道具

hiche 发表于 2015-6-23 14:18:55
即这些延时种子参数通过迭代算法收敛后的精确延时参数就作为人为加入的延时,这样在先访问到的16bit数据中加上精确延时,就可以保证每次读写的32bit数据是正确的,不会出现当次读出现上次的16bit数据等错位情况。
这种迭代算法收敛得到结果就是所谓DDR Leveling,有硬件Leveling,也有软件Leveling,TI的芯片是计算得到的种子参数写到配置文件中,用CCS软件通过JTAG口下载官方提供的可执行程序进行软件运算,将收敛值写入uboot中。
回复

举报 使用道具

hiche 发表于 2015-6-23 14:30:01
内存这一块知识点比较多,像如果采用双通道的话还有提高性能的交织模式的配置等,我也只是对用过的芯片了解一些,这些在数据手册中都会有,所以还是要读手册。
回复

举报 使用道具

中科院 发表于 2015-6-23 19:34:47
hiche 发表于 2015-6-23 14:30
内存这一块知识点比较多,像如果采用双通道的话还有提高性能的交织模式的配置等,我也只是对用过的芯片了解一些,这些在数据手册中都会有,所以还是要读手册。

看了一些资料感觉不管通过什么方式读写都要计算有关合适的时间区间
回复

举报 使用道具

中科院 发表于 2015-6-23 19:36:56
而这个合适的时间区间又与PS,内存的频率表有关
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /6 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-4-20 03:38 , Processed in 0.338132 second(s), Total 40, Slave 29 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表