到底什么是嵌入式?什么是單片機(jī)?

到底什么是嵌入式?什么是單片機(jī)?

大家好,我是小棗君。

凡是從事計算機(jī)或電子信息相關(guān)領(lǐng)域工作的童鞋,一定都聽說過嵌入式單片機(jī)吧?

很多人應(yīng)該知道,這兩個名詞和硬件系統(tǒng)有著非常密切的關(guān)系。一聽到它們,就容易讓人聯(lián)想到插滿芯片和針腳的電路板:

到底什么是嵌入式?什么是單片機(jī)?

但是,如果要問具體什么是嵌入式,什么是單片機(jī),它們之間究竟有什么區(qū)別,我相信大部分人并不能解釋清楚。

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

什么是嵌入式

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

嵌入式,一般是指嵌入式系統(tǒng),英文叫作:embedded system。嵌入式開發(fā),其實(shí)就是對嵌入式系統(tǒng)的開發(fā)。

IEEE(美國電氣和電子工程師協(xié)會)對嵌入式系統(tǒng)的定義是:“用于控制、監(jiān)視或者輔助操作機(jī)器和設(shè)備的裝置”。

國內(nèi)學(xué)術(shù)界的定義更為具體一些,也更容易理解:

嵌入式系統(tǒng),是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪,適用于對功能、可靠性、成本、體積、功耗有嚴(yán)格要求的專用計算機(jī)系統(tǒng)。

以應(yīng)用為中心,說明嵌入式系統(tǒng)是有明確實(shí)際用途的。以計算機(jī)技術(shù)為基礎(chǔ),說明它其實(shí)就是一種特殊的計算機(jī)。軟硬件可裁剪,說明它有很強(qiáng)的靈活性和可定制能力。

專用計算機(jī)系統(tǒng),“專用”所對應(yīng)的,就是“通用”。我們常用的個人PC、筆記本電腦、數(shù)據(jù)中心服務(wù)器,可以用于多種用途,就是“通用計算機(jī)系統(tǒng)”。

嵌入式系統(tǒng)究竟具體應(yīng)用于哪些“專用”方向呢?

舉例如下:

  • 個人通信與娛樂系統(tǒng):手機(jī)、數(shù)碼相機(jī)、音樂播放器、可穿戴電子產(chǎn)品、PSP游戲機(jī)
  • 家電類產(chǎn)品:數(shù)字電視、掃地機(jī)器人、智能家電
  • 辦公自動化:打印機(jī),復(fù)印機(jī)、傳真機(jī)
  • 醫(yī)療電子類產(chǎn)品:生化分析儀、血液分析儀、CT
  • 網(wǎng)絡(luò)通信類產(chǎn)品:通信類交換設(shè)備、網(wǎng)絡(luò)設(shè)備 (交換機(jī)、路由器、網(wǎng)絡(luò)安全)
  • 汽車電子類產(chǎn)品:引擎控制、安全系統(tǒng)、汽車導(dǎo)航與娛樂系統(tǒng)
  • 工業(yè)控制類產(chǎn)品:工控機(jī)、交互式終端 (POS、ATM)、安全監(jiān)控、數(shù)據(jù)采集與傳輸、儀器儀表
  • 軍事及航天類產(chǎn)品:無人機(jī)、雷達(dá)、作戰(zhàn)機(jī)器人
到底什么是嵌入式?什么是單片機(jī)?

嵌入式系統(tǒng)的應(yīng)用領(lǐng)域

上述這些領(lǐng)域,都使用了嵌入式系統(tǒng)。這還只是冰山一角。

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

嵌入式系統(tǒng),既然是一個計算機(jī)系統(tǒng),那么肯定離不開硬件和軟件。

一個嵌入式系統(tǒng)的典型架構(gòu)如下:

到底什么是嵌入式?什么是單片機(jī)?

注意,最重要的就是嵌入式操作系統(tǒng)和嵌入式微處理器。

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

到底什么是嵌入式?什么是單片機(jī)?

和個人PC是一樣的方式

下面這張圖,就是一個嵌入式系統(tǒng)的實(shí)物樣例:

到底什么是嵌入式?什么是單片機(jī)?

中間偏左上角,S3C2440,是CPU,中間是RAM,然后還有ROM、網(wǎng)卡、串口、電源等等??梢钥闯觯度胧较到y(tǒng)麻雀雖小,五臟俱全。

什么是單片機(jī)

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

  • 嵌入式微控制器MCU(Micro Control Unit)

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

  • 嵌入式DSP處理器(Digital Signal Processor)

DSP處理器專門用于信號處理,在系統(tǒng)結(jié)構(gòu)和指令算法進(jìn)行了特殊設(shè)計。在數(shù)字濾波、FFT、頻譜分析中廣泛應(yīng)用。典型代表是TI(德州儀器)公司的TMS320C2000/C5000系列。

  • 嵌入式微處理器MPU(Micro Processor Unit)

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

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

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

到底什么是嵌入式?什么是單片機(jī)?

我們來詳細(xì)介紹一下它。

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

它其實(shí)就是一種集成電路芯片,是通過超大規(guī)模集成電路技術(shù),將CPU、RAM、ROM、輸入輸出和中斷系統(tǒng)、定時器/計數(shù)器等功能,塞進(jìn)一塊硅片上,變成一個超小型的計算機(jī)。

這么說來,單片機(jī)不就是一個嵌入式系統(tǒng)?別急,我們往下看。

“單片機(jī)”其實(shí)是一種古老的叫法。以前半導(dǎo)體工藝技術(shù)不成熟,不同的功能無法做進(jìn)一個芯片(Chip),所以會有多片機(jī)?,F(xiàn)在半導(dǎo)體技術(shù)早已非常發(fā)達(dá),所以不存在多片機(jī)。但是,“單片機(jī)”的叫法卻一直延用至今。

很多高校老師喜歡強(qiáng)調(diào)單片機(jī)姓“單”,除了指單片機(jī)只是一個硅片之外,更多是指單片機(jī)的功能單一,它是完成運(yùn)算、邏輯控制、通信等功能的單一模塊。即便它性能再強(qiáng)大,功能依然是單一的。

單片機(jī)技術(shù)從上世紀(jì)70年代末誕生,早期的時候是4位,后來發(fā)展為8位,16位,32位。它真正崛起,是在8位時代。8位單片機(jī)功能很強(qiáng),被廣泛應(yīng)用于工業(yè)控制、儀器儀表、家電汽車等領(lǐng)域。

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

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

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

到底什么是嵌入式?什么是單片機(jī)?

ATMEL公司的51單片機(jī),AT89C51

到底什么是嵌入式?什么是單片機(jī)?

這是一個51單片機(jī)的開發(fā)板,中間那個芯片才是51單片機(jī)

51單片機(jī)曾經(jīng)在很長時間里都是市面上最主流、應(yīng)用最廣泛的單片機(jī),占據(jù)大量的市場份額。

51單片機(jī)其實(shí)放在現(xiàn)在毫無技術(shù)優(yōu)勢,是一種很老的技術(shù)。之所以它的生命力頑強(qiáng),除了它曾經(jīng)很流行之外,還有一個原因,就是英特爾公司徹底開放了51內(nèi)核的版權(quán)。

所以,無論任何單位或個人,都可以毫無顧忌地使用51單片機(jī),不用付費(fèi),也不用擔(dān)心版權(quán)風(fēng)險。

此外,51單片機(jī)擁有雄厚的存量基礎(chǔ)和群眾基礎(chǔ)。很多老項(xiàng)目都是用的51單片機(jī),出于成本的考慮,有時候只能繼續(xù)沿用51單片機(jī)的技術(shù)進(jìn)行升級。而且,很多老一輩的工程師,都精通51單片機(jī)開發(fā)技術(shù)。所以,51單片機(jī)的生命力得以不斷延續(xù)。

再來看看STM32。

STM32,是意法半導(dǎo)體公司推出的基于ARM Cortex-M內(nèi)核的通用型單片機(jī)。

到底什么是嵌入式?什么是單片機(jī)?

STM32單片機(jī)

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

到底什么是嵌入式?什么是單片機(jī)?

意法半導(dǎo)體LOGO

ARM公司以前小棗君給大家介紹過。它是目前全球做芯片設(shè)計最厲害的公司之一,利用手機(jī)芯片的快速發(fā)展而崛起,占有物聯(lián)網(wǎng)市場極大的份額。

在單片機(jī)領(lǐng)域,ARM的Cortex-M內(nèi)核擁有壓倒性的優(yōu)勢,已經(jīng)成為絕對的主流。很多半導(dǎo)體公司都放棄了自己原先的架構(gòu),轉(zhuǎn)做ARM架構(gòu)的單片機(jī)。

到底什么是嵌入式?什么是單片機(jī)?

STM32單片機(jī)開發(fā)板

STM32的硬件配置可以滿足大部分的物聯(lián)網(wǎng)開發(fā)需求,開發(fā)工具和相關(guān)的文檔資料齊全,已經(jīng)成為目前單片機(jī)學(xué)習(xí)的首選對象。

嵌入式和單片機(jī)的區(qū)別

說到這里,我們來看看,嵌入式和單片機(jī)的區(qū)別到底是什么。

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

以前單片機(jī)包括的東西并不算多,兩者的硬件區(qū)別較為明顯。但是,隨著半導(dǎo)體技術(shù)的突飛猛進(jìn),現(xiàn)在各種硬件功能都能被做進(jìn)單片機(jī)之中。所以,嵌入式系統(tǒng)和單片機(jī)之間的硬件區(qū)別越來越小,分界線也越來越模糊。

于是,人們傾向于在軟件上進(jìn)行區(qū)分。

從軟件上,行業(yè)里經(jīng)常把芯片中不帶MMU(memory management unit,內(nèi)存管理單元)從而不支持虛擬地址,只能裸奔或運(yùn)行RTOS(實(shí)時操作系統(tǒng),例如ucos、華為LiteOS、RT-Thread、freertos等)的system,叫做單片機(jī)(如STM32、NXP LPC系列、NXP imxRT1052系列等)。而把芯片自帶MMU可以支持虛擬地址,能夠跑Linux、Vxworks、WinCE、Android這樣的“高級”操作系統(tǒng)的system,叫做嵌入式。

在某些時候,單片機(jī)本身已經(jīng)足夠強(qiáng)大,可以作為嵌入式系統(tǒng)使用。它的成本更低,開發(fā)和維護(hù)的難度相對較小,尤其是針對一些針對性更強(qiáng)的應(yīng)用。而嵌入式系統(tǒng)理論上性能更強(qiáng),應(yīng)用更廣泛,但復(fù)雜度高,開發(fā)難度大。

嵌入式和單片機(jī)的學(xué)習(xí)價值

最后我們來說一說嵌入式和單片機(jī)的學(xué)習(xí)價值,到底有沒有必要學(xué)習(xí)嵌入式和單片機(jī)。

最近這些年,有一句話被廣泛傳播,那就是——“軟件為王”。人們普遍認(rèn)為軟件知識的價值遠(yuǎn)遠(yuǎn)大于硬件,而學(xué)習(xí)軟件,從事軟件方向,會更容易找到工作,找到更高收入、更有前途的工作。

而嵌入式和單片機(jī),往往被歸為“硬件”方向,遭人“嫌棄”。加上嵌入式和單片機(jī)的學(xué)習(xí)難度較大,學(xué)習(xí)周期很長,需要漫長的“煎熬”,所以越來越多的人放棄這條路。

小棗君認(rèn)為這種想法是不正確的。

首先,嵌入式和單片機(jī)并不是純“硬件”類方向。前面我也說了,它們是軟件和硬件的緊密結(jié)合。

到底什么是嵌入式?什么是單片機(jī)?

如果你想學(xué)好嵌入式和單片機(jī),只懂?dāng)?shù)字電路和微機(jī)接口這樣的硬件知識是不夠的,你更需要學(xué)習(xí)的,是匯編、C/C++語言、數(shù)據(jù)結(jié)構(gòu)和算法知識。

擁有軟硬結(jié)合的能力,遠(yuǎn)遠(yuǎn)比單純掌握某種程序開發(fā)語言更有價值。

其次,嵌入式和單片機(jī)擁有廣泛的應(yīng)用場景,在各個領(lǐng)域都有項(xiàng)目需求和人才需求。

根據(jù)權(quán)威部門統(tǒng)計,目前我們國家每年的嵌入式人才缺口高達(dá)50萬。尤其是嵌入式軟件開發(fā),是未來幾年最熱門和最受歡迎的職業(yè)之一。具有10年工作經(jīng)驗(yàn)的高級嵌入式工程師,年薪可以達(dá)到30-50萬元左右。

而且我們國家現(xiàn)在正在大力發(fā)展芯片產(chǎn)業(yè),也會帶動嵌入式人才的就業(yè),提升待遇。

到底什么是嵌入式?什么是單片機(jī)?

隨著5G的全面啟動,整個社會正在向“萬物互聯(lián)”的方向發(fā)展。物聯(lián)網(wǎng)技術(shù)也將迎來前所未有的歷史機(jī)遇。嵌入式和單片機(jī)技術(shù)是物聯(lián)網(wǎng)技術(shù)的重要組成部分,也將進(jìn)入發(fā)展的快車道。

因此,盡管學(xué)習(xí)過程會比較艱辛,小棗君仍然建議有志青年關(guān)注這一賽道。技術(shù)越難,過程越苦,越有利于構(gòu)建競爭壁壘。到了后期,個人價值可以得到進(jìn)一步的體現(xiàn)。

好了,關(guān)于嵌入式和單片機(jī)的內(nèi)容,小棗君今天就介紹到這里。

謝謝大家啦!

推薦
夏津县| 荣昌县| 朝阳市| 南岸区| 辰溪县| 定襄县| 甘洛县| 嘉兴市| 商洛市| 冕宁县| 科尔| 新兴县| 黄大仙区| 邹平县| 金昌市| 岳池县| 寿光市| 尖扎县| 克什克腾旗| 尤溪县| 化德县| 甘洛县| 乐东| 青浦区| 汤阴县| 绍兴县| 西畴县| 柞水县| 张家港市| 连平县| 乃东县| 太白县| 平塘县| 即墨市| 海南省| 丹寨县| 屯留县| 辽宁省| 定州市| 普安县| 红原县|