微控制器

Download Report

Transcript 微控制器

CH.2 Introduction to
Microprocessor-Based Control
2.1 微處理器系統硬體簡介
Microprocessor
微處理器(CPU)
Microcontroller
微控制器
•
•
•
1.
2.
3.
4.
5.
Microprocessor (CPU) : 數位 IC 晶片
IC: Integrated Circuit
數位控制優勢
數位信號可遠距傳輸 不產生誤差
可執行複雜計算&實施複雜控制策略(軟體)
具長期記憶能力
變動控制策略 僅需更動軟體 無需變動硬體
可連線網路 執行遠端控制或無人控制
Microcontroller 硬體架構
• 數位信號
5 Vdc = logic 1; 0 Vdc = logic 0
• Byte = 8 bits
Words = 8 bits; 16 bits; 32 bits
• LSB: Least Significant Bit
MSB: Most Significant Bit
• 11111111 = 255 decimal
MSB
LSB
• ALU (arithmetic logic unit)
執行算數運算(+;-)
邏輯運算(AND;OR)
• Control section: 執行軟體指令、處理data flow
e.g. 讀input data;
hand data to ALU for processing
• 記憶體
each byte (8 bits) 均被付予 位址(address)
• Addressable Memory:
RAM: 可被讀、寫至任意位址
關機 資料被清除洗掉
ROM: 可被讀取、無法寫入
關機 資料被保存
製造商寫入資料
• EPROM: Erasable Programmable ROM
可被讀、寫,但由特殊設備執行
• I/O : 連接PC及外界的裝置 (circuit)
I/O具位址, CPU視其為 memory location;
I/O 接到CPU的位址指令, I/O成通路, 信號可
input/output; I/O 自動關閉。
• Address bus
單向傳送位址指令;由CPU → memory & I/O
• Data bus (雙向傳輸信號)
信號輸入: 經data bus 由I/O至CPU ;
信號儲存: 經data bus, CPU 先送記憶體的位址
打開記憶單元, 再送 data 到記憶單元儲存;
• Control bus
供CPU傳送指令
• Registers:
含 Accumulator & Program counter
• 指令分類:
1.移動data; 2.執行數學或邏輯運算;
3.控制 program flow, 如jump forward
• Accumulator功能: data 進 CPU 第一站
(data holding register)
data 離 CPU 最後一站
ALU數學運算結果亦存於此
• Program counter功能:
Special address-storage register; 特殊的位址儲存區
用於追蹤指令執行的進程(於軟體中);
(永遠儲存下一個執行指令的位址)
軟體存在於記憶體中;
一經起動, 指令執行完全自動化;
指令的執行, 是一連串的
fetch-execute cycle。
(取-執行)
2.2
微處理器軟體執行案例說明
•軟體 Run
•Program counter → 取入00(第一條指令之位址)
•微處理器由00位址的記憶體 取得第一條指令DB;
Program counter →取入01 (第二條指令之位址)
• 執行第一條指令DB 。
DB (1 byte long): input data from a port
•微處理器由01位址的記憶體 取得第二條指令 01;
Program counter → 取入02 (第三條指令之位址)
• 執行第二條指令01 。
01 (1 byte long): port to read from
•微處理器由02位址的記憶體 取得第三條指令 3C;
Program counter → 取入03 (第四條指令之位址)
•執行第三條指令3C 。
3C: accumulator值送至ALU 加1後再回存accumulator
•微處理器由03位址的記憶體 取得第四條指令 D3;
Program counter → 取入04 (第五條指令之位址)
• 執行第四條指令D3 。
D3 (1 byte long): send data to output port
•微處理器由04位址的記憶體 取得第五條指令 O2;
Program counter → 取入05 (第六條指令之位址)
•執行第五條指令O2 。
O2: output port, accumulator值送至port 02
•微處理器由05位址的記憶體 取得第六條指令 76;
Program counter → 取入06 (第七條指令之位
址)
• 執行第六條指令76 。
76 (1 byte long): Halt,微處理器停止操作。
2.3 微控制器的I/O介面
2.3 並列埠介面 (parallel interface)
 8位元並列介面 : 使用八條線同時傳送8
位元資料。data bus與外界的溝通介面。
(對ON-OFF裝置,並列介面是輸入輸出的理想介面)
 每1位元信號被稱為1個邏輯變數 (logic
variable);8位元並列埠、提供八個
logic variable。
 e.g. Limit switch 用1 input bit;
控制一 ON-OFF 馬達用1 output bit.
8位元DAC (Digital-to-Analog Converter)
output信號由I/O出電腦前 需先經DAC轉換
Vout 
輸入  Vref
256
輸入: binary input (decimal value)
範例2.2
一個8位元DAC之Vref 為10 V,二進位輸入是
10011011,求類比輸出電壓。
解:
二進位輸入10011011的十進位值為155,應用式
可計算出類比輸出電壓:
Vout 
輸入  Vref
256
155  10 V

 6.05 V
256
16- pin DIP
150 ns 轉換速度
P31
ADC 類比數位轉換器(analog-to-digital converter)
 將類比電壓轉換成數位字組的電路。
須介於 0 –Vref 間
輸出
Vin
255

( 對 8 位元 )
Vref
輸出: binary output
範例2.4
一個8位元ADC的Vref 是7 Vdc,類比輸入是2.5
Vdc。ADC二進位輸出碼是多少?
解:
一個8位元字組,當 Vin  Vref 時,其最大十進位
的輸出值是255,所以,類比輸入電壓7 Vdc可
轉換成255 ( 十進位 )。使用輸入 / 輸出資料的
關係,可得一個比值,然後,使用來求此特定
輸入2.5 Vdc的輸出:
輸出
Vin
255

7 Vdc
100 us 轉換速度
較DAC0808 慢700倍
20- pin DIP
P34
轉速控制
logic 1 CW
Logic 0 CCW
P35
串列介面 (serial interface)
•傳送一連串單一位元資料。
•只需“資料”和“返回 (return) ”
兩條線。
•能運用現有的電話系統傳送資料。
 電腦內,資料以並列型式出現
 UART (universal asynchronous receiver transmitter)
並列資料←→串列資料 轉換
•圖2.11 非同步串列資料的標準格式。
一個開始位元(start bit),然後資
料,然後一個偵錯位元(parity) ,及一個停
止位元。
 標準的位元傳輸速率:
300 bps ( 每秒位元數 ),1200 bps、2400 bps、9600 bps、
14,400 bps、28,800bps、33,600 bps 、57,600 bps。
串列傳輸介面 (RS-232 標準)
分為資料終端裝備(DTE: data terminal equipment)
和資料通訊裝備 (DCE: data communication),
DTE通常是電腦,而DCE通常是modem
圖2.12,RS-232 介面有七條訊號線
接腳2 送串列資料,接腳3 接收資料,接腳4 要
求傳送 (request to send)資料、接腳5 清除傳送
(clear to send)資料等。
網路 (Networking)遠端控制
區域網路 (LAN: local area network)最常被用
2.4
控制程式的規畫
2.5 微控制器 (單晶片微電腦 )
特別為控制運用所設計。包括一個微處理器,
記憶體 (RAM及ROM),輸入 / 輸出埠,及其它獨
特的特色元件。
Motorola 68HC1l (8位元微控制器)
Intel 8051 (8位元微控制器)
Microchip Technology PIC 16C72 (8位元)
Parallax Inc. BASIC Stamp

Motorola 68HC1l (8位元微控制器): 有256K
RAM,8K ROM,512K EPROM ( 如圖2.15(a))。
它同時也有五個8位元的埠且具有內建的序列資
料傳輸和ADC功能。
Intel 8051
Microchip Technology PIC 16C72
Parallax Inc. BASIC Stamp (微控制器)
單板電腦 (single-board computer)
Zilog Z80,Intel 8085或8088,Motorola 68000
同時包含ADC、DAC
可程式邏輯控制器(PLC, programmable logic controller)
 執行程序控制。
能直接與系統元件相接,如開關、繼電器、小型
馬達和指示燈等。
個人電腦控制系統 (價格便宜)
個人電腦具有四到八個擴充槽 (expansion slot),
擴充卡 (expansion card) 插入槽內,連結電腦和
外面世界。
總結
 微控制器廣泛應用的數位控制元件。
微控制器的三項基本單元:(1) CPU ( 微
處理器 ) ;(2) 記憶體; (3) 輸入 / 輸出。
資料傳輸介面有二種:並列和串列。串列
資料傳輸距離較長。
 須使用類比、數位信號介面;ADC ( 類
比數位轉換器 ) 或DAC ( 數位類比轉換器 ) 。
總結 (續2)
以微處理器為基礎架構的控制器:
微控制器,全部都在單一IC上;
單板電腦,組合於單一印刷電路板上;
個人電腦,利用擴充介面卡,將個人電
腦變成一個控制器;
可程式邏輯控制器。