我們先普及一個(gè)概念,單片機(jī)(即Microcontroller Unit;MCU)里面有什么。一個(gè)人最重要的是大腦,身體的各個(gè)部分都在大腦的指揮下工作。MCU跟人體很像,簡(jiǎn)單來(lái)說(shuō)是由一個(gè)最重要的內(nèi)核加其他外設(shè)組成,內(nèi)核就相當(dāng)于人的大腦,外設(shè)就如人體的各個(gè)功能器官。下面我們來(lái)簡(jiǎn)單介紹下51單片機(jī)和STM32單片機(jī)的結(jié)構(gòu)。
1. 51系統(tǒng)結(jié)構(gòu)
51系統(tǒng)結(jié)構(gòu)框圖
我們說(shuō)的51一般是指51系列的單片機(jī),型號(hào)有很多,常見的有STC89C51、AT89S51,其中國(guó)內(nèi)用的最多的是STC89C51/2,下面我們就以STC89C51來(lái)講解,并以51簡(jiǎn)稱。
1. 內(nèi)核
51單片機(jī)由一個(gè)IP核和片上外設(shè)組成,IP核就是上圖中的CPU,片上外設(shè)就是上圖中的:時(shí)鐘電路、SFR和RAM、ROM、定時(shí)/計(jì)數(shù)器、并行I/O口、串行I/O口、中斷系統(tǒng)。IP核跟外設(shè)之間由系統(tǒng)總線連接,且是8bit的,速度有限。
51內(nèi)核是上個(gè)世紀(jì)70年代Intel公司設(shè)計(jì)的,速度只有12M,外設(shè)是IC廠商(STC)在內(nèi)核的基礎(chǔ)上添加的,不同的IC廠商會(huì)在內(nèi)核上添加不同的外設(shè),從而設(shè)計(jì)出各具特色的單片機(jī)。這里Intel屬于IP核廠商,STC屬于IC廠商。我們后面要講的STM32也一樣,ARM屬于IP核廠商,ARM給ST授權(quán),ST公司在Cortex-M3內(nèi)核的基礎(chǔ)上設(shè)計(jì)出STM32單片機(jī)。
2. 外設(shè)
我們?cè)趯W(xué)習(xí)51的時(shí)候,關(guān)于內(nèi)核部分接觸的比較少,使用的最多的是片上外設(shè),我們?cè)?a target="_blank">編程的時(shí)候操作的也就是這些外設(shè)。
編程的時(shí)候操作的寄存器位于SFR和RAM這個(gè)部分,其中SFR(特殊功能寄存器)占有 128字節(jié)(實(shí)際上只用了 26 個(gè)字節(jié),只有 26 個(gè)寄存器,其他都屬于保留區(qū)),RAM占有 128 字節(jié),我們?cè)诔绦蛑卸x的變量就是放在RAM中。其中SFR和RAM在地址上是重合的,都是在80~FF地址區(qū)間,但在物理區(qū)間上是分開的,所以51的RAM是有256個(gè)字節(jié)。
編寫好的程序是燒寫到ROM區(qū)。剩下的外設(shè)都是我們非常熟悉的IO口,串口、定時(shí)器、中斷這幾個(gè)外設(shè)。
2. STM32系統(tǒng)結(jié)構(gòu)
STM32系統(tǒng)結(jié)構(gòu)框圖
1. 內(nèi)核
在系統(tǒng)結(jié)構(gòu)上,STM32和51都屬于單片機(jī),都是由內(nèi)核和片上外設(shè)組成。只是STM32使用的Cortex-M3內(nèi)核比51復(fù)雜得多,優(yōu)秀得多,支持的外設(shè)也比51多得多,同時(shí)總線寬度也上升到32bit,無(wú)論速度、功耗、外設(shè)都強(qiáng)于51。
從結(jié)構(gòu)框圖上看,對(duì)比51內(nèi)核只有一種總線,取指和取數(shù)共用。Cortex-M3內(nèi)部有若干個(gè)總線接口,以使CM3能同時(shí)取址和訪內(nèi)(訪問內(nèi)存),它們是:
指令存儲(chǔ)區(qū)總線(兩條)、系統(tǒng)總線、私有外設(shè)總線。有兩條代碼存儲(chǔ)區(qū)總線負(fù)責(zé)對(duì)代碼存儲(chǔ)區(qū)(即FLASH外設(shè))的訪問,分別是I-Code總線和D-Code總線。
I-Code用于取指,D-Code用于查表等操作,它們按最佳執(zhí)行速度進(jìn)行優(yōu)化。
系統(tǒng)總線(System)用于訪問內(nèi)存和外設(shè),覆蓋的區(qū)域包括SRAM,片上外設(shè),片外RAM,片外擴(kuò)展設(shè)備,以及系統(tǒng)級(jí)存儲(chǔ)區(qū)的部分空間。
私有外設(shè)總線負(fù)責(zé)一部分私有外設(shè)的訪問,主要就是訪問調(diào)試組件。它們也在系統(tǒng)級(jí)存儲(chǔ)區(qū)。
還有一個(gè)DMA總線,從字面上看,DMA是data memory access的意思,是一種連接內(nèi)核和外設(shè)的橋梁,它可以訪問外設(shè)、內(nèi)存,傳輸不受CPU的控制,并且是雙向通信。簡(jiǎn)而言之,這個(gè)家伙就是一個(gè)速度很快的且不受老大控制的數(shù)據(jù)搬運(yùn)工,這個(gè)在51里面是沒有的。
2. 外設(shè)
從結(jié)構(gòu)框圖上看, STM32比51的外設(shè)多得多,51有的串口、定時(shí)器、IO口等外設(shè) STM32 都有。STM32還多了很多特色外設(shè):如FSMC、SDIO、SPI、I2C等,這些外設(shè)按照速度的不同,分別掛載到AHB、APB2、APB1這三條總線上。
責(zé)任編輯:lq
-
mcu
+關(guān)注
關(guān)注
146文章
17836瀏覽量
360383 -
STM32
+關(guān)注
關(guān)注
2289文章
11012瀏覽量
362365 -
51單片機(jī)
+關(guān)注
關(guān)注
277文章
5710瀏覽量
126556
原文標(biāo)題:51單片機(jī)與STM32單片機(jī)架構(gòu)的區(qū)別
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
51單片機(jī)中為什么很少出現(xiàn)printf的身影

基于51單片機(jī)的手動(dòng)數(shù)字時(shí)鐘

基于51單片機(jī)的遙控開關(guān)仿真(雙機(jī)通信)

如何實(shí)現(xiàn)51單片機(jī)與PC機(jī)的串行通信
STM32單片機(jī)的特點(diǎn)介紹
51單片機(jī)驅(qū)動(dòng)
51單片機(jī)晶振的問題總結(jié)
stm32單片機(jī)用什么軟件編程
stm32單片機(jī)引腳介紹及功能
stm32和51單片機(jī)的區(qū)別是什么
51單片機(jī)燒錄軟件怎么用
一文讀懂什么單片機(jī):組成結(jié)構(gòu)與應(yīng)用

基于STM32單片機(jī)的智能冰箱控制系統(tǒng)設(shè)計(jì)

評(píng)論