電子產業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 74|回復: 0
收起左側

嵌入式和單片機,這兩者之間是什么關系?

[復制鏈接]

485

主題

485

帖子

1623

積分

三級會員

Rank: 3Rank: 3

積分
1623
跳轉到指定樓層
樓主
發(fā)表于 2024-11-30 17:50:00 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
我是老溫,一名熱愛學習的嵌入式工程師5 r  l* s% o6 ?: ^1 \
關注我,一起變得更加優(yōu)秀!一定有很多人都聽說過嵌入式和單片機,但在剛開始接觸時,不知道大家有沒有聽說過嵌入式就是單片機這樣的說法,其實嵌入式和單片機還是有區(qū)別的。單片機與嵌入式到底有什么關系?$ p' x% C" d5 y2 b
下面我們就來說說嵌入式和單片機之間的聯(lián)系和區(qū)別吧。
" D/ d6 v" m+ [. B8 J0 r: G& u4 S0 t( M% E- _& M
01
: Y6 F) C0 U2 `& T& C  ~# H% c$ N$ f6 q* h/ F+ a
什么是單片機?
: S0 p( e8 c9 M4 w3 C首先,我們來了解一下到底什么是單片機。/ W# {3 e- H' c2 z' t5 K* D
& t) y( s+ k" v, c( T
嵌入式系統(tǒng)的核心是嵌入式處理器。嵌入式處理器一般可以分為以下幾種類型:, C1 j6 l4 I2 O+ `, c/ N

( V9 H. W) u" E! {& ]8 y% Z嵌入式微控制器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)
( Z+ f9 W' l# s/ d) F
4 k- A' s, C6 j4 g8 B4 g
% G( c0 s: o7 {2 Q$ z* ^9 i6 _

/ @4 I% z1 O4 y4 I+ m: V. r( d8 u: O3 O$ ], b
我們的單片機屬于嵌入式微控制器MCU(Micro Control Unit)
& w$ ]4 T" d8 ~1 z/ i1 D
9 X# |0 y/ k( L, m0 O3 b5 E5 p/ nMCU內部集成ROM/RAM、總線邏輯、定時/計數(shù)器、看門狗、I/O、串口、A/D、D/A、FLASH等。典型代表如8051、8096、C8051F等。
) q5 {% C. H" G: p: ^' V9 F
4 j  Y1 J' z3 ^: X7 j7 c7 p單片機就是在一個芯片(Chip)上集成了CPU、SRAM、Flash及其他需要模塊,在一個Chip上實現(xiàn)一個微型計算機系統(tǒng),所以就叫Single Chip Microcomputer,也就是單片機了。* E7 ?% I$ v# r) c6 T* ^3 a
/ G& w* p+ i4 x9 R/ _- E$ @# w
它其實就是一種集成電路芯片,是通過超大規(guī)模集成電路技術,將CPU、RAM、ROM、輸入輸出和中斷系統(tǒng)、定時器/計數(shù)器等功能,塞進一塊硅片上,變成一個超小型的計算機。9 O; K$ z- @  t; R+ j
& A( s) P3 w; x9 X
這么說來,單片機不就是一個嵌入式系統(tǒng)?
( Z) ~4 Q4 h* w# o4 s8 Y8 @% V% a( W# b( ^: E
別急,我們往下看。, m; Y' I3 t! C5 K2 ^0 ?( L0 V

1 X- m# R* d: @' `, b1 Y/ f9 \“單片機”其實是一種古老的叫法。在那個年代半導體工藝還在起步階段,集成能力很差,往往是CPU一個芯片,SRAM一個芯片,F(xiàn)lash一個芯片,需要中斷的話又得有個專門處理中斷的芯片,所以一個完整可用的計算機系統(tǒng)是很多個芯片(Chip)做在一個PCB板上構成的。
! q$ v/ X7 K+ T, I% E! i& J: r. x- A+ F/ B$ a7 R9 t
不同的功能無法做進一個芯片(Chip),所以會有多片機,F(xiàn)在半導體技術早已非常發(fā)達,所以不存在多片機。但是,“單片機”的叫法卻一直延用至今。" ~( P! @) l( [1 Z9 l6 z
+ R7 o# `$ z: p9 I0 `$ i3 r
單片機技術從上世紀70年代末誕生,早期的時候是4位,后來發(fā)展為8位,16位,32位。它真正崛起,是在8位時代。8位單片機功能很強,被廣泛應用于工業(yè)控制、儀器儀表、家電汽車等領域。+ I* }1 k) N/ [! E$ u* D

* E" w* b9 D% b3 X% g! |2 V3 k我們在研究單片機的時候,經(jīng)常會聽到一個詞——51單片機。讓我們來了解一下它究竟是什么。
: }3 [" t/ E- k$ V
0 V5 ^. f) }* V, U! f+ c51單片機,其實就是一系列單片機的統(tǒng)稱。該系列單片機,兼容Intel 8031指令系統(tǒng)。它們的始祖,是Intel(英特爾)的8004單片機。
( i, B9 R: x: n, s- X- i) a& I( c7 q' E1 g# M- t" a
注意,51單片機并不全是英特爾公司產品。包括ATMEL(艾德梅爾)、Philips(飛利浦)、華邦Dallas(達拉斯)、Siemens(西門子)、STC(國產宏晶等公司,也有很多產品屬于51單片機系列。
( G3 b, q( c' y6 e3 ]  p
3 {& ^3 X+ h0 I; Y1 ^ATMEL公司的51單片機,AT89C51這是一個51單片機的開發(fā)板,中間那個芯片才是51單片機9 v& f1 ]5 ]4 J* i7 n% k
8 l3 A- r5 T5 s5 j, ?
51單片機曾經(jīng)在很長時間里都是市面上最主流、應用最廣泛的單片機,占據(jù)大量的市場份額。
6 a- ^2 ~& e* }, A. @2 ^- d1 ?, n6 x# R) t& f
51單片機其實放在現(xiàn)在毫無技術優(yōu)勢,是一種很老的技術。之所以它的生命力頑強,除了它曾經(jīng)很流行之外,還有一個原因,就是英特爾公司徹底開放了51內核的版權。
9 f6 F# ]$ _( E/ I& D1 T
9 I+ ^% G4 ]6 j2 c  }% {0 a所以,無論任何單位或個人,都可以毫無顧忌地使用51單片機,不用付費,也不用擔心版權風險,所以很多學校也都在用這個。8 J& n* b6 g* a  _& x; m
7 E4 B+ }$ G: l& ~2 m
此外,51單片機擁有雄厚的存量基礎和群眾基礎。很多老項目都是用的51單片機,出于成本的考慮,有時候只能繼續(xù)沿用51單片機的技術進行升級。) c! ]% b  L/ @% h$ X9 b

; l! m0 q5 T  k$ n而且,很多老一輩的工程師,都精通51單片機開發(fā)技術。
/ N/ g- `% U  A2 n) d! f3 z+ Q: {
所以,51單片機的生命力得以不斷延續(xù)。! a. E; i) a4 c; N: K! E" Q# Y

8 B# g) I8 h9 P1 b8 c5 h' W. m02
6 s6 W8 a: _1 R& \' r% ]) A3 H
2 X, U2 h3 S+ X; e; v1 m$ i什么是嵌入式?/ `6 i$ D/ J9 O1 K* v
嵌入式系統(tǒng)是一種專用的計算機系統(tǒng),作為裝置或設備的一部分。通常,嵌入式系統(tǒng)是一個控制程序存儲在ROM中的嵌入式處理器控制板。# i9 B5 ?/ B! X+ A9 K
& B6 `+ J2 m) x% @5 z  W
事實上,所有帶有數(shù)字接口的設備,如手表、微波爐、錄像機、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個程序實現(xiàn)整個控制邏輯。8 P0 P( `& k8 c9 K, d7 f

, F/ n! i7 o' g) N5 a  Q, G0 o" d從應用對象上加以定義,嵌入式系統(tǒng)是軟件和硬件的綜合體,還可以涵蓋機械等附屬裝置。國內普遍認同的嵌入式系統(tǒng)定義為:! R* m3 |: h; q6 u% W; s$ C
( `0 @( ?$ I  n2 |. A9 e3 u5 r
以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統(tǒng)。
8 T. \, J! N5 V9 r. f9 B
* p+ E3 I$ m. i嵌入式系統(tǒng)具體應用于哪些“專用”方向呢?5 @' W* e0 \: P, }' t3 e
% j+ l. M4 N1 k. s) {
舉例如下:
* N7 x$ r6 n! u5 l6 B4 \. A3 F* D* b3 b
辦公自動化:打印機,復印機、傳真機
% ^' T% @1 T9 D軍事及航天類產品:無人機、雷達、作戰(zhàn)機器人
. j2 E5 r* a& O$ I家電類產品:數(shù)字電視、掃地機器人、智能家電
) F3 e$ s& r1 D9 O3 C& y醫(yī)療電子類產品:生化分析儀血液分析儀、CT+ V% u0 E- o6 ]) e$ U: Z& O# k+ H
汽車電子類產品:引擎控制、安全系統(tǒng)、汽車導航與娛樂系統(tǒng)4 g4 Z% {6 {' Q3 G3 M) J# H
網(wǎng)絡通信類產品:通信類交換設備、網(wǎng)絡設備 (交換機、路由器、網(wǎng)絡安全)4 z$ J/ S# r7 ^1 t
通信與娛樂:手機、數(shù)碼相機、音樂播放器、可穿戴電子產品、PSP游戲機
) H' P3 Q1 S: |& X0 L工業(yè)控制類產品:工控機交互式終端 (POS、ATM)、安全監(jiān)控、數(shù)據(jù)采集與傳輸、儀器儀表
. N+ q; v7 C& l" E* T; h4 ]3 P: ?$ i

6 ^% N2 P2 p- A1 F  g: {2 H$ p0 H上述這些領域,都使用了嵌入式系統(tǒng)。這還只是冰山一角。( e7 T% h; d! ^8 R& a, J! R

+ ~( p' v' N" L0 u2 I: e可以說,嵌入式系統(tǒng)完完全全地融入了我們,時刻影響著我們的工作和生活。; i% w0 {: H7 g, U  ]

9 d/ i" c" C% h+ w4 N& J/ i% Z  I/ A嵌入式系統(tǒng),既然是一個計算機系統(tǒng),那么肯定離不開硬件和軟件。# h% I2 i9 q5 A- C1 i% ^; S+ W
% s7 p% v9 h% E) _; I
一個嵌入式系統(tǒng)的典型架構如下:3 _* G2 q% e* X! `7 o8 O

0 o! o/ ~( v+ v/ _0 E # |- _4 h; W/ z( p% R
) l- ?: s$ |  {: \8 t0 s; h: q
這里最重要的就是嵌入式操作系統(tǒng)和嵌入式微處理器。
/ e& o+ O- j" c; D% P! A% n% o+ G. x- m% c
從硬件角度來看,嵌入式系統(tǒng)就是以處理器(CPU)為核心,依靠總線(Bus)進行連接的多模塊系統(tǒng):& T; d$ y! {' k6 y' E. i
) P+ d$ j' j1 T9 G8 a& D
4 I5 K: o3 W2 d0 p! i. D, ~7 _

4 `- Y. T: `. K& [8 S0 P其實大家不難看出和個人PC是一樣的方式。
$ O) g: @2 g' m1 C* F# T/ A# E4 o; c( R! }6 t
單片機是有清晰定義的,就是單個片(chip)上的計算機系統(tǒng)。而不同的單片機雖然配置不同,性能不同,廠家不同,甚至指令集和開發(fā)方式不同,但是都是在一個片上的完整的計算機系統(tǒng),這個定義不會錯。
, F3 [/ K# H. e# ^* {0 y
& }3 {! s) H# b. W' u4 @而嵌入式就是個不清晰的定義了,并沒有非常明確的關于“嵌入式”這個詞的定義。他也不像單片機一樣,是個確定的“物”的名字。" j5 n1 C( i  M! V1 I5 N
03 3 c% r9 T2 z9 Y- X* Q  _
5 j" G# |( F2 w0 A3 r0 X* N
單片機是不是嵌入式?
: T& O& f4 R) U8 K6 p: E那么單片機到底是不是嵌入式呢?$ u2 t3 p% h( q& A; v& a1 I! F
6 X3 Z% s% b( C: u
簡單來說:是。8 P# [$ r0 P$ a& M. j" K

0 l6 h8 n) l( n' C  I( r- b! E2 W因為很多嵌入式產品中被嵌入的計算機系統(tǒng)就是單片機,譬如空調中嵌入的控制板其實核心就是個單片機。實際上大部分家電產品中嵌入的計算機系統(tǒng)都是單片機。
1 Z2 h$ a$ _' I7 f2 z2 x" p, }  q9 T  Z
因為單片機足夠簡單便宜而且夠用,所以使用單片機是最劃算最適合的。8 h0 P+ [+ ~5 }8 h1 I

- [5 F# Z( M* r1 z0 V而單片機現(xiàn)在出貨量最大的領域也就是家電產品了,當然未來IOT類的應用會越來越多,會成為單片機的很大的增量市場。/ @  S) N9 V6 @7 O! V  X1 N! ]

  `. S. g3 m  o7 C# g04 : o5 W" z: E" t0 r) G

% T6 u1 K  g6 Q$ Z+ }* }廣義和狹義的嵌入式
9 u; z3 c+ {" `. X# e嵌入式這個概念實際上很泛化,現(xiàn)在講嵌入式這個詞的人,可能想表達的意思并不相同。咱們上面講的嵌入式的概念是嵌入式本來的定義,也就是所謂廣義上的嵌入式。6 ^$ k+ }, k( z5 k  w

  `2 J& h4 N5 i' U: G. V1 J而狹義的嵌入式,其實是“嵌入式linux系統(tǒng)”的簡稱。$ R( Y  c* b0 X; r" Q( u/ ^
/ W, G( l2 a7 P8 D8 o% H- b
這種狹義的嵌入式最初指的是運行了linux系統(tǒng)的嵌入式計算機系統(tǒng)。后來也包括運行了和linux同級別的其他嵌入式系統(tǒng)(譬如WinCE、Vxworks、Android等)的計算機。6 F2 K9 F' `; E; t' k+ x
) h! ^) U4 b% k& B  b
看過上面的介紹之后你就知道到底單片機是不是嵌入式了,其實這兩者之間的聯(lián)系有很深,總之,不管你是準備學習嵌入式或是單片機,都要自己想好了再做決定。
3 u! k5 q  ]3 i7 D3 F+ d$ C/ V6 x4 c
05
5 {4 c* G2 k9 N: L1 D$ B& q1 m: M% D8 Y4 s7 Z8 M% v% P. v; K; m5 ~
嵌入式和單片機的區(qū)別' `, q1 k; \+ Z0 y; j1 A
說到這里,我們來看看,嵌入式和單片機的區(qū)別到底是什么。( m3 w9 P2 n$ T  X

$ r7 l7 J; \' y, K從前文的介紹來看,嵌入式系統(tǒng)是一個大類,單片機是其中一個重要的子類。嵌式系統(tǒng)像是一個完整的計算機,而單片機更像是一個沒有外設的計算機。
$ \. a' C( @# j; K
( G3 K  s( q4 r  q9 e以前單片機包括的東西并不算多,兩者的硬件區(qū)別較為明顯。
+ E% O# K, C5 L2 G' F
" }) |$ d. F5 O$ u% m2 Z% ~  M但是,隨著半導體技術的突飛猛進,現(xiàn)在各種硬件功能都能被做進單片機之中。所以,嵌入式系統(tǒng)和單片機之間的硬件區(qū)別越來越小,分界線也越來越模糊。  v; B! S$ s; f6 Z/ s, ]

# k  r0 M% V0 g于是,人們傾向于在軟件上進行區(qū)分。
7 u# B6 U  T8 A, u
% U1 b! v0 X0 s/ K0 g從軟件上,行業(yè)里經(jīng)常把芯片中不帶MMU(memory management unit,內存管理單元)從而不支持虛擬地址,只能裸奔或運行RTOS(實時操作系統(tǒng),例如ucos、華為LiteOS、RT-Thread、freertos等)的system,叫做單片機(如STM32、NXP LPC系列、NXP imxRT1052系列等)。
# \- d2 D* S% }4 S! i8 ~  L$ g2 m" l3 a$ S3 q+ Y
同時,把芯片自帶MMU可以支持虛擬地址,能夠跑Linux、Vxworks、WinCE、Android這樣的“高級”操作系統(tǒng)的system,叫做嵌入式。7 H" Y/ l! A" Y4 d0 s
8 u6 H# K0 P3 }5 c) c
在某些時候,單片機本身已經(jīng)足夠強大,可以作為嵌入式系統(tǒng)使用。它的成本更低,開發(fā)和維護的難度相對較小,尤其是針對一些針對性更強的應用。而嵌入式系統(tǒng)理論上性能更強,應用更廣泛,但復雜度高,開發(fā)難度大。( w; v- b; m( B$ \

* I! z# l7 x1 W$ l. Q% m06 $ g, b3 i+ i0 ~/ S+ S* _
$ T( d# T( `6 t* _; U0 a
我們?yōu)槭裁匆獙W習嵌入式和單片機
8 y9 s- d7 \: D今天我也只是給大家簡單地介紹了一下單片機和嵌入式以及他們之間的關系和區(qū)別,雖然嵌入式系統(tǒng)已經(jīng)有30多年的歷史,但其實一直隱藏在背后的,自從物聯(lián)網(wǎng)上升為國家戰(zhàn)略后,嵌入式系統(tǒng)也漸漸從后臺走到前臺。
. @( q  E1 X5 V) }: c& u# `. K) G" \- h
嵌入式和單片機并不是純“硬件”類方向。如果你想學好嵌入式和單片機,只懂數(shù)字電路和微機接口這樣的硬件知識是不夠的,你更需要學習的,是匯編、C/C++語言、數(shù)據(jù)結構和算法知識。擁有軟硬結合的能力,遠遠比單純掌握某種程序開發(fā)語言更有價值。
( S" F$ E- n5 p3 r5 j6 L6 J9 O) l) P. X, v2 g7 w
其次,嵌入式和單片機擁有廣泛的應用場景,在各個領域都有項目需求和人才需求。而且我們國家現(xiàn)在正在大力發(fā)展芯片產業(yè),也會帶動嵌入式人才的就業(yè),提升待遇。' D( `2 ~& m" k/ z5 \
, {' O3 S& a" G. a$ q
隨著5G建設的深入,整個社會正在向“萬物互聯(lián)”的方向變革。
+ \1 d: a4 }7 j9 @' V
" c3 {+ Y- q: l+ Y5 \6 R9 ~物聯(lián)網(wǎng)技術也將迎來前所未有的歷史機遇。嵌入式和單片機技術是物聯(lián)網(wǎng)技術的重要組成部分,也將進入快速發(fā)展的時代。
' w' `3 x/ p- r0 q" _) V
) ~$ N* R% @/ F6 P技術越難,過程越苦,越有利于構建競爭壁壘。大學里很多同學都熱衷于學習各種編程語言,往往忽視了這一塊,可以說在嵌入式開發(fā)這一塊的人才我們國家還是比較欠缺的。因此,我覺得大家非常值得投入時間去學習嵌入式開發(fā)的技能。原文:https://www.zhihu.com/question/315310041/answer/2179945564& Y; o  [! U+ `
-END-# O3 M- I9 F7 X: y4 ?7 d5 \" y
往期推薦:點擊圖片即可跳轉閱讀
  h5 @0 x, ^9 E+ Y, w8 z2 P4 N6 e; \  k% F. ^6 y- Y, h8 m
                                                        ( o" u, i3 A; l: n5 U1 e
                                                               
. t0 u# n9 T  [5 u4 z                                                                        8 x7 g9 u( t! D$ z" ~
                                                                                & G9 {/ Y( x$ O7 V/ G, Y1 k( Z

4 M4 `1 [) l4 y0 _                                                                                3 o/ E: s5 j' v! ^7 X+ \, l
                                                                                        嵌入式軟件調試,如何計算任務的運行周期?' @- t# F: b0 c$ [
                                                                                / s8 Y9 k5 I  I0 c! q8 w) \" t
                                                                       
5 s/ \: l. Y; O                                                                : L+ W, B& D8 {* g( n) N* M
                                                       
/ o+ W/ P7 e% w- V1 R                                                8 v# n% E+ {# N
1 e& r3 f$ n6 C7 W( J) [6 T& a+ ?
                                                        3 C/ r7 O& w  H6 ]0 ^4 y
                                                               
- D+ J/ @6 u5 M$ `9 s1 Q9 l                                                                       
' O: ~9 `( D) a; I3 ]5 y                                                                                : U" p& a3 ?# H6 I) H: B

9 L6 B% y, U) E  ^9 G* W( P6 S7 Q) A9 H4 e                                                                                / p3 P5 M9 o8 z6 j
                                                                                        嵌入式軟件,如何把編譯時間加入到bin文件,進行版本管理?& W1 g6 w8 G4 S$ v* ^5 B' D
                                                                                / ]  D$ u5 D( I% X
                                                                        * G) S+ {  R! L' {0 o1 o# Z+ _4 U
                                                                8 _9 B: s  k& r0 m% }! K
                                                       
7 ^0 M7 ]' o4 q7 K8 f2 B( ?                                                ( ^3 l2 {7 U! }0 t; K

* ]  ^( ^. K! ^6 z- Y2 \                                                       
6 d$ O8 j) i8 q, M2 x2 h                                                               
* _' ?- w8 P( D3 J                                                                       
, j8 ?- @  q: P7 t  ~% y                                                                                3 \+ \% P  z: h% J+ n5 p$ L

$ L. e* j) s. {, h                                                                                2 |$ h4 C& [. C" u
                                                                                        嵌入式初學者入門后,應該如何開始進階學習?
! Z5 _  A& R) O                                                                                2 C% k# j5 O$ {. `& b3 J
                                                                       
! f1 T( v0 O; V# o& ~0 w( z. P                                                                % k, j3 s5 Q( Q
                                                       
, K& r% D7 @- W" W- \, w6 T* {                                               
, n9 w3 N4 N' V' f6 o4 k, z/ o' W我是老溫,一名熱愛學習的嵌入式工程師6 S0 v& K. r7 g7 A+ @7 N4 s8 w
關注我,一起變得更加優(yōu)秀!
. F  \, ?# p4 _7 _/ A' @! [% g% o
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表