-
1 # sharpxcb
-
2 # my黃土高坡
微控制器工程師?我先理解為從事微控制器相關工作的設計人員。
微控制器從上世紀80年代開始流行到現在,並且最近幾年微控制器又火爆了一次,主要得益於智慧電器的流行。
其實微控制器很簡單,微控制器在所有系統中的作用就是外圍裝置資訊的採集和控制,資料的計算和分析等等,並且大部分微控制器都是相通的,學會某一個微控制器,其他的也都差不多。
如果從事微控制器行業,個人建議51微控制器必學,很多高校的微控制器課程也都是51微控制器。學習51微控制器的作用在於它的直觀,透過學習,能把軟體程式設計和硬體聯絡起來,比如配置定時器,透過寫入暫存器的資料可以很直觀的認識到底層硬體是怎麼連線的,如何透過軟體程式碼實現硬體的動作,理解比較深刻。同時需要學習c語言和數電知識。怎麼把自己的想法轉成機器語言,這需要一定時間的,還有就是數電了。微控制器也數位電路的一部分,內部其實也是很多數字單元組成的。
51微控制器學習一段時間後可以選擇一款32位微控制器學習,推薦使用stm32,這個晶片使用度非常大,網上資料也很多,學習起來比較方便。stm32相對51微控制器來說功能更強大,同時也更復雜。開始可以買一塊開發版學習。開發板資料都很全,先系統瞭解一下,對比一下不足,再透過查詢資料一點點彌補不足。
推薦圖書
做技術很辛苦,一方面積累經驗,一方面不斷學習,這樣你會越來越強大,加油✊✊
-
3 # 二進位制君
一般來說,微控制器屬於硬體工程師的工作範疇。畢竟微控制器驅動程式設計和電路設計是分不開,只有明白了微控制器如何驅動才能設計出更為合理的電路產品。
如果想更好的從事微控制器相關工作:
1、必須熟悉C語言。目前基本上所有的微控制器的開發環境都支援C語言程式設計。
2、最好熟悉組合語言。原因如下:
①、雖然大部分微控制器都支援C語言程式設計,但某些微控制器採用組合語言程式設計更好一些,如PIC8位微控制器。
②、對於一些對時間要求較高的產品,採取組合語言會更節省時間並且時間可控性更高。
3、熟悉各種元器件以及電子電路原理。只有熟悉電路原理,才能更好的利用微控制器驅動做出好的產品來。
4、熟悉一款微控制器的外設功能。微控制器方面,基本上熟悉了一款,便可舉一反三,能迅速上手其餘的微控制器。
5、熟練使用相關實驗除錯設別,如電烙鐵、萬用表、示波器等。只有熟練使用這些工具,才能迅速的調試出一款合格的產品。
-
4 # 嵌入式宏思微想
微控制器工程師,就這個名稱來講,一般是指硬體工程師。從事微控制器開發工作,可分為軟體工程師和硬體工程師。今時今日,分工已經很明確,一般情況下,寫軟體的,不需要熟悉硬體,只要會呼叫API,或者會看程式設計指導即可。成熟的平臺或團隊,都會提供庫函式版本或暫存器版本給開發應用。做硬體的,也不需要懂得程式設計,只需要看懂電路圖,會分析,會改板,會測量即可。
要求軟硬都熟悉的人,是軟體底層工程師,硬體上要求看懂電路圖,知道每個元件的作用,知道每個迴路每個網格每個IP的工作原理,要求熟悉基本元器件的焊接操作,要求會使用示波器,萬用表,甚至是邏輯分析儀,負載器等等的使用。軟體上要就熟悉C語言,組合語言,熟悉I2C,SPI,CAN,SDIO,USB,I2S等協議,熟悉GPIO的配置。程式設計指導,資料手冊,原理圖,絲印圖,是底層工程師最常用到的四大寶典。
當然,由於分工已經模組化,LCD,Sensor,NandFlash等等IP已經分由不同的工程師甚至是團隊負責,所以做底層的,寫驅動的,通常只需熟悉對應的模組即可。
從業十多年,除錯過很多開發板,包括裸板。我最大的感受是:理論正確,弄板有力,才能調通調好。所寫的軟體,首先是要理論正確,且嚴格符合程式設計指導和資料手冊。弄板有力,指的是有能力測量,分析,焊接開發板,不用事事去找硬體求助,那樣的話時間成本太高。
-
5 # 極客程式視界
作為嵌入式開發一員,來談談如何成為微控制器工程師。
最簡單直接的就是來看下我們企業對於微控制器工程師如何定義的,這樣我們對於成為微控制器工程師需要掌握的知識圖譜技能也就一目瞭然了。
從上面的JD我們可以看出要成為一個合格的微控制器工程師,我們需要做到:
1.精通C語言程式設計,目前大部分微控制器開發都是基於c語言,有時候會涉及到彙編。只有熟練的運用好程式語言這門工具,才能很好的實現需求。
2.熟練的閱讀硬體原理圖,同時還要能讀懂資料手冊,只有看懂原理圖,如管腳,上拉電阻,匯流排介面等,才能對應的完成軟體的編寫。
3.熟練某個平臺的單晶片soc,比如51,arduino,樹莓派開發,由於微控制器(嵌入式)工程師基本上都是和硬體打交道,基於平臺開發相關的應用功能,所以勢必需要熟悉如i2c,spi,串列埠,藍芽等協議。
4.熟練使用萬用表,示波器,電烙鐵等工具,這樣對於問題才能更好的快速定位。
總之,程式設計經驗需要不斷的積累,尤其是嵌入式開發,需要懂得相當多的技能,需要我們大量的積累開發經驗,並不斷的學習新知識,只有這樣才能順應科技的進步,保持自己的競爭力。
-
6 # 光明右使8787
微控制器工程師需要以下幾種技能。
一、有電子基礎,熟悉類比電路和數位電路設計。
二、會畫PCB。
三、會組合語言和C語言,會看datasheet。
四、會搭建IDE開發環境,熟悉程式設計器、模擬器使用。
五、上位機程式設計VC VB QT,這項不是必須的,如果會這條的話,算是骨灰級別的了。
做微控制器是跨行業的,然而工資待遇普遍比網際網路程式設計低,所以微控制器工程師其實是很苦逼的活,優點是穩定,不用經常換工作,除非自己想跳槽。
-
7 # 笑61270733
1、首先學習C語言,組合語言。
2、精通數位電路 類比電路;
3、找一部影片跟著專案做;
4、自己動手畫原理圖PCB;
5、進行電路除錯,其中萬用表、示波器、電烙鐵等等工具都得會用。
-
8 # 水牛
我從事微控制器系統開發已經16年,簡單總結一個成為一個微控制器工程師都需要哪些知識和技能:
1、類比電路和數位電路基礎知識:基本的電路知識還是要有的,在學習和工作中不管是設計電路還是學習交流別人的電路,沒有基礎知識會很困難。而且設計電路都是基於對基礎知識的深刻理解。學習別人的電路也是要有基礎知識的,不理解的情況下只能抄別人的電路,不能理解,如果出現問題是沒有能力解決的。
2、常見的外設電路:常見的外設電路一定要掌握的,但是需要注意的一點是書上的電路和開發板上的電路只是實現功能而已,要想設計出好產品還是學習一下高手設計的產品和電路,因為他們的電路不但能夠實現功能,而且能夠可靠穩定執行。
3、PCB設計軟體和電路模擬軟體:Altium Designer、PADS一般適用於一般簡單的微控制器系統的pcb設計,一般還是要掌握的。Cadence allegro適合做高速PCB設計,他的模擬功能、自動走線、高速訊號輔助功能做的很棒,但是如果做簡單系統有點複雜,和多人不能適應。電子電路模擬軟體multisim、proteus、PSPICE,如果能學會這些軟體輔助進行電路設計是很棒的。
4、PCB設計:學會了PCB設計軟體不等於就學會了PCB設計,軟體只是工具,進行PCB設計還是有很多要求的,如果不深入學習,做的PCB只是把電路連線起來而已。到產品投入執行時如果出現問題會比較頭疼,而且如果出現批次執行不可靠,損失將是十分巨大的。
5、電路可靠性設計和整機可靠性設計:我們上學學習的各種電路其實都是實現功能,沒有什麼可靠性。舉個例子:微控制器驅動電磁閥,很多人設計就是微控制器io控制三極體,然後是繼電器,最後驅動電磁閥。然而很多人碰見閥門動作的時候會出現微控制器復位、宕機等情況。如果不懂可靠設計將會非常痛苦。還有整機可靠性設計,有時電路設計很棒,執行任然不可靠,偶爾出現問題,經常碰見的就是佈局不合理和電纜鋪設不合理導致的。
6、EMC設計:現在很多產品都是需要進行認證的,如常見的計量認證、3C認證、防爆認證等,進行認證必然要求進行EMC測試,測試不合格是拿不到生成資格的。即使不需要認證也建議樣機進行EMC測試,這樣會在樣機階段暴露一些設計缺陷,如果已經生產成千上萬臺機器了,發現有設計缺陷,執行不可靠,有可能是致命的。
7、各種常見儀表的使用:各種常見儀表使用並不難,稍微看下說明書應該都可以。如萬用表、示波器、電源等。
8、C語音和組合語言:組合語言現在使用很少了,有興趣可以學一下,一般是用不到的,但是在一下場合是必須的。C語音是必須要會的,現在微控制器基本都是用C語音,沒什麼好說的。
9、常用演算法:排序、濾波等常用演算法是必須要會的。
10、微控制器編譯軟體:常用的就是keil和IAR,一些微控制器的編譯軟體是專用的,不過這個很容易學,網上資料很多。
11、程式碼編輯軟體:UE、sourceinsight等軟體能幫助我們看程式碼和編寫程式碼,對於一些比較大的專案使用sourceinsight是非常方便的。
12、版本管理軟體:版本管理軟體很多,我主要是使用SVN,它免費,體積小,非常適合個人使用,很多大公司也是用SVN的。它能非常方便的進行比較、回滾、合併,對於團隊合作寫程式碼也是很方便的。
-
9 # 蟻哥愛科技
首先要有數電、模電的基礎知識,能看懂各類晶片資料,比如各項引數,特別是文件中的典型電路,能幫助我們節省很多設計成本。
接下來得學學畫圖軟體,比如AD,或者PADS,protell等,熟練掌握一種就可以了,實在不想畫板子,除錯板子的時候也能輔助搞明白電路圖,對於除錯板子是很有幫助的。
然後還要學學C語言。現在大部分微控制器都是用C來開發,彙編用的不多了,有富裕精力的朋友可以熟悉瞭解一下。單片機板可以看做是人的軀殼,裡面執行的程式是靈魂,相輔相成,缺一不可。
接下來是動手能力,一些基本的焊接技術是必要的,還有萬用表,示波器這兩樣工具要熟練掌握,除錯過程,是最能提高水平的過程!
最後就是要多多做不同的專案豐富自己的經驗,比如usb轉ttl的電路設計,上位機軟體如串列埠助手的操作,這些都有助我們快速的完成微控制器專案的設計驗證。
回覆列表
工程師這個稱謂可不是隨便叫的,他可是程式設計師的進階版,不光是隻會擼程式碼就完事的!
完善的微控制器工程師,軟硬體可是都要會的;
軟體:會寫C語言是基本,如果想要深層次的瞭解微控制器底層架構,組合語言也是要熟練的;
硬體:基本的電路知識(如歐姆定律)會算、元器件特性(電容、電阻、電感、二極體等)會用,常用器件(馬達、紅外等)會依規格書轉演算法,常用硬體介面會用微控制器資源實現(IIC、UART、SPI等硬資源軟IO模擬)
常備技能:會用各種分析工具(萬用表、示波器、邏輯分析儀等),各種除錯工具(串列埠工具、字型檔工具、UI生成),英語常用專業術語……
高階技能:把需求轉演算法,會規避微控制器缺陷,巧用資源節省成本!