• DDR3调试记录


          FPGA采集视频数据并写到DDR3,然后从DDR3读出并送给显示终端显示。不能稳定显示。但用FPGA内部逻辑产生color bar写到DDR3后读出来显示正常。因此DDR3部分逻辑没有问题。怀疑FPGA采样问题。于是优化FPGA时序后。时序报告通过后,用碟机作为输入源显示有时会稳定一下过一会就花屏。用HDMI 信号发生器作为输入源。输入color bar 显示可以稳定时间长一些。但过一会也会花屏。但是输入高频类的图像一刻都不能稳定输出。于是更加怀疑FPGA采样的问题。于是将输出视频降到720P60fps(原为1080P60fps)。结果现象一致。因此可能不是采样时序的问题。检验输入的视频行场等信号(VS,HS,DE)。时序非常稳定,无异常。于是使用输入源的时序。FPGA视频数据输入IO悬空。给视频数据RGB给一个常数。发现显示正常。这时怀疑是不是FPGA IO电压不稳定导致的。然后输入一个纯色的图像(蓝色)。用示波器探FPGA的IO。B总线有些位管脚信号和DE一样。其它R,G的IO都为低电平。接着测试IO的供电电压3.3V。稳定正常。FPGA核电压1.5V也稳定。另外还进行了通过加入reveal。抓RGB采集的信号。B的数据在DE有效期间在8‘h99,8’h9a,8’h9b之间变化。R,B采集数据都为8‘h00。这些也就说明了IO采集时序问题,IO电压不稳问题是不存在的。

          分析这么久。是不是头有点晕乎乎的呢。呵呵………让大脑休息一下吧。闲扯一会儿。最近调试非常累,这几天每天加班到23:00的样子。前天还是我生日呢。结果那天从下午下班没吃饭调试到近23点。连续工作大概9个小时。中间喝过一杯水。加完班累的不行。回去洗了就睡。饭都没吃。生日就这么过了。那几天压力非常大。板子才回来几天。很多不确定因素。后天就要拿去参加展会了。老板下了命令。压力之大可想而知。苦逼的程序猿啊。大家是不是都一样呢。每次新板回来会有各种各样的问题。各种诡异各种纠结各种心情。呵呵。。。。结果脑细胞死了不少。其实FPGA工程师真不简单。不是光写几行代码而已。还必须有一定的电路分析能力。动手能力,至少焊接也得会啊。脑子要灵光。会灵活使用各种方式验证我们的设计。然后必须有一个好的心态。我觉得这是重要的。做技术的这一点都是必备的吧?呵呵……要成为一名真正的,合格的FPGA工程师远不止这些。我离它还有很远的路要走。这一路我会用博客记录下这沿途的风景。伴我一路前行!!!

        接着分析吧,既然IO采集时序ok,IO电压也稳定。那会是哪儿的问题呢。DDR3部分有问题?不是刚才验证没问题么?记得刚才给的是FPGA逻辑产生的color bar的数据吧。要不给高频的图像试试。变化比较快的数据。啊。。。。什么情况?竟然显示不正常,花屏。抓狂。。。到现在几乎很确定是DDR3的问题。换一块板发现还是有问题。我已经在奔溃的边缘了。老天不要再折磨我了。咬着牙换一块板然后祈祷。咦。。。。显示正常!!!我勒个去。真是有一种想赋诗的冲动。假如我生在陆游那个时代。“山重水复疑无路,柳暗花明又一村”将会是我杰作啊。哈哈。。。我在意淫中。大家此处可以忽略。扯远了。接着说吧。确定后这块板DDR3没问题后。烧录工程bit文件。一切正常。将之前的板拿去仔细检测。发现DDR3部分地址线数据线短路。两块板都是一样的问题。其实我们总共就焊接了三块板作为调试用。现在想起来都后怕。三块板有两块板焊接有问题。假如三块板都有问题。那会发生什么呢???我很期待。哈哈。。。开玩笑的。如果三块都有问题。会花更多的时间。然后可能会影响展会。。。然后后果不敢设想啊。然后。。。。

          好了,终于写完了!谢谢阅读!

  • 相关阅读:
    双显示器或更多个显示器,能分别设置不同的壁纸吗?
    二叉排序树
    如何将一棵树转化为对应的二叉树
    【例2.1】使用成员函数的实例
    [例1.10]使用setw设置输出宽度的例子
    python学习(三)-面向对象
    git 笔记
    python学习笔记(二)
    python基础语法
    fiddler
  • 原文地址:https://www.cnblogs.com/ldjrl2013/p/3387668.html
Copyright © 2020-2023  润新知