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部分地址线数据线短路。两块板都是一样的问题。其实我们总共就焊接了三块板作为调试用。现在想起来都后怕。三块板有两块板焊接有问题。假如三块板都有问题。那会发生什么呢???我很期待。哈哈。。。开玩笑的。如果三块都有问题。会花更多的时间。然后可能会影响展会。。。然后后果不敢设想啊。然后。。。。
好了,终于写完了!谢谢阅读!
DDR3调试记录的更多相关文章
- DDR3调试总结
DDR3调试总结 本文为原创,转载请注明作者与出处 http://blog.csdn.net/hanfei_1/article/details/70546010 以前同是DDR3的无知少年,由于项目需 ...
- FPGA DDR3调试
FPGA DDR3调试 Spartan6 FPGA芯片中集成了MCB硬核,它可以支持到DDR3.在Xilinx的开发工具Xilinx ISE中提供了MIG IP核,设计者可以用它来直接生成 DDR3 ...
- SPI 核软件调试记录
SPI 核软件调试记录 1.首先说说int SpiFlashWaitForFlashReady(void)这一函数,基本上其它函数在执行的时候,都会事先执行一次此函数. 因为此函数的作用主要是用 ...
- Video Timing Controller v6.1软件调试记录
Video Timing Controller v6.1软件调试记录 GUI配置: . case XVTC_VMODE_PAL: //576i@50 { TimingPtr->Interlace ...
- Video Test Pattern Generator(7.0)软件调试记录
Video Test Pattern Generator(7.0)软件调试记录 . XVidC_VideoMode XVIDC_VM_576_50_I = XVIDC_VM_720x576_50_I ...
- MA82G5D16AS16 主频调试记录
MA82G5D16AS16 主频调试记录 当 SCKS 设置 为 MCKDO / 128 时 MCU 的电流为 0.58mA,100UF 电容可以维持 0.5S,大概可以满足. 但是需要注意外围的线路 ...
- Apusic中间件结合MyEclipse进行远程调试记录
Apusic中间件结合MyEclipse进行远程调试记录. 在金蝶域中正常部署应用. 启动金蝶中间件时使用"startapusic -ds"命令. 在MyEclipse的Run-- ...
- http://stblog.baidu-tech.com/?p=1684) coredump调试记录 - PHP篇 原创: 扶墙 贝壳产品技术 今天
http://stblog.baidu-tech.com/?p=1684) coredump调试记录 - PHP篇 原创: 扶墙 贝壳产品技术 今天
- 基于freescale i.Mx6(ARM)的阿里云oss调试记录
交叉编译阿里OSS调试记录 1.1 开通oss服务 具体参考以下链接: https://help.aliyun.com/document_detail/31884.html?spm=a2c4g.111 ...
随机推荐
- idea 安装lombok 插件过程
一.作用 Lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,bean,entity等类,绝大部分数据类类中都需要get.set.toStrin ...
- [转载]function与感叹号
http://swordair.com/function-and-exclamation-mark/ 最近有空可以让我静下心来看看各种代码,function与感叹号的频繁出现,让我回想起2个月前我回杭 ...
- JS对象中的原型
对象的原型:每个对象都连接一个原型对象,并且它可以从中继承属性.所有通过对象字面量创建的对象都连接到object.prototype.当你创建一个新对象时,你可以选择某个对象作为它的原型.原型连接在更 ...
- Javascript的V8引擎研究
1.针对上下文的Snapshot技术 什么是上下文(Contexts)?实际是JS应用程序的运行环境,避免应用程序的修改相互影响,例如一个页面js修改内置对象方法toString,不应该影响到另外页面 ...
- Element-UI 表格 列过多内容换行问题
本文地址:http://www.cnblogs.com/veinyin/p/8487098.html 一般表格不会有很多列,所以在使用时会很方便,但是如果有25+个列时,就会发现宽度完全不够用,只有 ...
- webpack4.5.0+vue2.5.16+vue-loader 实战组件化开发案例以及版本问题中踩的一些大坑!!!
一 vue-loader 我们先不管脚手架,只说vue-loader,简单讲就是可将.vue文件打包,实现组件化开发,即一个.vue文件就是一个组件,开发中只需要引入这个.vue组件就可以了! 然后. ...
- 【比赛游记】THUSC2018酱油记
day -1 早上4:30就要起来去飞机场…… 7点的飞机,10:30就到北京了. 北京的街景并没有我想像的漂亮……大概是因为我在四环外〒▽〒 晚上还有CF div3场,果断的去水了,因为太累就没有打 ...
- 【API】Mysql UDF BackDoor
1.MySQL UDF是什么 UDF是Mysql提供给用户实现自己功能的一个接口,为了使UDF机制起作用,函数必须用C或C ++编写,并且操作系统必须支持动态加载.这篇文章主要介绍UDF开发和利用的方 ...
- crond检查服务状态
代码如下: * */1 * * * /etc/init.d/ntpd status;if [ $? -ne 0 ];then /etc/init.d/ntpd start; fi
- Git 创建仓库【转】
转自:http://www.runoob.com/git/git-create-repository.html Git 创建仓库 本章节我们将为大家介绍如何创建一个 Git 仓库. 你可以使用一个已经 ...