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. Matlab debug

    输入彩色,imwrite保存黑白图片,imwrite的维度错误. 程序如下,正常图像,少了一个维度imwrite,把图片展开,是一个二维的灰色图像(R=G=B),.如果限定了第二维,也是一个灰色图像. ...

  2. ETL测试

    今天让我在休息之余给我的测试朋友介绍一个在我的测试沙龙上的需要和提升技能之一,例如ETL测试(Extract,Transform,and Load,中文名称为数据提取.转换和加载),这篇文章告诉你ET ...

  3. Java并发编程原理与实战十四:Lock接口的认识和使用

    保证线程安全演进: synchronized volatile AtomicInteger Lock接口提供的方法: void lock():加锁 void unlock():解锁 void lock ...

  4. 在EF6.0中打印数据库操作日志

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. 【leetcode 简单】 第七十四题 缺失数字

    给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 .. n 中没有出现在序列中的那个数. 示例 1: 输入: [3,0,1] 输出: 2 示例 2: 输入: [9,6,4,2 ...

  6. 如何在python的字符串中输入纯粹的{}

    python的format函数通过{}来格式化字符串 >>> a='{0}'.format(123) >>> a ' 如果需要在文本中包含{}字符,这样使用就会报错 ...

  7. HTML5之2D物理引擎 Box2D for javascript Games 系列 翻外篇--如何结合createJS应用box2d.js

    太久没有更新了,新年回来工作,突然有收到网友的邮件提问,居然还有人在关注,惭愧,找了下电脑上还有一点儿存着,顺便先发这一个番外篇吧,好歹可以看到真实的效果,等我考完英语,一定会更新下一章," ...

  8. Electron 开发环境下总是 crash

    全局安装一个 electron devtool 关掉 崩溃时选择重新打开

  9. 2016.6.17——Remove Duplicates from Sorted Array

    Remove Duplicates from Sorted Array 本题收获: 1.“删除”数组中元素 2.数组输出 题目: Given a sorted array, remove the du ...

  10. Java枚举类型的用法

    JDK1.5引入了新的类型——枚举.在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便. 1.用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fia ...