大三已过两周,现在我正在一边看大一新生军训,一边享受中秋假期。这两周没课,我们只有一个任务:做电子课设。 课设的内容上半年暑假前就已经发下,考虑再三之后我决定用FPGA作,于是就有了暑假留校这回事。苦逼的自学了近一个月之后,最后还是回家猫了一个星期,好吧好吧,这不是重点。
昨天下午答辩完之后,课设这回事就算完成了,下周交上报告收个尾就欧。传闻这个报告对格式和内容的要求都挺严的,一个不小心可能就要挂掉。说起挂科,昨天考去年因为出去比赛缓考的模电
额~~其实这也不是重点。
昨天发了条微博,说:这是个终究不会让人活在理想中,却又不让人看清现实的世界。我自己都觉的这句话挺文艺挺装逼的(啥?你觉得不文艺不装逼?好吧,其实你的意见不重要),事实上,我这是在很诚实的描述我课设最后的苦逼状态。
我的课设题目是这样的:
如果有单片机大神看见这个任务,八成会说:不就流水灯吗,简单啊!
对于这样的人,我除了打心眼里表示由衷的敬佩之情外,只想说以下简单的几句话:你妹啊,这叫电子课设,不是单片机实训啊!就是不允许用单片机啊有木有!要是单片机实训让我抽到这么简单的题目,晚上做梦都会笑醒啊!我用FPGA做,答辩时都差点被判违规啊~啊~~~~啊,又跑题了。
总之,任务就是这样的,我的应对措施简述如下:
先用同相比例放大电路吧毫伏级信号放大到伏级,然后用电压比较器把信号整形成方波之后送进FPGA。FPGA部分分成三个模块,分别是测频模块、分频模块和LED控制模块。分频模块把最小系统板上提供的40MHz时钟降到100Hz和5Hz,分别送给测频模块当做基准信号和LED控制模块用作时钟信号。测频模块使用等精度法测频,测得输入信号的频率后按照不同的频段发出一个对应的两位二进制信号给LED控制模块(即1~5Hz时发00,6~10Hz时发01,11~15Hz时发10,16~20Hz时发11),LED控制模块根据接收到的两位二进制信号选择用哪种方式控制四位LED灯流动。LED模块内,使用2-4译码器和一个可逆的四进制计数器控制LED循环流动,然后使用一个三位状态机、一个5进制加法计数器和一个减法计数器控制LED灯递增亮和递减灭。
分频模块和LED控制模块暑假时一边学一边也就写完也调试完,没啥问题,问题出在测频模块上。
我最一开始想到的方案其实是滤波,搭了两三天仿真电路之后发现,频率太小,别说实物了,仿真都放不出来。想到测频这回事的时候已经是上星期,也就是是课设第一个星期周三了,好死不死的那天晚上睡觉忘关窗户,第二天就着凉感冒了,于是连着两天基本啥都干不成,直到周五晚上才开始动手查基于FPGA Verilog语言的测频模块怎么写。这一查不要紧,直接吓的我头皮发麻啊,很多人直接把这个当做一个单独的课题来研究啊有木有。硬着头皮接着查了一晚上,大概有三种方法可以实现测频:直接测频法、周期测频法和等精度测频法。第二天一大早就开始写测频模块的代码,大周末的,满学校都是愉快的玩耍的同学们,就我们通信和电子这俩专业的苦逼们埋头实验室搭电路啊!
周末两天,把三种测频方法的代码都写了一遍,头两种测出来的频率漫天飞舞,看的人直眼花缭乱,恶心想吐。等精度法是最可行的,但是,呆毛,我自己写的代码因为种种原因,不~能~用!!!!
这星期一,也就是课设第二周周一晚上,功夫不负有心人,终于在网上找到一段可用的代码,按照我的需要改了一下输入输出,加了几行我需要的代码,仿真之后,结果堪称完美。测出来的频率误差只有不超过1Hz,两位二进制信号输出正常。于是就安心的关了电脑回宿舍睡觉,天真的我以为这样就可以结束了,谁知道,噩梦才刚刚开始。
周二上午将近十点才到实验室,因为自以为只要把昨晚写的代码跟其他模块对接好久万事大吉,也因为感冒好没好完全。
到午饭时,我的脑袋整个是懵的。测频模块在进行必要改动之后和暑假写的其它代码放在一起,编译没错,只有三个不是很重要的警告,但是,仿真就是死活出不来结果。我去问我的指导老师是不是仿真设置出了问题,结果老师她没学过FPGA,她给我找的其他老师也没解决什么实际问题,敷衍居多。时间很快就到了周四下午,出差两天多的房老师归来,我趁她有空时抓紧问,解决了一些问题,但是关键问题依旧。
周四晚上,我们小组的组长也是我们班班长和我的课设指导老师确定我要去答辩,但是我还没整体的事物测试啊,而且周五下午就要模电考试,还有一篇毛概暑期实践论文没写,死的心都有了。
昨天,课设最后一天。上午早起到实验室做最后的努力,一直到上午十点多,还是失败。离答辩还有两个多小时,里考试还有不到六个小时,不得不放弃,开始做答辩的PPT和复习模电。我打赌这是我做过的最烂的PPT。
答辩时间因为参加答辩的人太多,一直到下午两点多才轮到我们班,还好按学号我是第三个上,此前做了最最后的努力,仍旧失败。还好给我答辩的有房老师,虽然她不是我指导老师,但是我的进度和问题她是知道的,并没有问特别难为我的问题。我答辩完之后另外两个老师说了些,大概意思是其实并不鼓励现在就用FPGA作,太早了些,对信号的传输理解上会有问题。不过我决定用FPGA做之前是跟房老师打过招呼的,所以这点也没出啥大问题。
然后模电考试是竟然是我指导老师和房老师监考,差点没崩溃了。
明天开始写报告,加油拼命吧,骚年!!!
|