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部分地址线数据线短路。两块板都是一样的问题。其实我们总共就焊接了三块板作为调试用。现在想起来都后怕。三块板有两块板焊接有问题。假如三块板都有问题。那会发生什么呢???我很期待。哈哈。。。开玩笑的。如果三块都有问题。会花更多的时间。然后可能会影响展会。。。然后后果不敢设想啊。然后。。。。

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

DDR3调试记录的更多相关文章

  1. DDR3调试总结

    DDR3调试总结 本文为原创,转载请注明作者与出处 http://blog.csdn.net/hanfei_1/article/details/70546010 以前同是DDR3的无知少年,由于项目需 ...

  2. FPGA DDR3调试

    FPGA DDR3调试 Spartan6 FPGA芯片中集成了MCB硬核,它可以支持到DDR3.在Xilinx的开发工具Xilinx ISE中提供了MIG IP核,设计者可以用它来直接生成 DDR3 ...

  3. SPI 核软件调试记录

    SPI 核软件调试记录 1.首先说说int SpiFlashWaitForFlashReady(void)这一函数,基本上其它函数在执行的时候,都会事先执行一次此函数.    因为此函数的作用主要是用 ...

  4. Video Timing Controller v6.1软件调试记录

    Video Timing Controller v6.1软件调试记录 GUI配置: . case XVTC_VMODE_PAL: //576i@50 { TimingPtr->Interlace ...

  5. Video Test Pattern Generator(7.0)软件调试记录

    Video Test Pattern Generator(7.0)软件调试记录 . XVidC_VideoMode XVIDC_VM_576_50_I = XVIDC_VM_720x576_50_I ...

  6. MA82G5D16AS16 主频调试记录

    MA82G5D16AS16 主频调试记录 当 SCKS 设置 为 MCKDO / 128 时 MCU 的电流为 0.58mA,100UF 电容可以维持 0.5S,大概可以满足. 但是需要注意外围的线路 ...

  7. Apusic中间件结合MyEclipse进行远程调试记录

    Apusic中间件结合MyEclipse进行远程调试记录. 在金蝶域中正常部署应用. 启动金蝶中间件时使用"startapusic -ds"命令. 在MyEclipse的Run-- ...

  8. http://stblog.baidu-tech.com/?p=1684) coredump调试记录 - PHP篇 原创: 扶墙 贝壳产品技术 今天

    http://stblog.baidu-tech.com/?p=1684) coredump调试记录 - PHP篇 原创: 扶墙 贝壳产品技术 今天

  9. 基于freescale i.Mx6(ARM)的阿里云oss调试记录

    交叉编译阿里OSS调试记录 1.1 开通oss服务 具体参考以下链接: https://help.aliyun.com/document_detail/31884.html?spm=a2c4g.111 ...

随机推荐

  1. Java并发编程原理与实战二:并行&并发&多线程的理解

    1.CPU的发展趋势: 核心数目依旧会越来越多,根据摩尔定律,由于单个核心性能提升有着严重的瓶颈问题,普通的PC桌面在2018年可能回到24核心. 2.并发和并行的区别: 所有的并发处理都有排队等候, ...

  2. windows设置代理.bat 脚本

    按照下列脚本复制到记事本中,保存,重命名后缀为.bat,使用时双击即可. 设置代理.bat,修改下列脚本中的代理地址和端口号 @echo off echo 开始设置IE代理上网 reg add &qu ...

  3. jquery如何获取input(file)控件上传的图片名称,即"11111.jpg"

    html代码:<input name=file" type="file" id="file"/> Jquery代码:var file;$( ...

  4. 《大型网站SEO优化实践》学习分享

    本文主要内容源自2013年阿里技术嘉年华中阿里巴巴周文君分享<大型网站SEO优化实践>.学习过后,受益匪浅,特作笔记,经常回顾吸收学习. 大型网站SEO的特点&优势&挑战 ...

  5. Spring3.2 Contorller单元测试参数问题: java.lang.NoSuchMethodException

    使用3.2做单元测试的时候发现这个问题,因为之前都是用3.0中的配置适配器使用AnnotationMethodHandlerAdapter,到3.2中升级为RequestMappingHandlerA ...

  6. 深度优先搜索(DFS)----------------Tju_Oj_3517The longest athletic track

    这个题主要考察对树的操作,主要思想是DFS或者BFS,其次是找树的直径方法(既要运用两次BFS/DFS),最后作为小白,还练习了vector的操作. DFS框架伪码: bool DSF(Node on ...

  7. 【leetcode 简单】 第八十五题 两个数组的交集 II

    给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5 ...

  8. linux中set、unset、export、env、declare,readonly的区别以及用法

    set命令显示当前shell的变量,包括当前用户的变量;   env命令显示当前用户的变量;   export命令显示当前导出成用户变量的shell变量.           每个shell有自己特有 ...

  9. idea git revert 究竟做了啥

    git里面实现撤销commit 这个据我目前所知,有至少4个途径可以做到 1.git reset 2.git revert 3.git rm –cached 4.git checkout 这个可以参考 ...

  10. SQLAlchemy-对象关系教程ORM-一对多(外键),一对一,多对多

    一:一对多 表示一对多的关系时,在子表类中通过 foreign key (外键)引用父表类,然后,在父表类中通过 relationship() 方法来引用子表的类. 在一对多的关系中建立双向的关系,这 ...