畢業(yè)后,回顧四年學(xué)習歷程發(fā)現,當時(shí)以為的明白,到現在都是那時(shí)的不明白;蛟S是自己的經(jīng)歷(參加比賽比較多)導致了現在的反思。 但是,回顧那個(gè)時(shí)候的課程設置,卻都是合理的,并沒(méi)有什么不足,但是又為什么會(huì )現在才意識到它們之間的聯(lián)系。最終的結果是,學(xué)了很多門(mén)課,很多門(mén)孤立的課。不知道它們之間有什么聯(lián)系。那個(gè)時(shí)候,又有著(zhù)要多做比賽,增加實(shí)踐經(jīng)驗的想法。于是很多時(shí)間,放在實(shí)驗室。 真正對于課程的深入思考就更少了,課堂上明顯的疑惑還會(huì )問(wèn)問(wèn)老師,更深入的估計是根本就沒(méi)有想到。而是想怎么能將單片機程序調出來(lái),會(huì )了幾塊單片機,會(huì )用了什么液晶,會(huì )用了什么傳感器,等等會(huì )用了什么模塊,最后等于都在調試怎么使用模塊。以及做了多少塊PCB。 可能算深入一些的就是,電路中的電容為什么這樣使用?戳诵└咚匐娐吩O計,了解了些東西。讀了高質(zhì)量程序設計,明白了些同學(xué)不明白的東西。但是沒(méi)有深入進(jìn)去。也沒(méi)有看到課程與課程之間的關(guān)系。 那個(gè)時(shí)候,雖然明白C很重要,但是具體什么個(gè)重要法,不清楚。也沒(méi)見(jiàn)到過(guò)什么優(yōu)秀的C程序,以為自己已經(jīng)見(jiàn)到的就是很不錯了。(那個(gè)時(shí)候,沒(méi)有了解Linux,沒(méi)有分析uCOS,也沒(méi)有分析過(guò)什么C的代碼)以為,單片機上也就那么多東西,再加上中斷,F在想來(lái)當時(shí),想的真是簡(jiǎn)單。應該說(shuō)是,連中斷都沒(méi)有真正明白過(guò)。只不過(guò)比周?chē)耐瑢W(xué),有些概念而已。 以至于雖然有學(xué)習C的心思,但是卻又不知道自己到底缺什么,應該怎樣去補充。 前段時(shí)間一個(gè)同學(xué),寫(xiě)了篇關(guān)于學(xué)習方法的,感覺(jué)寫(xiě)的挺好的。里邊也是感慨,在需要學(xué)習的時(shí)候,找不到燈塔,在暴風(fēng)雨中掙扎了四年,終于看到了一線(xiàn)光亮的時(shí)候,大學(xué)畢業(yè)了。我們的大學(xué)就像是一葉在黑暗中前行的孤帆,迷失在汪洋之中。 以至于把大量的時(shí)間,放在所謂的比賽上,在實(shí)驗室調試電路,調試程序。卻沒(méi)有更深入的一步思考。以至于,雖然有有大量的時(shí)間,但是卻真正沒(méi)有什么效率,F在看來(lái),如果當時(shí)安下心來(lái),好好看幾本運算放大器的書(shū),看看CSAPP,分析分析優(yōu)秀的C代碼。很多地方是不需要在實(shí)驗室花費那么多的時(shí)間的。 但是,我的那位同學(xué)是很想學(xué)些東西,研究些東西。但是在四年就在找尋中度過(guò)了。 當我們專(zhuān)業(yè)在大四畢業(yè)時(shí),拿同學(xué)的話(huà)說(shuō),我們專(zhuān)業(yè)會(huì )使用C編程的,拿兩只手的手指都能數的過(guò)來(lái)。能夠搭電路的,畫(huà)出可以的PCB的,一個(gè)手的手指都能數過(guò)來(lái)。 如果說(shuō)是少數同學(xué)對于專(zhuān)業(yè)不感冒,學(xué)生難辭其咎;但是當95%的學(xué)生對于專(zhuān)業(yè)不感冒的時(shí)候,這又怎么說(shuō)呢? 這里誠然,有很多地方是我們自己做的不夠好,沒(méi)有深入思考什么;但是反過(guò)來(lái),作為老師就沒(méi)有需要思考的嗎? Steve Senturia教授:Engineering is the purposeful use of science. 工程就是對于科學(xué)進(jìn)行有目的性的運用。 當自己大四在公司實(shí)習時(shí),下載了MIT的一個(gè)公開(kāi)課視頻電子電路學(xué)(6.002)由Anant Agarwal教授主講,這是他們EECS系學(xué)生都要學(xué)習的一門(mén)必修課。以美國對于軟件的分類(lèi),MIT這樣做應該是屬于偏硬件類(lèi)的。當時(shí)看了第一集,就發(fā)現,自己疑惑了三年的電子信息課程中的聯(lián)系,在這一節課中得到了解答。 于是下載了全套視頻,斷斷續續也只看了20集。但是確實(shí)理清了很多,以前沒(méi)有想明白的問(wèn)題,突然清楚了很多。也或許是問(wèn)題,積累的太久了,有這個(gè)導火索,一下子引爆了很多。 畢業(yè)后,看了幾本書(shū),系統程序員成長(cháng)計劃,CSAPP,Unix環(huán)境高級編程,人有人的用處,運算放大器權威指南,信號完整性與PCB設計。 聆聽(tīng)了黃敬群先生的一堂講座。分析追蹤了uCOS的部分源碼;分析了Contiki的幾篇論文,了解系統運行機制及通信機制,追蹤了部分代碼。 查看了Linux下,C程序的內存分布,內存使用,堆棧的情況;調試了指針的一些情況。 關(guān)注了電子工程專(zhuān)輯上鳳舞天,武華卿,張進(jìn)東,模擬電子技術(shù)等一些熱門(mén)博客。在這個(gè)過(guò)程中,發(fā)現大學(xué)課程中的聯(lián)系越來(lái)越清晰。更感覺(jué)自己的大學(xué)時(shí)間利用效率何其之低。理清思路,按照大學(xué)的課程設置來(lái)說(shuō)。 首先,大學(xué)的高數,和線(xiàn)性代數,電路計算與分析常用的是微分方程,線(xiàn)性代數也會(huì )用到。當然,在上高數的時(shí)候,我們的高數老師——牛大田老師,經(jīng)常跟我們說(shuō),信號分析中會(huì )用到哪些,經(jīng)常提醒我們學(xué)好微積分,學(xué)好傅里葉變換,雖然沒(méi)有提到在電路中的應用,但是估計很難找到這樣的高數老師了。 線(xiàn)性代數(同濟版)當時(shí)就是行列式變換,具體怎么應用,不知道。后來(lái)看到一本Steven J.Leon教授的線(xiàn)性代數,發(fā)現上邊關(guān)于在各個(gè)學(xué)科的應用都有表明。那個(gè)時(shí)候,都快給變吐的行列式,在這本書(shū)中就是,我們電路中應該怎么來(lái)分析電路,怎么應用在編碼中;诓划敵。我承認,當時(shí)對于線(xiàn)性代數理解感覺(jué)有些吃力,我自認為還算是努力的,但是還是不行。這點(diǎn)或許要承認,自己的抽象能力不行。當我們的大學(xué)擴招后,是不是我們的教材,不要那么抽象。本來(lái)就不好學(xué)的課程,我們的教材再恐嚇幾下。等真的學(xué)到電路(大二上),學(xué)到糾錯編碼(大三下)的時(shí)候,估計還記得當時(shí)行列式的法則的估計沒(méi)有幾個(gè)人了,考研的同學(xué)估計在這里也不清楚到底應該怎樣理解。 C語(yǔ)言,早在第一學(xué)期,帶著(zhù)電子部學(xué)長(cháng)的建議,在最后的兩個(gè)月,在每天下晚自習后,在實(shí)驗室用VC敲了兩個(gè)月例程。自認為對于C理解很多了。開(kāi)學(xué)的C二級考的都還可以,當時(shí)想再看看C深入的書(shū)籍。但是不知道該看什么了,周?chē)膶W(xué)長(cháng)也沒(méi)有更好的建議。在課堂上,教材上的東西,確實(shí)彌補了很多以前不注意的地方。雖然自己感覺(jué)挺好,但是很多同學(xué)對老師反應很強烈。而自己也錯失了,大好的提升C語(yǔ)言的機會(huì )。不知道,該找什么書(shū)看。其實(shí)這個(gè)時(shí)候,如果看看《系統程序員成長(cháng)計劃》,《C專(zhuān)家編程》,《CSAPP》,《C陷阱與缺陷》,看看黃靜群先生的《深入淺出Hello world》會(huì )很好的。 理解了C語(yǔ)言的深入的東西,大學(xué)以后幾年就沒(méi)有那么多煩惱了。單片機沒(méi)有那么神秘了,也不會(huì )說(shuō)uCOS的郵箱機制只能傳送一個(gè)變量而沒(méi)有什么用了。使用黃敬群先生說(shuō)的方法,分析一個(gè)操作系統,就會(huì )很快明白一個(gè)操作系統的大體脈絡(luò )。也會(huì )明白,C程序在單片機和操作系統下運行的異同。不會(huì )糾結裸機編程,與系統編程了。 如果深入看了CSAPP,可能發(fā)現數字電路,FPGA的概念這個(gè)時(shí)候就都有了。 電路原理,數字電路,模擬電路,在MIT6.002中這三個(gè)都屬于電路電子學(xué),一起講授。不會(huì )發(fā)生,學(xué)了電路原理,不會(huì )分析模擬電路;電路中最重要的零極點(diǎn),在學(xué)模擬的時(shí)候沒(méi)有一點(diǎn)印象。有印象的是信號與系統中的零極點(diǎn),但是此時(shí)模擬和信號與系統,聯(lián)系上估計很難,更想不到在模擬中會(huì )有。模擬中的反饋,和信號與系統的反饋,雖然字一樣,但是也還想不到它們有什么聯(lián)系。當然,這個(gè)時(shí)候分析的數字電路是低頻的,模擬電路是理想的,以至于以后學(xué)習電磁場(chǎng)與電磁波時(shí),根本就想不到,其實(shí)當數字電路頻率高了,模擬電路頻率高了,就是用他們來(lái)分析的。以至于學(xué)校圖書(shū)管里,信號完整新分析是在通信分類(lèi)中,而不是在電路分類(lèi)中。不知道零極點(diǎn),不知道導納圓圖,不知道阻抗匹配,不知道信號完整性,不知道傳輸線(xiàn)。印象最深的是,在6.002中,Anant Agarwal教授隨堂做的一些實(shí)驗,爆炸的電容,電鋸,吹風(fēng)機這些實(shí)際的干擾源對于數字和模擬電路的影響,反饋在電路中的最用地位。雖然,在學(xué)習這些的時(shí)候,實(shí)驗自己認為做的還算是認真的,都是自己搭的電路,分析的實(shí)驗結果。也分析,實(shí)驗沒(méi)有一次成功的原因。也在數字實(shí)驗箱上插過(guò)幾百根線(xiàn)的仿真驗證。但是,除了這些,真的不知道為什么反饋使電路更穩定,什么樣的干擾對于電路會(huì )產(chǎn)生什么樣的影響。 《運算放大器權威指南》,《信號完整性分析》,《晶體管電路設計》,《高速電路設計與實(shí)踐》應該是基本不錯的書(shū)。 微機原理,單片機,EDA,感覺(jué)這三個(gè),前兩個(gè)在看CSAPP的時(shí)候,能解決一大部分了。剩下的就是硬件的連接,這些屬于數字電路的范疇。EDA應該也屬于數字電路里邊的。 通信電子電路,模擬電路的升級版,外加調制,解調。 通信原理,應該說(shuō)是自己大學(xué)沒(méi)學(xué)好的一門(mén)課。當時(shí)準備Freescale比賽,沒(méi)有好好學(xué),F在想來(lái),是很重要的一門(mén)課。信息的概念,信道的概念,傳輸速率,調制,解調,糾錯編碼。應該是對大學(xué)期間,學(xué)習的這些的一個(gè)理論上的總結,F在只能有一些印象,可能有些內容連印象都沒(méi)有了。 數據通信與網(wǎng)絡(luò ),如果說(shuō)它沒(méi)有一點(diǎn)用,看看我們現在用的是什么,就知道有沒(méi)有用了;镜幕ヂ(lián)網(wǎng),以后的物聯(lián)網(wǎng),雖然,它的確沒(méi)講多少,至少給我們開(kāi)了扇門(mén)。要比我們,以后繼續在黑夜中行走要好得多。 當然這里所列的,對于信號的處理涉及的并不多,因為自己主要偏向于應用。對于信號處理,著(zhù)力就不多。隨機信號分析,數字信號處理,圖像信號處理,語(yǔ)音信號處理,這些了解不多。 一個(gè)糾結了幾年的問(wèn)題,反饋問(wèn)題,在參加Freescale比賽的時(shí)候,使用到PID控制,隱約感到這里的反饋,與電路中的反饋有什么聯(lián)系。電路中有正反饋,負反饋。和信號與系統中的反饋有些聯(lián)系,也與控制原理中的反饋有聯(lián)系。但是只是猜測。后來(lái)不知道在哪看到維納的《控制論》評論說(shuō)是,控制方面的開(kāi)山作。雖然崇拜,但是買(mǎi)不到,據說(shuō)也不好讀,里邊很多公式。于是乎找到了維納的另一本書(shū)《人有人的用處》,據說(shuō)是《控制論》的科普版。饒是如此,看的時(shí)候依然有些困難。因為翻譯的比較早,總感覺(jué)理解起來(lái),得琢磨一會(huì )。但是,里邊確實(shí)將反饋提到系統里邊來(lái)說(shuō)明。只要是一個(gè)系統,就存在反饋。而且負反饋導致系統穩定。于是乎,就想起來(lái)了,當年的信號與系統,電路系統,控制系統,應該說(shuō)他們的反饋機制都是一樣的。后來(lái)在《運算放大器權威指南》中看到,里邊將電路的反饋和控制原理的反饋比較分析,發(fā)現形式一模一樣,只是由原來(lái)的控制原理的術(shù)語(yǔ),換成了電壓電流。至此糾結了幾年的問(wèn)題,徹底解決了。 在鳳舞天的一個(gè)博客中看到說(shuō),國內的環(huán)境注定了,我們不能把東西都掌握了再去做東西,那樣黃花菜都涼了。但是如果沒(méi)有掌握理論,做出來(lái)的東西也就只能在國內賣(mài)。這個(gè)值得思考一下。 |