大三已過兩周,現在我正在一邊看大一新生軍訓,一邊享受中秋假期。這兩周沒課,我們只有一個任務:做電子課設。 課設的內容上半年暑假前就已經發下,考慮再三之后我決定用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做之前是跟房老師打過招呼的,所以這點也沒出啥大問題。
然后模電考試是竟然是我指導老師和房老師監考,差點沒崩潰了。
明天開始寫報告,加油拼命吧,騷年!!!
|