|
时隔多年,我仍然会时时回想起那个难忘的五一黄金周。
当年我上研二。导师想自主开发视频压缩芯片,首先需要用FPGA把视频压缩标准实现一遍。我们经过认真规划,厘清了流程:摄像头出来的全电视模拟信号经飞利浦的模数转换芯片SAA7114变成数字信号,然后进行压缩编码,码流通过PCI接口卡采集到计算机,用软件对码流进行解码验证。对于视频压缩系统我们进行了模块划分,算术复杂逻辑简单的模块(运动估计补偿、离散余弦变换、量化)由FPGA完成,逻辑复杂算术简单的模块(ZigZag扫描、熵编码)由DSP完成。此外在系统工作之前,需要通过I2C总线对SAA7114芯片进行配置,这一任务也由DSP完成。如果SAA7114配置成功,开始正常工作,系统的电流就会猛地涨上来。
经过大家通力合作,我们完成了电路原理设计、PCB版图设计,然后送到工厂进行PCB制作和芯片焊接,取回来加电初试,一切正常,可以开始配置各种芯片并调试电路了。电路板很大,主要有两块FPGA和一块DSP,还有一块SAA7114。这时候插曲出现了,负责DSP的师兄性子比较急,不知咋回事(据说是因为被女朋友甩了,喝了酒)把DSP给烧了,药石无效,只能放弃治疗了。我们坐在一起商量接下来该怎么办。按原计划,DSP负责实现ZigZag扫描和熵编码,并通过I2C总线对SAA7114进行配置。幸亏当时用了两块FPGA,资源很充裕。于是我们打算用FPGA实现DSP的所有原定功能。这时候一位一言九鼎的大神师兄发话了,用FPGA实现ZigZag扫描和熵编码都没问题,但是用FPGA实现I2C总线功能太困难,之前有人尝试过,三个月都没搞定。听了这话,大家都很泄气,难道这块板子就这样废了?
三月底原本负责这块板子的师兄毕业走了,导师让我接手负责这块半死不活的板子。我看着这块犹如鸡肋的大板子,食之无味、弃之不甘。现在问题就卡在无法通过I2C总线对SAA7114进行配置,难道FPGA就无法实现I2C总线?我一边阅读I2C总线协议文档,一边琢磨这个问题。到了五一黄金周的时候,由于没有女朋友,没地方出去玩,于是我就想尝试一下是否能用FPGA实现I2C总线。在三天时间里我废寝忘食、通宵达旦,写好了VHDL代码,抱着试试看的心态往FPGA里烧写。当我看见仪表上的电流猛地一下涨上来的时候,我不禁跳了起来——成功了!万万没想到,用FPGA实现I2C总线如此简单,仅仅花了三天时间,一次就成功了。精神放松的我回到宿舍倒头就睡着了。
节后我向导师汇报了进展。导师非常高兴,在一众同门面前狠狠表扬了我(大神师兄也有点不好意思),大大满足了我的虚荣心。之后这块大板子就起死回生了,我们最终调通了整个系统,稳定输出了符合标准的视频压缩码流。
尽管如此,当时我自己并不觉得有多了不起。其实当时在做工程开发的时候,心里总是觉得工程开发比理论和算法研究要低一个档次。当时比较崇拜能提出或改进算法的人,尤其是能运用高深的数学工具进行理论分析的人。有很长一段时间,我懊悔自己被安排了那么长时间在工程开发上,耽误了青春,错过了抢帽子。多年之后,当我在理论研究方面取得了一些微不足道的成就,回过头来看当年的工程开发经历,不禁感慨万千。多亏了那一段工程开发的经历,使得我可以做到理论研究、工程开发两条腿走路,学术生命变得完整。如果不是在年轻而精力充沛的时候从事工程开发,当我年纪大了之后想从事工程开发的时候,必然是精力不济的,无法做到废寝忘食、通宵达旦。
多年之后我对中外研究生教育也有了新的反思。当时由于受国际形势影响,赴美留学变得异常困难。我时常遗憾没能在欧美发达国家接受系统的研究生教育。现在回头来看,如果当时在欧美发达国家接受研究生教育,估计大概率也就是早早从事理论和算法研究、发表若干晦涩难懂的文章,工程开发这块版图始终是欠缺的。因此中外研究生教育可以说是各有千秋吧,不必妄自菲薄。感谢导师和母校提供了良好的平台,使得自己在工程开发方面得到了充分的锻炼,这是非常难能可贵的。祝福伟大的祖国,祝福亲爱的母校、导师、同门,也祝福自己越来越好!
光阴似箭,日月如梭,绿鬓少年,忽已白头。事情一晃过去了很多年。每当我偷得浮生半日闲,坐观天边云卷云舒的时候,常常会回想起当年的那个五一黄金周。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-4 22:16
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社