第 1 章
微電腦系統概論
1-1 微電腦系統單元 1-2 微電腦系統架構
1-3 微控制器(單晶片微電腦)
1-4 類比與數位訊號介面
1-1 微電腦系統單元
• 隨著科技的進步,自動化產品越來越多,已大幅改善人們的生活 品質。
• 自動化的核心是微控制器( micro-controller unit, MC U ),它就像是人的大腦一般,由有經驗的專家設計了它,並準 確有效地擔任人們所賦予的工作而達到自動化目的。
• 微控制器無所不在,舉凡手機、遊戲機、家電(冰箱、冷氣、洗 衣機、攝錄影機等)、健康醫療儀器、電腦及電視周邊、照明節 能、汽車行車電腦、交通號誌控制等,皆可看到微控制器的蹤跡
。
• 本章透過介紹傳統的微電腦系統五大單元,了解微控制器的內部 概況,並透過各種微控制器家族的介紹,了解本書學習之
1-1 微電腦系統單元
微電腦是由硬體( hardware )和軟體( software )所組成:
• 硬體是指有形的機器
。
• 軟體則指用來控制微電腦工作的指令和程式。
本節先針對微電腦的硬體結構加以介紹。
• 微電腦的硬體結構包括了五個主要單元( unit ),分別是輸入 單元、輸出單元、記憶單元、算術邏輯單元和控制單元,其中算 術邏輯單元和控制單元又可合併成為一個單元,稱為中央處理單 元( central processing unit ),就是所稱的 CPU ,這 五個單元的關係如圖 1-1 所示。
1-1 微電腦系統單元
1-1 微電腦系統單元
CPU 是微電腦最重要的部分,它就像是人類的大腦一般,控制 著各個單元的運作。以下簡介各單元的功用。
1. 輸入單元( input unit, IU )
輸入單元的工作是將外來的資訊送到 CPU 處理或直接存入記 憶單元
• 個人電腦( personal computer , PC )上常用的輸入設 備有讀卡機、磁碟機、鍵盤、光筆、滑鼠和掃描器等
。
• 在實習上常見的輸入元件有指撥開關( DIP Switch )、按 鈕開關、微動開關、極限開關、磁簧開關( Reed Switc h )、鍵盤,還有可感測光(光電晶體)、溫度(溫度感測 器)、濕度(濕度感測器)、聲音(麥克風)、磁場(霍爾 元件)的各種物理量感測器等。
1-1 微電腦系統單元
2. 輸出單元( output unit, OU )
輸出單元負責將 CPU 處理過的資料,以人類或機器可以看懂 的形態輸出或儲存。
• PC 上常用的輸出設備有顯示器( monitor )、列表機
( printer )和繪圖機( plotter )等
。
• 在實習上常見的輸出元件有發光二極體 LED 、液晶顯示器 LCD 、七段顯示器、步進馬達、直流馬達、喇叭、蜂鳴器等
。
3. 記憶單元( memory unit, MU )
記憶單元是用來存放系統運作所需的程式( code )或資料
1-1 微電腦系統單元
4. 算術邏輯單元( arithmetic logic unit, ALU ) 顧名思義,算術邏輯單元可執行算術運算(如加、減、乘
、除等)及邏輯運算(如 AND 、 OR 、 NOT 、 XOR 等),也 可將資料或輸入單元送來的資訊,送到 ALU 以執行各種運算;
在運算完成後,再由控制單元將資料送回記憶單元存放,或直 接送到輸出單元。
5. 控制單元( control unit, CU )
控制單元是微電腦的指揮中心,負責協調和指揮各單元之 間的資料傳送及運作,使得微電腦可以按照人們的要求完成工 作。執行一個程式時,控制單元:
(1) 先從程式讀取第一個指令
。
(2) 加以解碼( decode ),瞭解指令的動作意義
。
(3) 執行( execute )這個指令。
然後再重複讀取下一個指令、解碼、執行,一步一步往下做,
直到程式做完為止。
1-1 微電腦系統單元
• 由上述的五大單元說明可知,一套完整的微電腦系統,需 由許多的控制晶片( chip )或 IC 組成,一般稱這樣的 系統為多晶片微電腦控制系統,主要用來設計較為複雜的 控制系統,例如個人電腦就屬此類型。
• 由於此種系統使用的晶片數眾多、硬體成本高、體積大、
電路除錯( debug )不容易,並不適合簡易的控制系統及
互動裝置,因此就有了單晶片微控制器的需求。
1-2 微電腦系統架構
硬體上,微電腦各單元都是靠排線所組成的匯流排 ( bus ) 做溝通,是 CPU 與各單元、周邊設備溝通不可或缺的管道
,微電腦的匯流排依功能不同分為底下三種:
1. 資料匯流排
( data bus ):
資料匯流排為傳送或接收資料的通道,為雙向,其寬度(資
料匯流排的線數)代表 CPU 一次能處理資料的位元數,一
般稱為字組( word )。所謂的 64 位元個人電腦指的是電
腦的資料匯流排寬度為 64 位元。
1-2 微電腦系統架構
2. 位址匯流排( address bus ):
位址匯流排可決定微電腦可定址的空間大小,為單向。每筆記 憶體都需要有獨一無二的控制位址,才能正確存取,例如 1 條 位址匯流排,接邏輯 0 或 1 時各可存取 1byte 資料,因此 能定址的記憶體大小為 2bytes ,同理, n 條位址匯流排,則 可存取 2n bytes 的記憶體。
3. 控制匯流排( control bus ):
控制匯流排為控制微電腦各大單元,進出微處理機之資料流向 與時序的接腳,例如 CPU 的讀寫 R/W 、中斷 INT 、重置 RESET 、致能腳 E 等。
1-2 微電腦系統架構
圖 1-2 所示為微電腦系統的硬體架構圖,從圖中可看出匯流 排銜接各單元,透過 CPU 發號司令,可有效的存取記憶體資料
,也可控制周邊 I/O 的讀入與輸出控制。
1-2 微電腦系統架構
有三個因素會影響到微電腦系統執行的速度與效能,分別是
:
1.
1.
位元數位元數 : 16 位元的微電腦在處理資料時,可同一時間處 理 2bytes ,而 32 位元可處理 4 bytes ,所以 32 位 元的微電腦比 16 位元的快, 16 位元的微電腦比 8 位 元快。
2.
2.
時脈頻率:執行指令的速度與微電腦時脈產生器的頻率相時脈頻率
關,時脈頻率愈高,指令執行速度愈快,例如 MCS51 時
1-2 微電腦系統架構
3.
3.
指令集架構:微電腦的指令集架構可分為二種指令集架構
• 複雜指令集 CISC ( complex instruction set computer )
• 精簡指令集 RISC ( reduced instruction set computer )
一般而言,指令集愈多則功能愈強,但過多指令集,會因解
碼電路變多(或採用微指令碼設計)而影響效能,也因核
心過大導致 CPU 的時脈頻率不能太高;而 RISC 指令數
少,結構簡單,故速度較快,在體積、造價、功耗、散熱
上都有優勢,缺點是因指令精簡化後造成程式碼變大,需
要較大的程式記憶體空間。
1-2 微電腦系統架構
一般衡量 CPU 速度的計量單位為 MIPS ( millions instructions per second ),是指 CPU 每秒可執行 多少百萬個指令,能執行的指令越多,代表電腦的工作能力 越強。不過 MIPS 並不是固定數值,常會因軟體不同而有 不同,故需在某些固定的環境標準下運作才能採用此指標比 較。
1-3 微控制器(單晶片微電腦)
微控制器( MCU )是將上述五大單元、以及一些周邊電路(定 時 / 計數器、燒錄介面、類比/數位信號轉換)都整合在一塊 晶片上的微型電腦,具有體積小、耗電低、外接少許零件即可 工作的特點,可節約成本,十分適合當作微電腦控制實務、專 題製作課程的主控元件,一般也稱為單晶片微電腦( single- chip microcomputer )。
1-3 微控制器(單晶片微電腦)
微控制器種類繁多,包含
1.歷史悠久, 相容產品眾多且使用廣泛的 MCS51 系列
( 8051 、 89S51 )
2.Microchip 公司的 PIC 系列 3.Atmel 的 AVR 系列
4.盛群半導體的 HT48F/HT16F/HT32F 系列 5.安謀的 ARM
• 註: ARM 稱為進階精簡指令集機器( Advanced RISC Machine ),是一個 32 位元精簡指令集( RISC )的處理 器架構
1-3 微控制器(單晶片微電腦)
6.將 MCU 、 USB 燒錄介面都整合在一塊基板上的微型電腦,
雖然不是晶片型態,但其功能屬性與微控制器相同,故仍歸 類為微控制器,一般稱為單板電腦,像是美國 Parallax 的 BASIC Stamp 、臺灣利基的 BASIC Commander 、義大 利的 Arduino Nano 皆是,其外觀如圖 1-3 所示。
1-3 微控制器(單晶片微電腦)
• 根據處理能力的不同, MCU 可分為 8 位元、 16 位元及 32 位元,其中位元數是指 MCU 資料暫存器的寬度,而 8 位元、 16 位元多應用於家電及一般的控制領域, 32 位元 用於網路操作、多媒體處理、影像辨識處理的場合。
• 另外各開發商 MCU 的輸出入 I/O ( Input/Output )接 腳控制能力、 A/D (類比 / 數位)信號處理能力不同,也 會影響到使用者的系統開發與使用方便性
。
• 表 1-1 為常用 MCU 的比較表,本書以 AVR 為核心的 Arduino 為主。
1-3 微控制器(單晶片微電腦)
1-4 類比與數位訊號介面
微電腦系統是以圖 1-4(b) 數位的方式儲存或運算資料,它 只認識邏輯「 0 」與「 1 」,其訊號變化是非連續性的(不會 隨時間變化而變化的量);但是環顧生活四周,自然界的物理 量例如溫度、壓力、光、熱、重量及電流等都是連續性變化的 量,所有的訊號都是以圖 1-4(a) 類比的方式呈現。
1-4 類比與數位訊號介面
物理量不是微電腦系統能直接使用的資料,所以要使用微電腦 系統處理這些量,除了需要感測器( sensor )感應輸出類比 訊號外,還必須經過類比對數位轉換電路( analog to
digital converter, ADC ),將一連串的類比信號轉換成 數位信號後,微電腦系統才能將資料進行處理或儲存,整個微 電腦物理訊號處理架構圖如圖 1-5 所示。
1-4 類比與數位訊號介面
圖 1-5 所示為一般微電腦進行訊號處理的架構圖,主要分成 輸入、訊號處理、核心及輸出四部分,其中受控體會有回授訊 號接至輸入,形成完整的閉迴路控制。以下針對圖 1-5 中一 些重要的方塊進行說明。
感測器是指能將待測物理量或化學量轉換成電氣訊號的裝置或 元件,有時也稱為感應器、察覺器、傳感器或轉換器,其中轉 換後的電氣訊號可包含是位移變化、電阻變化、電壓變化、電 流變化等,表 1-2 所示為實務上常見的幾種感測器,及其轉 換後電氣訊號型態,無論何種,皆可透過電子電路取得,輸入
1-4 類比與數位訊號介面
1-4 類比與數位訊號介面
放大電路的功能有二個:
1.進行阻抗匹配 2.放大輸出振幅
說明:由於感測器的輸出型態可能是電阻、電壓或電流的變化
,因有些訊號非常微弱,故需要電路進行阻抗匹配,以避免負 載效應,最後透過放大電路增加輸出振幅。
1-4 類比與數位訊號介面
1.簡介: ADC 電路可將放大電路送來的類比訊號,轉換成可 供 MCU 處理的數位訊號, 有些微控制器例如 PIC 、 AVR
、 Arduino 內建 ADC 電路, 使用上非常方便, 至於沒 有內建 ADC 的 MCU ,例如 MCS51 、 BASIC
Stamp 、 BASIC Commander , 則需要外接 ADC 專用 IC
(例如 ADC0804 )。
1-4 類比與數位訊號介面
1-4 類比與數位訊號介面
1-4 類比與數位訊號介面
1-4 類比與數位訊號介面
1-4 類比與數位訊號介面
圖 1-8 所示為不同工作週期的示意圖,紅線代表該波形的平 均值,將工作週期為 25% 的 PWM 波形接至 LED ,則 LED 的亮度會只有全亮時的 1/4 , 同理, 工作週期 50% 接至 LED , LED 呈現半亮狀態; 若將 PWM 接至直流馬達,則可 透過不同的工作週期控制馬達轉速。
1-4 類比與數位訊號介面
受控體是指受控制的設備或物體,例如冷氣、洗衣機,或是一 些簡單的機電元件,例如 LED 、馬達、伺服機、電熱絲等。