中文 | English

硬知識時間:何謂「微控制器」

來來來!各位照過來、照過來~

今天我們來討論個「硬」體「知識」吧!只要有在追蹤 vMaker 的應該對於「微控制器」這個詞不陌生。但這個「微控制器」到底是個什麼東西呢?

基本上,所謂的「微控制器」不過就是一台微小的電腦。但這個電腦到底是多微、多小、才符合微小的定義呢?要理解這個,我們要對硬體有更深一層理解才行;先來講講大家提到微控制器時最常說的 Arduino 好了。首先我必須說,咳,嚴格來說, Arduino 並不算是個微控制器,它是一個橫跨軟硬體的方案1

我們就舉個例來說好了,像是 Arduino(公司)生產的 Arduino Uno 就不是一個微控制器,它是一個上面裝著 Atmel 的 ATmega328P 微控制器的開發版,而 ATmega328P 的本體則長得像這樣:

ATMEGA328P-PU

如果身為一個初學者,從別人手上拿了個 Atmel 做的微控制器,你大概也做不了什麼(光是要把微控制器接上電腦就不簡單了);但是只要把微控制放到開發版上就不一樣了,你瞬間可以獲得為它供電、上傳程式以及讓它透過 USB 與電腦連接的能力;而以上這一點,各位觀眾們,就是 Arduino 這種方案的目的 —— 讓初學者可以快速上手使用微控制器。

「那樹莓派呢(Raspberry Pi)呢~~~」

Raspberry Pi B+ top

好的,後面那位同學,我聽到你心中的吶喊了。樹莓派的話跟 Arduino 又有點不一樣了,我們會叫樹莓派「單板電腦」( Single Board Computer,簡稱 SBC ),講人話就說在一片板子上已經包含了一台電腦所需的所有零件。廣義來說,筆記型電腦其實也算是一台單板電腦,只是它的效能強大很多,而且還接了螢幕以及電池;而就像筆記型電腦上你會跑 Windows 或者 Mac 的作業系統,在樹莓派上我們也會跑一種叫做 Linux 的作業系統。

Raspbian Desktop GUI

那現在回到剛才在說的微控制器(開發版)的話題,到底微控制器開發版跟單板電腦有什麼不一樣呢?首先,微控制器本身的運算能力其實輸單板電腦滿多的,它們通常只能一直跑同樣的一個程式,這也是為什麼一般 Arduino 程式只有 Setup 跟 Loop 的原因;如果說要跑什麼 Windows 啊或者是 Mac 之類的作業系統,那根本是天方夜譚2

好了,講了那麼多,我們現在可以來說說到底之前說微控制器是一台「微小」的電腦的時候,我們底是什麼意思了。微控制器它除了體積小、運算能力弱之外記憶體也很少,不過,這並不代表它就沒什麼用,這裡我就先賣個關子,敬請期待下一次的硬知識時間~

 

註1:這邊就下一次硬知識時間解釋囉~

註2:也有像是 FreeRTOS 這種專門跑在微控制器上的作業系統,但是跟我們一般所謂的作業系統比起來差很多。

 

參考資料

延伸閱讀

分享到社群

SHY

半途出家踏入資工與資安的領域,發現軟體硬體本一家,又玩起 Arduino 與 Raspberry Pi ,基本上什麼都碰一點,夢想是成為一隻駭客犬。

This site or product includes IP2Location LITE data available from https://lite.ip2location.com.