單片機和ARM有什麼區別?
比如51和AVR單片機只能跑單一程序,邏輯很簡單,AVR只不過比51多些資源,比如引腳數量、定時器、中斷數量,以及時鐘快了一些而已。ARM從使用者的角度講就是智能手機裡的CPU,硬件上比51和AVR強大太多,強大到能跑操作系統,比如為了運行多任務得有地址映射硬件吧等等。本質上都是數字電路,硬件資源和硬件功能的高低強弱決定了各自的用途。
實際上兩者沒什麼關係...
1.先解釋一下嵌入式...嵌入式就是對下控制設備...對上提供接口...簡而言之就是在設備外面包了一層...和設備做到一起成為一個整體...再提供一個接口...這個就叫嵌入式...小到單片機鉑電阻查表測溫對上提供一個接口取當前溫度...大到FPGA飛行姿態控制...這裡就要提一個毀三觀的東西...ATM...沒錯...intel i7一樣可以做嵌入式系統...只要對下控制...對上提供接口即可...
2.實際上大部分嵌入式的功能都很簡單...遠遠不需要i7...有的還對體積有苛刻的要求...所以為了滿足體積功耗等一系列要求...有的CPU廠商把內存硬盤CPU聲卡顯卡做到一個芯片裡了...就叫單片機...一個芯片麼...毀三觀的i7單片機目前沒有...有奔騰單片機...有需求intel也會生產的...單片機也不都是弱雞...當年風靡中國的性能處理器三星2440就有單片機版2450...
3.ARM是ARM公司推出的ARM構架開源處理器方案...以前型號特別亂...什麼ARM7是ARMv5...ARM9是ARMv6...當然現在更亂...現在只需要知道他有兩個系列CortexA和cortexM...cortexR可以不用管...CortexA多用於手機電視盒跑安卓和linux很少有單片機...CortexM幾乎都是單片機......A和M的區別是MMU...有了這個...程序多開就方便...多核亂序也容易...性能高但問題就是延遲大...當然這個延遲人類感覺不出來...所以A適合於高延遲高密度計算...M適合於低延遲低密度計算...一般都是工控...高延遲是多高?1ms...也就是心跳tick...這個延遲人類感覺不出來...對汽車飛機之類的高速物體則很難接受...需要注意的是486沒有mmu...奔騰有...所以一些飛機上的控制芯片用的是486...
arm和單片機的區別:
單片機不需要外置flash和RAM,程序可以直接運行在內置flash中,但也可以接。所謂的ARM基本上是指應用處理器(因為ARM公司的cortex m系列也是單片機範疇),必須外接RAM和Flash。因為應用處理器運行速度非常快,程序如果運行在內部flash會嚴重拖累速度,所以需要運行在更快的RAM中,往往應用處理器都需要跑大操作系統,程序也很大,所以需要用外置flash和RAM。
至於其它外設,單片機和應用處理器差不多,定時器,串口,I2c等等,甚至液晶屏接口,以太網,USB等等也都有。
簡單一句話,單片機就是集成了幾乎所有必要外設的處理器,只需要很簡單的外圍電路就能運行。而ARM(特指應用處理器)需要配套一系列很複雜的外圍電路和芯片才能運行。
單片機的字面意義就是單芯片微型計算機,是把處理器,存儲器和必要的外部設備集成在一塊半導體芯片上構成的一個微型計算機系統。單片機在實際應用中多用於控制,所以稱為微控制器(Microcontroller Unit, MCU)更合適。
單片機中處理器通常只包含一箇中央處理器(CPU)即可滿足需求。一些高性能或有特別需求的單片機還可能包含數字信號處理器(DSP)或其它處理器核。
單片機的存儲器包括只讀存儲器ROM和隨機存儲器RAM。ROM現在基本用的都是閃存(FLASH),許多單片機都提供了擦寫FLASH的方法,供用戶在程序中使用,FLASH已不再是傳統意義中的ROM了,而更像是單片機的“固態硬盤”。
單片機的外部設備通常有定時器(timer,T,TIM),串行通信口(UART),數模轉換器(ADC)和模數轉換器(DAC),脈寬調製器(PWM)……等許多,是根據需要定製在芯片中的。畢竟外設的種類太多,而芯片面積有限,且出於成本考慮也不可能把所有的外設都集成到芯片中,而通常只將最常用的外設集於其上。外設中最常用的是定時器,幾乎所有單片機都有。其次是串口(UART),相當多的單片機都有。一些更通用的單片機還會集成更多的設備或接口,比如集成電路內部通信接口(Ⅰ2C),同步串行口(SPⅠ)等。而用於電機類控制的單片機都有ADC和PWM。更高性能或特定需求的單片機還會有視頻接口,液晶接口並集成了相應的處理器或控制器。當然,高性能,更通用也會帶來高成本。所以選用單片機應根據需求綜合考慮,而不可貪多求全。
ARM的英文全稱是Advanced RISC Machines,即先進精簡指令集處理器,是英國Acom計算機有限公司設計的一系列大名鼎鼎的微處理器的通稱。因為業界都叫慣了ARM,所以這一系列微處理器都叫ARM處理器,而它的設計公司大家都叫ARM公司,它的本名知道的反而少了。
ARM公司本身並不生產微處理器,它只是將它設計的處理器以ⅠP核(也就是設計圖,文檔等知識產權)的形式授權給眾多的半導體廠商如英特爾,意法半導體,三星等生產,半導體廠商根據需求和各自的優勢等,集成相關的內存,外設等必要部件,生產出單片機或其它芯片進行銷售。而ARM從中提取一定的授權費用養活和發展公司。
所以,確切地說,ARM跟單片機沒有直接的關係。在單片機領域內,它只是一類單片機中包含的一種優秀的微處理器核。
單片機是具有CPU,RAM,ROM,BUS等部分的芯片其中有一部分是採用ARM內核的,而採用ARM內核的不僅僅是有單片機,有可能是我們手機的CPU等
可以說這是兩種不同概念的東西
單片機,把ram,rom,內核,io等外圍設備集中在一個芯片。arm只是一種內核,光一個內核是無法構成單片機的,還要芯片廠商基於內核設計出自己的單片機。現在使用的單片機內核部分是arm,當然移動設備中的主控制芯片大都是arm,但由於速度快,不叫單片機,叫處理器了
首先,arm是一個體系,根據問題推測這裡的arm應該是指arm芯片
其次,arm芯片也分為很多系列,m系列的應該就是一種單片機,而a系列的,應該劃分到微處理器的行列
m系列arm內核的芯片,都集成了adc,usart,iic,can,pwm等外設,與內核一起構成了一個單片機,而a系列的,一般都只有串口這樣的外設,但是多出來了顯示控制邏輯和網絡模塊以及內存控制模塊,為跑操作系統提供支持
所以,結論是,arm芯片中,有單片機,也有微處理器。
不知道能否解答你的疑問