打印
[活动]

#TI校园故事# + 我是“玩命之徒”

[复制链接]
2098|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
校园故事|  楼主 | 2012-11-1 10:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  #TI校园故事# + 我是“玩命之徒”

  ——记2012年TI杯模拟专题邀请赛

  院系:西安交通大学09级电子科学与技术系

  2012年的夏天已经离我们渐行渐远,可是对我来说,在这个夏天所经历的事情,是我终生也无法忘怀的。

  还记得三年前高考填报志愿的时候,家里执意让我报西交的电气,而我拗不过,只好将自己想学的电子填到了第二志愿,最后由于分数不够上电气,我如愿被调剂到西安交通大学09级电子科学与技术系。

  我对电子设计产生兴趣,可能是因为小时候接触计算机比较早。记得那还是95年左右,父亲由于写研究生论文,借到一台x86的机器,当时跑的还是dos,制表还是CCET。我当时就非常好奇,这究竟是什么东西,可以打印出文本。非常“幸运”的是,用了不久,机子可能是软驱坏了,就把它的机箱打开来,只记得当时看到那里面好多电线,好酷的感觉。再后来,家里买来电脑,看到装箱材料里面有一张不知是哪的电路原理图,一张纸上密密麻麻的全是线,完全不懂把这种东西附在产品里是干什么用的,而同时,我心里就暗下决心,总有一天,我要弄懂这一切。

  上了西交的电子系以后,第一年成绩很不理想,均分不到80,而且学到的知识貌似与我想像中的电子关系不是很大,后来我才了解到,电子系是偏器件与材料的,基本和单片机,嵌入式,电路板没有关系,我非常的不甘心。就这样进入大二,我对单片机电路板种种玩意还是一窍不通,看到社团里电子部跟我同级人做的电子时钟和单片机最小系统板,并且说一些自己完全不懂的术语,心里真是难受极了,自己来大学一年,究竟学了些什么东西?高数?线性代数?物理?可是别人已经会自己焊电路板,会往可编程芯片里写程序,会用protel画PCB了。我急了,于是赶紧请教社团的同学,问这问那的,后来他让我先去学郭天祥老师的单片机教程,从此我正式步入了电子设计制作的大门,那学期,以至后来的一年,课本上从来没有出现过“单片机”。而当时我又该何去何从,是认真学习本专业的课程,还是学习单片机?可能我一秒种也没有考虑过这个问题,因为我知道自己当时想要学的是什么,我该玩命了。

  大二上学期的时候,我开始看郭天祥老师的51单片机教程,平时课程很紧张,根本没有时间干其他事,既然常规时间没有了,那总得搞点时间出来啊,所以我就每天晚上看视频,基本每天一节课,看到半夜1点多才睡,然后早上6点多又得起床去上课。以致后来,同学都说我是超人,不需要休息,只有我自己知道,我欠了多少知识,得花多大功夫补回来,我们专业不讲这个,我更要加倍努力地学习,才能追赶上自动化、信息专业的同学。后来视频看得差不多了,就在网上买了自己的第一块51开发板,在上面跑视频里的程序。那个时候,可能因为板子和视频中的不一样,接口有些变化,调一个程序半天调不通,晚上2-3点睡更是家常便饭,我确定我是在玩命了。就是这样地玩命,我的付出也收到了成效,感觉进步很大,差不多知道了单片机的工作原理,之前那些不懂的术语,也慢慢能够理解了。这样一来,我学习的热情就更高了,顺着视频和网友的建议,我又开始看另一套Altium Designer的视频,差不多过了半个月,我已经能画出简单的电路图,并在布线的时候遵守一定的规则了。在这里还是要非常感谢学校工程坊的开放性实验,我报名参加了很多项目,那些项目基本都是现成的电路板和元件,只需要焊接上去就可以用了,去的次数多了,老师跟我也熟了,我也终于等到了我的第一个PCB任务。当时有一个声光控开关的实验,原板的220V输入与一个耐压只有25V的电容离得非常近,我的作品就是因为接万用表测电容电压的时候,把电容和220V短接掉了,后果当然很可怕,电容爆炸了……我的任务就是对这个板子进行修改,使它的布局更合理,更方便测试。现在看来很简单的电路,我当时竟然花了半个月去完成,确实是因为第一次做,好多东西还不是很熟练,总是害怕哪里出差错,所以反复检查,才给老师交的工,最后的结果是令人满意的,板子能够顺利工作,我也得到了宝贵的实践经验。

  俗话说万事入门难,既然已经入了这个门,下一步的学习便很得心应手了,大二的下学期,我又从网上买了一块S3C2440的ARM嵌入式开发板,开始学习ARM的开发,一开始,我以为从单片机到ARM嵌入式,只不过是接口更丰富,速度更快而已。学着学着,我开始疑惑,为什么好多教程,都把嵌入式开发跟Linux扯上关系呢?学了好久,也在网上看了好多才知道,我的那块ARM9开发板已经厉害到可以跑Linux操作系统了,如果像以前单片机那样操作端口那样用ARM的话,只能叫跑裸机程序,虽然也能完成任务,但是可移植性,通用性,功能都不如跑操作系统。所以我又一头扎入了Linux和嵌入式,还是每天晚上熬到很晚,看国嵌的免费视频,自己再动手操作,到学期末的时候,我终于充分理解了Linux跟嵌入式的关系,后来由于进入了学校的网安实验室,开始做FPGA的开发,所以嵌入式这块就研究的比较少了,感觉从单片机到嵌入式,再到FPGA,转型太快。但是我觉得这不重要,我一直以为重要的不是面面俱到,而是在一个项目需要你掌握某方面的知识时,能够迅速从各种渠道获取相关知识,换句话说,就是玩命地学,最终完成目标。在实验室的一年多时间,我做过FPGA的逻辑,也做过基于FPGA的开发板原理图,也懂得了,玩命是多么地重要,一般来说,在刚接触一个领域时,可能知识会是一片空白,可能和同行的差距很大,怎么办呢?玩命吧!

  前面说了这么多,可能跟竞赛的关系并不是很大,但是我觉得说这些作为铺垫很有必要,毕竟这些经历是我能够参加本次TI杯的先决条件,试想,如果我当时不自学单片机,嵌入式,FPGA和画PCB,又怎么能够有机会参加竞赛呢。我只是想说,从来都没有什么知识是一开始就懂得的,也不是自己的专业学习什么,就去学习什么,而是自己想要从事什么,热爱什么才去学习什么。由于我的玩命,我的一位舍友同学,可能是受到我的影响,看到我用单片机控制上面的LED依次亮起熄灭,觉得非常神奇,也开始问我怎么做到的,我便把单片机的概念跟郭天祥老师的教程介绍给他,他也便开始学习起单片机,而我这位舍友,就成为了我这次参加TI杯的队友,我每每想到这里,都不由地感慨环境对一个人的影响究竟是如何大,试想, 如果没有当初社团的同学谈论那些我完全不懂的术语,我又怎么会自惭形秽,玩命学习相关知识,如果没有我玩命学习单片机,又怎么会有舍友也跟着我学,就不会有后来我们一起参加TI杯了。从这个角度看,我无疑是个幸运的人,很庆幸有社团那群热爱单片机的同学。

  说到参加竞赛,事情可谓是一波三折,最初想参加电子设计竞赛,是大二下学期当。时是单数年的全国竞赛,刚学会单片机,懂一点嵌入式,学过一点模电,数电课程一点没学的我,就跟社团,还有工程坊开放实验认识的两个同学组队报名了。不幸的是,我们的队伍都是大二的,没有找到大三的学长带,我们没能通过初选。虽然我觉得我有能力,但是看样子我们的队伍仍然没有得到指导老师的信任, 直接就被刷掉了,连赛前培训都没有机会参加,心情真的非常糟糕,很失落的感觉,也是非常不甘心,但是这是没有办法的事情,毕竟数电要等到大三才开始学,大二的知识非常有限,老师对我们的情况也不了解,谁都不可能把机会给基础知识都不全的队伍。11年的竞赛,我没有能够参加,取而代之的是我报名参加了网安实验室的暑期实习,并成功进入实验室开始做FPGA的相关开发,现在看来,竟然是把坏事变成了好事。在实验室里,我得到了更多的锻炼,实验室的老师和同学给了我很我的启发与指导,我依然是玩命地做事,那时候,我已经习惯了晚上1点以后睡觉,可能对身体真的是不太好,但是玩命之徒总有安慰自己的办法:年轻的时候,就应该多拼一拼,等到老了,连玩命的机会都没了,那时候就只有后悔。接下来进入大三了,课程的内容可谓是神课,概念跟公式都很难理解,基本都是和物理与材料方面的关的,依然没有一门课是讲单片机的,除了我那位舍友,系里鲜有人懂得单片机,我除了庆幸,还是庆幸。

相关帖子

沙发
校园故事|  楼主 | 2012-11-1 10:14 | 只看该作者
  大三下学期开始了,我舍友因为进了机器人足球队,跟电子竞赛的有关一些老师关系还算比较熟,就开始跟我说电赛的事情,问我要不要跟他一起,我当然愿意了,于是我们开始去信通系的那门跟竞赛相关的实验课,跟竞赛的指导老师也算是有了几分眼缘,毕竟竞赛基本都是信息,自动化和电信硕的同学参加,一下有两个电子的同学组队参加,我都有很奇怪的感觉。虽然如此,我们还是硬着头皮去混课,最后我和我舍友,还有信息系的一个女生组成的队伍终于被选入了TI杯电赛大名单,进行为期一个月左右的培训。我因为之前做单片机和嵌入式还有FPGA,写程序这方面比较熟一点,就担当起了我们队里程序员的重任,舍友跟另外一个信息系的女生主要是系统方案设计跟电路实现。

  竞赛培训的时候,我也第一次接触到了TI的430系列单片机,参加省赛时用的是G2553,国赛时用的是F5529。虽然之前学过单片机,但是那是51系列的单片机,端口操作很简单,只需要一条语句就可以实现,但是像SPI和I2C,都是要根据协议进行模拟的,很浪费处理器资源。用上MSP430以后,给人的第一印象是,和之前玩过的2440裸机程序操作方式很想象,都是操作寄存器,来控制GPIO,或是相关的模块。让我感到比较意外的是,这个系列单片机的开发环境CCS是基于eclipse的,这让人用起来觉得非常顺手,而且有一个430ware系统,里面例程比较全,当时在配时钟跟定时器的时候,”偷懒“抄了好多里面的程序。但是在培训的后半阶段,有一两个题目的程序稍微有些复杂,需要分四路对AD进行采样,还要在屏幕上输出实时数据,这让主频最高只有16M的G2553有些力不从心,屏幕的输出出现了很明显的闪屏现象。我开始寻找原因,发现我每次切换AD采样通道的时候,都要对AD的通道相关寄存器重新赋值,然后再重新开启AD采样,如果能让采样一次完成,那效率就会很高了。我所想的方法能不能实现,没有别人告诉我,可能只有看user guide了,想到以后使用其他模块的时候,有可能会忽略一些重要功能,我便把user guide读了个遍,最终不仅找到了连续多通道AD采样的方法,还从手册中知道了430系列单片机最显著的特点是其超低的功耗,相较51单片机上百mA的电流,430单片机在低功耗下,几乎可以达到微安级的电流,我也了解了怎样配置相关寄存器,才可以充分发挥低功耗的特点。到后来上了F5529的板子后,user guidr竟然接近上千页,我都吃惊,自己是怎么把这么多页读下来的。事实证明,这样玩命读user guide只有好处没有坏处,那块F5529的开发板上资源很丰富,我们在国赛的时候,充分运用了板上的资源,并发挥了低功耗的特点,这跟熟读user guide是分不开的。

  还有一点不得不说的是,我从我舍友那里学到的一种精神,这还得从培训时候的一道题说起。当时是做2010年的TI杯正弦波形实验那道题,我看到滤波器跟积分器能够正常工作了,非常高兴,最后波形的合成也算比较标准了,都准备找老师交差了,但是舍友说合成的方波形状略微有点偏移,但是我转眼看看其他组做的,跟我们的也差不多,就跟他说你看其他人做的也是这个样子,可能还不如咱们做的呢。但是他还是觉得波形不是很好看,说现在交差不太好,不如再试试看。我也只好打消了交差的念头,跟着他一起检查电路,有不懂的地方就去找老师或者同学解决,到最后,通过对滤波器和移相器的参数进行细微调节,可能也就是找一个最精密的电阻或电容,我们的波形做到了最好,交差的时候,老师也说我们做的效果很好。这件事情让我很有启发,我想我们参加竞赛,想要取得好成绩,有扎实的基础知识是一方面,但是同时需要面对的是模拟电路参数的复杂性与非理想性,有时候计算出来的数据,不一定就管用,所以要做好一个完美的模拟输出,是很困难的事情,当然,如果说做出一个差不多的东西,相对来说是比较容易的,也可以通过老师的验收,这牵扯到做事的两种态度了,毫无疑问,我们选择了前者。在后来的开关电源中,其他组要是能做到纹波100mV以内,我们就必须要做到50mV甚至更小的纹波,其他组的程序控制实现的功能,我们一定要能实现,而且还要实现他们不能实现的功能。就是这种做事的态度,让我们这两个对老师而言相对陌生的电子系学生,冲出了校内选拔的重围,顺利进入了省赛。

  说到正式比赛,多少还是有点紧张,省赛我们选择的是D题声音定位,只有三天两夜的时间,需要完成发声模块、四路声音信号的放大与相关程序的算法,是个不小的挑战。记得刚开始设计中心频率为500HZ的带通滤波器时,选用了双T网络有源滤波,但是当声音信号比较大的时候,很容易出现自激现象,做模拟的都知道,自激问题解决起来非常棘手,电路一旦自激,很难找到原因。我试过很多方法,包括改变RC相对大小,调节输入输出阻抗,换芯片等,效果都不理想,可能之前经验也比较少吧,做了很多无用功,最后终于想到了是反馈环可能出了问题,于是在原来书上介绍的反馈环上,并入一个300k的电阻,并适当减小双T的增益,终于成功解决了自激问题,这让我觉得非常开心。现在回头想这个问题,其实是因为原来电路的反馈环很容易对某一频率的谐波表现为开路,从而自激,加入300k的电阻以后,避免了运放的开环,自激问题自然解决。到比赛的前一天晚上,我们的四路信号放大电路还没有完成,我也很着急,因为是舍友在做,也帮不上什么忙,只能写一写算法,做了声音发生模块,到最后一天中午,才开始各模块一起联调,最后的效果也不是很好,很大程度上应该怪我,算法不是很好,没能做出轨迹,很遗憾。不过我也已经是很玩命了,三天两夜我只睡了四个小时,到最后一天晚上交作品的时候,眼睛都成红色的了,挺吓人的。因为效果不好,我一度比较沮丧,都怪我把算法做的不好,其实模拟部分的相位输出已经很准确了,如果因为算法的原因,成绩不好,真是太冤了。没想到最后测试的时候,好多队都没能做出来,能算出坐标的队更是凤毛麟角,不得不说,我们运气太好了,选了一道大家基本都做的不好的题,最后变成是比谁做的比谁差了,我们最终拿到了省一等奖。可是国赛全校只能有两个队,最多最多三个队参加,而我们学校拿到省一等奖的就有七个队,当时我想,我们做的那道题效果本来就不好,国赛这下肯定难入围了,就先回家准备过暑假,然后复习考研了。没想到刚回家一天,就接到通知是被选进国赛了,我们队和另外一个参加过去年竞赛的队,这让我很意外,后来才打听到选我们队的原因,就是校内选拔的时候,我们完成每道题的效果都要比其他队好,而且功能也做的比较全,才让我们去国赛的,这真的是态度决定一切啊,我们的认真态度得到了老师的肯定!

  国赛我们选的是电子秤,这道题可以做的很简单,但是要提高精度,实现更多功能,还是有一定难度的。拿到题目时,我们最先考虑到的还是觉得应该尽量提高精度,毕竟这是一道测量类的题,精度直接决定了作品的好坏,所以感觉模拟前级放大部分是个挑战,我们使用了仪表放大器INA118,精密运放OPA734和无源阻容滤波,并对电源采用线性稳压,再加以相关的对电桥固有电压差失配的调节电路,使输出给AD的电压范围尽可能大,以提高精度。程序部分主要是我负责的,这一次我可能有点玩火了,用了一个自己从来没有用过的ADS1115,原本是想用430自带的AD,计算进模拟前级的误差以后,精度也能基本满足要求,但是忽然又想到了舍友一定要做到最好的态度,虽然不熟悉,但是我仍然决定选用ADS1115,事实证明,16位与12位AD的精度还是有质的区别,而且ADS1115的窗口比较触发中断功能,正好可以迎合题目的休眠功能,只能再一次说,事情的顺利程度跟态度的关系是如此的紧密。最后,我们的作品完成了题目的所有功能,并且精度很高,还使用了MSP430F5529开发板的触摸库,实现了触摸按键,并加入了超重报警功能。事实证明,我们的作品也得到了评委的肯定,最终我们得到了一等奖。

  不知不觉已经说了这么多,对我们来说,这次比赛真的是非常难得和难忘的一次经历,如果还像写小学时候的作文《一次难忘的事》,那么第一时间浮入我眼前的肯定是电赛,我会想到我们在电赛之前一两年玩命地学单片机和嵌入式,前一学期跟着信息系上课时的窘迫,省赛前紧张的校内选拔赛,竞赛时的玩命干活,为达目的决不罢休的斗士姿态,还有电赛期间认识的很多新朋友。而且通过竞赛,我觉得我已经深深地迷上了模拟电路,觉得这真的是一种艺术,一种feeling,每一个经典电路,都是经得起细细咀嚼的艺术品。我通过竞赛保研以后,决定选择模拟集成电路设计这样一个自己比较陌生的领域,我知道,虽然现在我经验不够,但是有玩命的精神和做到最好的态度,没有什么事情不能做好的,这也是我通过本次竞赛,得到最大的收获。

  最后,感谢参加竞赛以来给予辛勤指导的张老师和王老师,他们真的非常用心,每天晚上都是11点以后才离开。还要感谢主办方与TI,对竞赛的支持。还有那些通过竞赛认识的朋友们,与你们共勉!

使用特权

评论回复
板凳
holy_dai| | 2013-3-11 20:26 | 只看该作者
赞一个,我是西南交大的,430基本熟悉的差不多了,现在设计个电路编个程还是可以,但是大家都说我用altium designer画图画的特初级,请问学长能否发下你当初学画板子时的视频网址,或者不嫌麻烦的话能不能发下邮箱652224994@qq.com

使用特权

评论回复
地板
elec921| | 2013-3-12 12:30 | 只看该作者
文艺青年啊,哈哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

41

帖子

0

粉丝