計算機硬件如PC、手機、攝像機、路由器、交換機、服務器等產品的基礎就是硬件單板,硬件工程師就是設計合格的單板。之前做EMC的時候,覺得硬件工程師無非就是參考設計那來一抄,原理圖連連線就好,后來發現不是。
我是一個還沒有踏上社會的學生,對硬件有著無限的熱情與愛好,對未來也有著無限的憧憬與向往,沒有豐富的項目經驗和社會閱歷,所以凡想在此文中獲取高深的人生哲理與職業箴言,那我懇請您趕緊不要看下去,如若不然,我恐怕受到您的譏笑。
僅以此文獻給那些剛剛踏上硬件之路和還在徘徊的同學們,我簡要的記錄了我的學習經歷和其間自己所獲的一些心得,以避免初學者走彎路或者是少走彎路。
我總是想用最簡短的話語來表達我的思想,說出我最想對初學者說的話,但是往往力不能及。
也深知大家時間的寶貴,不愿把時間浪費在毫無意義的事情上,所以我把我最想說的話用提綱的形式列在文章的前頭了,沒有時間的話,各位看官只需看看前頭就可以了。首先,介紹下一個硬件產品的研發流程,如下圖所示:
硬件工程師在研發團隊中重要的一員,硬件產品的研發團隊大致組成如下圖所示:
優秀硬件工程師需要什么:
1. 對硬件無限的熱情2. 數字電路、模擬電路、protel 等(高頻等其他的知識我還沒有用過)3. C 語言4. 單片機(匯編語言)5. FPGA(包括verilog/vhdl、sopc)6. ARM(包括嵌入式操作系統,建議先學UCOS,適合初學者)7. DSP
1.學習單片機的話,仿真器是必不可少的,有沒有編程器倒是影響不大,建議自己買一塊即插即用的萬能板,自己搭建系統來試驗。還有有一臺示波器的話那是再理想不過了,那會幫助我們分析解決問題,特別是在做串口實驗、中斷、I2CEEPROM 讀寫的時候。
2.學習FPGA,那么就不能像學習單片機一樣找來一片芯片就可以動手了。像51 類單片機的引腳不是很多,但是FPGA 就不一樣了,往往有幾十個甚至一百多的引腳,所以這個時候我們就必須在市場上買一個開發板了。
我用的是altera 公司的EP1C20cyclone 系列的開發板,是我們辦公室的人以前買的,現在正好我用。
據說是5000 元,還是大學計劃時候買的。有條件用好的當然好,但是對于我們一般初學者用的話,只要帶有常用功能的開發板就可以了,市場上1000 元左右的還是有的。3.ARM 學習的話,當然也離不開開發板的購買,上次給我二導提建議給我買一個,他很爽快的答應了,讓我挑選一塊,我選了周立功的smartarm2200,1980 元RMB,貨現在還沒有來。
學習arm 的話,嵌入式操作系統是少不了的。操作系統有很多,用的最多的是linux ,由之發展而來的有uclinux、armlinux 等;其次是ucos。
本人建議先學習ucos,它代碼量少,容易學習。要是有altera 的nios 開發板的話,也可以學習ucos,altera 公司的nios ide 支持好幾種RTOS,其中就包括ucos,直接用就ok 了。4.DSP屬于比較高的層次,對人的要求比較高。開發板價格應該也不菲,我現在還沒有用過。
大部分的我們是沒有這份閑錢的,同學們可以找幾個志同道合的同學一塊買,還可以一塊討論。
要是學校實驗室有的話就在實驗室搞,要是導師有就找導師要,總之不要放過任何可能的機會,同志們要深知我們的命運把握在我們自己手中,既然選擇了硬件這條路,就要認認真真地走下去,不光要走下去,還要想方設法走的很好。熱情不是唯一的原因,還有另外一個原因就是試驗室給我提供了很好的學習環境。學習單片機的時候,試驗室有現成的winbond 51 單片機,有偉福仿真器,有advanced labtool 48uxp 萬能編程器,有一臺十二萬的示波器,自己買個萬能板,找本書就在上邊進行試驗了。
從簡單的led 閃爍、數碼管顯示、pwm 到中斷、串口通信(單片機與單片機通信,單片機與pc 機通信)、I2Ceeprom 讀寫、A/D轉換、溫度的測量等等,給我成就感的是每一個試驗經過資料的查找、程序的編寫以及調試、再到后來問題的解決,那份成就感與喜悅之心只有有過這種經歷的人才能夠體會。
正是有這份熱情和愛好,常常在實驗室呆上十二三個小時,通常是晚飯在食堂吃了后直接到驗室,晚上九點半回寢室(辦公樓10 點關門)。雖說那時候沒有做過什么大項目,但是這每一個小小的實驗也是人生知識的積累,有了這些知識的積累,我想也為以后作更大的項目打下了基礎。
剛進實驗室的時候,我的二導就給了我一塊開發版,是altera 公司的nios ep1c20 cyclone 系列開發板,當時是以大學計劃買的,5000RMB。于是就開始了我的fpga 學習之路。
以前學習過verilog,當時只是停留在純粹的理論階段,編幾個小小的程序,用quartus-ii 自帶的仿真軟件進行一下仿真就ok 了。
用仿真軟件進行仿真,往往能夠得出你所想要的結果,但是一旦下載到芯片里邊運行的話問題就會接踵而來。和單片機機學習一樣,萬事開有難。
我做的第一個實驗也是點亮led。自己編寫程序(幾行而已),編譯,引腳分配,仿真,然后就用jtag 下載線連接開發版板和pc 機,將sof 文件下載到芯片。
現在想起來這是多么簡單的幾個步驟,但是對于當時的我來說,是花費了很多的時間和精力來查找資料和埋頭做實驗的。
特別是引腳的分配,對著文檔只說需要這么做,然而為什么要這么做呢?當時沒有過多的想法,只想讓我看到實驗的結果,有了結果我就有了無限的成就感和對做實驗的熱情。
所以當看到經過我的努力,在我的第一個fpga 實驗里led 按照我的意圖來動作的時候,那種喜悅之情與當初學習單片機時候實現led 閃爍的情形是多么的相似。
這也是我做實驗的一個慣例和一個經驗,那就是邊做實驗邊看書,在實驗中發現問題,遇到不懂的問題或者原理在查找相關的文檔,我習慣動手,要是讓我坐在實驗室看上哪怕是1 天的純理論書籍,我的腦袋也會爆炸的,赫赫,因為沒有這么看過書,所以腦袋也一直沒有爆炸。
以及后來學習ucos 嵌入式操作系統我也采用的這個方法,我把它叫做"階梯成就感"。
抱著這種熱情,自己后來一點一點地深入的學習fpga,一些常規邏輯電路的設計,包括邏輯門電路、數據選擇器、編譯碼器、加減乘除運算器、移位器,到后來的稍微復雜的電路設計,包括FIFO、數字跑表、頻率計、狀態機、交通等的控制、卡式電話計費系統以及UART 等。開始學習sopc。從最小系統硬件平臺的搭建,到簡單的led 閃爍程序的編寫,到sof 文件在芯片上跑起來,看著led 的亮與滅,心中一直充滿著無限的熱清。
每一次接觸新知識都有一種發自內心的激動,每一次接觸的新東西我都是從最簡單的led 閃爍開始,從單片機到fpga 到sopc 再到ucos,只有每天的一個小小的進步才能讓我擁有對工作的熱情,只有這每天小小的看得見的"階梯成就感",才能激發自己對更多知識的追求。
最近一段時間在學習ucos 嵌入式操作系統,主要是運用在FPGA 里面。nios 已經為我們移植好了,不需要修改任何文件。在nios 用戶界面里進行一些相應的設置,就可以用它了。許多模版為我們提供的模板里邊有幾個很好的例子,任務管理、信號量、郵箱傳遞、事件標志、時間管理等都為我們提供了很好的模板。
我們需要作的是認真的閱讀它,研究它,必要的話對模板進行一些改寫來完成自己的功能,這是模仿的更高的一個境地了,把他的一些東西進行吸收轉化成為自己的東西,我想這是一個硬件愛好者和初學者非常樂于做的事情。在進行fpga 學習的時候,我遇到過事情停滯不前,沒有進展,心情沮喪的時候。那個時候對底層硬件一無所知,連對基本的原理圖也看不懂,更別說程序在開發板上是怎么運行的了。
再到后來進行nios 開發的時候,這種沮喪感與日俱增,每天一點進步也沒有,那是一個很漫長的日子,現在想起來,依然慶幸自己沒有絕望,沒有對自己熱愛的硬件失去信心。后來事件出現了轉機。
有一次我和我辦公室的一個工程師聊天,談到了我的空惑,他建議我先學習單片機,自己搭建硬件平臺從最小系統做起。這個工程師熱心助人,學習方面的問題他總是很耐心的為我解答,讓我受益匪淺。
我想說的是,遇到問題的時候,當我們感覺事情沒法進展下去的時候,我們不妨換一種方式,多與周邊的人聊聊天。在我的環境里,我的導師是一個擁有近30 年硬件開發經驗的資深研究員,才開始的時候我什么都不懂,但是我總喜歡跑到我導師的辦公室和他瞎聊。人生總是有很多坎坷,我們的學習也是的。
在這個時候我們就要看看任正非寫給華為員工的一封信《要快樂的度過充滿困難的一生》,在那里我們可以找到好好活下去的理由;當看中了某件事情的時候,我們就需要鼓足勇氣,滿腔熱情地去迎接它,遇到困難的時候多和別人交流,或者是去網上看看李嘉誠的寫給青年的《are you ready》,在那里我們可以學到謙虛、勇氣、智慧、毅力。
個人覺得硬件工程師需要知識儲備比較多,電子信息領域的技術和知識本來就很多,人需要不斷的學習。我大概列舉一些,是自己工作以來學習的方向,當然工作中會不到遇到各種更新更深入的問題需要學習。
最后幾點
硬件工程師最大的優勢就是在研發工作中可以涉及到各種各樣的問題、學習各個領域的知識,這是成長的基石,不停地總結,可以從整個產品的角度思考問題。
有人說什么都懂得一點的人注定只是普通的硬件工程師,但我們必須都要懂一點,這是硬件工程師的基礎。但我們還需要在自己的領域成為專家,因此需要在技術上對一個行業非常的了解。
個人覺得有兩個領域值得去深入研究,以后是物聯網的時代,網絡和無線通信的應用會越來越多。
1.網絡:也是交換機和路由器等應用與組網。現在互聯網基于以太網,802.3標準規定了MAC和PHY規范。上層協議如TCP/IP、UDP、ARP、環網等等,總之網絡的水很深,值得一探。
2.無線通信:如移動通訊、WIFI、sub1GHz等等應用會越來越多,之前國家發布的什么旅游規劃,有一條就是景區要實現免費WIFI覆蓋。無線通信也基本是802.x協議族。基帶和RF都可以深入學習。
我現在也很迷茫,不知道往那條路上走,但有一條是不變的那就是學習,硬件工程師需要保持好奇心,不斷學習新的知識。不知道燒友們有什么建議,歡迎在評論區告訴小編。
-
單片機
+關注
關注
6037文章
44566瀏覽量
636028 -
硬件
+關注
關注
11文章
3341瀏覽量
66269 -
數字電路
+關注
關注
193文章
1606瀏覽量
80668
原文標題:學會這7大技能,你就可以在工程師圈混了!
文章出處:【微信號:elecfans,微信公眾號:電子發燒友網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論