您的位置:首页>> 新闻公告
 

冯唐易老,李广难封--三届电赛后的感想与总结

 

发布日期:2017-08-31  浏览次数:1552

 

2014级 路思远                                                                                               

首先,真诚地感谢所有帮助过我的老师,感谢所有帮助过我的学长学姐,还要感谢一起并肩作战的队友们。

2015年国赛到2017年国赛,从大一暑假到大二暑假,两年,四场比赛——15年国赛没得奖,16年省赛省二,16年邀请赛国三,17年省一。每次都匆匆准备,每次都留下不少遗憾。不过可以肯定的是,我本科的电赛生涯到此也画上了句号。再多的遗憾,恐怕也只能感叹一句“冯唐易老,李广难封”了吧。期间的种种经历,种种经验,还有内心的种种体悟,一并写下来吧。

先分享一些干货,学弟学妹们可以通过这篇文章快速入门,经过一段时间的训练之后也可以拿出来再看看,会很有帮助。

1.电设比赛分为国赛(全国大学生电子设计竞赛,奇数年8月),省赛(江苏省大学生电子设计竞赛,偶数年7月),邀请赛(TI杯模拟电子系统设计邀请赛,偶数年9月)。其中,前两个比赛是非封闭式,报名均可参赛,作品在规定时间(一般是四天三夜)内完成后装到一个箱子里,然后带到指定地点测评;第三个比赛是封闭式,每个学校只有两个参赛名额,全国所有参赛队统一到一所高校参加比赛,比赛时长一般只有两天一夜,比赛期间不允许使用手机和网络。

其中,国赛和邀请赛都可以拿到国奖,而省赛只能获得省奖(省一等奖为前16%)。而国赛和邀请赛 不同之处在于,国赛分为省内测评(确定省二等奖、一等奖的获奖名单,比例和省赛大致相同)、综合加试(在一等奖的获奖队伍中挑选,占总参赛队的前10%,加试会再淘汰一半的队伍)、全国复测(决出国一、国二)。而邀请赛则是一锤子买卖,两天完成作品之后直接现场测评;邀请赛的获奖比例更高,但由于每个参赛学校都是优中选优来参赛,加上时间极短,且不与外界联络,获奖难度也很大。

 

2.电设比赛是一个工程类比赛,不是一个学术类比赛。电设的一大特点就是指标性,不管你用什么办法来做,只要不违反比赛规则,你的指标完成的更好,你就比别人分数高。而且也没有人会根据你的方案、算法,或者是创新性来打分。而学术类的比赛,往往有人的主观因素掺杂在内。

换句话说,工程类比赛几乎完全是“做”出来的,学术类比赛不仅要“做”,还要会“说”,要善于讲故事。我也参加过两次学术类的比赛,美国大学生数学建模竞赛和全国大学生集成电路创新创业大赛,当然还有挑战杯、互联网加之类的,这些比赛形式很不一样,但基本都需要你来表达自己的想法。而电设不一样,你表达自己的方式完全就是靠电路的性能,尽管性能会有很多因素来决定。你用再先进的方案,如果性能不如别人,都是白搭。一句话,一切都为了指标。

 

3.永远记住题目的指标是在不断提高的。这是一条不变的定律。现代世界,电子和计算机学科的发展速度就是比其他学科快,电设比赛也不可能总是用以往的标准来要求大家。一方面,我们需要更好的仪器设备、性能更强的处理器;另一方面,比赛之前的培训也要牢记这一点,不能以过去题目指标的满足而沾沾自喜。

15年国赛,大家的单片机都是MSP430,就解决了一切问题,这次国赛,大家普遍用的都是STM32F4,可以说性能强了很多很多,而我们的E题如果用STM32F4其实也解决不了(实际上我们用的是FPGA)。所以,下一次国赛的时候,要用什么样的处理器,学弟学妹们可能要好好思考一下。

 

4.随着指标的提高,比赛中所谓“成品模块”的限制会越来越少。很久以前的比赛,连单片机开发板这玩意都是不让用的,得自己画板子、焊芯片。这次比赛,为了最大限度降低噪声,我们用的AD/DA都是商用模块,测评的时候评委们也没有半句疑问。“法无禁止即自由”,所以,看清题目要求,然后指标怎么高怎么来,有什么用什么

 

 

5.FPGA是趋势,而且要求越来越高。现在所有的电设比赛都在强调这一点。所有数字电路的成分,理论上都可以用PFGA来实现。而培训准备FPGA,不是说会写一点verilog,然后把它烧到板子上,程序跑通,OK。这次国赛的E题,就让我们感受到了题目对于FPGA使用的极高的要求。

我们做的是LMS自适应滤波,这个算法其实非常简单,核心的C代码大概就四句话,但用FPGA来实现,一开始我花了将近六万个LUT,而我们实验中心最好的FPGA——basys3,都只有两万个LUT。于是,不得不降低精度,最终才把程序写成可以烧到板子里去的规模。

当然,程序规模一大,烧到板子里的程序和行为级仿真的结果就会差得很多。这里面涉及到时序分析,要用VIVADO的工具来抓波形,绝对不是当年频率计或者是位时钟信号提取的那种难度。

 

6.艺多不压身。从来没有一成不变的题目,电设需要一组三名同学都具备多项技能,尤其是邀请赛、综合测评这种封闭式比赛。这里仅仅从我的角度出发,给大家列一张技能清单,其中硬件的部分简单提一下(本人几乎没在比赛中焊过电路),就不班门弄斧了:

种类

型号/分类

技能

普通单片机(MCU

MSP430低功耗系列

STM32F4功耗与性能的折中

TM4C1294 TI出的,类似STM32F4

STM32F7估计19年它要上场了

各种硬件通信方式、各种片上资源和中断(时钟、IO、定时器、PWMADDA)、常用硬件模块的驱动(ADDA、显示屏、键盘)

带无线模块的MCU

TI系列的CC2540CC2541

(一般在通信类的题目中可能会用到,其他场合不多见)蓝牙、wifizigbee

高性能嵌入式处理器

DSP

树莓派(这个猛,但是IO口有限)

C2000

(要是今年E题我们用了这玩意就牛掰了,有队友会用,可惜没用起来)

FPGA

xilinxALTERA(已被Intel收购)两个公司的各种板子

一门硬件描述语言(一般是verilog

硬件设计方法(可参考《VLSI数字信号处理系统》,很有用!)

VIVADO的使用(强,无敌!)

硬件通信

强电题硬件

DC-DC DC-AC 以及三相交流电的系列知识

控制题硬件

这个不太懂

信号类硬件

PCB(这个必须再培训!!!今年谁画的ADDA,地线都不接覆铜的!!!)

高频电路和模电,各种信号源、加法器、乘法器、放大器、比较器、滤波器、积分电路等等

通信类硬件

这个也不太懂

 

7.回报需要投入。这个道理很简单,一分耕耘一分收获。我就是一个反面教材。15年国赛准备了三个星期没拿奖,16年省赛没准备拿了个省二,16年邀请赛准备了一个星期拿了个国三,17年国赛准备了一个星期拿了个省一。如果想拿奖的同学,一定要找到志同道合的队友,多去实验室!多去实验室!多去实验室!!!

 

8.比赛期间的一些tips

8.1 人的状态好是电路状态好的前提条件。一次又一次的教训,很多时候多睡两小时就不会犯一些可怕的错误,而这些错误很可能会耽误更多时间;多睡一会,醒来你就会发现会有新的思路,连续很长时间不睡觉思维很容易陷入定式,效率也低的可怕。

8.2上面一条不适用于邀请赛。两天一夜我就睡了一个小时,最后还是很精神,当然也和个人体质有关。

8.3 早点确定题目(这次吃亏一部分就在这上面)

8.4 准备吃的!!准备睡觉的地方!!(不解释)

8.5 早点联调!各模块调通和整个系统工作不是一个概念。

8.6 充分利用资源,有什么用什么,再说一遍,“法无禁止皆自由”

8.7 细节!细节!!细节!!!

 

然后是几次比赛的经历。

2015年 大一  国赛

南大的骄傲,也是我个人电赛生涯的起点。那场比赛的赛后总结大会上,看着我们足以彪炳史册的战绩,却未曾意识到天时地利,日后要想复现实在不易。可惜,我和我们组另外两个小丫头没抓住机会,作品都做不出来,测评都没有参加。

实力不够也是有原因的。这一年我们做电源,我们南大做电源的组有4组,另外3组学长学姐培训期间全去武汉了,只留下我们一组大一的当“炮灰”。当然,后来我问实验中心张老师,答曰:“钱不够!”

不过老师们的决定也是正确的,大二的学长学姐们毕竟多上了一年课,而且他们的培训早在寒假就开始了,好钢用在刀刃上,最后他们三组拿了一个国一一个国二,也算是对得起实验中心花的钱了。

至于我们组,只能感叹技不如人。黎悦和田朝莹大概花了一个月参加培训,我就花了三个星期,把电源要用到的软件学会之后,硬件的几乎啥也不懂。何况比赛时间又极短,四天时间最后两个小姑娘基本都要崩溃了:我记得当时指标是做出来的,只是后来大家脑子实在不清楚,把板子折腾废了。于是乎,得出电赛的一个基本原理:人的状态好,是电路状态好的前提,与其搞疲劳战术,还不如多睡两个小时。


                                                       2016年 大二 省赛、邀请赛

大二的省赛我压根就没参加暑期培训。当时暑假有其他安排,一开始压根就没打算参赛。后来张老师说有一组还差一个做软件的,我就当了一回“救火队员”。队友杨洋和杨雄倒是在学校培训了一个月电源题,所以最后出问题也是出在软硬件联调上,联调时间太晚,导致出了问题难以解决。

邀请赛也是功亏一篑。其实怪我准备的不充分。

不过顺便提一句,我们做的C题,“模拟电子系统设计邀请赛”出这么一道题,简直有名无实——这道题模电的电路几乎没什么工作量,而数电才是真正的大头。

C题是一道频率特性测试仪,自己用模电搭一个选频网络,然后测它的幅度响应、相位响应。最后差一点时间,相位响应算的不对,程序还差一点修改。差多少时间呢?我估计给我半个小时就能调通。那之前我干什么去了呢?说来惭愧。

一切还要从比赛之前说起。组委会给每个学校发了一个综合测试板,上面单片机、FPGA、键盘、显示屏、ADDA、一应俱全,单片机和FPGA的代码也都给了。我们参加这

次比赛的两个组,另外一个组的同志们可能是电脑的原因,始终没法把程序烧进板子里,所以这块板子就交给我们组来用。我把该调的模块都调通了,对这个板子可以说是比较了解,于是就去比赛了。不走运的是,我忘记调显示屏画图(打点)的程序了,但很不凑巧,比赛就要画波形。

于是比赛两天,其实第二天我才开始干正事,第一天就忙着调显示屏的驱动了。浪费了一天,其实最后就差半个小时。

这个故事告诉我们,细节很要命啊。

 

2017年 大三 国赛

刚刚从张老师那里得知,我们组在E题江苏省省测中排名第四,而进入国赛仅有三组。得知这个结果,大家纷纷表示可惜,但我很清楚的知道,这个结果相对于我们的表现来说已经很好了。我这样形容我们组在这次国赛中的表现:模电经验不足,FPGA不会时序分析,高性能的嵌入式处理器或者DSP没有用起来,测试表现糟糕没有主动争取留箱。

E题的题目其实很简单,不管是软件上还是硬件上,题目大概是这样:给你两个信号作为输入,一个是噪声信号,另一个是有用信号和噪声信号的叠加和移相后产生的信号,做一个自适应滤波器,输出有用信号,其中有用信号和噪声信号的幅值和频率都在变化。所以硬件电路就是加法器和移相器、ADDA、低通滤波,其中ADDA与处理器相连接,而处理器要实现的就是LMS自适应滤波。这是一个很成熟的算法,你去百度上随便一搜,就会找到他的具体做法,而且整个过程和题目要求基本一模一样,基本都不带变的。但就是这样一道“送分题”,为什么成了我们的送命题呢?

首先从模电开始,这客观上确实是我们的一个短板。本来我们的参赛成员是我,亢雅宸,李明洲,可以说李明洲的模电经验在全校都是数一数二的,但李明洲同学由于学业上的安排无法参赛,所以我们找杨云开(开哥)来替他。开哥倒是很讲义气,牺牲了暑假的时间来参赛,不过客观上李明洲拿过省赛的一等奖,邀请赛又和我和田朝莹一起拿过国奖,而杨云开则是第一次参加电设;同样,亢雅宸同学虽官至E创社社长,但也是第一次参加电设比赛。我就更不用说了,做了两年电设,焊电路时长大概不超过五小时,全在折腾单片机和FPGA,我们组的模电就留下了巨大的漏洞。我们在选题时也考虑到尽量避开模电,但最后测评,可能是模电电路的问题,也可能是现场仪器的问题,指标还是没有学校里测出来的好。组员们都拼尽全力了,现场的仪器当时也没发现具体的问题,就权当是运气不好罢了。

然后是信号处理。E题可以说开了国赛信号处理的先河,以往考的基本都是模拟信号处理或者是简单的数字信号处理,这次是高速的数字信号处理,而且对性能指标有极高的要求。单论算法,用C语言来写,核心只有三条语句,但我们尝试用STM32单片机来做,发现运算速度不到要求的20%;尝试用树莓派来做,发现IO口不够。所以一开始拟定的做法就是用FPGA,可以说理论上实现题目要求还是绰绰有余。于是我们就决定用FPGA。到现在为止,形势都看上去都一片大好,算法有了,平台也有了,应该能做好吧。

后来才发现我们太年轻了。

我们第一天下午四点才定了题目(浪费了整整八个小时)。把LMS自适应滤波从MATLAB搬到FPGA上时,又发现一个要命的问题,32位运算FPGA资源不够(第二天下午),然后我花了一晚上降低精度,调代码,终于在第三天早上,写出了可以烧进FPGA的代码,并通过了行为级仿真。滤波的功能基本实现,但可能精度降的太狠,波形不太好看,以为再调一调问题就解决了。当时沾沾自喜的来了一句“这题差不多做完啦”。

太年轻了,问题还大得很。

首先,既然精度降低的太多(这时FPGA的资源绰绰有余了),那就再提高一点。很好,效果不错,行为级仿真出来的波形加个低通滤波简直完美(第三天下午)。

然后上板(第三天晚上)。

然后联调。

然后。。。。。。。。。

“诶这个输出怎么和仿真不一样呢?”负责硬件的队友。

我知道怎么回事。行为级仿真只考虑逻辑上的正确性,实际上板,要考虑到很多问题,噪声、时钟上升沿的到达时间不一致等等,要用VIVADOILA来抓波性,这一步叫时序分析。可是我不会,因为我没干过这件事。所以唯一的办法,几乎就是调整参数了。

最后一天基本都在干这个。实际输出的波形,其实离仿真中的结果还是差的不少。

 

不过就算差的不少,测评时正常发挥综合测评肯定是进得去的;不过就算我们测评时发挥的非常糟糕,本来综合测评也是进得去的,38支队伍,我们是第四,前三进测评,因为我们没留箱。为什么没留箱呢,测评老师测完了这么跟我们说“你们做的不行啊今天测的几个组做的都比你们好”,所以测评老师的意思是今天只测了4组?

评委老师可能有他的主观判断,但我们因为测的不好失去信心没有主动申请留箱,恐怕也是个教训吧。

 
版权所有:南京大学 电子信息专业实验教学中心    技术支持:南京先极科技有限公司