MCU 微控制器的架構(gòu)和來(lái)源(結(jié)合B站視頻配合生動(dòng)的動(dòng)畫(huà)一起學(xué)習(xí),效率會(huì)更好盗忱!
請(qǐng)結(jié)合B站上的視頻一起學(xué)習(xí)
內(nèi)核:
算術(shù)和邏輯單元以及控制單元扇谣,程序指令由程序員編寫(xiě)的算法處理。
存儲(chǔ)器:FLASH(閃存)闲昭、SRAM
在這個(gè)微控制器中罐寨,我們?yōu)槌绦蚝蛿?shù)據(jù)提供單獨(dú)的存儲(chǔ)器。 這被稱(chēng)為Harvard結(jié)構(gòu)汤纸。
程序在FLASH(閃存)中衩茸,我們從USB中知道FLASCH存儲(chǔ)器,數(shù)據(jù)在SRAM中處理主存儲(chǔ)器贮泞,它們共同構(gòu)成了微控制器的存儲(chǔ)器楞慈。
SPI: 編程接口
為了能夠?qū)@些小型計(jì)算機(jī)進(jìn)行編程,我們需要一個(gè)合適的接口啃擦。
FLASH已編程囊蓝,我們有一個(gè)Flash編程邏輯。
編程接口現(xiàn)在也稱(chēng)為ISP接口令蛉。
ISP代表系統(tǒng)內(nèi)編程
這意味著控制器不必從系統(tǒng)中取出以將其放入編程設(shè)備中聚霜,它可以在目標(biāo)系統(tǒng)中編程(在系統(tǒng)編程)。
GPIO:通用輸入輸出模塊的縮寫(xiě)
GPIO它被稱(chēng)為早期的數(shù)字端口珠叔。
這些實(shí)際是Input和Output引腳蝎宇,可以讀取數(shù)字信號(hào)和執(zhí)行器,例如LED打開(kāi)和關(guān)閉祷安。當(dāng)然這種微控制器還應(yīng)該與其他系統(tǒng)通信姥芥,例如PC,傳感器或其他微控制器汇鞭。
UART和I2C 通信接口
通用串行接口很常見(jiàn)凉唐,我們稱(chēng)之為UART,Phillips 的I2C接口在微控制器中也很常見(jiàn)霍骄。
在微控制器中這些通信接口永遠(yuǎn)不夠台囱。
Timer 計(jì)時(shí)器、定時(shí)器
定時(shí)器對(duì)于編程嵌入式系統(tǒng)的時(shí)序非常重要读整,這些定時(shí)器通常是非常智能的構(gòu)建塊簿训,可以使用它處理很多事情。我們將它稱(chēng)為計(jì)數(shù)器的計(jì)時(shí)器。
ADC模擬數(shù)字轉(zhuǎn)換器
在現(xiàn)代微控制器中强品,我們不僅可以處理簡(jiǎn)單的ON和OFF數(shù)據(jù)豺总,即數(shù)字?jǐn)?shù)據(jù),還可以處理所謂的模擬數(shù)據(jù)择懂。
在這里,我們看到兩個(gè)用于處理模擬信號(hào)的構(gòu)建模塊另玖,即模擬數(shù)字轉(zhuǎn)換器ADC和模擬比較器困曙。
EEPROM(電可擦除可編程只讀存儲(chǔ)器)
其工作方式類(lèi)似于PC中的硬盤(pán)驅(qū)動(dòng)器,用于存儲(chǔ)應(yīng)保存數(shù)據(jù)即使在系統(tǒng)關(guān)閉時(shí)谦去。CAN 現(xiàn)場(chǎng)總線
用于構(gòu)建多個(gè)微控制器的小型網(wǎng)絡(luò)慷丽,可以分發(fā)復(fù)雜的任務(wù)。
IoT物聯(lián)網(wǎng)
以太網(wǎng)接口鳄哭,連接到互聯(lián)網(wǎng)來(lái)顯示要糊。 IoT物聯(lián)網(wǎng)是常見(jiàn)的任務(wù),但是微控制器其實(shí)更多妆丘。
視頻字幕也是重點(diǎn)
大家好锄俄,今天我想向大家介紹一下微控制器的架構(gòu)。
像我們平時(shí)熟悉的電腦 放在桌子上勺拣,筆記本放在膝蓋上奶赠,手機(jī)放在口袋里。 都是帶鍵盤(pán)和鼠標(biāo)或高分辨率觸摸屏药有。今天想談?wù)摰木褪堑挠?jì)算機(jī)的另一面毅戈。
我們現(xiàn)在看一下這種“普通”計(jì)算機(jī)的內(nèi)部結(jié)構(gòu),在這里通撤叨瑁看到一個(gè)大的外殼苇经,里面的組件用很多電纜線相互連接,在插槽中宦言。
除了實(shí)際的處理器之外扇单,還包括當(dāng)前正在處理的當(dāng)前程序和數(shù)據(jù)存儲(chǔ)器,以及可以在更長(zhǎng)時(shí)間內(nèi)存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器蜡励。 此外還有用于各種外部組件的輸入和輸出設(shè)備令花,例如鍵盤(pán)或鼠標(biāo)。
當(dāng)我們將正常運(yùn)行的計(jì)算機(jī)的所有部件都縮小時(shí)凉倚,就是單片機(jī)兼都,今天稱(chēng)之為微控制器。 現(xiàn)在所講的嵌入式系統(tǒng)也都是由這些微控制器組成的稽寒。
這種小型計(jì)算機(jī)(微控制器)根據(jù)制造商的不同都具有自己的內(nèi)部結(jié)構(gòu)扮碧。 這就是我們所說(shuō)的架構(gòu)。 它們有點(diǎn)相似但不一樣。 最重要的架構(gòu)特征是處理寬度(16bit,32bit…)慎王。 對(duì)于非常簡(jiǎn)單的任務(wù)蚓土,可以用小型4位微控制器,也可以用到8位控制器赖淤,最多16位和當(dāng)前的32位架構(gòu)蜀漆。 對(duì)于特殊應(yīng)用功能,也可以是64位或更多咱旱。
這樣的微控制器實(shí)際上與所示圖片一樣小确丢,或稍大一些。 這里我們看到一個(gè)典型的8位微控制器架構(gòu)吐限。 讓我們進(jìn)去仔細(xì)看看.........
這就是所謂的核心 內(nèi)核鲜侥,算術(shù)和邏輯單元以及控制單元,程序指令由程序員編寫(xiě)的算法處理诸典。
下一個(gè)重要元素是程序和數(shù)據(jù)的存儲(chǔ)器描函,在這個(gè)微控制器中,我們?yōu)槌绦蚝蛿?shù)據(jù)提供單獨(dú)的存儲(chǔ)器狐粱。 這被稱(chēng)為Harvard結(jié)構(gòu)舀寓。程序在FLASH(閃存)中,我們從USB中知道FLASCH存儲(chǔ)器肌蜻,數(shù)據(jù)在SRAM中處理主存儲(chǔ)器基公,它們共同構(gòu)成了微控制器的存儲(chǔ)器。
為了能夠?qū)@些小型計(jì)算機(jī)進(jìn)行編程宋欺,我們需要一個(gè)合適的接口轰豆。 FLASH已編程,我們有一個(gè)Flash編程邏輯齿诞。 編程接口現(xiàn)在也稱(chēng)為ISP接口酸休。 ISP代表系統(tǒng)內(nèi)編程。 這意味著控制器不必從系統(tǒng)中取出以將其放入編程設(shè)備中祷杈,它可以在目標(biāo)系統(tǒng)中編程(在系統(tǒng)編程)斑司。
這個(gè)構(gòu)建塊稱(chēng)為GPIO,它被稱(chēng)為早期的數(shù)字端口但汞。 這些實(shí)際是INPUT和OUTPUT引腳宿刮,因此可以讀取數(shù)字信號(hào)和執(zhí)行器,例如LED打開(kāi)和關(guān)閉私蕾。
GPIO是通用輸入輸出模塊的縮寫(xiě)僵缺。
當(dāng)然這種微控制器還應(yīng)該與其他系統(tǒng)通信,例如PC踩叭,傳感器或其他微控制器磕潮。
還有通信接口翠胰,通用串行接口很常見(jiàn),我們稱(chēng)之為UART自脯,Phillips 的I2C接口在微控制器中也很常見(jiàn)之景。在微控制器中這些通信接口永遠(yuǎn)不夠。
再講另一個(gè)構(gòu)建塊膏潮,計(jì)時(shí)器锻狗,同樣也是永遠(yuǎn)都不夠。 定時(shí)器對(duì)于編程嵌入式系統(tǒng)的時(shí)序非常重要焕参,這些定時(shí)器通常是非常智能的構(gòu)建塊屋谭,可以使用它處理很多事情。
我們將它稱(chēng)為計(jì)數(shù)器的計(jì)時(shí)器龟糕。
在現(xiàn)代微控制器中,我們不僅可以處理簡(jiǎn)單的ON和OFF數(shù)據(jù)悔耘,即數(shù)字?jǐn)?shù)據(jù)讲岁,還可以處理所謂的模擬數(shù)據(jù)。 在這里衬以,我們看到兩個(gè)用于處理模擬信號(hào)的構(gòu)建模塊缓艳,即模擬數(shù)字轉(zhuǎn)換器ADC和模擬比較器。
這些通常是快速和智能的組件看峻,對(duì)于許多應(yīng)用阶淘,非常重要。
我們剛剛簡(jiǎn)要地介紹了現(xiàn)在典型微控制器的所有內(nèi)容互妓。 我再列出一下......核心溪窒,閃存,SRAM冯勉,ISP澈蚌,GPIO,UART灼狰,I2C宛瞄,定時(shí)器,ADC交胚,比較器等...... 根據(jù)任務(wù)的復(fù)雜程度份汗,微控制器有不同的設(shè)備級(jí)別,因此可以包含額外的附加組件蝴簇,例如此處所示的CAN接口杯活,用于構(gòu)建多個(gè)微控制器的小型網(wǎng)絡(luò),或者此處顯示的EEPROM(電可擦除可編程只讀存儲(chǔ)器)熬词,其工作方式類(lèi)似于PC中的硬盤(pán)驅(qū)動(dòng)器轩猩,用于存儲(chǔ)應(yīng)保存數(shù)據(jù)即使在系統(tǒng)關(guān)閉時(shí)。 還有一個(gè)重要的點(diǎn)以太網(wǎng)接口,連接到互聯(lián)網(wǎng)來(lái)顯示均践。 物聯(lián)網(wǎng)是常見(jiàn)的任務(wù)晤锹,但是微控制器其實(shí)更多。
現(xiàn)在讓我們一起來(lái)看看不同的架構(gòu)彤委。 這里我們看到了現(xiàn)代ARM 32位架構(gòu)以及8051/52 8位架構(gòu)的舊行業(yè)標(biāo)準(zhǔn)鞭铆。
如果我們放大這兩種架構(gòu),我們會(huì)清楚的看到老式和現(xiàn)代微控制器之間的明顯區(qū)別焦影。 左上方的舊IO端口與右側(cè)的現(xiàn)代IO端口之間的內(nèi)部結(jié)構(gòu)塊的數(shù)量表明车遂,能明顯看出在過(guò)去的幾十年中發(fā)生了很多變化。
再讓我們仔細(xì)看看其他的構(gòu)建模塊斯辰。
這是一個(gè)非常簡(jiǎn)單的ADC和稍微現(xiàn)代的版本之間的比較舶担,但這也不是一個(gè)很高端ADC。
正如我們今天講的所有微控制器一樣彬呻,這是非常原始的定時(shí)器和普通定時(shí)器之間的區(qū)別衣陶。 現(xiàn)在的定時(shí)器更要復(fù)雜。
此處顯示的SiSy項(xiàng)目也可以在LibStore中找到闸氮。 每個(gè)SiSy用戶都可以深入了解各種微控制器架構(gòu)并對(duì)其進(jìn)行詳細(xì)研究剪况。
我們剛剛快速的了解了各種微控制器架構(gòu)。 以后還會(huì)學(xué)習(xí)到如何編程微控制器的構(gòu)建模塊∑芽纾現(xiàn)在要說(shuō)再見(jiàn)了译断,祝大家在微控制器中找到學(xué)習(xí)樂(lè)趣。