经历电子设计大赛后的感想

经历电子设计大赛后的感想和总结

今年夏天,有幸参加了两年一届的全国大学生电子设计竞赛,虽然比赛已经结束,然而这经历的一个多月却构成了我大学生活难以割舍的部分,在这两个月里,经历了挫折与快乐,痛苦与坚持,无奈与渴望,也让我明白了团队精神的重要性,在学到很多的东西的同时,也对自身的不足有了更深的认识。总之,这个夏天感谢电子设计大赛。

这种大型的比赛,对学生的能力有着很高的要求,所以,当想要参加这种比赛的时候,就一定要提前做准备,努力的提升自己这方面的能力。我很早就有参加这个比赛的想法,那时候主要是看到学长参加这个比赛拿了奖,然后特别风光,感觉特别牛,所以也想和他们一样,但那时也是迷茫的,感觉自己什么也不会。后来到了大二,就更想参加这个比赛了,因为学了一些这方面的专业知识,感觉还是有希望的,而且想到即将出去找工作,现在的就业压力大,岗位竞争激烈,拿了一个奖应该可以为自己增加一些砝码。所以对于专业课,我还是学得比较认真的,如果上课有没搞懂的,课后回到寝室,我也会花点功夫把它弄懂。

可是真到了要比赛时候,才发现光靠书本上的知识,是远远不够的。说不定比赛需要用的器件都是你没用过的,所以不能只局限于书本上的知识

先回顾一下这次比赛的整个过程吧,记得当时五月份学校开始报名TI杯,我很积极的报名了,六月的时候指导老师开始对我们展开培训,给我们出了一个题目——风扇转速测试仪。由于学校还有课,所以老师让我们两周之类完成。当时我是一回到寝室就在网上开始查资料,寻找测试风扇转速的方案,很快选择了红外对射传感器测速这个方案,然后在网上买了一个红外对射传感器。然后开始着手做,由于对红外对管不熟悉,最开始的问题就出在红外对管的硬件连接这样的小问题上,而且前期还一直没发现是红外对管连接错了,当时也是脑袋短路了,都没想到要去用万用表测试一下对管有没有输出信号,一直以为是程序的问题。后来指导老师让我测试一下对管有没有输出信号,然后才发现问题所在,最终还是在两周之内做出来了。其实只是做了这么一个小东西,就出现这么一些问题,可见我们还是做东西做的太少了,经验不足,知识面也太局限了。

接下来老师让我们选做前两届电子设计大赛的的控制类的一道题,放假之前完成,让我们通过仿真来做。然后我也开始在网上查找资料,了解了一下。但由于要期末考试了,更多的是因为自身能力的不足,也没有花太多的功夫去做,最终在放假之前没能把它做出来。

后来放暑假了,我们参加比赛的同学留在了学校。老师让我们把按键模块和显示器模块先做出来,因为做控制类题目肯定会用到按键和显示屏。接下来我们整天呆在实验室,才开始那几天还是很有激情的,写写程序,画画PCB,可后来也就越来越懒了,花功夫在学习上也越来越少,确实我们的自制力还是太差了。

然后就到了正式比赛,我们选择的题目是小球滚动控制系统,接下来就是选材,花了半天时间淘汰了步进电机而选择了直流减速电机,因为以步进电机的转速确实达不到题目的要求。接下来的四天三夜就是不停地调试,我负责的是程序这一块,基本上接下来的几天都是在调试程序,只是每天都需要休息那么一段时间,不然的话效率会越来越低。才开始那两天我就是没怎么休息,后面感觉大脑都不清晰了,所以还是要注意休息。开始比赛一天后报告也应该慢慢的撰写着了,因为如果留到最后再去一次性撰写的话会把一些东西落下,报告的质量也会大打折扣。这样的话,差不多最后全部东西都基本完了的时候报告也基本差不多了。

遗憾的是这次我们没有时间来进行一次整体的调试,只是做了各个小模块的调试,这也算是一个失误吧,没把握好时间,有一些联调的时候才会有的问题没能够及时发现。作品装箱贴上封条之后,也算暂时告一段落了,可以先松一口气了。于是便回到寝室大睡了一觉。总的来说整个比赛的过程都是很愉快的。

隔了两天去现场测试,测试的时候很担心,怕硬件出了什么问题啊,或者天气原因导致结果不一样啊什么的,不过还好,运气还可以吧,测试的时候没出什么大问题。

后来得知要去参加综合测评,综合测评的题目是现场给的,是到了测评地点之后现场才拆的题目。是用一块uPC324(功能和LM324一样)和74ls74还有ne555完成一些波形并达到指标,而且只能用10V的单电源,题目要求苛刻倒没什么,问题的关键是不能够使用电脑,不能使用网络,甚至用到的示波器显示也是全英文的,没办法我们英文都不好。由于这方面的东西确实做的少,于是我们只能翻开模电课本,希望能够从中找到点解决方案。然后我开始用软件仿真第一个555出方波,很快就出来了,频率可调了,只是电压值达不到要求,然后想到时间紧迫,叫我们这组负责硬件的开始焊接,焊接好了测试和仿真的一样。然后开始用74做方波,仿真倒是很快做出来了,只是焊接出来后发现不行,一直以为电路没焊接对,后来才知道是74只能用5V的电源,所以有时候仿真和实际情况还是很有出入的,毕竟仿真是理想条件下的结果,实际做的时候需要考虑的东西更多。然后我们就开始处理电源,没想到竟然还不提供5V的稳压管。所以浪费了很多的时间还没把第二个弄出来,后来通过方波积分得到了三角波。。。。。。最后的结果不是很好,背负着遗憾离开了比赛地点,总之还是自己这方面太薄弱了,平时做东西做少了,学习上也没有很投入,所以看到个74芯片都蒙了,这次主要也就是坑在了74ls74.

综合测评对我们考验更多的也就是对模电知识的掌握情况,而我们欠缺的也就是这方面的知识,放大器滤波器都掌握的不是很好,有些电路即便是通过电脑仿真的方式调试通了也不知道其中具体的原理,因此出了问题也不知道该怎么去解决。还有一个问题就是我们对网络、对电脑的依赖太强了,这或许是我们这代人的通病吧。有电脑、有网络的时候我们总能够百度谷歌到一些有用的信息,也能够通过Multisim或者Protues把电路仿真调试一下,而没有电脑、没有网络的时候,我们设计电路只能够在纸上通过仅有的一点点电路知识来进行设计,当我们在纸上设计出一个电路的时候连我们自己都在质疑它是否能够正常工作,而验证它是否能够工作唯一的方法就是把它实现了,接上电源,这些过程在平时是没什么,顶多就花费点时间而已,但是在综合测评的现场我们没那么多时间了,所有的那些知识都应该是平时准备好的而比赛的时候我们直接从脑海里面拿出来用的。只能承认这方面我们的确做的很不好。这方面必须得加强了。

不管能不能拿到奖,至少我们经历了,自己得到了锻炼,就够了。

最后,谢谢所有的老师,尤其是谢谢曾老师,整个比赛从培训到比赛完都让您操劳了很多很多,而我们却做得不够好。谢谢我的两个队友,所有的成绩都是我们在一块共同努力的结果。

 

第二篇:电子设计经历分享

我最近用单片机模拟I2C做slave,现在做出来了,但是误码率很高,检查了一下原因,是地址经常读错,还有的是地址读到之后没有给主机应答。我检测时钟信号是用while语句写的,下面是我写的接收一个字节数据的程序:uchar RcvB(){uchar BitCnt;uchar Retc;uchar errtime;bit RSDA;Retc=0x00;for(BitCnt=0;BitCnt<8;BitCnt++){Retc=Retc<<1;errtime=255;while(!SCL){errtime--;if(!errtime) return(0xff); /*超时返回*/} while(SCL){ RSDA=SDA; if(RSDA==1) Retc="Retc"+1;errtime=255;while(SCL){errtime--;if(!errtime) return(0xff); /*超时返回*/}break;}}return(Retc);}上下拉电阻  [ 2007-1-18 23:55:00 | By: liutao ] [ 2006-12-15 10:17:00 | By: earvin_rain ] 上拉电阻:1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。2、OC门电路必须加上拉电阻,才能使用。3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。6、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。上拉电阻阻值的选择原则包括:1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。3、对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理 对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素:1. 驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。2. 下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。3. 高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。

4. 频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。下拉电阻的设定的原则和上拉电阻是一样的。OC门输出高电平时是一个高阻态,其上拉电流要由上拉电阻来提供,设输入端每端口不大于100uA,设输出口驱动电流约500uA,标准工作电压是5V,输入口的高低电平门限为0.8V(低于此值为低电平);2V(高电平门限值)。选上拉电阻时:500uA x 8.4K= 4.2即选大于8.4K时输出端能下拉至0.8V以下,此为最小阻值,再小就拉不下来了。如果输出口驱动电流较大,则阻值可减小,保证下拉时能低于0.8V即可。当输出高电平时,忽略管子的漏电流,两输入口需200uA200uA x15K=3V即上拉电阻压降为3V,输出口可达到2V,此阻值为最大阻值,再大就拉不到2V了。选10K可用。COMS门的可参考74HC系列设计时管子的漏电流不可忽略,IO口实际电流在不同电平下也是不同的,上述仅仅是原理,一句话概括为:输出高电平时要喂饱后面的输入口,输出低电平不要把输出口喂撑了(否则多余的电流喂给了级联的输入口,高于低电平门限值就不可靠了) 在数字电路中不用的输入脚都要接固定电平,通过1k电阻接高电平或接地。 1. 电阻作用: l 接电组就是为了防止输入端悬空 l 减弱外部电流对芯片产生的干扰 l 保护cmos内的保护二极管,一般电流不大于10mA l 上拉和下拉、限流 l 1. 改变电平的电位,常用在TTL-CMOS匹配 2. 在引脚悬空时有确定的状态 3.增加高电平输出时的驱动能力。 4、为OC门提供电流 l 那要看输出口驱动的是什么器件,如果该器件需要高电压的话,而输出口的输出电压又不够,就需要加上拉电阻。 l 如果有上拉电阻那它的端口在默认值为高电平你要控制它必须用低电平才能控制如三态门电路三极管的集电极,或二极管正极去控制把上拉电阻的电流拉下来成为低电平。反之, l 尤其用在接口电路中,为了得到确定的电平,一般采用这种方法,以保证正确的电路状态,以免发生意外,比如,在电机控制中,逆变桥上下桥臂不能直通,如果它们都用同一个单片机来驱动,必须设置初始状态.防止直通! 2、定义: l 上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流作用!下拉同理! l 上拉是对器件注入电流,下拉是输出电流 l 弱强只是上拉电阻的阻值不同,没有什么严格区分 l 对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主

要是为集电极开路输出型电路输出电流通道。 3、为什么要使用拉电阻: l 一般作单键触发使用时,如果IC本身没有内接电阻,为了使单键维持在不被触发的状态或是触发后回到原状态,必须在IC外部另接一电阻。 l 数字电路有三种状态:高电平、低电平、和高阻状态,有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使处于稳定状态,具体视设计要求而定! l 一般说的是I/O端口,有的可以设置,有的不可以设置,有的是内置,有的是需要外接,I/O端口的输出类似与一个三极管的C,当C接通过一个电阻和电源连接在一起的时候,该电阻成为上C拉电阻,也就是说,如果该端口正常时为高电平,C通过一个电阻和地连接在一起的时候,该电阻称为下拉电阻,使该端口平时为低电平,作用吗: 比如:当一个接有上拉电阻的端口设为输如状态时,他的常态就为高电平,用于检测低电平的输入。 l 上拉电阻是用来解决总线驱动能力不足时提供电流的。一般说法是拉电流,下拉电阻是用来吸收电流的,也就是你同学说的灌电流 电阻在选用时,选用经过计算后与标准值最相近的一个! P0为什么要上拉电阻原因有: 1. P0口片内无上拉电阻 2. P0为I/O口工作状态时,上方FET被关断,从而输出脚浮空,因此P0用于输出线时为开漏输出。 3. 由于片内无上拉电阻,上方FET又被关断,P0输出1时无法拉升端口电平。 P0是双向口,其它P1,P2,P3是准双向口。 不错准双向口是因为在读外部数据时要先“准备”一下,为什么要准备一下呢? 单片机在读准双向口的端口时,现应给端口锁存器赋1,目的是使FET关断,不至于因片内FET导通使端口钳制在低电平。 上下拉一般选10k! 芯片的上拉/下拉电阻的作用 最常见的用途是,假如有一个三态的门带下一级门.如果直接把三态的输出接在下一级的输入上,当三态的门为高阻态时,下一级的输入就如同漂空一样.可能引起逻辑的错误,对MOS电路也许是有破坏性的.所以用电阻将下一级的输入拉高或拉低,既不影响逻辑又保正输入不会漂空. 改变电平的电位,常用在TTL-CMOS匹配; 在引脚悬空时有确定的状态; 为OC门的输出提供电流; 作为端接电阻; 在试验板上等于多了一个测试点,特别对板上表贴芯片多的更好,免得割线; 嵌位; 上、下拉电阻的作用很多,比如抬高信号峰峰值,增强信号传输能力, 防止信号远距离传输时的线上反射,调节信号电平级别等等!当然还有其他的作用了具体的应用方法要看在什么场合,什么目的,至于参数更不能一概而定,要看电路其他参数而定,比如通常

用在输入脚上的上拉电阻如果是为了抬高峰峰值,就要参考该引脚的内阻来定电阻值的!另外,没有说输入加下拉,输出加上拉的,有时候没了某个目的也可能同时既有上拉又有下拉电阻的! 加接地电阻--下拉 加接电源电阻--上拉 对于漏极开路或者集电极开路输出的器件需要加上拉电阻才可能工作。另外,普通的口,加上拉电阻可以提高抗干扰能力,但是会增加负载。 电源:+5V 普通的直立LED, 共八个,负极分别接到一个大片子的管脚上, 用多大的上拉电阻合适? 谢谢指教! 一般LED的电流有几个mA就够了,最大不超过20mA,根据这个你就应该可以算出上拉电阻值来了。 保献起见,还是让他拉吧,(5-0.7)/10mA=400ohm,差不多吧,不放心就用2k的 奇怪,新出了管压0.7V的LED了吗?据我所知好象该是1.5V左右。我看几百欧到1K都没太大问题,一般的片子不会衰到10mA都抗不住吧? 上拉电阻的作用:6N137的的输出三极管C极,如果没有上拉电阻,则该引脚上的电平不会发生随B极电平的高低变化。原因是它没有接到任何电源上。如果接上了上拉电阻,则B极电平为高时,C极对地导通(相当于开关接通),C极的电压就变低;如B极电压为低,则C极对地关断,C极的电压就升到高电平。为就是上面说的“将通断转换成高低电平”。你说的51与此图有一定的不同,参照着去理解吧。另外,一般地,C极低电平时器件从外部吸入电流的能力和高电平时向外部灌出电流的能力是不一样的。器件输出端常有Isink和Isource两个参数,且前者往往大于后者。 下拉电阻的作用:所见不多,常见的是接到一个器件的输入端,多作为抗干扰使用。这是由于一般的IC的输入端悬空时易受干扰或器件扫描时有间隙泄漏电压而影响电路的性能。后者,我们在某批设备中曾碰到过。 上拉电阻的阻值主要是要顾及端口的低电平吸入电流的能力。例如在5V电压下,加1K上拉电阻,将会给端口低电平状态增加5mA的吸入电流。在端口能承受的条件下,上拉电阻小一点为好。 提高负载能力、提高直流工作电平 无信号是给电路提供确定的电平。 上拉 一端接vcc,一端接在引脚上 下拉:一端接gnd,一端接在引脚上 dBm, dBi, dBd, dB, dBc释义 2004-10-18 点击: 14226 1、dBmdBm是一个考征功率绝对值的值,计算公式为:10lgP(功率值/1mw)。[例1] 如果发射功率P为1mw,折算为dBm后为0dBm。[例2] 对于40W的功率,按dBm单位进行折算后的值应为:10lg(40W/1mw)=10lg(40000)=10lg4+10lg10+10lg1000=46dBm。2、dBi 和dBddBi和dBd是考征增益的值(功率增益),两者都是一个相对值, 但参考基准

不一样。dBi的参考基准为全方向性天线,dBd的参考基准为偶极子,所以两者略有不同。一般认为,表示同一个增益,用dBi表示出来比用dBd表示出来要大2. 15。[例3] 对于一面增益为16dBd的天线,其增益折算成单位为dBi时,则为18.15dBi(一般忽略小数位,为18dBi)。[例4] 0dBd=2.15dBi。[例5] GSM900天线增益可以为13dBd(15dBi),GSM1800天线增益可以为15dBd(17dBi)。3、dBdB是一个表征相对值的值,当考虑甲的功率相比于乙功率大或小多少个dB时,按下面计算公式:10lg(甲功率/乙功率)[例6] 甲功率比乙功率大一倍,那么10lg(甲功率/乙功率)=10lg2=3dB。也就是说,甲的功率比乙的功率大3 dB。[例7] 7/8 英寸GSM900馈线的100米传输损耗约为3.9dB。[例8] 如果甲的功率为46dBm,乙的功率为40dBm,则可以说,甲比乙大6 dB。[例9] 如果甲天线为12dBd,乙天线为14dBd,可以说甲比乙小2 dB。4、dBc有时也会看到dBc,它也是一个表示功率相对值的单位,与dB的计算方法完全一样。一般来说,dBc 是相对于载波(Carrier)功率而言,在许多情况下,用来度量与载波功率的相对值,如用来度量干扰(同频干扰、互调干扰、交调干扰、带外干扰等)以及耦合、杂散等的相对量值。 在采用dBc的地方,原则上也可以使用dB替代。http://di-/news/article.php?articleid=107 经验算法:有个简便公式:0dbm=0.001w 左边加10=右边乘10所以0+10DBM=0.001*10W 即10DBM=0.01W故得20DBM=0.1W 30DBM=1W 40DBM=10W还有左边加3=右边乘2,如40+3DBM=10*2W,即43DBM=20W,这些是经验公式,蛮好用的。所以-50DBM=0DBM-10-10-10-10-10=1mw/10/10/10/10/10=0.00001mw。 搜狐通行证登录 ChinaRen社区首页 >> 校园论坛 >> 闲聊区 复制本贴地址,发给朋友吧! [转帖]我的大学I-V系列故事 楼主:CLoud 07-07-13 22:37 引用 回复 举报 我的大学I----享受奋斗带来的乐趣大二下学期,一个冬天,我开始自学单片机,慢慢进入痴迷的状态。期末将至,学习的热忱更加高涨。我打算把我的假期投入到单片机的学习中去。全身心地投入到单片机的世界里,每天被一个个调试中的难题搞得焦头烂额,水平是在一次次解决问题的过程中提高的。同时对于编程语言的学习也进入了狂热状态,有时在吃饭的时候也会想一些编程上的问题,或是掏出本子看看别人写的例程。在别人看来,我是一个木讷的人,整天就知道想事情,不太多说话,而我却生活在自己的生活之中,有自己的思想,感觉每天都能学到很多东西,这也是为以后的实战作了一个知识上的储备。水平在慢慢的提高,然而如果只靠自己一个人的能

力不会有大的长进。我现在只是觉得事情真的有一个机遇的问题。那天我正在看计算机方面的资料,盛中华看到后很惊讶,他没想到六系会有人在自学单片机,算是志同道合,就开始一起学习。水平从此开始有了很大的提高,也告别了单枪匹马的日子。又过了一段时间,我从同学口中听说了ACM一词,当时我还以为是什么算法。后来才知道是“国际大学生程序设计大赛”,当天晚上我们找来系里编程不错的几个同学,一共是六个人,开始商量参加ACM大赛。ACM是大学生程序设计的顶级赛事,从此我们开始成为一个团队,在老师的指导下开始登陆各大学的ACM网站,大量地练题,为的是第一次参加ACM中国赛区的比赛得到好的成绩。为了进一步提高编程的水平,那个暑假我们没有回家,一个教室,一块黑板,几台笔记本,搭建起了一个临时的ACM实验室。大家为一道道的题目冥思苦想,又在享受着解题后的那种快乐。后来比赛的日子近了,我们在中国ACM三大赛区都报了名,紧接着就是一轮轮的比赛。比赛的形式是网络比赛,由于我们自己还没有实验室,所以比赛场地又是一个问题。这个时候就要说到我们的SUNWISE实验室,这里算是我们的家了,全校有一技之长的人都来过这个实验室。也因为这个实验室和ACM我们六个人才能一直团结在一起,直到今天。SUNWISE是一个协会,但又不同于其它协会,在工程训练中心和我们的共同建设之下,它成为一个综合性,跨学科,独一无二的组织。软件,网络,机械,电子等几个部,让大家共同学习,共同进步。这个实验室让我认识了很多人,每个系都有我的朋友,感觉我不再孤单,有一大帮人来和我一起学习,我也会无私地把我的学习成果给大家,让大家一起研究,一起进步。大三上学期正值全国大学生电子设计大赛,这又是一次机遇,让我认识了郭天祥,一个很有魄力的人。电子大赛是要一连比赛四天四夜的,所以有的选手干脆拿了被子来,在实验室吃住。我相信我们能努力到最后的。他们俩(郭天祥,杜勉珂)负责电路设计和控制,我负责人机界面设计。在设计中需要双单片机来实现对液晶显示器,键盘,打印机的驱动,还要负责与后面电路部分的数据通信(最重要的部分)。四天四夜的连续战斗,我们一直保持高昂的斗志。我连续近百个小时盯着电脑屏幕,编写我最庞大的驱动程序。永远忘不了的是,在后面电路与人机介面进行接口时,通信出现了故障,这意味着两个部分不能连到一起。后台主控单元不能正常工作,原因不知出在什么地方。我真正地感觉到,比赛不只是技术的较量,更是一场心

理战,当出现问题的时候,应该用怎样的心态来面对这一切呢。我常挂在嘴边的一句话是“在平静的心态下,都不一定能做出来,如果心急的话,就更不可能做出来了!!”我想我的这些经验不仅适用于比赛,在以后的人生道路上也是同样受用的。比赛结束我们的作品要拿到哈工大测试,也许也有运气的因素,我们测试的时候,一开机输出了几个数据,核心部分就莫名其妙地被烧毁了,只留下了一盘残局。其实成败只是一时,经验却是受用终身的。经过了四天的奋斗,走出了全国大学生电子设计大赛之后,和一起比赛的许多同学都成为了朋友,现在还有所交往。也许我给大家的印象就是爱干活,肯吃苦,所以马上又进入了另一个比赛之中(“枭龙杯”空中机器人大赛),开始开发飞行器控制系统。每天泡在21号楼的4楼实验室,有几台电脑和一把躺椅作伴,生活单调,不过也很充实,每天都是在发现问题、分析问题、解决问题。我觉得人在实战之中才能长大,只有在遇到问题的时候才真正知道知识的可贵。又是一个个白天,黑夜……经过一次次地调试,飞行器日渐成熟,经常驱车跑到很远的地方去试飞,为了远离市区,我们借用了军方的靶场来试飞,看着飞行器在天空翱翔,飞出各种动作的时候,我们为它而由衷的高兴,这里面有多少人的心血啊。同时也认识了军方的一些人,也多次受到他们的招待,感觉就是军方的招待员真的很有意思,呵呵。比赛日益临近,我们开始最后的调试,还记得那是临行前一天的晚上,老师和教练把所有的东西装箱,我知道对整套系统最后的考验来临了。希望它能发挥正常。在成都比了几天,那天捷报传来,我们的心中激动不已,几个月的努力终于得了回报,我更加坚信那句话“真心付出,必有所得!”,这也将成为我继续前进的动力。其实,那个时候我真的很想随比赛一同出去,想的是可以去看看女友,我能安心调试也有她的因素,但因为人数和经费的限制没有去成,只有郭天祥一个人随老师和教练同去。他去看了他女友,也代我向女友问了好,也替我买了礼物给她。我现在只感觉我把时间大部分放到了比赛和研究上,却冷落了她,真的欠她很多。我能做的只有定期的给她打打电话,问候一下。有的时候被事情搞得很烦,而在电话里面对她的时候我还是会平心静气,那段时间心里真的是很矛盾,生活也变得很糟糕。现在心里的事情很多很乱,牵扯的事由也很多,心情也烦乱,在和她的谈话中,会流露出些许,也许是我变了吧。我感觉有一句话说的很对,那就是"能力越大,责任越大!"做

完了飞行器,我回到了系里,又回到了我的ACM集体。这个时候ACM已不仅在我们之间流行,它如一阵微风,轻拂着我们的校园。一条条写着“Program your world!!!”的红色横幅,映入眼帘,让ACM大赛开始成为人们口中谈论的话题。经过了半年多的准备,在ACM竞赛自动裁判系统在我们手下应运而生之际,在学校的支持下,我们盼望的HEU CPC(哈尔滨工程大学程序设计竞赛)终于拉开了帷幕。我和我的队友作为ACM的主力队员也参加了这次的比赛。在宣布比赛开始的那一刻,我仿佛又找到了在中国赛区比赛时的那种感觉,凭着昔日解题的经验,从简单的小题入手,在不到两个小时的时间里我们连破数题,一直位于诸队之首。在接下来的三个小时里我们联手攻克剩下的难题,又解出两题。而在我们要上交最后一题时,自动裁判系统系统宣布比赛结束,我落后了几秒钟,最后只能位居第二。ACM真的是实力和策略的较量,这里面蕴涵了很多人生的道理,我所领悟到的最重要的就是“肯拼才会赢”!!我们仍会像从前一样,团结在一起,为了ACM能够走得更远而努力。到目前为止,我们举办了系赛、校赛,在不久的将来我们会让ACM走向全省、全国,乃至世界,当然这也需要几代人的共同努力。这一连串的比赛下来,我的确有些疲惫了。可这时正值两年一度的全国大学生嵌入式系统大赛(Intel杯,Intel公司主办)。为了系里,我还是参加了。我在想,做自己爱做的东西是一件很高兴的事情,但如果在这些事情上加了"任务"两个字的话,自己肩上的担子就变得更重了。比赛就是这样一件事,如同一场残酷的游戏,谁笑到最后,谁就笑得最好,游戏结局的时候,那种空气是很让人窒息的。尤其是到最后的关键时刻,成功与失败就在这一刻揭晓,感觉身上的担子真的是很重啊。时间依然在不停飞逝,过去已成历史,末来仍是末知,我能把握的只有现在,让我作一个无悔的自我。于振南 哈尔滨工程大学计算机科学与技术学院来自:Club.ChinaRen.com------------------------------[复制本帖地址] /105076320.html------------------------------H.E.U.哈尔滨工程大学(-1953-哈军工) -永远的的母校 -为国为民侠之大者 -艰难困苦玉汝于成 沙发 楼主:CLoud 移到蜡烛人上给此人发消息07-07-13 22:38 引用 回复 举报 我的大学(2)----讲述自己的生活与学习火车缓缓驶离了哈尔滨站,我们一行开始了奔赴上海的征程…… 在经过了历时半年的不懈努力后,7月12日,进行了Intel杯作品的最后联合调试,在确认所有模块及中央控制系统工作

正常后,整套系统正式装箱,准备13日和我们一同向着此次嵌入式大赛的赛场----上海交大出发。 在出发前的半个月的时间里我几乎没有离开过21号楼,白天和队友一同在实验室进行模块设计和系统测试,晚上常常是在一个小屋里分析白天记录下来的各种问题,寻找解决的方法。 哈尔滨夏季的夜晚是最惬意的,四周一片静寂。没有白天的那种嘈杂的环境,没有困扰不休的那些琐事,也没有纠缠不清的那层人际关系。仿佛我正处在另一个时空,一切时间任由我来支配。这个时候我喜欢把音乐打开,这样就不会觉得困倦,也能让我思路更清晰。这样的夜晚时间过得很快,常常是在不知不觉之中,窗外就已经泛出了鱼肚皮。这时才会想起该休息了,才会拼几个凳子为床,然后很快就进入了梦乡。 现在想起那一个个夜晚还很神往,紧张而又自由,尤其还有音乐,虽辛苦却是一种享受。我失去她以后,一直是这样独处,唯有那些静夜洗去心中的忧思,却成就了一种斗志。 12号晚上我回到了寝室,半个月没有回来,我估计室友已经把我忘记了。 13号上午清点了所有的物品,包括作品、备件、工具等等。在与领导道别之后,随同八系的另一支代表队驱车来到了哈尔滨站,12:20正点奔赴上海。 一天多的时间在火车上渡过…… 14日晚七点我们终于到达了上海。因为老师与上海方面的同事早有联系,所以我们一下火车,就坐上了汽车,直向闵行区驶去。只听人说上海很大,直到现在走进了这座城市才真正感觉到它规模之大。车行两个多小时,大约九点的时候,终于到了闵行区。车驶入上海交大校园,一路打听最后来到了招待所,却被告知15日起才能办理相关手续。于是,我们只好在学校附近找了一家旅馆,暂住了下来。 其实一路我并不担心饮食起居,我担心的是这一路颠簸,我们的作品能否承受的住,这也是对作品的稳定性的一大考验。在八系的时候,我记得付教授曾经说过:“在学校调试出来的功能在现场不一定好使,在学校没有调试出来的功能到了现场更不可能实现。”这句话说明了学生作品的稳定性还需要提高,因此在研制和调试的过程中,我一再强调系统稳定性。举一个比较细节的例子,也比较夸张,在一个子系统的电路板上,为了防止焊接的可靠性,每一条导线都设有三个焊点,这样就可以把导线牢牢地固定在相应位置,就算故意拽都拽不开,可谓用心良苦。这样的一些措施在一定程度上保障了系统的稳定性,所以各个模块到现在为止,尽管已经经历了多次演示和测试,仍然可以正常工作。 我走进了旅馆就迫不及待地拿出各个

模块进行简单地测试。队友说先休息,明天再干活。我还是支持先测试一下,这样我才能安心睡觉。最重要的是数据链路,这也是我最关心的一个部分,因为它是最容易出问题的。整个系统完全是通过GSM无线网络(就是我们平时用的短信网络)进行联接的,由于哈尔滨和上海的地域差异,GSM网络的情况也不尽相同。于是我拉出天线,打开电源,在信号指示灯急促闪烁了几下之后,开始进入缓慢闪烁的状态,这初步说明模块已经登陆了当地的GSM网络。模块初始化完毕之后,开始自检,如果成功会通过短信向我的手机报告。这时,我手机的短信铃声响了,接到的内容是“System Start!!!”,这说明模块一切正常。我这才松了一口气,安心地休息,准备明天对整个系统的测试和维护。 上海的夜晚很闷热,空气里水分比较多,在上海的第一个晚上就这样过去了…… 我们还在睡梦之中,老师敲响了我们的房门,我一看表已经七点半了,于是急忙起床,洗漱完毕之后,随同大家一起吃过了早饭,就坐车再次来到交大。交大把我们安排在东31号宿舍楼,于是我们马上驱车来到了这里。一阵忙活之后,我们所在的宿舍顿时成为了一个临时的实验室。 接下来就是进行正式的现场调试了。主要的调试内容包括流媒体服务器、远程无线视频、中央控制平台、车辆防盗模块、人身跟踪模块、家庭信息终端(后三个模块均由我设计和研制,因此由我来负责调试)。 现场测试遇到的第一个问题就是,获取上海交大的校园的GPS全球定位信息,这样才能在中央控制平台的电子地图上准确进行位置标定。要校准一个座标系统,起码要知道知道三个GPS座标,为了更加准确,就需要实际测量当地的地理座标。这个重任就落在了我的身上。首先在校园地图上标记了四个待测点,然后我就一手拿着地图,一手捧着自制的GPS测量仪,开始按照地图寻找这四个待测点。这活并不轻松,也绝非是在校园里散步。交大的校园之大我算是领教到了,由于天公不作美,天气阴沉沉的,严重影响了GPS信号的强度,跑了一下午,才标定了三个点。 功夫不负有心人,第四个待测点的GPS座标终于测了,没过多久,中央控制平台的座标正确校准了,并已能标定我们的准确位置了。 第一天的调试工作到此为止,总体上还算顺利。 对于第二天的测试我们进行了分工,我专门调试三个模块,他们负责其它部分的测试。 由于三个模块都采用了新型CPU,所以不论测试还是更改内部程序都很方便。另外,为了便于现场调试,我在设计的时候都预留了调试接口,从而使进度加快了许多。最后却遇到了一个

很棘手的问题,那就是人身跟踪模块的电池内部智能控制电路对电池自身进行了保护,功率无法输出,需要用高压进行激活。我利用专用智能充电器对它进行了长时间的充电,终于解决了这个问题。紧接着,一个问题又来了,车辆防盗模块为了判断车辆状态,需要有一个座标差值计算,这与实际座标有关,于是我重操旧业,在楼下拿着GPS测量仪来回的走,来标定100米对应的GPS座标差值是多少。 接下来的两天,主要是对系统的维护和对答辩材料的准备,比赛不光要看作品作得怎样,还要看答辩的水平。 19日上午正式轮到我们了,我们提前把作品布置好,等待九点正式入场。由于系统需要实际的GPS座标,但现场的屏蔽效果太明显,导致GPS信号强度极弱。于是,在现场老师的带领下,我爬上了天台,把GSP天线吸附于最高的金属物,这样能够增强GPS信号强度。接通电源五分钟后,模块顺利建立了与卫星的联接,获取了现场的GPS座标,并成功通过GSM网络将座标传回了中央控制平台。在作完了这些工作之后,我急忙回到了演示现场,开始进行作品答辩。 接着就是最为重要的环节----现场演示。我把室内模块电源打开,首先演示中央广播功能,就是中央向家庭信息终端通过短信息发送广播信息,在终端上进行显示。当初这部分功能在研制的过程中遇到了很多难题,最大的难题就是短信编码,只要编错一位,短信就不可能发出去,或是错误的;其次就是对于接到的短信的解码,由于我们的系统硬件不支持Unicode(国际通用编码方式)编码,而现行短信息的中文传输是基于Unicode的,所以我对现行短信编码进行灵活的变动,也就是利用现行短消息为载体来传送GB2312码(汉字国标码)。 在中央平台发出信息之后,终端上却没有显示。经过评委同议,我们在演示现场进行了简单的排错,最终排除了故障。接着后面的各项测试都很顺利,比赛现场的方位也进行了准确的标定。 在演示了最后一个测试项目之后,整个演示过程全部完成了,在大厅休息了片刻后,我们便乘车回到了住处。我们为Intel杯极力奋斗过,并成功地进行了演示。我们扪心自问,毫无惭愧。而对于赛场上的一些其它的力量的操控,我们却无能为力。我们又在上海暂住了两天,南京步行街、黄浦江、东方明珠塔等等,这些以前传说中的名字,现在就在我的眼前了。 我们买了22日的车票,有几个同学回家或是有事所以回去的路上不能同行,我原本也想直接回哈尔滨,不想回家。但得知母亲近日身体有所不适,于是还是决定在北京下车,回家看看。 在家呆了些日子,待母亲身体有所

好转,我便早早回到了学校,料理比赛的一些善后工作。同时也开始承接几个新的项目。 日子一天天地过去了,仍然是忙忙碌碌。现在刚开学不久,不论怎样,时间还是不停地向前飞奔。 在Intel杯中我积累了更多的经验,也学到了更多的知识,我更加成熟,作事也更加沉着,想得也更加全面。我将所学用到了此次五四科技作品展中,得到了一等奖的好成绩,我想付出一定会有回报,我坚信这条真理。 我现在正在努力向更高层次迈进,争取保送研究生,进一步提高自己的能力和水平,加深对计算机系统的研究。 现在我一心想学到更多的东西,让我继续努力,我们大家一起来努力,一起提高我们的创造力,一起走进嵌入式系统的大门,这里有最美丽世界。 ------------------------------H.E.U.哈尔滨工程大学(-1953-哈军工) -永远的的母校 -为国为民侠之大者 -艰难困苦玉汝于成 板凳 楼主:CLoud 07-07-13 22:38 引用 回复 举报 我的大学(3)------我的个性化保研之路公示出来了,心中的石头终于落地了......个性化保研之路是通向研究生大门的又一溪径。可以说,高中是我人生的一大转折。在这一时期,我的学习成绩有了骤然飞跃,奇怪地是我竟然开始觉得老师上课的进程有些慢了,同一个问题要讲好几遍。(也许这种感觉有些狂妄了,我只是不再习惯于老师手把手地教授。)所以那个时候什么东西都喜欢自学。每天只管学自己的,作业也从来没有交过。却感觉到知识真正装进脑子里了。也许由于长期的这种学习方式,我也慢慢养成了看似叛逆不羁的心理。初入大学,面对匿大一个校园有些茫然,不知要学些什么,于是回归课堂,算是为以后奠定一个基础。其实,大一的时候我是一个名符其实的磕睡虫,每节课听不到十分钟就困得不行了。所以学习效率极低。当然那个时候不会考虑学到的知识有什么实际用途,因为还不涉及找工作和作项目。但学习单纯是为了考试,感觉生活很无聊。我知道我为何上课总觉得困,就是因为我对它不感兴趣。于是,我开始着手学习一些自己喜欢的东西。我借了一堆C++的书,打算苦学习C++。学了一阵子后,我才发现这种东西不是像理论课一样,背过了就行的,要掌握它是需要长时间的实践的。于是,我买了一张C++的安装盘,因为那个时候我还没有自己的电脑,所以一有时间我就去图书馆三楼的电子阅览室找一台机器来练习。刚开始那里的机器还是免费的,后来改成5角一个小时,因为有的时候我在那一坐就是一天,所以这个费用也是一笔不小的开销。考虑到有必要给自已

配一台电脑,只好向家里要钱。大二上学期我有了自己的笔记本电脑,从此我的实践能力有了极速地提高。我的笔记本配置不是很高,但却是我学习上的好帮手。它陪伴我经历了众多比赛,尤其是在作Intel杯的日子里,在最后的关头,跟随我连续工作了五天。所以,建议学计算机的同学,如果不是单纯为了游戏,而是为了学习,最好早些配一台适合自己的电脑,对自己的进步是大有好处的。上课学到的知识和实际技能有很大的距离,这就是导致很多人学习虽然很好,但在实践能力上却非常欠缺。学习好也许只说明一个人作事执著认真,但有时候光有这种精神是不行的。在工程训练的时候我指导过一个同学作电子钟,其实所涉及的东西都是学过的,但她就是作不出来。主要是她只迷信书本上的东西,不知灵活运用。不会自己查资料,不会自己写程序,我想BAIDU她一定会用,C语言她一定学过,但还是不会作,这是什么原因呢?所以告诫同学们,学习非常重要,但实践更重要,因为我们不是为理论而活,养活我们的是实实在在的技术。(其实实践和学习并不矛盾,我虽喜欢实践但我也很重成绩,希望大家不要走极端,只要实践不讲学习也是不对的。)其实学习C++是一个很漫长的过程,我现在仍然在学习它,只因为它真的是博大精深。后来我又喜欢上了网络(绝非是网游!),开始学习相关的技术,比如ASP.NET、JAVASCRIPT等。其实C++也有网络部分的编程,所以和这些东西是相通的,最后这些知识技能就融汇在一起,成为一个整体(我现在就正在作一个比较大的项目,就用到C++网络部分的一些东西,我想我如果没有前期的学习,项目的这部分工作我作起来是有困难的。)。另外,我还学习了一些零碎的东西,只是因为片刻的兴趣。我想大家有的时候会有一些小的抱负或小的兴趣,比如立志学习JAVA、CPU等。但估计大多数人都是三分热情,坚持不了多久。所以说,学习其实很简单,难点在于坚持不解。对于嵌入式系统(手机就是典型的嵌入式产品)的热衷原于当初的一个念头,只是无意间听人在谈论单片机,于是我开始对它产生了兴趣。也许这只是我众多小兴趣中的一个,只想浅浅地了解一下,但以后的一系列事情让我决定把大学剩余的时间全放在它上面。先是电子大赛国赛,然后是枭龙杯、英特尔杯。尤其是后两个比赛,让我花了足足一年半的时间,在这一年半里我每天都泡在这些东西上,而且一直保持狂热,每天都处在发现问题、分析问题、解决问题的状态。我开始习惯了这种生活,非常艰苦,却乐此不疲。大多数时候我失去了时间的概

念,四五点睡觉是很平常的事,就是到现在我仍然是很晚才睡,所以有的时候我在怀疑我是不是处于某种病态之中,感觉生活方式变了。有很多人说我的思维方式和别人不一样,也被同学称为我们班的一大怪人。也许这就是所谓的“个性化”,我不知道“个性化”这个词是褒义还是贬义。只是有一种脱离群众,有别于其它人的感觉。个性化保研从递交申请到结果公示历时约一个月的时间。由于今年的政策的不断改动,所以这期间有很多波折。首先是保送比例从原来的10%改为15%,这样一来个性化保研的名额就能更多一些,再就是把文体生和管理类学生从个性化里去掉了,这样个性化的所有名额就全部是科技人才了。但到答辩的时候,我却发现原定的50个名额竟然没有报满,只有45个人。原本认为这45个人都可以保送,但直到今天公示才知道有9个人被刷掉了,只保送了36个人。看来个性化保研的原则是宁缺勿滥,个人实力的评定是很严格的,同时也很残酷。我现在已经决定跟系里一位资历很深的老师,在研究生的两年里继续嵌入式系统的研究。我现在最大的梦想是参加一次挑战杯,我希望能遇到兴趣相投的同伴,一同实现这一梦想。(Intel杯时的同伴有的去了别的学校,有的不再研究嵌入式系统,所以我要结识更多技术上的朋友)。在大学的学习对我水平提高起很大作用的因素还有就是给外面公司作项目。也许大多数同学还没有这样的经历。与校外的一些公司签定项目合同,在规定的时间内开发出公司要求的东西,一般在项目中所用到的器件由公司来提供,并会提供一定的项目开发资金,在项目成功结束后当然会得到自己就得的报酬。现在我正在为大庆一家石油公司作项目(基于GPRS网络远程环境监测系统),难度很大,但对自己是一个绝对的锻炼。以前也作过一些项目,但不像这次这样庞大,在这次的项目第一次用到ARM(这种CPU在手机用得比较多),标志着技术又上了一个台阶。一共要历时2个月的时间,现在已经过去1个月,GPRS网络链路和服务器端数据编解码都已完工。这里有一个最大的难点,就是摄像头,用来获取监测点的实时图像。同时有很多细节,让我非常头疼。不过把这个项目作完后,我这个学期的学费估计就差不多了。在我的大学里我实现了很多梦想,但我却远离了我的最爱,如果给我一个重新选择的机会,我仍然会选择像我现在的这种大学生活。现在没有了她,全我仍会把我的道路走到最后,也许这条道路会非常艰难,但我坚信在那尽头会有无比的辉煌,我也坚信最后她还是会回到我的身边,她是最好的。我现在感

觉在大学里,处处是机遇,关键在于我们能不能抓住它。自己的一个小小的兴趣,如果不断坚持,可能会改变人生的道路。不要让自己一闪念的灵感轻易溜走,抓住它,也许它就是新生活大门的钥匙。记住作任何事情都不要轻易放弃,放弃它,失去的也许不只是它。------------------------------H.E.U.哈尔滨工程大学(-1953-哈军工) -永远的的母校 -为国为民侠之大者 -艰难困苦玉汝于成 地板 楼主:CLoud 07-07-13 22:39 引用 回复 举报 我的大学--Intel实习记实初到北京几天,按照预先计划,去北京Intel公司进行面试。北京Intel公司位于中科院计算所附近。一下午先乘轻轨,又换坐汽车,到达Intel公司已是傍晚时分。我进入融科中心,直接来到了八楼----Intel办公地点及实验室的所在。在前台登记完毕,随后贴上了专门的标识,在工作人员的带领下我走进了Intel。首先参观了硬件测试实验室。刚进入其中,心中不禁一颤,这才是真正的硬件实验室。实验台上放满了用以进行测试的仪器及电路板,这一幕是我在学校实验室所没见到过的。最吸引我的是那几块Xilinx的个头很大的FPGA芯片,当时我心中在说“太帅了”。后来经过询问才知道,他们在用FPGA来测试Cache。我被安置在一个较小的屋子里,不一会儿两名Intel的工程师走了进来,落座之后,正式的面试便开始了。“请你讲述一下你Intel杯作品的具体情况”于是,我开始对作品中的各个部件进行详尽的剖析。不停在书写板上圈圈点点,为得是让他们能够听得更明白。从控制器、电路、数据链路、传感器到操作系统等等,我力图讲到精练易懂。其实我心中一直在担心一件事情,就是他们会在我讲述的过程中,在电路方面问出一些过于专业或是要求进行量化的问题,还有就是问一些FPGA方面的问题。因为我知道在Intel公司里大多数时候都是在作电路,FPGA使用得很频繁。而这些工程师在这里工作起码也有五六年,所以他们是这方面的权威了。这样的话,就如同鸡蛋碰石头。果然,他们开始发问了。“你这个系统中控制器外部时钟多少?控制器有多少引脚?”“24MHz,44P”“你知道我们这里频率上到1GHz是什么样子的吗?我们这里有的芯片是1000多个引脚,你觉和44脚有什么本质上的区别吗?”我知道他有可能会问这样的问题,前面的第一个问题就是个引子。频率上到那种频率后在信号完整性会出现问题,这里用到的芯片显然比我用的芯片规模要大的多。我想我不能正面去回答这个问题,否则他们一定还会顺藤摸瓜问出更细的问题。我要把话题再拉回到Intel杯作品

上来。“关于时钟频率,在我们的作品中,核心CPU的频率是800MHz,我们在作核心部分的时候就是从板级开始作的。关于芯片引脚的问题,这里的芯片和作品中的控制器根本不是一个概念的东西,如果在作品中用1000多个脚的芯片来作控制,显然不合适。”……一翻翻地提问,我又一次次地作出回答,到后来,问题开始回到他们的本行了,很多是关于FPGA的,这些并非我的强项,我只能尽力作答。几个小时过去了,他们最后问道:“你想来这里研究哪一方面?”“ARM”“呵,Intel没有ARM了,Xscale已经卖掉了。”“FPGA”其实我对FPGA也不是很熟悉,这里仿佛一种投其所好的意味了。“好的,就这样吧。”在Intel公司的面试就这样结束了,工作人员把我送上了电梯,送我出了融科大厦。我独自走了一段路程,此时天色已经较晚。回头看看高高悬于空中的Intel的标志,霓虹闪烁。这就是中关村的夜景了,中国最具IT味道的地方。再往前走一段,是AMD的办公大厦,标志同样高悬在上。心中想,他们谁将是处理器的霸主呢?呵,我似乎有点多管闲事了,我不禁自嘲。奋斗次日,接到Intel的电话:“我们这里有一题目,就是将原来用C写的算法,转成硬件描述语言,不知你有没有兴趣?”“也就是算法的硬实现吧,我很感兴趣。”以前想过硬实现方面的问题,没想到竟与Intel的题目不谋而合。“那好,现在我们会发一道题目到你邮箱里,如果你能在一个星期内完成,我们将进一步规划你实习的事宜。”“好的,谢谢您。”很快,我的信箱里就收到了一封新的邮件。在题目中,包含了上千行的C++代码,描述了一个用于统计计算的算法。其实刚拿到代码,我头就有点晕,不知道它具体实现的是什么功能。不过不管它的功能如何,按照题目的要求,都要保证在转为硬件描述语言后要使输出相同的结果。所以我第一步要作的是先把代码编译一遍,看一下输出。在它的源代码文件夹下有一个makefile,这就需要在linux下进行编译。我找了一台装有linux的计算机,对代码进行了成功编译。但当我把它运行起来的时候,我不尽吃了一惊,也感觉莫名奇妙----它竟然没有任何输出。我离开了座位,开始踱来踱去思考这个问题。可以是当我再次看屏幕的时候,发现了一行“run ok!”,随后是几个数据。我的天!这个程序运行了足足有三分钟啊。区区一千多行代码竟然运行了这么长时间。我的第一感觉是,这个算法一定很复杂,运算量一定很大,看来Intel是在故意为难我。这样足足一个星期的奋斗开始了……第一步是把现在的用C++写成的算法钻研透,能

够作到真正掌握它,知道它每一个细节。所以我花了整整一天的时候来研读算法。程序中除了与算法相关的内容,还有一些是调用linux系统的一些API,来实现对程序运行时的监控,用来模拟硬件仿真。这些代码是与算法无关的,因此可以把它们剔除。剩下代码有很大一部分在描述一个数学模型,刚开始看那可是一头雾水。其实我最发怵看别人的代码,有一种自己的思想受制于人的感觉,多半时候都看不下去。但现在代码就摆在面前,还是要硬着头皮看。我想,我要想把这个算法看懂,我首先要把这个模型搞清楚。于是决定上网google一下。Google…. Google…. Google….呵,还不错,搜到了两个资料,虽然是E文的,但还算是自然语言。仔细研读了一个上午,终于算是有了个眉目。这回再回到那一堆代码里,感觉才不那么抽象了。一看又是大半天,总算对它八九不离十了。我才明白它为什么要run那么长时间了,也才领悟到为什么要进行算法的硬实现了。程序的功能是进行一种统计性的运算,设定一个动作重复400000000次,最终统计它各种情况出现的概率,这漫长的三分钟就花在这个400000000次上了。而如果把这些耗时很多的算法作成ASIC的芯片,那就将会从数量级上缩短运行的时间,最终实现所谓的HPC(高性能计算)。要对现有代码有很深刻的了解,我想我有必要把它亲手改写成纯C的,并且保证输出结果相同。这样不仅能够证明我已经掌握了该算法,也从一定程度上说明最终转为HDL的可行性,同时其实也降低了转换的难度,从面向对象的C++到面向过程的C,再从面向过程的C到用于描述的HDL,此时我已经站在C的层次上了,我有信心完成从C到HDL的转换。我装上了久违的ISE,还是ModelSim,这些软件在Sunwise的时候都接触到过,现在又拿来安装,还算比较亲切,不过还需要温习一下。于是,又从网上baidu了一些相关资料,熟悉了半天的开发软件,感觉ISE的环境确实比Altera的MAXPLUS和QUARTUS要好,还有就是重新见识到了Modelsim的强大。OK,欲善其事,先利其器!其实从C++到C,再到熟悉IDE都算简单,最难的部分在于HDL。对于VHDL,其实我也是个二把刀,原来学过的那点皮毛到现在已经剩不下什么了。但对于基本语法和描述结构还在脑子里。所以我打算来一个星火燎原,凭着这点仅剩的零星知识,编干编学,估计这样的学习效果更好呢。毕竟这里不比在哈尔滨,纸质的资料有限,所以我又从网上下了些HDL的教程,就这样看一段C的函数,查一查资料,编一些代码。如此重复,几百行代码不到一天的时间已经转换了80%了。其实,大部分和底层电路的关系不是

很紧密,转换的过程考虑得只是逻辑实现方式的转变。算法的逻辑是80%,而剩下的20%是什么呢?那不和硬件紧密相关了。也就是说,这20%的逻辑转换过来,硬件上是不能直接实现的,这就需要一个折中的办法了。用现有硬实通过一定的手段间接对这部分逻辑进行实现。在C中,我们在进行数学计算时,会经常遇到浮点小点,也会经常遇到一些数学上的定义,如Sin、Cos等等,这个时候我们通常不会去自己实现这些函数,而是直接调用数学库。对于库内的具体实现我们是不关心的。但在HDL中是不能对浮点直接进行计算的,同时也不支持相应的库函数,这就是一个最大的难题。这如同一座火焰山,让我无法逾越,到最后实现我足足花费了三天的时间。首先要攻克的第一个难题就是对算法中的一些涉及三角计算的函数的实现。刚开始我的想法是采用麦克劳伦展开,然后取前四项之各,对三角函数进行逼近。但我转眼又想,这样作的计算量是很大的,因为展开式中会有一些阶乘项和指数运算,也许我可以找到C的数学为的源代码,那里面或许会有更好的算法。Windows里是不太可能了,还是到开源的linux里去找吧,经过千辛万苦我终于找到了一些三角函数的源代码,但打开一看,我就快吐血了----原来数学库里的函数都是用汇编写的,晕死!我还是回到原来的方法,我先用C对麦克劳伦展开进行实现,调试成功后再转为HDL,然后在仿真中看函数的输出波形,以保证函数的正确。在C里调试,转为HDL,仿真,看波形,再修改,仿真……这个过程重复了几十遍,一个个的函数在仿真中通过,离最终整体的算法实现又进了一步。此时,最大的困难就是浮点运算了。如果要我设计出一整套浮点运算库,这显然不现实,因为我只有一天半的时间。于是,我需要去询问Intel是否可以提供现成的浮点运算库。上午我的E-Mail发了出去,同时在E-Mail里面也附带了我现阶段的研究结果。下午的时候,收到了来自Intel的邮件,里面首先对我的研究结果进行了肯定,另外对于浮点运算库提供了支持。他们提供了一个现成的德国人写的浮点库,专门为FPGA设计。我喜出望外,最大的难题迎刃而解了。呵……这个库很大,我要把它加到我的程序里来,我先要把它编译成Library。也许是我的计算机太慢,足足花了一下午的时候,才把整个库编译出来。接下来一晚上的时间,先对这个库进行一个简单的功能上的测试,看看它是否计算正确。一项项地进行测试:浮点的加、减、乘、除、方根等很多部件均通过测试,在完成了对库的测试后,我又写一个测试报告,上交给了Intel,并告

知他们,那个算法现在已经可以在FPGA上运行了。到此,我才得到Intel的承诺,同意我进入其中实习了。其实那些Intel的工程师真的是已经工作了五六年的老手了,我承认在经验上确实不可同日而语。其实后来听到了些消息,这道题在Intel内部作起来也是一个较大的工程,那些工程师也在吃惊我能如此快的完成。呵,这也为我增加了不少的信心,争取进去之后能有更好的表现。------------------------------H.E.U.哈尔滨工程大学(-1953-哈军工) -永远的的母校 -为国为民侠之大者 -艰难困苦玉汝于成 4楼 楼主:CLoud 07-07-13 22:40 引用 回复 举报 我的大学V----一天又一天思考,眺望,继续......在中关村已有近三个月,记得刚开始还会在楼里迷路,而现在这里也变成了一块熟地,出出入入也都变得很自然。只是有些地方我至今仍未能独自进入,比如HWL(Hardware Lab)等,其实也可以理解,毕竟最昂贵的设备都在里面,如要进入一般要有工程师的陪伴。想想当年,在学校作电子的时候,作电路随心所欲,没有半点章法,烧得芯片不计其数。芯片就是硅,就是沙子,估计那些芯片堆起来也能成一片沙滩了。最深刻的一次是在21号楼,电路短路,结果整层都跳了闸,还好没造成什么后果,汗啊。在这里就不一样了,上次经理给我介绍一个多层的板子,说是一个CPU的原型,是研发中心的工程师花了三年的时间作出来的,造价达到10万美元。我顿时为之一惊,这板子是金的呀?!现在很少烧芯片和板子了,但还是怕有所闪失。好不容易买到的Vertex5,还是谨慎为好,所以出入硬件实验室是有权制限制的。感觉这里的安全作得很到位,电脑上绝不允许安装非法的软件,否则会被系统检测到,会不停地弹出提示要求将软件卸载,我现在就忍受着这种煎熬。系统竟然把MSN认成是非法软件,要知道在这里不让上QQ,YAHOO通等通讯软件。如果我再把MSN卸了,我真就成了与世隔绝了。不光是我在受此煎熬,其它实习生也在时常抱怨。研发中心旁边不远就是Microsoft大楼,我不知道微软的人看到Intel这样处理MSN会是什么表情。呵...但正所谓百密终有一疏,虽然上到经理,下到保洁员都有自己的ID卡,分为blue badge、green badge等。我就是个blue badge,实习生的ID都是蓝色的,而不同颜色的ID权限是不同的。但还是发生过外人乘机进入公司,盗取几台笔记本的事故,关键不在于笔记本的硬件价值,而在于存于其中的重要资料,如果被盗的是高级主管的笔记本的话,估计损失就不可估量了。曾经在入职培训的时候,主讲不断地重申“技术是Intel的生命,请大

家严格遵守保密协议”。再说说我的最爱----pantry(食品间),里面有饼干、饮料(有我最爱喝的红茶,呵)、咖啡、茶叶等等。每天早上来到公司,把包往座位上一放,就先到pantry拿一罐红茶,然后才会开始一天的工作。工作累了,乏了,也会来pantry坐一会,煮一杯咖啡,眺望一下远方。我最喜欢晚上从这里眺望,看到窗外的夜幕,看到一片的灯火辉煌,看到那城市的血液在不息流动,顿时感到心旷神怡,感觉自己站在中关村的最高处,一切尽收眼底。有的时候面对这夜幕下的繁华,也会不禁沉思。每一个人都是一个分子,每一辆车都是一个细胞,每一条街道都是一根血脉,每一座楼都是一个结点。刚进来的时候有人说,以后可以在这里工作,就在这里安家了。看着这一切,感觉都变得现实起来,以后要来充当这里的一个分子,难道只满足于一个分子?还是pantry,那天有通知说,下个星期一开始pantry里要有水果了,而且每个星期都会有不同的种类。看到这一通知,脑子里浮现出了诱人的水果的画面,就开始盼啊(别笑话我没出息,不光我一个人在盼)。星期一到了,pantry的冷饮柜的下面那层多了一个大玻璃盆儿,可是里面是空的。这里作事情一向按计划行事的,可是水果哩?!回到位子,问旁边的人,回答“水果啊,有啊,不过就几个苹果,被人抢没了!”。唉,看来是我下手晚了。不过,还好,还好,红茶是喝不完的,呵。说点正事。我在这里的题目是件头疼的事情。sin(10.45)=?这个问题小学生都能回答出来,一按计算器就出来了。但在我手里却作了整整两个星期的时间。为什么?因为要用电路来实现它。10.45是浮点,所以必须知道浮点的表示形式。要用向量的方式来表示它,而且还会涉及到规格化等很多细节。记得当初学计算机组成原理的时候浮点数这一部分我就没学明白。还好,咱还不算笨,在网上找了几篇关于IEEE-754的论文,才基本把它搞明白。浮点的表示形式很简单,难点在于以向量形式表示的浮点的运算,浮点的加、减、乘、除、开方、取余等等。其实这里面有些运算有现成的库可以借用,但是拿到这个浮点库之后,问题又来了,这个库是否真的好用呢?计算准确度如何?精度如何?能否对无穷大,非数这些特殊情况进行处理?这些指标都是未知的。所以拿出了一个星期的时间来对整套浮点库进行严格测试,由于要对每一个运算部件进行大数据量测试,只有对所有数据的计算结果都与期望值吻合的时候才能说明此运算部件可以通过测试,否则就说明它有bug,需要对其进行改善。最终的测试结果令人比较满意,这

个浮点库的各项功能测试全部通过。有了浮点库的支持,以后的工作也就容易的多了,不过仍然有不少难点和细节需要解决。从小的部件作起,逐渐搭建起功能和结构更加复杂,规模更大的电路。这里的指导老师一开始就说“到以后规模大起来以后,估计时序会变得很头疼”,现在确实是这样,错综复杂的时序有时候把脑子搞得迷迷糊糊,这个时候我就会把显示器关上,把问题记录在本子上,画个圈,然后放下笔,到pantry去休息一下,看看电视,喝点东西,要不就是到外面转转,等头脑清晰了才会回来。其实一直都是一个人在这边作,身边的同事一般也都是在忙自己的事情,很少相互过问。自从第一天过来,就是这样一天天的过着,如果没有什么讨论或聚餐等活动,一天也说不了几句话。每个月都会有新的实习生进来,他们也是通过几轮面试,最终才进来的,就像几个月前的我一样。这里的实习生有很多,不过一般主要是从清华、北大、北邮等这些学校招来的,刚开始的时候,我一说我是哈尔滨的,同事会很吃惊,因为很少有从其它学校过来的。这天,又新来了一个实习生,和对待其它实习生一样,中午经理把大家叫到一起,到楼下的餐厅吃饭,来表示对他的欢迎。吃饭的过程中我俩交谈起来:“同学,你叫....”“张XX,北邮的,你呢?”我自报家门。“你哈尔滨的呀,我家就是哈尔滨的!”大吃一惊。“哈尔滨哪个学校?”“工程的。”“我去,我本科就是在那读,校友啊!”“世界真小呀,真是!”于是我们聊得更起劲了,经理在一旁眼瞅着插不上话,呵。谈话中,得知他工程毕业后只身到了上海,在那工作了一两年的时间,由于不满足于现有的工作,于是决定考研,但是受到了家里的反对。可想而知,家里要他有个稳定的工作就知足了。不过,最终他还是考上北邮的研究生。现在要毕业了,因为中途工作的原因,年龄比一般的学生偏大,为了以后的前途着想,需要一份实习的经历。于是,他才把简历投到了这边的Intel研发中心,几经面试,同时也扛着学校的压力,进来成为了一名实习生。有时候在想,人与人的关系真的很微妙,有的时候原本素未平生的人一转眼就会相遇在一起,刹那成为朋友;有的时候熟悉的人,也会一下子变成陌路。每个人有自己的圈子,生活就是在每个人的圈子里跳入跳出,一切都在变化。结论就是:每个人都在为自己而奔命,都不易啊。呵,有点像在回答一道论证题。每天从公司回到住处,都喜欢在外面走一走,想一想这一天所作的事情,看一看身边路过的行人,听一听人们

依然在不停忙碌的声音。戴上耳塞,挑几首自己最喜欢的歌,嘴里也会不时的哼唱几句,这样慢慢晃啊晃。一天又一天,明天又是新的一天。(全文完)------------------------------H.E.U.哈尔滨工程大学(-1953-哈军工) -永远的的母校 -为国为民侠之大者 -艰难困苦玉汝于成 5楼 楼主:CLoud 07-07-13 22:42 引用 回复 举报 看到此文有半年了, 特[转载]于此。文章很长,可见作者是下了功夫认真对待的。 感兴趣的朋友可以慢慢读下, 或许会对我们周围所处生活方式、生活态度有新的体会。 ------------------------------H.E.U.哈尔滨工程大学(-1953-哈军工) -永远的的母校 -为国为民侠之大者 -艰难困苦玉汝于成 6楼 楼主:CLoud 07-07-20 08:47 引用 回复 举报 别样精彩的大学生活——访于振南来源:工学新闻网 2007-7-18 /renwuxinzhi/ShowArticle.asp?ArticleID=30844&Page=1------------------------------H.E.U.哈尔滨工程大学(-1953-哈军工) -永远的的母校 -为国为民侠之大者 -艰难困苦玉汝于成 7楼 heu混的豆豆 07-07-26 23:15 引用 回复 举报 还以为是原创。。。8楼 楼主:CLoud 07-07-27 08:26 引用 回复 举报 是转贴【在heu混的豆豆的大作中提到:】还以为是原创。。。------------------------------H.E.U.哈尔滨工程大学(-1953-哈军工) -永远的的母校 -为国为民侠之大者 -艰难困苦玉汝于成 [复制本贴地址] 将此贴email给好友 --------------------------------------------------------------------------------招聘启事 - ChinaRen首页 - 注册新用户 - 投诉建议 - 帮助信息Copyright ? 2008 Sohu.com Inc. All rights reserved.搜狐公司 版权所有

相关推荐