日韩无码一区,老翁h狠狠躁死你h乔舒,人妻精品久久无码区洗澡,被伦流澡到高潮苏软软

我的訂單購物車(0)會員中心 聯(lián)系客服 幫助中心供應(yīng)商合作 嘉立創(chuàng)產(chǎn)業(yè)服務(wù)群
領(lǐng)券中心備貨找料立推專區(qū)爆款推薦PLUS會員BOM配單品牌庫PCB/SMT工業(yè)品面板定制

資深硬件工程師談嵌入式系統(tǒng)的分層和必備技能

2017-08-07 13:49:03閱讀量:15880來源:立創(chuàng)商城

在你看來,這是冷冰冰的元器件。在他們眼里,這是魔術(shù)師手里的帽子,里面藏著電子科技的神秘。第二屆立創(chuàng)商城電子制作節(jié)電子“魔術(shù)師”們的精彩作品,等你來圍觀:www.qdjpair.com/go/170508zzj

 

從事電子工程相關(guān)專業(yè)的人可能知道,嵌入式系統(tǒng)技術(shù)發(fā)展的空間無比廣大,但嵌入式開發(fā)的復(fù)雜性也是剛?cè)腴T的工程師以及在校學(xué)生所難以完全理解的。如何成為一名嵌入式系統(tǒng)硬件工程師?應(yīng)該從哪些方面深入學(xué)習(xí)和研究?本文將為大家分享一位資深硬件工程師的成長經(jīng)歷。

 

嵌入式系統(tǒng)

 

一、嵌入式系統(tǒng)的概念

主要從三個方面上來理解。

1、從硬件上,將基于CPU的處圍器件,整合到CPU芯片內(nèi)部,比如早期基于X86體系結(jié)構(gòu)下的計算機,CPU只是有運算器和累加器的功能,一切芯片要造外部橋路來擴展實現(xiàn),象串口之類的都是靠外部的16C550/2的串口控制器芯片實現(xiàn),而目前的這種串口控制器芯片早已集成到CPU內(nèi)部,還有PC機有顯卡,而多數(shù)嵌入式處理器都帶有LCD控制器,但其種意義上就相當(dāng)于顯卡。

2、從軟件上前,就是在定制操作系統(tǒng)內(nèi)核里將應(yīng)用一并選入,編譯后將內(nèi)核下載到ROM中。而在定制操作系統(tǒng)內(nèi)核時所選擇的應(yīng)用程序組件就是完成了軟件的“嵌入”,比如WinCE在內(nèi)核定制時,會有相應(yīng)選擇,其中就是Wordpad,PDF,MediaPlay等等選擇,如果我們選擇了,在CE啟動后,就可以在界面中找到這些東西,如果是以前PC上將的windows操作系統(tǒng),多半的東西都需要我們得新再裝。

3、把軟件內(nèi)核或應(yīng)用文件系統(tǒng)等東西燒到嵌入式系統(tǒng)硬件平臺中的ROM中就實現(xiàn)了一個真正的“嵌入”。

二、嵌入式系統(tǒng)的分層與專業(yè)的分類

硬件層,是整個嵌入式系統(tǒng)的根本,如果現(xiàn)在單片機及接口這塊很熟悉,并且能用C和匯編語言來編程的話,從嵌入式系統(tǒng)的硬件層走起來相對容易,硬件層也是驅(qū)動層的基礎(chǔ),一個優(yōu)秀的驅(qū)動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設(shè)計的,同時還要對操作系統(tǒng)內(nèi)核及其調(diào)度性相當(dāng)?shù)氖煜さ摹5布脚_是基礎(chǔ),增值還要靠軟件。硬件層比較適合于,電子、通信、自動化、機電一體、信息工程類專業(yè)的人來搞,需要掌握的專業(yè)基礎(chǔ)知識有,單片機原理及接口技術(shù)、微機原理及接口技術(shù)、C語言。

驅(qū)動層,這部分比較難,驅(qū)動工程師不僅要能看懂電路圖還要能對操作系統(tǒng)內(nèi)核十分的精通,以便其所寫的驅(qū)動程序在系統(tǒng)調(diào)用時,不會獨占操作系統(tǒng)時間片,而導(dǎo)至其它任務(wù)不能動行,不懂操作系統(tǒng)內(nèi)核架構(gòu)和實時調(diào)度性,沒有良好的驅(qū)動編寫風(fēng)格,按大多數(shù)書上所說添加的驅(qū)動的方式,很多人都能做到,但可能連個初級的驅(qū)動工程師的水平都達(dá)不到,這樣所寫的驅(qū)動在應(yīng)用調(diào)用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行后來打開的程序。想做個好的驅(qū)動人員沒有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是最高的。

操作系統(tǒng)層,對于操作系統(tǒng)層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統(tǒng),或者寫出缺胳膊少腿的操作系統(tǒng)來,這部分工作大都由驅(qū)動工程師來完成。操作系統(tǒng)是負(fù)責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤和文件的管理,而嵌入式系統(tǒng)的實時性十分重要。據(jù)說,XP操作系統(tǒng)是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統(tǒng)估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。

應(yīng)用層,相對來講較為容易的,如果會在windows下如何進行編程接口函數(shù)調(diào)用,到操作系統(tǒng)下只是編譯和開發(fā)環(huán)境有相應(yīng)的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統(tǒng)中涉及算法的由專業(yè)算法的人來處理的,不必歸結(jié)到嵌入式系統(tǒng)范疇內(nèi)。但如果涉及嵌入式系統(tǒng)下面嵌入式數(shù)據(jù)庫、基于嵌入式系統(tǒng)的網(wǎng)絡(luò)編程和基于某此應(yīng)用層面的協(xié)議應(yīng)用開發(fā)(比如基于SIP、H.323、Astrisk)方面又較為復(fù)雜,并且有難度了.

三、成為高級嵌入式系統(tǒng)硬件工程師要具備的技能

對于硬件來講有幾個方向,就單純信號來分為數(shù)字和模擬,模擬比較難搞,一般需要很長的經(jīng)驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術(shù)的發(fā)展,出現(xiàn)了模擬電路數(shù)字化,比如手機的Modem射頻模塊,都采用成熟的套片,而當(dāng)年國際上只有兩家公司有此技術(shù),自我感覺模擬功能不太強的人,不太適合搞這個,如果真能搞定到手機的射頻模塊,只要達(dá)到一般程度可能月薪都在15K以上。

另一類就是數(shù)字部分了,在大方向上又可分為51/ARM的單片機類,DSP類,F(xiàn)PGA類,國內(nèi)FPGA的工程師大多是在IC設(shè)計公司從事IP核的前端驗證,這部分不搞到門級,前途不太明朗,即使做個IC前端驗證工程師,也要搞上幾年才能勝任。DSP硬件接口比較定型,如果不向驅(qū)動或是算法上靠攏,前途也不會太大。

而ARM單片機類的內(nèi)容就較多,業(yè)界產(chǎn)品占用量大,應(yīng)用人群廣,因此就業(yè)空間極大,而硬件設(shè)計最體現(xiàn)水平和水準(zhǔn)的就是接口設(shè)計這塊,這是各個高級硬件工程師相互PK,判定水平高低的依據(jù)。而接口設(shè)計這塊最關(guān)鍵的是看時序,而不是簡單的連接,比如PXA255處理器I2C要求速度在100Kbps,如果把一個I2C外圍器件,最高還達(dá)不到100kbps的與它相接,必然要導(dǎo)致設(shè)計的失敗。

這樣的情況有很多,比如51單片機可以在總線接LCD,但為什么這種LCD就不能掛在ARM的總線上,還有ARM7總線上可以外接個Winband的SD卡控制器,但為什么這種控制器接不到ARM9或是Xscale處理器上,這些都是問題。因此接口并不是一種簡單的連接,要看時序,要看參數(shù)。

一個優(yōu)秀的硬件工程師應(yīng)該能夠在沒有參考方案的前提下設(shè)計出一個在成本和性能上更加優(yōu)秀的產(chǎn)品,靠現(xiàn)有的方案,也要進行適當(dāng)?shù)目尚行圆眉簦皇呛鷣y的來,我遇到一個工程師把方案中的5V變1.8V的DC芯片,直接更換成LDO,有時就會把CPU燒上幾個。前幾天還有人希望我?guī)兔Π阉麄円郧盎赑XA255平臺的手持GPS設(shè)備做下程序優(yōu)化,我問了一下情況,地圖是存在SD卡中的,而SD卡與PXA255的MMC控制器間采用的SPI接口,因此導(dǎo)致地圖讀取速度十分的慢,這種情況是設(shè)計中嚴(yán)重的缺陷,而不是程序的問題,因此我提了幾條建議,讓他們更新試下再說。

因此想成為一個優(yōu)秀的工程師,需要對系統(tǒng)整體性的把握和對已有電路的理解,換句話說,給你一套電路圖你終究能看明白多少,看不明白80%以上的話,說明你離優(yōu)秀的工程師還差得遠(yuǎn)哪。其次是電路的調(diào)試能力和審圖能力,但最最基本的能力還是原理圖設(shè)計PCB繪制,邏輯設(shè)計這塊。這是指的硬件設(shè)計工程師,從上面的硬件設(shè)計工程師中還可以分出ECAD工程師,就是專業(yè)的畫PCB板的工程師,和EMC設(shè)計工程師,幫人家解決EMC的問題。

四、高級硬件工程師需要具備的其他能力

硬件工程師再往上就是板級測試工程師,就是C語功底很好的硬件工程師,在電路板調(diào)試過程中能通過自已編寫的測試程序?qū)τ布δ苓M行驗證。然后再交給基于操作系統(tǒng)級的驅(qū)動開發(fā)人員。

總之,硬件的內(nèi)容很多很雜,硬件那方面練成了都會成為一個高手,我時常會給人家做下方案評估,很多高級硬件工程師設(shè)計的東西,經(jīng)常被我一句話否定,因此工程師做到我這種地步,也會得罪些人,但硬件的確會有很多不為人知的東西,讓很多高級硬件工程師也摸不到頭腦。

那么高級硬件件工程師技術(shù)技能都要具備那些東西哪,首先要掌握EDA設(shè)計的輔助工具類如Protel\ORCAD\PowperPCB\Maplux2\ISE、VDHL語言,要能用到這些工具畫圖畫板做邏輯設(shè)計,再有就是接口設(shè)計審圖能力,再者就是調(diào)試能力,如果能走到總體方案設(shè)計這塊,那就基本上快成為資深工程師了。

高級硬件工程師不僅要有設(shè)計能力還有具有相當(dāng)深厚的基本功,就是EDA工具類的使用,EDA工程師包括原理圖和PCB工具,邏輯設(shè)計工具和VHDL。

硬件是要靠經(jīng)驗,也要靠積累的,十年磨一劍,百年磨一針。


主站蜘蛛池模板: 山阳县| 彝良县| 福海县| 南川市| 深州市| 白城市| 炎陵县| 洛扎县| 房山区| 惠州市| 永年县| 濉溪县| 江达县| 奉化市| 闽侯县| 连城县| 包头市| 襄垣县| 江华| 平山县| 富锦市| 南宁市| 长宁县| 隆尧县| 永善县| 福贡县| 互助| 嵊泗县| 赤壁市| 潞西市| 嘉峪关市| 明溪县| 衢州市| 富宁县| 田阳县| 西吉县| 芦山县| 玉环县| 蓬莱市| 田东县| 礼泉县|