特权同学

细节决定成败

0
阅读(1932)

AV采集项目的调试断断续续的应该有不下10个工作日了吧。总得来说,结果还是比较喜人的(虽然问题总是一波未平,一波又起,甚至现在还存在一些小bug),过程却充满了曲折,也许前面的两篇博文也都有所提及,感受最深的一个点:细节决定成败。

 既然说到这个点子上了,咱就再分享一个这些天让我郁闷透顶的问题。好让大家也能够深刻的感受一回小问题的影响力。

图1是前些天刚调通AV采集显示的图片,边缘深浅色彩交界的地方有很明显的彩点(RGB三原色的色彩,这幅图里是绿色偏多一些)。那么问题总是要定位的,从怀疑AV模拟前端的电阻电容匹配和精度、到怀疑YCbCr到RGB转换公式的准确与否、再到怀疑SDRAM读写时序、甚至怀疑MAXIM的芯片功能(内部寄存器调了个遍)。基本上,能够怀疑的都怀疑一遍了,问题依然没有解决。

 


图1

  百般无奈之中,就像之前那个清除信号的调试一样,在内部代码中细细寻找蛛丝马迹。最终却是一个不经意的改换if……else if……的前后顺序后,问题不见了。技术细节这里不深入谈,只不过是对一个RGB转换完成后的数据溢出(高位溢出还是低位溢出)判断上估计不足。静下心里,长叹一口气:是的,细节,每一个细节都是我们不能够掉以轻心的。作为一个FPGA工程师、一个硬件工程师、一个电子工程师,即便是项目催的再紧、手头的活再忙,我们都不该浮躁,我们应该学会认真对待设计中的每一个细节、认真做好设计中每一个细节。

  问题解决了,如图2(趁机也露个小脸,~_~ ,是不是发现特权同学比想象中要年轻好多呢,哈哈),彩点已无影踪,画面总体还是很让人满意的。

 


图2

我想,就像图3所示的一样,我现在还是很乐意拿FPGA开 发流程的迭代性说事,一个反反复复的过程,期间的任何一个环节(甚至于任何一个细节)都很可能在开发过程中成为致命的地方,哪怕只是一个逻辑关系的换乱、 一个不经意的复位、一个不小心的计算溢出(呵呵,不好意思,这都是特权在这个项目中犯下过的错)……当然,你也许会想到一些更低级可笑的错误,诸如管脚分 配错了……

 


图3

 “细 节决定成败”,总感觉这句话很顺口也很顺耳,也忘记是哪位大人物说过的。对于我们这帮做项目的工程师来说,又何尝不是。也许每每拦在我们前面阻止我们前行 的不是来势汹汹的狮子老虎,却是那些并不起眼、一巴掌就能拍死的苍蝇蚊子。不要总以为自己满腹经纶,理论知识一套一套,真要干起活来还是得老老实实、脚踏 实地、小心翼翼才是。