CH.2 Introduction to Microprocessor-Based Control
2.1 微處理器系統硬體簡介 Microprocessor 微處理器(CPU) Microcontroller 微控制器
Microprocessor (CPU) : 數位 IC 晶片 IC: Integrated Circuit 數位控制優勢 數位信號可遠距傳輸 不產生誤差 可執行複雜計算&實施複雜控制策略(軟體) 具長期記憶能力 變動控制策略 僅需更動軟體 無需變動硬體 可連線網路 執行遠端控制或無人控制
Microcontroller 硬體架構
Words = 8 bits; 16 bits; 32 bits LSB: Least Significant Bit 數位信號 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。 (取-執行)
Program counter → 取入00(第一條指令之位址) 微處理器由00位址的記憶體 取得第一條指令DB; 執行第一條指令DB 。 2.2 微處理器軟體執行案例說明 軟體 Run Program counter → 取入00(第一條指令之位址) 微處理器由00位址的記憶體 取得第一條指令DB; Program counter →取入01 (第二條指令之位址) 執行第一條指令DB 。 DB (1 byte long): input data from a port
01 (1 byte long): port to read from 微處理器由02位址的記憶體 取得第三條指令 3C; 微處理器由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; 執行第四條指令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
76 (1 byte long): Halt,微處理器停止操作。 微處理器由05位址的記憶體 取得第六條指令 76; Program counter → 取入06 (第七條指令之位址) 執行第六條指令76 。 76 (1 byte long): Halt,微處理器停止操作。
2.3 並列埠介面 (parallel interface) 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轉換 輸入: binary input (decimal value)
範例2.2 一個8位元DAC之 為10 V,二進位輸入是10011011,求類比輸出電壓。 解: 二進位輸入10011011的十進位值為155,應用式 可計算出類比輸出電壓:
16- pin DIP 150 ns 轉換速度 P31
ADC 類比數位轉換器(analog-to-digital converter) 將類比電壓轉換成數位字組的電路。 須介於 0 –Vref 間 輸出: binary output
範例2.4 一個8位元ADC的 是7 Vdc,類比輸入是2.5 Vdc。ADC二進位輸出碼是多少? 解:
100 us 轉換速度 較DAC0808 慢700倍 20- pin DIP P34
轉速控制 logic 1 CW Logic 0 CCW P35
串列介面 (serial interface) 傳送一連串單一位元資料。 只需“資料”和“返回 (return) ” 兩條線。 能運用現有的電話系統傳送資料。
電腦內,資料以並列型式出現 UART (universal asynchronous receiver transmitter) 並列資料←→串列資料 轉換
一個開始位元(start bit),然後資 料,然後一個偵錯位元(parity) ,及一個停 止位元。 圖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 微控制器 (單晶片微電腦 ) Parallax Inc. BASIC Stamp Intel 8051 (8位元微控制器) 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 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) 輸入 / 輸出。 微控制器廣泛應用的數位控制元件。 微控制器的三項基本單元:(1) CPU ( 微處理器 ) ;(2) 記憶體; (3) 輸入 / 輸出。 資料傳輸介面有二種:並列和串列。串列資料傳輸距離較長。 須使用類比、數位信號介面;ADC ( 類比數位轉換器 ) 或DAC ( 數位類比轉換器 ) 。
總結 (續2) 以微處理器為基礎架構的控制器: 微控制器,全部都在單一IC上; 單板電腦,組合於單一印刷電路板上; 總結 (續2) 以微處理器為基礎架構的控制器: 微控制器,全部都在單一IC上; 單板電腦,組合於單一印刷電路板上; 個人電腦,利用擴充介面卡,將個人電腦變成一個控制器; 可程式邏輯控制器。