到底什麼是嵌入式?什麼是單片機?

2020-12-17 電子工程世界網

凡是從事計算機或電子信息相關領域工作的童鞋,一定都聽說過嵌入式單片機吧?


很多人應該知道,這兩個名詞和硬體系統有著非常密切的關係。一聽到它們,就容易讓人聯想到插滿晶片和針腳的電路板:


但是,如果要問具體什麼是嵌入式,什麼是單片機,它們之間究竟有什麼區別,我相信大部分人並不能解釋清楚。


今天,就給大家做一個入門科普,揭秘上述問題的答案。與此同時,我還會給大家介紹一下,我們經常聽說的51、STM32,究竟是什麼。


首先,我們來看看什麼是嵌入式。


嵌入式,一般是指嵌入式系統,英文叫作:embedded system。嵌入式開發,其實就是對嵌入式系統的開發。


IEEE(美國電氣和電子工程師協會)對嵌入式系統的定義是:「用於控制、監視或者輔助操作機器和設備的裝置」。


國內學術界的定義更為具體一些,也更容易理解:


嵌入式系統,是以應用為中心,以計算機技術為基礎,軟體硬體可裁剪,適用於對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。


以應用為中心,說明嵌入式系統是有明確實際用途的。以計算機技術為基礎,說明它其實就是一種特殊的計算機。軟硬體可裁剪,說明它有很強的靈活性和可定製能力。


專用計算機系統,「專用」所對應的,就是「通用」。我們常用的個人PC、筆記本電腦、數據中心伺服器,可以用於多種用途,就是「通用計算機系統」。


嵌入式系統究竟具體應用於哪些「專用」方向呢?


舉例如下:


  • 個人通信與娛樂系統:手機、數位相機、音樂播放器、可穿戴電子產品、PSP遊戲機

  • 家電類產品:數位電視、掃地機器人、智能家電

  • 辦公自動化:印表機,複印機、傳真機

  • 醫療電子類產品:生化分析儀、血液分析儀、CT

  • 網絡通信類產品:通信類交換設備、網絡設備 (交換機、路由器、網絡安全)

  • 汽車電子類產品:引擎控制、安全系統、汽車導航與娛樂系統

  • 工業控制類產品:工控機、交互式終端 (POS、ATM)、安全監控、數據採集與傳輸、儀器儀表

  • 軍事及航天類產品:無人機、雷達、作戰機器人



嵌入式系統的應用領域

上述這些領域,都使用了嵌入式系統。這還只是冰山一角。


可以說,嵌入式系統完完全全地包圍了我們,時刻影響著我們的工作和生活。


嵌入式系統,既然是一個計算機系統,那麼肯定離不開硬體和軟體。


一個嵌入式系統的典型架構如下:


注意,最重要的就是嵌入式作業系統和嵌入式微處理器。


從硬體角度來看,嵌入式系統就是以處理器(CPU)為核心,依靠總線(Bus)進行連接的多模塊系統:


和個人PC是一樣的方式


下面這張圖,就是一個嵌入式系統的實物樣例:




中間偏左上角,S3C2440,是CPU,中間是RAM,然後還有ROM、網卡、串口、電源等等。可以看出,嵌入式系統麻雀雖小,五臟俱全。


嵌入式系統的核心,就是嵌入式處理器。嵌入式處理器一般分為以下幾種典型類型:



MCU內部集成ROM/RAM、總線邏輯、定時/計數器、看門狗、I/O、串口、A/D、D/A、FLASH等。典型代表是8051、8096、C8051F等。



DSP處理器專門用於信號處理,在系統結構和指令算法進行了特殊設計。在數字濾波、FFT、頻譜分析中廣泛應用。典型代表是TI(德州儀器)公司的TMS320C2000/C5000系列。



MPU由通用處理器演變而來,具有較高的性能,擁有豐富的外圍部件接口。典型代表是AM186/88、386EX、SC-400、PowerPC、MIPS、ARM系列等。


此外,還有嵌入式片上系統SoC(System on Chip)可編程片上系統SoPC(System on a Programmable Chip)


我們的單片機,就屬於上述的第一種——MCU(嵌入式微控制器)。



我們來詳細介紹一下它。


單片機,又稱為單片微控制器,英文叫Single-Chip Microcomputer。


它其實就是一種集成電路晶片,是通過超大規模集成電路技術,將CPU、RAM、ROM、輸入輸出和中斷系統、定時器/計數器等功能,塞進一塊矽片上,變成一個超小型的計算機。


這麼說來,單片機不就是一個嵌入式系統?別急,我們往下看。


「單片機」其實是一種古老的叫法。以前半導體工藝技術不成熟,不同的功能無法做進一個晶片(Chip),所以會有多片機。現在半導體技術早已非常發達,所以不存在多片機。但是,「單片機」的叫法卻一直延用至今。


很多高校老師喜歡強調單片機姓「單」,除了指單片機只是一個矽片之外,更多是指單片機的功能單一,它是完成運算、邏輯控制、通信等功能的單一模塊。即便它性能再強大,功能依然是單一的。


單片機技術從上世紀70年代末誕生,早期的時候是4位,後來發展為8位,16位,32位。它真正崛起,是在8位時代。8位單片機功能很強,被廣泛應用於工業控制、儀器儀表、家電汽車等領域。


我們在研究單片機的時候,經常會聽到兩個詞——51單片機STM32。我來介紹一下它們究竟是什麼。


51單片機,其實就是一系列單片機的統稱。該系列單片機,兼容Intel 8031指令系統。它們的始祖,是Intel(英特爾)的8004單片機。


注意,51單片機並不全是英特爾公司的產品。包括ATMEL(艾德梅爾)、Philips(飛利浦)、華邦、Dallas(達拉斯)、Siemens(西門子)、STC(國產宏晶)等公司,也有很多產品屬於51單片機系列。


ATMEL公司的51單片機,AT89C51



這是一個51單片機的開發板,中間那個晶片才是51單片機

51單片機曾經在很長時間裡都是市面上最主流、應用最廣泛的單片機,佔據大量的市場份額。


51單片機其實放在現在毫無技術優勢,是一種很老的技術。之所以它的生命力頑強,除了它曾經很流行之外,還有一個原因,就是英特爾公司徹底開放了51內核的版權。


所以,無論任何單位或個人,都可以毫無顧忌地使用51單片機,不用付費,也不用擔心版權風險。


此外,51單片機擁有雄厚的存量基礎和群眾基礎。很多老項目都是用的51單片機,出於成本的考慮,有時候只能繼續沿用51單片機的技術進行升級。而且,很多老一輩的工程師,都精通51單片機開發技術。所以,51單片機的生命力得以不斷延續。


再來看看STM32。


STM32,是意法半導體公司推出的基於ARM Cortex-M內核的通用型單片機。


STM32單片機


意法半導體(STMicroelectronics)是世界最大的半導體公司之一,於1987年6月成立,是由義大利的SGS微電子公司和法國Thomson半導體公司合併而成。1998年5月,SGS-THOMSON Microelectronics 將公司名稱改為意法半導體有限公司。


意法半導體LOGO



ARM公司以前小棗君給大家介紹過。它是目前全球做晶片設計最厲害的公司之一,利用手機晶片的快速發展而崛起,佔有物聯網市場極大的份額。


在單片機領域,ARM的Cortex-M內核擁有壓倒性的優勢,已經成為絕對的主流。很多半導體公司都放棄了自己原先的架構,轉做ARM架構的單片機。

STM32單片機開發板


STM32的硬體配置可以滿足大部分的物聯網開發需求,開發工具和相關的文檔資料齊全,已經成為目前單片機學習的首選對象。


說到這裡,我們來看看,嵌入式和單片機的區別到底是什麼。


從前文的介紹來看,嵌入式系統是一個大類,單片機是其中一個重要的子類。嵌入式系統像是一個完整的計算機,而單片機更像是一個沒有外設的計算機。


以前單片機包括的東西並不算多,兩者的硬體區別較為明顯。但是,隨著半導體技術的突飛猛進,現在各種硬體功能都能被做進單片機之中。所以,嵌入式系統和單片機之間的硬體區別越來越小,分界線也越來越模糊。


於是,人們傾向於在軟體上進行區分。


從軟體上,行業裡經常把晶片中不帶MMU(memory management unit,內存管理單元)從而不支持虛擬地址,只能裸奔或運行RTOS(實時作業系統,例如ucos、華為LiteOS、RT-Thread、freertos等)的system,叫做單片機(如STM32、NXP LPC系列、NXP imxRT1052系列等)。而把晶片自帶MMU可以支持虛擬地址,能夠跑Linux、Vxworks、WinCE、Android這樣的「高級」作業系統的system,叫做嵌入式。


在某些時候,單片機本身已經足夠強大,可以作為嵌入式系統使用。它的成本更低,開發和維護的難度相對較小,尤其是針對一些針對性更強的應用。而嵌入式系統理論上性能更強,應用更廣泛,但複雜度高,開發難度大。


最後我們來說一說嵌入式和單片機的學習價值,到底有沒有必要學習嵌入式和單片機。


最近這些年,有一句話被廣泛傳播,那就是——「軟體為王」。人們普遍認為軟體知識的價值遠遠大於硬體,而學習軟體,從事軟體方向,會更容易找到工作,找到更高收入、更有前途的工作。


而嵌入式和單片機,往往被歸為「硬體」方向,遭人「嫌棄」。加上嵌入式和單片機的學習難度較大,學習周期很長,需要漫長的「煎熬」,所以越來越多的人放棄這條路。


我認為這種想法是不正確的。


首先,嵌入式和單片機並不是純「硬體」類方向。前面我也說了,它們是軟體和硬體的緊密結合。



如果你想學好嵌入式和單片機,只懂數字電路和微機接口這樣的硬體知識是不夠的,你更需要學習的,是彙編、C/C++語言、數據結構和算法知識。


擁有軟硬結合的能力,遠遠比單純掌握某種程序開發語言更有價值。


其次,嵌入式和單片機擁有廣泛的應用場景,在各個領域都有項目需求和人才需求。


根據權威部門統計,目前我們國家每年的嵌入式人才缺口高達50萬。尤其是嵌入式軟體開發,是未來幾年最熱門和最受歡迎的職業之一。具有10年工作經驗的高級嵌入式工程師,年薪可以達到30-50萬元左右。


而且我們國家現在正在大力發展晶片產業,也會帶動嵌入式人才的就業,提升待遇。



隨著5G的全面啟動,整個社會正在向「萬物互聯」的方向發展。物聯網技術也將迎來前所未有的歷史機遇。嵌入式和單片機技術是物聯網技術的重要組成部分,也將進入發展的快車道。


因此,儘管學習過程會比較艱辛,小棗君仍然建議有志青年關注這一賽道。技術越難,過程越苦,越有利於構建競爭壁壘。到了後期,個人價值可以得到進一步的體現。


好了,關於嵌入式和單片機的內容,今天就介紹到這裡。如果覺得對你有幫助,歡迎點擊右下角的「好看」,並轉發。


相關焦點

  • 關於單片機和嵌入式,它們的區別是什麼
    打開APP 關於單片機和嵌入式,它們的區別是什麼 信盈達科技 發表於 2020-03-06 16:42:00 (文章來源:信盈達科技)        嵌入式是什麼?
  • 嵌入式系統概述及與單片機區別說明
    嵌入式系統的全稱是嵌入式系統。英語是嵌入式系統。它是一種「為特定應用而設計的專用計算機系統,完全嵌入在受控設備中」。根據英國電氣工程師學會的定義,嵌入式系統是用於工廠運行的控制、監控或輔助設備、機器或設備。從這裡我們可以看出兩點。首先,嵌入式不是通用設備。
  • 我的單片機轉嵌入式Linux之路
    這張圖描述了單片機轉到Linux的兩條路子。一條是初學單片機之後直接跳到Linux;另一條是單片機->多任務->RTOS->Linux。我走的是第二條路子,無論是工作、還是業餘學習,都是這麼一步一步地走過來的。現在,終於走到了嵌入式Linux。單片
  • 嵌入式系統在物聯網中的作用是什麼
    打開APP 嵌入式系統在物聯網中的作用是什麼 lianzhitongda 發表於 2020-12-09 14:39:18 聯智通達小編為大家一一道來: 1、單片、嵌入、物聯三位一體的嵌入式系統 單片機與嵌入式系統是不同時代概念的同一事物,單片機概念出現在PC機誕生之前,PC機誕生後才有了嵌入式系統概念。無論是單片機還是嵌入式系統,它們都呈現出單片、嵌入、物聯的三位一體的特徵。「單片」機強調的是形態, 「嵌入式」系統強調的是應用形式,「物聯」則是它們的本質。
  • 從單片機工程師的角度看嵌入式Linux
    前言 這篇文章簡單我們來一起梳理嵌入式Linux的一些知識,方便於一些想跟我一樣想要由單片機進階到嵌入式Linux的朋友做一些參考學習。 現在隨著嵌入式Linux的教程不斷增多,相信應該有不少學單片機的朋友開始折騰這個了吧~ 嵌入式Linux學哪些東西 1、認識Linux
  • PCBA與嵌入式開發
    什麼是PCBA和PCB?PCB是Printed Circuit Board(印刷電路板)的簡稱,PCBA是Printed Circuit Board Assembly(印刷電路板裝配)的簡稱。PCB是PCBA的基板,PCB板上沒有零件,是一塊光板,在PCB上焊接電子元器件加工後就是PCBA板
  • 成都嵌入式軟體開發是什麼,怎麼理解?
    成都嵌入式軟體開發是什麼,怎麼理解?對於嵌入式開發軟體來說,可以把嵌入式軟體開發分成2個工作崗位。一個是應用開發,另一個是底層開發。以Linux系統為例,底層開發包括作業系統的開發和驅動的開發。對應嵌入式軟體的職位有:ARM工程師,QT工程師,Linux驅動工程師,Linux應用工程師,單片機工程師。硬體職位有EMC工程師,PCBLayout工程師。嵌入式軟體開發 嵌入式基礎知識:計算機體系結構,作業系統,微機原理,80%是驅動代碼在Linux內核代碼中。
  • 一文講解單片機、ARM、MCU、DSP、FPGA、嵌入式錯綜複雜的關係!
    首先,「嵌入式」這是個概念,準確的定義沒有,各個書上都有各自的定義。但是主要思想是一樣的,就是相比較PC機這種通用系統來說,嵌入式系統是個專用系統,結構精簡,在硬體和軟體上都只保留需要的部分,而將不需要的部分裁去。
  • 電工必學:PLC與單片機的本質區別是什麼?
    PLC與單片機的本質區別是什麼? PLC與單片機的差別是: 1、PLC是應用單片機構成的比較成熟的控制系統,是已經調試成熟穩定的單片機應用系統的產品。有較強的通用性。
  • 嵌入式工程師的工作狀態
    經常會有初學者提出這樣的問題:我是學物聯網工程的,在學校編程和嵌入式都有學習,前段時間集中實踐發現自己對嵌入式挺感興趣的,但身邊從事硬體的學長學姐幾乎沒有,也不知道從哪裡獲得過來人可靠的消息。所以想問問從事嵌入式的工程師平常的工作是什麼樣?現在的就業現狀,工資待遇如何,還有就是比起從事軟體開發有哪些區別?
  • 物聯網和嵌入式有什麼關係?嵌入式什麼意思?
    物聯網和嵌入式有什麼關係?嵌入式什麼意思?那麼先來了解下嵌入式設備的本質吧,其本質是一臺專用的、微型計算機,嵌入式設備也由三個層次的相關內容組成:1)硬體,包括cpu(如ARM)、存儲(如flash)、I/O(顯示模塊、通訊模塊、視音頻模塊、I/O控制電路等)。
  • 嵌入式系統的面面觀
    大家可能會沉默或者回答沒有問題,這時你千萬不要以為大家都聽懂了,更大的可能是:他不知道什麼是真正的聽懂以及為什麼要聽你說這麼一大段話,他沒有一個期望值;不知道自己聽懂了什麼,沒聽懂什麼,處在游離狀態找不到自己的現狀…因此,不是他完全聽懂了,沒有問題,而是不知道自己有沒有聽懂,不知道什麼算是完全聽懂,因而找不到這個落差在哪裡,沒有發現落差也就沒有發現問題,所以就沉默或者回答:沒有問題。
  • ARM嵌入式系統該如何學習?
    密不可分的單片機ARM嵌入式和單片機學習有著密不可分的關係,可以拋開複雜的軟體結構,先掌握硬體操作。ARM與單片機是有著許多區別的,相比來說ARM要比單片機複雜的多。據某位知乎大神表示,往往單片機只需要對一個寄存器賦值即可初始化,而在ARM下就要調用庫函數,另外,每個引腳其功能都多了許多,相應的配置也會更為麻煩。但如果有了豐富的ARM的項目經驗就會發現,其實它的應用配置也是千篇一律,有章可循的。著名專家韋東山也曾強調,不要再用老方法學習單片機和ARM。他表示,學習單片機是沒有前途的。
  • 嵌入式作業系統是什麼_嵌入式作業系統有哪些
    嵌入式作業系統是什麼   嵌入式作業系統(Embedded OperatingSystem,簡稱:EOS)是指用於嵌入式系統的作業系統。嵌入式作業系統是一種用途廣泛的系統軟體,通常包括與硬體相關的底層驅動軟體、系統內核、設備驅動接口、通信協議、圖形界面、標準化瀏覽器等。
  • 學嵌入式開發難嗎_學好嵌入式開發需要多久
    你可能聽說過嵌入式,但對於嵌入式技術到底是什麼並不是很了解,其實嵌入式已經滲透到各個行業,小到手機、PAD、路由器、數位相機,大到醫療儀器、航空航天設備等都是典型的嵌入式系統產品,嵌入式工程師成為當前最具發展前途的職業之一。   那麼學習嵌入式開發難嗎?學好嵌入式開發需要多久?具體的跟隨小編來了解一下。
  • 嵌入式如何入門,要不要學習Python
    研究生方向是嵌入式系統與應用(導師招這樣的學生,但是本身設計這個方向不多),目前還比較有時間,想要自己深入學習一下嵌入式方面的知識,像就這方面,請教一下工作的前輩下面這張圖片,是我捋出來自己會的、知道的,跟嵌入式相關的,然後還有一些問題,想要請教一下前輩,問題也寫在上面了希望前輩給予一些指導
  • 大學生學單片機畢業有前途嗎?
    所以只會單片機編程而不懂單片機及其外圍電路設計的工程師不是合格的單片機工程師。因為單片機相關的項目要開發一般都不大,團隊裡雖然有時候會專門區分軟體和硬體開發,但是單片機在設計硬體時要結合後期程序設計,在設計程序時要結合已有硬體設計,密不可分。所以學習單片機要軟硬兩邊通吃。如果感覺精力不足,可以偏向軟體或硬體,但是另一個也不能完全不會。
  • 工程師最愛讀的10本經典嵌入式書籍,看完愛不釋手
    最近在學習群裡跟學員交流,發現很多的初學者只有單片機基礎,或者是沒有學過單片機,想重新學習嵌入式,學習Linux,但是對很多概念都比較陌生,導致不知道要學什麼,也不知道學了之後有什麼用。所以,今天就抽著自己稍有一些空餘時間,給大家簡單講解一下單片機跟嵌入式,兩者之間到底有什麼區別,還有說說嵌入式具體要怎麼學。
  • 單片機和電腦pc計算機的區別
    為了實現上述要求,近年來,單片微型計算機(簡稱單片機)應運而生。單片機也被稱做「微控制器」、「嵌入式微控制器」。單片機一詞最初是"SingleChipMicrocomputer」,簡稱SCM。在單片機誕生時,SCM是一個準確、流行的稱謂,「單片機」一詞準確地表達了這—概念。
  • 學習嵌入式的成長曆程
    在大學我讀的的專業是「電子信息工程專業」,在選專業的時候根本就不知道這個專業是學什麼的,當時選到最後在篩選時看到有「電子「兩個字所以就選了這個專業。選了這個專業,只是覺得自己對電子方面的東西還挺有好奇心的,因為從小就把家裡的電器都拆了個遍。我讀的大學是三年制的,在校是兩年。