ARM嵌入式和單片機學習有著密不可分的關系,在學習單片機的過程中積累必要的學習經驗和知識是非常有必要的,如何在這一過程中逐漸成為高級嵌入式工程師呢?本文將為大家介紹如何在學習過程中,積累成為高級嵌入式系統硬件工程師要具備的技能。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發(fā)展,出現了模擬電路數字化,比如手機的Modem射頻模塊,都采用成熟的套片,而當年國際上只有兩家公司有此技術,自我感覺模擬功能不太強的人,不太適合搞這個,如果真能搞定到手機的射頻模塊,只要達到一般程度可能月薪都在15K以上。
另一類就是數字部分了,在大方向上又可分為51/ARM的單片機類,DSP類,FPGA類,國內FPGA的工程師大多是在IC設計公司從事IP核的前端驗證,這部分不搞到門級,前途不太明朗,即使做個IC前端驗證工程師,也要搞上幾年才能勝任。DSP硬件接口比較定型,如果不向驅動或是算法上靠攏,前途也不會太大。而ARM單片機類的內容就較多,業(yè)界產品占用量大,應用人群廣,因此就業(yè)空間極大,而硬件設計最體現水平和水準的就是接口設計這塊,這是各個高級硬件工程師相互PK,判定水平高低的依據。
而接口設計這塊最關鍵的是看時序,而不是簡單的連接,比如PXA255處理器I2C要求速度在100Kbps,如果把一個I2C外圍器件,最高還達不到100kbps的與它相接,必然要導致設計的失敗。這樣的情況有很多,比如51單片機可以在總線接LCD,但為什么這種LCD就不能掛在ARM的總線上,還有ARM7總線上可以外接個Winband的SD卡控制器,但為什么這種控制器接不到ARM9或是Xscale處理器上,這些都是問題。
因此接口并不是一種簡單的連接,要看時序,要看參數。一個優(yōu)秀的硬件工程師應該能夠在沒有參考方案的前提下設計出一個在成本和性能上更加優(yōu)秀的產品,靠現有的方案,也要進行適當的可行性裁剪,但不是胡亂的來,我遇到一個工程師把方案中的5V變1.8V的DC芯片,直接更換成LDO,有時就會把CPU燒上幾個。前幾天還有人希望我?guī)兔Π阉麄円郧盎赑XA255平臺的手持GPS設備做下程序優(yōu)化,我問了一下情況,地圖是存在SD卡中的,而SD卡與PXA255的MMC控制器間采用的SPI接口,因此導致地圖讀取速度十分的慢,這種情況是設計中嚴重的缺陷,而不是程序的問題,因此我提了幾條建議,讓他們更新試下再說。
因此想成為一個優(yōu)秀的工程師,需要對系統整體性的把握和對已有電路的理解,換句話說,一套電路圖終究能看明白多少,看不明白80%以上的話,說明離優(yōu)秀的工程師還差得遠哪。其次是電路的調試能力和審圖能力,但最最基本的能力還是原理圖設計PCB繪制,邏輯設計這塊。這是指的硬件設計工程師,從上面的硬件設計工程師中還可以分出ECAD工程師,就是專業(yè)的畫PCB板的工程師,和EMC設計工程師,幫人家解決EMC的問題。硬件工程師再往上就是板級測試工程師,就是C語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發(fā)人員。
總之,硬件的內容很多很雜,硬件那方面練成了都會成為一個高手,我時常會給人家做下方案評估,很多高級硬件工程師設計的東西,經常被我一句話否定,因此工程師做到我這種地步,也會得罪些人,但硬件的確會有很多不為人知的東西,讓很多高級硬件工程師也摸不到頭腦。
那么高級硬件件工程師技術技能都要具備那些東西哪,首先要掌握EDA設計的輔助工具類如ProtelORCADPowperPCBMaplux2ISE、VDHL語言,要能用到這些工具畫圖畫板做邏輯設計,再有就是接口設計審圖能力,再者就是調試能力,如果能走到總體方案設計這塊,那就基本上快成為資深工程師了。0次