51單片機與STM32單片機架構的區別

  咱們先普及一個概念,單片機(即Microcontroller Unit;MCU) 裏面有什麼。一我的最重要的是大腦,身體的各個部分都在大腦的指揮下工做。MCU跟人體很像,簡單來講是由一個最重要的內核加其餘外設組成,內核就至關於人的大腦,外設就如人體的各個功能器官。下面咱們來簡單介紹下51單片機和STM32單片機的結構。編程

1. 51系統結構

 

 

 

 

51系統結構框圖學習

  咱們說的51通常是指51系列的單片機,型號有不少,常見的有STC89C5一、AT89S51,其中國內用的最多的是STC89C51/2,下面咱們就以STC89C51來說解,並以51簡稱。優化

1. 內核

  51單片機由一個IP核和片上外設組成,IP核就是上圖中的CPU,片上外設就是上圖中的:時鐘電路、SFR和RAM、ROM、定時/計數器、並行I/O口、串行I/O口、中斷系統。IP核跟外設之間由系統總線鏈接,且是8bit的,速度有限。spa

  51內核是上個世紀70年代Intel公司設計的,速度只有12M,外設是IC廠商(STC)在內核的基礎上添加的,不一樣的IC廠商會在內核上添加不一樣的外設,從而設計出各具特點的單片機。這裏Intel屬於IP核廠商,STC屬於IC廠商。咱們後面要講的STM32也同樣,ARM屬於IP核廠商,ARM給ST受權,ST公司在Cortex-M3內核的基礎上設計出STM32單片機。設計

2. 外設

  咱們在學習51的時候,關於內核部分接觸的比較少,使用的最多的是片上外設,咱們在編程的時候操做的也就是這些外設。調試

編程的時候操做的寄存器位於SFR和RAM這個部分,其中SFR(特殊功能寄存器)佔有 128字節(實際上只用了 26 個字節,只有 26 個寄存器,其餘都屬於保留區),RAM佔有 128 字節,咱們在程序中定義的變量就是放在RAM中。其中SFR和RAM在地址上是重合的,都是在80~FF地址區間,但在物理區間上是分開的,因此51的RAM是有256個字節。blog

  編寫好的程序是燒寫到ROM區。剩下的外設都是咱們很是熟悉的IO口,串口、定時器、中斷這幾個外設。接口

2. STM32系統結構

 

 

 

 

 

STM32系統結構框圖內存

 

 

1. 內核

 

  在系統結構上,STM32和51都屬於單片機,都是由內核和片上外設組成。只是STM32使用的Cortex-M3內核比51複雜得多,優秀得多,支持的外設也比51多得多,同時總線寬度也上升到32bit,不管速度、功耗、外設都強於51。it

 

  從結構框圖上看,對比51內核只有一種總線,取指和取數共用。Cortex-M3內部有若干個總線接口,以使CM3能同時取址和訪內(訪問內存),它們是:

 

  指令存儲區總線(兩條)、系統總線、私有外設總線。有兩條代碼存儲區總線負責對代碼存儲區(即FLASH外設)的訪問,分別是I-Code總線和D-Code總線。

I-Code用於取指,D-Code用於查表等操做,它們按最佳執行速度進行優化。

 

系統總線(System)用於訪問內存和外設,覆蓋的區域包括SRAM,片上外設,片外RAM,片外擴展設備,以及系統級存儲區的部分空間。

 

私有外設總線負責一部分私有外設的訪問,主要就是訪問調試組件。它們也在系統級存儲區。

 

還有一個DMA總線,從字面上看,DMA是data memory access的意思,是一種鏈接內核和外設的橋樑,它能夠訪問外設、內存,傳輸不受CPU的控制,而且是雙向通訊。簡而言之,這個傢伙就是一個速度很快的且不受老大控制的數據搬運工,這個在51裏面是沒有的。

 

2. 外設

 

從結構框圖上看, STM32比51的外設多得多,51有的串口、定時器、IO口等外設 STM32 都有。STM32還多了不少特點外設:如FSMC、SDIO、SPI、I2C等,這些外設按照速度的不一樣,分別掛載到AHB、APB二、APB1這三條總線上。

相關文章
相關標籤/搜索