一定有很多人都聽說過嵌入式和單片機(jī),但在剛開始接觸時(shí),不知道大家有沒有聽說過嵌入式就是單片機(jī)這樣的說法,其實(shí)嵌入式和單片機(jī)還是有區(qū)別的。單片機(jī)與嵌入式到底有什么關(guān)系?
下面我們就來說說嵌入式和單片機(jī)之間的聯(lián)系和區(qū)別吧。
01?
什么是單片機(jī)?
首先,我們來了解一下到底什么是單片機(jī)
嵌入式系統(tǒng)的核心是嵌入式處理器。嵌入式處理器一般可以分為以下幾種類型:
嵌入式微控制器MCU(Micro Control Unit)
嵌入式DSP處理器(Digital Signal Processor)
嵌入式微處理器MPU(Micro Processor Unit)
嵌入式片上系統(tǒng)SoC(System on Chip)
可編程片上系統(tǒng)SoPC(System on a Programmable Chip)
我們的單片機(jī)屬于嵌入式微控制器MCU(Micro Control Unit)
MCU內(nèi)部集成ROM/RAM、總線邏輯、定時(shí)/計(jì)數(shù)器、看門狗、I/O、串口、A/D、D/A、FLASH等。典型代表如8051、8096、C8051F等。
單片機(jī)就是在一個(gè)芯片(Chip)上集成了CPU、SRAM、Flash及其他需要模塊,在一個(gè)Chip上實(shí)現(xiàn)一個(gè)微型計(jì)算機(jī)系統(tǒng),所以就叫Single Chip Microcomputer,也就是單片機(jī)了。
它其實(shí)就是一種集成電路芯片,是通過超大規(guī)模集成電路技術(shù),將CPU、RAM、ROM、輸入輸出和中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器等功能,塞進(jìn)一塊硅片上,變成一個(gè)超小型的計(jì)算機(jī)。
這么說來,單片機(jī)不就是一個(gè)嵌入式系統(tǒng)?
別急,我們往下看。
“單片機(jī)”其實(shí)是一種古老的叫法。在那個(gè)年代半導(dǎo)體工藝還在起步階段,集成能力很差,往往是CPU一個(gè)芯片,SRAM一個(gè)芯片,F(xiàn)lash一個(gè)芯片,需要中斷的話又得有個(gè)專門處理中斷的芯片,所以一個(gè)完整可用的計(jì)算機(jī)系統(tǒng)是很多個(gè)芯片(Chip)做在一個(gè)PCB板上構(gòu)成的。
不同的功能無法做進(jìn)一個(gè)芯片(Chip),所以會(huì)有多片機(jī)。現(xiàn)在半導(dǎo)體技術(shù)早已非常發(fā)達(dá),所以不存在多片機(jī)。但是,“單片機(jī)”的叫法卻一直延用至今。
單片機(jī)技術(shù)從上世紀(jì)70年代末誕生,早期的時(shí)候是4位,后來發(fā)展為8位,16位,32位。它真正崛起,是在8位時(shí)代。8位單片機(jī)功能很強(qiáng),被廣泛應(yīng)用于工業(yè)控制、儀器儀表、家電汽車等領(lǐng)域。
我們?cè)谘芯繂纹瑱C(jī)的時(shí)候,經(jīng)常會(huì)聽到一個(gè)詞——51單片機(jī)。讓我們來了解一下它究竟是什么。
51單片機(jī),其實(shí)就是一系列單片機(jī)的統(tǒng)稱。該系列單片機(jī),兼容Intel 8031指令系統(tǒng)。它們的始祖,是Intel(英特爾)的8004單片機(jī)。
注意,51單片機(jī)并不全是英特爾公司產(chǎn)品。包括ATMEL(艾德梅爾)、Philips(飛利浦)、華邦Dallas(達(dá)拉斯)、Siemens(西門子)、STC(國(guó)產(chǎn)宏晶等公司,也有很多產(chǎn)品屬于51單片機(jī)系列。
ATMEL公司的51單片機(jī),AT89C51這是一個(gè)51單片機(jī)的開發(fā)板,中間那個(gè)芯片才是51單片機(jī)
51單片機(jī)曾經(jīng)在很長(zhǎng)時(shí)間里都是市面上最主流、應(yīng)用最廣泛的單片機(jī),占據(jù)大量的市場(chǎng)份額。
51單片機(jī)其實(shí)放在現(xiàn)在毫無技術(shù)優(yōu)勢(shì),是一種很老的技術(shù)。之所以它的生命力頑強(qiáng),除了它曾經(jīng)很流行之外,還有一個(gè)原因,就是英特爾公司徹底開放了51內(nèi)核的版權(quán)。
所以,無論任何單位或個(gè)人,都可以毫無顧忌地使用51單片機(jī),不用付費(fèi),也不用擔(dān)心版權(quán)風(fēng)險(xiǎn),所以很多學(xué)校也都在用這個(gè)。
此外,51單片機(jī)擁有雄厚的存量基礎(chǔ)和群眾基礎(chǔ)。很多老項(xiàng)目都是用的51單片機(jī),出于成本的考慮,有時(shí)候只能繼續(xù)沿用51單片機(jī)的技術(shù)進(jìn)行升級(jí)。
而且,很多老一輩的工程師,都精通51單片機(jī)開發(fā)技術(shù)。
所以,51單片機(jī)的生命力得以不斷延續(xù)。
02?
什么是嵌入式?
嵌入式系統(tǒng)是一種專用的計(jì)算機(jī)系統(tǒng),作為裝置或設(shè)備的一部分。通常,嵌入式系統(tǒng)是一個(gè)控制程序存儲(chǔ)在ROM中的嵌入式處理器控制板。
事實(shí)上,所有帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個(gè)程序?qū)崿F(xiàn)整個(gè)控制邏輯。
從應(yīng)用對(duì)象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機(jī)械等附屬裝置。國(guó)內(nèi)普遍認(rèn)同的嵌入式系統(tǒng)定義為:
以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
嵌入式系統(tǒng)具體應(yīng)用于哪些“專用”方向呢?
舉例如下:
辦公自動(dòng)化:打印機(jī),復(fù)印機(jī)、傳真機(jī)
軍事及航天類產(chǎn)品:無人機(jī)、雷達(dá)、作戰(zhàn)機(jī)器人
家電類產(chǎn)品:數(shù)字電視、掃地機(jī)器人、智能家電
醫(yī)療電子類產(chǎn)品:生化分析儀血液分析儀、CT
汽車電子類產(chǎn)品:引擎控制、安全系統(tǒng)、汽車導(dǎo)航與娛樂系統(tǒng)
網(wǎng)絡(luò)通信類產(chǎn)品:通信類交換設(shè)備、網(wǎng)絡(luò)設(shè)備 (交換機(jī)、路由器、網(wǎng)絡(luò)安全)
通信與娛樂:手機(jī)、數(shù)碼相機(jī)、音樂播放器、可穿戴電子產(chǎn)品、PSP游戲機(jī)
工業(yè)控制類產(chǎn)品:工控機(jī)交互式終端 (POS、ATM)、安全監(jiān)控、數(shù)據(jù)采集與傳輸、儀器儀表
上述這些領(lǐng)域,都使用了嵌入式系統(tǒng)。這還只是冰山一角。
可以說,嵌入式系統(tǒng)完完全全地融入了我們,時(shí)刻影響著我們的工作和生活。
嵌入式系統(tǒng),既然是一個(gè)計(jì)算機(jī)系統(tǒng),那么肯定離不開硬件和軟件。
一個(gè)嵌入式系統(tǒng)的典型架構(gòu)如下:
這里最重要的就是嵌入式操作系統(tǒng)和嵌入式微處理器。
從硬件角度來看,嵌入式系統(tǒng)就是以處理器(CPU)為核心,依靠總線(Bus)進(jìn)行連接的多模塊系統(tǒng):
其實(shí)大家不難看出和個(gè)人PC是一樣的方式。
單片機(jī)是有清晰定義的,就是單個(gè)片(chip)上的計(jì)算機(jī)系統(tǒng)。而不同的單片機(jī)雖然配置不同,性能不同,廠家不同,甚至指令集和開發(fā)方式不同,但是都是在一個(gè)片上的完整的計(jì)算機(jī)系統(tǒng),這個(gè)定義不會(huì)錯(cuò)。
而嵌入式就是個(gè)不清晰的定義了,并沒有非常明確的關(guān)于“嵌入式”這個(gè)詞的定義。他也不像單片機(jī)一樣,是個(gè)確定的“物”的名字。
03?
單片機(jī)是不是嵌入式?
那么單片機(jī)到底是不是嵌入式呢?
簡(jiǎn)單來說:是。
因?yàn)楹芏嗲度胧疆a(chǎn)品中被嵌入的計(jì)算機(jī)系統(tǒng)就是單片機(jī),譬如空調(diào)中嵌入的控制板其實(shí)核心就是個(gè)單片機(jī)。實(shí)際上大部分家電產(chǎn)品中嵌入的計(jì)算機(jī)系統(tǒng)都是單片機(jī)。
因?yàn)閱纹瑱C(jī)足夠簡(jiǎn)單便宜而且夠用,所以使用單片機(jī)是最劃算最適合的。
而單片機(jī)現(xiàn)在出貨量最大的領(lǐng)域也就是家電產(chǎn)品了,當(dāng)然未來IOT類的應(yīng)用會(huì)越來越多,會(huì)成為單片機(jī)的很大的增量市場(chǎng)。
04?
廣義和狹義的嵌入式
嵌入式這個(gè)概念實(shí)際上很泛化,現(xiàn)在講嵌入式這個(gè)詞的人,可能想表達(dá)的意思并不相同。咱們上面講的嵌入式的概念是嵌入式本來的定義,也就是所謂廣義上的嵌入式。
而狹義的嵌入式,其實(shí)是“嵌入式linux系統(tǒng)”的簡(jiǎn)稱。
這種狹義的嵌入式最初指的是運(yùn)行了linux系統(tǒng)的嵌入式計(jì)算機(jī)系統(tǒng)。后來也包括運(yùn)行了和linux同級(jí)別的其他嵌入式系統(tǒng)(譬如WinCE、Vxworks、Android等)的計(jì)算機(jī)。
看過上面的介紹之后你就知道到底單片機(jī)是不是嵌入式了,其實(shí)這兩者之間的聯(lián)系有很深,總之,不管你是準(zhǔn)備學(xué)習(xí)嵌入式或是單片機(jī),都要自己想好了再做決定。
05?
嵌入式和單片機(jī)的區(qū)別
說到這里,我們來看看,嵌入式和單片機(jī)的區(qū)別到底是什么。
從前文的介紹來看,嵌入式系統(tǒng)是一個(gè)大類,單片機(jī)是其中一個(gè)重要的子類。嵌式系統(tǒng)像是一個(gè)完整的計(jì)算機(jī),而單片機(jī)更像是一個(gè)沒有外設(shè)的計(jì)算機(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í)時(shí)操作系統(tǒng),例如ucos、華為LiteOS、RT-Thread、freertos等)的system,叫做單片機(jī)(如STM32、NXP LPC系列、NXP imxRT1052系列等)。
同時(shí),把芯片自帶MMU可以支持虛擬地址,能夠跑Linux、Vxworks、WinCE、Android這樣的“高級(jí)”操作系統(tǒng)的system,叫做嵌入式。
在某些時(shí)候,單片機(jī)本身已經(jīng)足夠強(qiáng)大,可以作為嵌入式系統(tǒng)使用。它的成本更低,開發(fā)和維護(hù)的難度相對(duì)較小,尤其是針對(duì)一些針對(duì)性更強(qiáng)的應(yīng)用。而嵌入式系統(tǒng)理論上性能更強(qiáng),應(yīng)用更廣泛,但復(fù)雜度高,開發(fā)難度大。
06?
我們?yōu)槭裁匆獙W(xué)習(xí)嵌入式和單片機(jī)
今天我也只是給大家簡(jiǎn)單地介紹了一下單片機(jī)和嵌入式以及他們之間的關(guān)系和區(qū)別,雖然嵌入式系統(tǒng)已經(jīng)有30多年的歷史,但其實(shí)一直隱藏在背后的,自從物聯(lián)網(wǎng)上升為國(guó)家戰(zhàn)略后,嵌入式系統(tǒng)也漸漸從后臺(tái)走到前臺(tái)。
嵌入式和單片機(jī)并不是純“硬件”類方向。如果你想學(xué)好嵌入式和單片機(jī),只懂數(shù)字電路和微機(jī)接口這樣的硬件知識(shí)是不夠的,你更需要學(xué)習(xí)的,是匯編、C/C++語言、數(shù)據(jù)結(jié)構(gòu)和算法知識(shí)。擁有軟硬結(jié)合的能力,遠(yuǎn)遠(yuǎn)比單純掌握某種程序開發(fā)語言更有價(jià)值。
其次,嵌入式和單片機(jī)擁有廣泛的應(yīng)用場(chǎng)景,在各個(gè)領(lǐng)域都有項(xiàng)目需求和人才需求。而且我們國(guó)家現(xiàn)在正在大力發(fā)展芯片產(chǎn)業(yè),也會(huì)帶動(dòng)嵌入式人才的就業(yè),提升待遇。
隨著5G建設(shè)的深入,整個(gè)社會(huì)正在向“萬物互聯(lián)”的方向變革。
物聯(lián)網(wǎng)技術(shù)也將迎來前所未有的歷史機(jī)遇。嵌入式和單片機(jī)技術(shù)是物聯(lián)網(wǎng)技術(shù)的重要組成部分,也將進(jìn)入快速發(fā)展的時(shí)代。
技術(shù)越難,過程越苦,越有利于構(gòu)建競(jìng)爭(zhēng)壁壘。大學(xué)里很多同學(xué)都熱衷于學(xué)習(xí)各種編程語言,往往忽視了這一塊,可以說在嵌入式開發(fā)這一塊的人才我們國(guó)家還是比較欠缺的。因此,我覺得大家非常值得投入時(shí)間去學(xué)習(xí)嵌入式開發(fā)的技能。?
編輯:黃飛
評(píng)論
查看更多