通俗講解單片機、ARM、MUC、DSP、FPGA、嵌入式錯綜複雜的關係!

首先,「嵌入式」這是個概念,準確的定義沒有,各個書上都有各自的定義。可是主要思想是同樣的,就是相比較PC機這種通用系統來講,嵌入式系統是個專用系統,結構精簡,在硬件和軟件上都只保留須要的部分,而將不須要的部分裁去。因此嵌入式系統通常都具備便攜、低功耗、性能單一等特性。php

而後,MCU、DSP、FPGA這些都屬於嵌入式系統的範疇,是爲了實現某一目的而使用的工具。html

MCU俗稱」單片機「通過這麼多年的發展,早已不僅僅只有普林斯頓結構的51了,性能也已獲得了很大的提高。由於MCU必須順序執行程序,因此適於作控制,較多地應用於工業。而ARM本是一家專門設計MCU的公司,因爲技術先進加上策略得當,這兩年單片機市場份額佔有率巨大。ARM的單片機有不少種類,從低端M0(小家電)到高端A八、A9(手機、平板電腦)都很吃香,因此也不是ARM的單片機必定要上系統,關鍵看應用場合。算法

DSP叫作數字信號處理器,它的結構與MCU不一樣,加快了運算速度,突出了運算能力。能夠把它當作一個超級快的MCU。低端的DSP,如C2000系列,主要是用在電機控制上,不過TI公司好像稱其爲DSC(數字信號控制器)一個介於MCU和DSP之間的東西。高端的DSP,如C5000/C6000系列,通常都是作視頻圖像處理和通訊設備這些須要大量運算的地方。編程

FPGA叫作現場可編程邏輯陣列,自己沒有什麼功能,就像一張白紙,想要它有什麼功能徹底靠編程人員設計(它的全部過程都是硬件,包括VHDL和Verilog HDL程序設計也是硬件範疇,通常稱之爲編寫「邏輯」。)。若是你夠NB,你能夠把它變成MCU,也能夠變成DSP。因爲MCU和DSP的內部結構都是設計好的,因此只能經過軟件編程來進行順序處理,而FPGA則能夠並行處理和順序處理,因此比較而言速度最快。less

那麼爲何MCU、DSP和FPGA會同時存在呢?那是由於MCU、DSP的內部結構都是由IC設計人員精心設計的,在完成相同功能時功耗和價錢都比FPGA要低的多。並且FPGA的開發自己就比較複雜,完成相同功能耗費的人力財力也要多。因此三者之間各有各的長處,各有各的用武之地。可是目前三者之間已經有融合的態勢,ARM的M4系列裏多加了一個精簡的DSP核,TI的達芬奇系列自己就是ARM+DSP結構,ALTERA和XINLIX新推出的FPGA都包含了ARM的核在裏面。因此三者之間的關係是愈來愈像三基色的三個圓了。異步

一言以蔽之「你中有我,我中有你」。工具

硬件工程師學習從何開始?佈局

單片機:一般無操做系統,用於簡單的控制,如電梯,空調等。性能

dsp:用於複雜的計算,像離散餘弦變換、快速傅里葉變換,經常使用於圖像處理,在數碼相機等設備中使用。學習

arm:一個英國的芯片設計公司,可是不生產芯片。只賣知識產權。

fpga:現場可編程門陣列,以硬件描述語言(Verilog 或 VHDL)所完成的電路設計,能夠通過簡單的綜合與佈局,快速的燒錄至 FPGA 上進行測試,是現代 IC 設計驗證的技術主流。

嵌入式 是相對於臺式電腦而言,系統可裁剪,形態萬千,可能體積、功耗、成本受限、實時性要求高,如示波器,手機,平板電腦,全自動洗衣機,路由器、數碼相機,這些設備中,雖然看不到臺式機的存在,可是都有一個或多個嵌入式系統在工做。

根據對象體系的功能複雜性和計算處理複雜性,提供的不一樣選擇。對於簡單的家電控制嵌入式系統,採用簡單的8位單片機就足夠了,價廉物美,對於手機和遊戲機等,就必須採用32位的ARM和DSP等芯片了。FPGA是一種更偏向硬件的實現方式。

因此要經過學習成爲硬件工程師,要從單片機開始,而後學習ARM和DSP之類。

市面上七大主流單片機的詳細介紹

單片機如今可謂是鋪天蓋地,種類繁多,讓開發者們目不暇接,發展也是至關的迅速,從上世紀80年代,由當時的4位8位發展到如今的各類高速單片機。

各個廠商們也在速度、內存、功能上此起彼伏,良莠不齊~~同時涌現出一大批擁有表明性單片機的廠商:Atmel、TI、ST、MicroChip、ARM…國內的宏晶STC單片機也是可圈可點…

下面爲你們帶來5一、MSP430、TMS、STM3二、PIC、AVR、STC單片機之間的優缺點比較及功能體現……

51單片機

                                

應用最普遍的8位單片機固然也是初學者們最容易上手學習的單片機,最先由Intel推出,因爲其典型的結構和完善的總線專用寄存器的集中管理,衆多的邏輯位操做功能及面向控制的豐富的指令系統,堪稱爲一代「經典」,爲之後的其它單片機的發展奠基了基礎。

51單片機之因此成爲經典,成爲易上手的單片機主要有如下特色:

特性:

1.從內部的硬件到軟件有一套完整的按位操做系統,稱做位處理器,處理對象不是字或字節而是位。嵌入式物聯網等系統學習企鵝意義氣嗚嗚吧久零就易,不但能對片內某些特殊功能寄存器的某位進行處理,如傳送、置位、清零、測試等,還能進行位的邏輯運算,其功能十分完備,使用起來駕輕就熟。

2. 同時在片內RAM區間還特別開闢了一個雙重功能的地址區間,使用極爲靈活,這一功能無疑給使用者提供了極大的方便,

3. 乘法和除法指令,這給編程也帶來了便利。不少的八位單片機都不具有乘法功能,做乘法時還得編上一段子程序調用,十分不便。

缺點:(雖然是經典可是缺點仍是很明顯的)

1.AD、EEPROM等功能須要靠擴展,增長了硬件和軟件負擔

2. 雖然I/O腳使用簡單,但高電平時無輸出能力,這也是51系列單片機的最大軟肋

3. 運行速度過慢,特別是雙數據指針,如能改進能給編程帶來很大的便利

4.51保護能力不好,很容易燒壞芯片

應用範圍:

目前在教學場合和對性能要求不高的場合大量被採用

使用最多的器件:805一、80C51

MSP430單片機

MSP430系列單片機是德州儀器1996年開始推向市場的一種16位超低功耗的混合信號處理器,給人們留下的最大的亮點是低功耗並且速度快,彙編語言用起來很靈活,尋址方式不少,指令不多,容易上手。主要是因爲其針對實際應用需求,把許多模擬電路、數字電路和微處理器集成在一個芯片上,以提供「單片」解決方案。其迅速發展和應用範圍的不斷擴大,主要取決於如下的特色…

特性:

1.強大的處理能力,採用了精簡指令集(RISC)結構,具備豐富的尋址方式( 7 種源操做數尋址、 4 種目的操做數尋址)、簡潔的 27 條內核指令以及大量的模擬指令;大量的寄存器以及片內數據存儲器均可參加多種運算;還有高效的查表處理指令;有較高的處理速度,在 8MHz 晶體驅動下指令週期爲 125 ns 。這些特色保證了可編制出高效率的源程序

2.在運算速度方面,能在 8MHz 晶體的驅動下,實現 125ns 的指令週期。 16 位的數據寬度、 125ns 的指令週期以及多功能的硬件乘法器(能實現乘加)相配合,能實現數字信號處理的某些算法(如 FFT 等)

3.超低功耗方面,MSP430 單片機之因此有超低的功耗,是由於其在下降芯片的電源電壓及靈活而可控的運行時鐘方面都有其獨到之處。電源電壓採用的是 1.8~3.6V 電壓。於是可以使其在 1MHz 的時鐘條件下運行時, 芯片的電流會在 200~400uA 左右,時鐘關斷模式的最低功耗只有 0.1uA

缺點:

1.我的感受不容易上手,不適合初學者入門,資料也比較少,只能跑官網去找

2.佔的指令空間較大,由於是16位單片機,程序以字爲單位,有的指令居然佔6個字節。雖然程序表面上簡潔, 但與pic單片機比較空間佔用很大

應用範圍:

在低功耗及超低功耗的工業場合應用的比較多

使用最多的器件:MSP430F系列、MSP430G2系列、MSP430L09系列

TMS單片機

這裏也提一下TMS系列單片機,雖不算主流。由TI推出的8位CMOS單片機,具備多種存儲模式、多種外圍接口模式,適用於複雜的實時控制場合。雖然沒STM32那麼優秀,也沒MSP430那麼張揚,可是TMS370C系列單片機提供了經過整合先進的外圍功能模塊及各類芯片的內存配置,具備高性價比的實時系統控制。同時採用高性能硅柵CMOS EPROM和EEPROM技術實現。低工做功耗CMOS技術,寬工做溫度範圍,噪聲抑制,再加上高性能和豐富的片上外設功能,使TMS370C系列單片機在汽車電子,工業電機控制,電腦,通訊和消費類具備必定的應用。

STM32單片機

由ST廠商推出的STM32系列單片機,行業的朋友都知道,這是一款性價比超高的系列單片機,應該沒有之一,功能及其強大。其基於專爲要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M內核,同時具備一流的外設:1μs的雙12位ADC,4兆位/秒的UART,18兆位/秒的SPI等等,在功耗和集成度方面也有不俗的表現,固然和MSP430的功耗比起來是稍微遜色的一些,但這並不影響工程師們對它的熱捧程度,因爲其簡單的結構和易用的工具再配合其強大的功能在行業中赫赫有名…其強大的功能主要表如今:

特性:

1.內核:ARM32位Cortex-M3CPU,最高工做頻率72MHz,1.25DMIPS/MHz,單週期乘法和硬件除法

2.存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器

3.時鐘、復位和電源管理:2.0-3.6V的電源供電和I/O接口的驅動電壓。POR、PDR和可編程的電壓探測器(PVD)。4-16MHz的晶振。內嵌出廠前調校的8MHz RC振盪電路。內部40 kHz的RC振盪電路。用於CPU時鐘的PLL。帶校準用於RTC的32kHz的晶振

四、調試模式:串行調試(SWD)和JTAG接口。最多高達112個的快速I/O端口、最多多達11個定時器、最多多達13個通訊接口

使用最多的器件:STM32F103系列、STM32 L1系列、STM32W系列

PIC單片機

PIC單片機系列是美國微芯公司(Microship)的產品,共分三個級別,即基本級、中級、高級,是當前市場份額增加最快的單片機之一,CPU採用RISC結構,分別有3三、3五、58條指令,屬精簡指令集,同時採用Harvard雙總線結構,運行速度快,它能使程序存儲器的訪問和數據存儲器的訪問並行處理,這種指令流水線結構,在一個週期內完成兩部分工做,一是執行指令,二是從程序存儲器取出下一條指令,這樣總的看來每條指令只需一個週期,這也是高效率運行的緣由之一,此外PIC單片機之因此成爲一時很是熱的單片機不外乎如下特色:

特色:

1.具備低工做電壓、低功耗、驅動能力強等特色。PIC系列單片機的I/O口是雙向的,其輸出電路爲CMOS互補推輓輸出電路。I/O腳增長了用於設置輸入或輸出狀態的方向寄存器,從而解決了51系列I/O腳爲高電平時同爲輸入和輸出的狀態。

2.當置位1時爲輸入狀態,且無論該腳呈高電平或低電平,對外均呈高阻狀態;置位0時爲輸出狀態,無論該腳爲什麼種電平,均呈低阻狀態,有至關的驅動能力,低電平吸入電流達25mA,高電平輸出電流可達20mA。相對於51系列而言,這是一個很大的優勢

3.它能夠直接驅動數碼管顯示且外電路簡單。它的A/D爲10位,能知足精度要求。具備在線調試及編程(ISP)功能。

不足之處:

其專用寄存器(SFR)並不像51系列那樣都集中在一個固定的地址區間內(80~FFH),而是分散在四個地址區間內。只有5個專用寄存器PCL、STATUS、FSR、PCLATH、INTCON在4個存儲體內同時出現,可是在編程過程當中,少不了要與專用寄存器打交道,得反覆地選擇對應的存儲體,也即對狀態寄存器STATUS的第6位(RP1)和第5位(RP0)置位或清零。數據的傳送和邏輯運算基本上都得經過工做寄存器W(至關於51系列的累加器A)來進行,而51系列的還能夠經過寄存器相互之間直接傳送,於是PIC單片機的瓶頸現象比51系列還要嚴重,這在編程中的朋友應該深有體會

使用最多的器件:PIC16F87三、PIC16F877

AVR單片機

AVR單片機是Atmel公司推出的較爲新穎的單片機,其顯著的特色爲高性能、高速度、低功耗。它取消機器週期,以時鐘週期爲指令週期,實行流水做業。AVR單片機指令以字爲單位,且大部分指令都爲單週期指令。而單週期既可執行本指令功能,同時完成下一條指令的讀取。一般時鐘頻率用4~8MHz,故最短指令執行時間爲250~125ns。AVR單片機能成爲最近還是比較火熱的單片機,主要的特色:

特色:

1.AVR系列沒有相似累加器A的結構,它主要是經過R16~R31寄存器來實現A的功能。在AVR中,沒有像51系列的數據指針DPTR,而是由X(由R2六、R27組成)、Y(由R2八、R29組成)、Z(由R30、R31組成)三個16位的寄存器來完成數據指針的功能(至關於有三組DPTR),並且還能做後增量或先減量等的運行,而在51系列中,全部的邏輯運算都必須在A中進行;而AVR卻能夠在任兩個寄存器之間進行,省去了在A中的來回折騰,這些都比51系列出色些

2.AVR的專用寄存器集中在00~3F地址區間,無需像PIC那樣得先進行選存儲體的過程,使用起來比PIC方便。AVR的片內RAM的地址區間爲0~00DF(AT90S2313) 和0060~025F(AT90S851五、AT90S8535),它們佔用的是數據空間的地址,這些片內RAM僅僅是用來存儲數據的,一般不具有通用寄存器的功能。當程序複雜時,通用寄存器R0~R31就顯得不夠用;而51系列的通用寄存器多達128個(爲AVR的4倍),編程時就不會有這種感受。

3.AVR的I/O腳相似PIC,它也有用來控制輸入或輸出的方向寄存器,在輸出狀態下,高電平輸出的電流在10mA左右,低電平吸入電流20mA。這點雖不如PIC,但比51系列仍是要優秀的…

缺點:

1.是沒有位操做,都是以字節形式來控制和判斷相關寄存器位的

2.C語言與51的C語言在寫法上存在很大的差別,這讓從開始學習51單片機的朋友很不習慣

3.通用寄存器一共32個(R0~R31),前16個寄存器(R0~R15)都不能直接與當即數打交道,於是通用性有所降低。而在51系列中,它全部的通用寄存器(地址00~7FH)都可以直接與當即數打交道,顯然要優於前者。

使用最多的器件:ATUC64L3U、ATxmega64A1U、AT90S8515

STC單片機

說到STC單片機有人會說到,STC也能算主流,估計要被噴了~~咱們基於它是國內還算是比較不錯的單片機來講。STC單片機是宏晶生產的單時鐘/機器週期的單片機,說白了STC單片機是51與AVR的結合體,有人說AVR是51的替代單片機,可是AVR單片機在位控制和C語言寫法上存在很大的差別。而STC單片機洽洽結合了51和AVR的優勢,雖然功能不及AVR那麼強大,可是在AVR能找到的功能,在STC上基本都有,同時STC單片機是51內核,這給以51單片機爲基礎的工程師們提供了極大的方便,省去了學習AVR的時間,同時也不失AVR的各類功能…

STC單片機是高速、低功耗、超強抗干擾的新一代8051單片機51單片機,指令代碼徹底兼容傳統8051,但速度快8~12倍,內部集成MAX810專用復位電路。4路PWM 8路高速10位A、D轉換,針對電機電機 的供應商控制,強幹擾場合,成爲繼51單片機後一個全新系列單片機…

特性:

1.下載燒錄程序用串口方便好用,容易上手,擁有大量的學習資料及視頻,最著名的要屬於杜老師的那個視頻了,好多對單片機有興趣的朋友都是經過這個視頻入門的,同時具備寬電壓:5.5~3.8V,2.4~3.8V, 低功耗設計:空閒模式,掉電模式(可由外部中斷喚醒)

2.STC單片機具備在應用編程,調試起來比較方便;帶有10位AD、內部EEPROM、可在1T/機器週期下工做,速度是傳統51單片機的8~12倍,價格也較便宜

3.4 通道捕獲/比較單元,STC12C2052AD系列爲2通道,也可用來再實現4個定時器或4個外部中斷,2個硬件16位定時器,兼容普通8051的定時器。4路PCA還可再實現4個定時器,具備硬件看門狗、高速SPI通訊端口、全雙工異步串行口,兼容普通8051的串口,同時還具備先進的指令集結構,兼容普通8051指令集

PS:STC單片機功能雖不及AVR、STM32強大,價格也不及51和ST32便宜,可是這些並並不重要,重要的是這屬於國產單片機比較出色的單片機,希望國產單片機能一路長虹…

使用最多的器件:STC12C2052AD

相關文章
相關標籤/搜索