生產自動化 - 電腦整合製造與控制實驗室

Download Report

Transcript 生產自動化 - 電腦整合製造與控制實驗室

生產自動化
微處理器概論
數位邏輯
數位邏輯設計
•電腦的硬體元件主要是由邏輯電路組成,邏輯
電路則是由邏輯閘組成,在本章中,我們將介紹
各種基本的邏輯閘,並且使用這些邏輯閘設計簡
單的組合電路。
•數位邏輯設計包含了理論與實作兩大部分,理
論部分是基於布林代數的各種運算,而實作部分
則是透過邏輯閘來設計布林代數的組合電路。事
實上,數位邏輯設計可以分為組合電路與序向電
路兩大類,由於序向電路過於複雜,因此在本教
學中,將不多加著墨,而將重點放在組合電路的
設計。
邏輯電路(Logic Circuit)
• 邏輯電路的理論基礎是布林代數,也就是使用各種基
本的邏輯閘組成特殊功能的布林代數電路,舉例來說,
假設我們想要設計一個兩位元的加法器,首先必須列
出下列的真值表(X、Y為輸入,Sum為和的輸出,
Carry為進位的輸出):
觀察上述真值表,
我們求出Sum與Carry的
布林代數如下:
X
Y
Sum
Carry
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
邏輯電路(Logic Circuit)
– 說明:
•(1)Sum只有在(X=0且Y=1)或(X=1且Y=0)的狀況下,才會為1。
•(2)Carry只有在(X=1且Y=1),才會為1。
•(3)AND可以用來表示『且』,是一個二元運算子(binary
operator),接受兩個輸入運算元(operand),並產生一個輸出。
其真值表如下,只有在兩個輸入運算元同時為1時,才會輸出1。
AND的代表符號為『.』或『*』或根本簡略不寫。所以AND的布
林函數F(X,Y)=X.Y或F(X,Y)=X*Y或F(X,Y)=XY。
X
Y
X AND Y
0
0
0
0
1
0
1
0
0
1
1
1
邏輯電路(Logic Circuit)
(4)OR可以用來表示『或』,是一
個二元運算子(binary
operator),接受兩個輸入運算
元(operand),並產生一個輸出。
其真值表只要兩個輸入運算元
的其中有一個為1時,就會輸出
1。OR的代表符號為『+』。所
以OR的布林函數F(X,Y)=X+Y。
(5)NOT可以用來取補數,是單元
運算子(unary operator),接
受一個輸入運算元 (operand),
並產生一個輸出。其真值表若
輸入為1則輸出為0,若輸入為0
則輸出為1。 NOT的代表符號為
『'』、『﹁』、『~』或
『 ̄』。所以NOT的布林函數
F(X)=X'或F(X)=~X或F(X)= ﹁X
或F(X)=
X
Y
X OR Y
0
0
0
0
1
1
1
0
1
1
1
1
X
0
1
NOT X
1
0
邏輯電路(Logic Circuit)
• 在邏輯電路中,只有兩種值,分別是0與1,實際上在電子電路,
將可以量測到高電壓與低電壓,在正邏輯(positive logic),0
為低電壓、1為高電位;在負邏輯(negative logic),0為高電
壓、1為低電壓。並且在邏輯電路中,邏輯閘是最基本的元件,
邏輯閘分為AND、OR、NOT、NAND、NOR、XOR、XNOR等7種,NAND、
NOR、XOR、XNOR又可以使用三種基本邏輯閘AND、OR、NOT組合
而成(後面我們會證明),這三種基本邏輯閘使用特殊的符號
來代表,如下圖:
邏輯電路(Logic Circuit)
• 由於我們已經求出Sum與Carry的布林代數,因此可以使用上述
的三種基本邏輯閘組成我們想要的邏輯組合電路,其實它就是
一個半加器(不考慮前一位數的進位狀況)。
布林代數(Boolean Algebra)
• 布林代數是數位邏輯的數學理論基礎,早在1854年就已經由
George Boole所發展成一套完整的理論,可以用來處理"真
(True)"與"假(False)"的邏輯運算。完整的布林函數定義了下
列元素:
– (1)常數(constant):值為0或1。
– (2)二元變數(binary variable):變數值只能是0或1。
– (3)運算子(operator):包含AND、OR、NOT等三種基本運算
子。其優先權為NOT > AND > OR,其中NOT為單元運算子,
AND、OR為二元運算子。
– (4)提高優先權之括號:(),擁有最高優先權。
– (5)=等號。
布林代數(Boolean Algebra)
– 範例:假設布林函數
F(X,Y,Z)=X'YZ+(X'Y)(Y+Z')+(X'+Z')',請問
F(1,0,1)=?
•解:
F(1,0,1) = 1' * 0 * 1 + ( 1' * 0 ) * ( 0 + 1' ) + (1' + 1')'
= 0 * 0 * 1 + ( 0 * 0 ) * ( 0 + 0 ) + (0 + 0)'
= 0 * 0 * 1 + ( 0 ) * ( 0 ) + (0)'
=0 + 0+1
=1
真值表(Truth Table)
• 真值表可以用來表示布林函數所有變數與函數值之間的應對關係,
若一個布林函數包含m個布林變數,則該真值表將有m+1欄、 2m列,
其中,m+1欄分別代表m個變數與該布林函數,而2m列則是由於二
元變數的每個變數有2種變化,因此共有2m種變化。以上述的
F(X,Y,Z)=X'YZ+(X'Y)(Y+Z')+(X'+Z')為例,該布林函數的真值表
如下:
X
Y
Z
F(X,Y,Z)
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
邏輯閘(Logic Gate)
•布林函數可以由邏輯電路實現,而邏輯
電路是由邏輯閘所組成,常見的邏輯閘
有AND、OR、NOT、NAND、NOR、XOR、
XNOR等,其中AND、OR、NOT為基本邏輯
閘,其他邏輯閘都可以利用此三種邏輯
閘組合而成。而NAND、NOR稱為萬用邏
輯閘,因為我們可以單純使用NAND或
NOR來組成基本邏輯閘,因此NAND與NOR
可以實現所有的布林函數。
AND閘(AND Gate)
•AND閘可以用來實現AND
邏輯運算,它接受兩個
輸入,並產生一個輸出,
當兩個輸入訊號皆為"1"
時,才會輸出"1",否則
就輸出"0"。通常AND的
邏輯運算符號為"AND"或
"."或"*"或簡略不寫。
而AND邏輯閘的邏輯符號
及真值表如右圖所示:
OR閘(OR Gate)
•OR閘可以用來實現OR邏輯運
算,它接受兩個輸入,並產
生一個輸出,當兩個輸入訊
號中,只要有一個為"1"時,
就會輸出"1",否則輸出"0"
(當兩個輸入訊號皆為"0"
時)。通常OR的邏輯運算符
號為"OR"或"+"。而OR邏輯
閘的邏輯符號及真值表如圖
所示:
NOT閘(NOT Gate)
• NOT閘,又稱為反相器
(inverter),可以用來實現
NOT邏輯運算,它只接受一個
輸入,並產生一個輸出,輸
出恰好是輸入的補數,也就
是當輸入訊號為"1"時,就會
輸出"0";當輸入訊號為"0"
時,就會輸出"1"。通常NOT
的邏輯運算符號為『NOT』或
『~』或『'』或『﹁ 』或
『 ̄』。而NOT邏輯閘的邏輯
符號及真值表如左圖所示:
NAND閘(Not-AND Gate)
• NAND閘是結合AND運算與NOT
運算的邏輯運算(先AND再
NOT),換句話說,它的輸
出情況恰好和AND閘相反。
它接受兩個輸入,並產生一
個輸出,當兩個輸入訊號皆
為"1"時,才會輸出"0",否
則就輸出"1"。通常NAND的
邏輯運算符號為"NAND"。而
NAND邏輯閘的邏輯符號及真
值表如右圖所示:(邏輯閘
符號為AND前面加上一個小
圈圈,該小圈圈代表的就是
NOT的意思)
NAND閘(Not-AND Gate)
– 由狄摩根定理,我們得知(X.Y)'=X'+Y',因此
NAND閘又有另一種表達符號,也就是在OR閘的輸入
處加上小圈圈代表NOT,如圖所示:
•萬用NAND閘
– 單純只使用NAND閘也可以組合成AND、OR、NOT等基
本邏輯閘,因此單純只使用NAND閘就可以完成所有
的布林函數邏輯電路。
•使用NAND完成NOT閘之功能
NAND閘(Not-AND Gate)
•使用NAND完成AND閘之功能
•使用NAND完成OR閘之功能(在另一種型式的
NAND閘的輸入端各加上一個NOT就是OR閘)
NOR閘(Not-OR Gate)
• NOR閘是結合OR運算與NOT運算
的邏輯運算(先OR再NOT),換
句話說,它的輸出情況恰好和
OR閘相反。它接受兩個輸入,
並產生一個輸出,當兩個輸入
訊號中,只要有一個為"1"時,
就會輸出"0",否則輸出"1"
(當兩個輸入訊號皆為"0"時)。
通常NOR的邏輯運算符號為
"NOR"。而NOR邏輯閘的邏輯符
號及真值表如圖所示:(邏輯
閘符號為OR前面加上一個小圈
圈,該小圈圈代表的就是NOT的
意思)
NOR閘(Not-OR Gate)
– 由狄摩根定理,我們得知(X+Y)'=X'.Y',因此
NOR閘又有另一種表達符號,也就是在AND閘的輸入
處加上小圈圈代表NOT,如圖所示:
• 萬用NOR閘
– 單純只使用NOR閘也可以組合成AND、OR、NOT等基
本邏輯閘,因此單純只使用NOR閘就可以完成所有
的布林函數邏輯電路。
•使用NOR完成NOT閘之功能
NOR閘(Not-OR Gate)
•使用NOR完成OR閘之功能
•使用NOR完成AND閘之功能(在另一種型式的
NOR閘的輸入端各加上一個NOT就是AND閘)
XOR閘(eXclusive OR Gate)
• XOR閘(中文翻為互斥或閘)可以用來實現XOR邏輯運
算,它接受兩個輸入,並產生一個輸出,當兩個輸入
訊號的值不同時,就會輸出"1",否則輸出"0"(當兩
個輸入訊號相同時)。通常XOR的邏輯運算符號為
"XOR"或"⊕"。而XOR邏輯閘的邏輯符號及真值表如下
圖所示:
XNOR閘(eXclusive NOR Gate)
• XNOR閘是結合XOR運算與NOT運算的邏輯運算(先XOR再
NOT),換句話說,它的輸出情況恰好和XOR閘相反。
它接受兩個輸入,並產生一個輸出,當兩個輸入訊號
的值相同時,就會輸出"1",否則輸出"0"(當兩個輸
入訊號不同時)。通常XNOR的邏輯運算符號為"XNOR"
或"⊙"。而XNOR邏輯閘的邏輯符號及真值表如下圖所
示:(邏輯閘符號為XOR前面加上一個小圈圈,該小圈
圈代表的就是NOT的意思)
積體電路
•IC是一種稱為晶片的小型矽半導體晶體
•各種閘在晶片中互相連結成所需要的電
路
•以陶瓷或是塑膠封裝,接腳焊接至外部
(14~64 or more)
積體電路
•積體的層次
– 數位IC通常根據邏輯閘數目所決定之電路複
雜度來分類
•小型積體(small-scale integration,SSI):<10
•中型積體(medium-scale integration,MSI):10~100
•大型積體(large-scale integration,LSI):數百到數千
•超大型積體( very large-scale integration,LSI):數
千
積體電路
•數位邏輯族
– 以電路技術予以分類,此種電路技術為數位
邏輯族
•TTL 電晶體-電晶體邏輯
•ECL 射極耦合邏輯
•MOS 金屬氧化物半導體
•COMS 互補式金屬氧化物半導體
積體電路
•積體電路閘-TTL
– 區分為5400、7400系列
• 5400適於軍事使用
• 7400適於商業用途
– Vcc與GRD(接地):電源供應接腳
– 0與3.5伏特為邏輯準位
Vcc
14 13 12 11 10 9
8
1
7
2
3
4
5
6
GND
積體電路
•積體電路閘-ECL
– 記為10000系列
– ECL閘可能有兩個輸出-NOR、OR
函數
– Vcc1與Vcc2、VEE電源供應接腳
– -0.8與-1.8伏特為邏輯準位
Vcc2
16
15
14
13
12
11
10
9
1
2
3
4
5
6
7
8
Vcc1
VEE
積體電路
•積體電路閘-CMOS
– 記為4000系列
– VOD、VSS電源供應接腳
– 0與VDD伏特為邏輯準位
VDD
NC
14
13
12
11
10
9
8
1
2
3
4
5
6
7
NC
Vss
正邏輯與負邏輯
•正邏輯系統:
邏輯值
1
訊號值
H
0
L
•負邏輯系統:
邏輯值
0
訊號值
H
1
L
二 進 位 系 統
數位計算機與數位系統
•數位計算機:
控制單元
處理器
或算數單元
儲存或
記憶體單元
輸出裝置
與控制
輸出裝置
與控制
二進位數
•二進位數系統的係數只有二個值:0和1。
例如:
十進位:26.75
2*102+6*101+7*10-1+5*10-2
二進位:26.75
1*24+1*23+0*22+1*21+0*20+1*2-1+1*2-2
數底數的轉換
•底數為r的數要化為等值十進位時,將其
細數乘以對應的r之乘幕再相加。
(1010.001)2=23+21+2-2+2-3=(10.375)10
(630.4)8=6*82+3*8+4*8-1 =(408.5)10
數底數的轉換
• 由十進位化成二進位或其他底數r的系統時,最好將數分
成「整數部份」與「小數部份」,在分別轉化。
整數部分:(41)10=(101001)2 小數部份:(0.6875)10=(0.1011)2
整數
餘數
41
20
1
10
0
5
0
2
1
1
0
0
1
整數
0.6875*2 =
0.3750*2 =
0.7500*2 =
0.5000*2 =
101001=答案
1
0
1
1
+
+
+
+
小數
係數
0.3750
0.7500
0.5000
0.0000
a-1=1
a-2=0
a-3=1
a-4=1
答案: (0.6875)10 =(0.1011)2
八進位與十六進位數
• 二進位轉八進位:
由二進位小數點開始,向左及向右將二進位數字區分為三個
一組,然後再將每一組轉換成對應的八進位。
(10 110 001 101 011 . 111 100 000 110)2 = (26153.7460)8
2
6
1
5
3
7
4
0
6
二進位轉十六進位:如上述,四個一組
(10 1100 0110 1011 . 1111 0010)2 = (2C6B.F2)16
2
C
6
B
F
2
八進位與十六進位數
•八進位轉二進位:
跟上述方法相反,每個八進位數字三位二進位數
字。
(673.124)8 = ( 110 111 011 . 001 010 100 )2
•十六進位轉二進位:
跟上述方法相同,每個十六進位數字四位二進位數
字。
(306.D)16 = ( 0011 0000 0110 . 1101 )2
補數
•用於簡化減法運算以及做邏輯操作。
•各種底數r的系統有二種補數:基數補數(r
補數)與基數補數減1的補數(r-1)。
•例如:在二進位數中有2的補數與-1的補數,
在十進位中就有10的補數與9的補數。
補數
•基數補數減1的補數:
設ㄧ底數為r的數N有n個數字,N的(r-1)補數
定義為(rn-1)-N。
例:546700的9補數為999999-546700=453299
0101101之1的補數為1010010
Ps:二進位中,1的補數只要將1變成0即可
補數
•基數補數
設底數為r之數N有n個數位,其r的補數定義
成在N≠0時為r n-N,而在N=0時為0。
例:012398之10的補數為987602
1101100之2補數為0010100
Ps: r的補數為(r-1)的補數再加1
補數
•用補數做減法
PC系統
電腦的組成
• 電腦系統可以分為使用者(user)、硬體(hardware)與軟體
(software)等三項
– 『使用者』就是使用或管理電腦的人
– 『硬體』就是組成電腦的電子元件以及各項設備
– 『軟體』則是一種抽象化的名詞,它必須以某種排列方式附著於某個
硬體之上,例如:附著於記憶體、硬碟、光碟片中,而『軟體』的功
能則是告知電腦該去做什麼或提供電腦所需要資料的來源。
• 硬體 (Hardware)
– 『硬體』就是一切可以看到的電腦設備(連電腦外殼也拆掉),不過
若光是這樣形容電腦硬體未免過於簡單。
– 實際上,若從功能面加以區分,一般會將電腦硬體分為算數邏輯單元、
控制單元、記憶體單元、輸入單元、輸出單元等5大單元(如下圖),
這5個單元分別負責不同的工作,其中的CPU、主記憶體則可以說是電
腦的核心元件。
硬體 (Hardware)
電腦硬體的5大單元
硬體 (Hardware)
•算數邏輯單元(Arithmetic and Logic Unit)
– 算數邏輯單元(簡稱ALU)是執行程式中各類運算的實體單位,
這些運算則可以分為兩大類:算數運算與邏輯運算。算數運
算包含加、減、乘、除等等的數值運算,而邏輯運算則包含
AND、OR、NOT等位元/位元組的邏輯運算。
•控制單元(Control Unit)
– 控制單元(簡稱CU)的功能是控制流程及協調輸入、輸出、
記憶、算數邏輯等4大單元的運作。控制單元中包含(1)記錄
指令運作順序的微程式(microprogram)、(2)取得下一指令
的邏輯電路 (3)驅動元件的解碼器(decoder)及(4)眾多選
擇器(multiplexer)。
•當指令進入CPU之後,控制元件就會先進行指令解碼
(Decode),並按照指令種類執行對應的微程式,發出不同
的訊號完成該指令所需要完成的各項功能,最後執行邏輯
電路以便取得下一個指令。
硬體 (Hardware)
• 記憶體單元(Memory unit and Storage Unit)
– 記憶體單元分為主記憶體(main memory)與輔助記憶體(secondary
memory),主要功能是用來儲存資料(程式也可視為一種資料),
任何要被執行的程式都必須放置於主記憶體中,CPU才能存取該程
式,對於新型的作業系統而言,會將部分的輔助記憶體當作是虛擬
的主記憶體,以便解決程式過多或過大而無法完全載入主記憶體的
問題。
•主記憶體(又稱為內部記憶體),目前以半導體元件製成,特性為存
取速度快、成本高。主記憶體依照存取特性又可以分為隨機存取記憶
體(Random Access Memory;簡稱RAM)及唯讀記憶體(Read Only
Memory;簡稱ROM)。RAM的成本較低,但是無法於電力消失時保存資料,
故為揮發性記憶體的一種。ROM成本較高,但卻可以在無電力的狀況下
保存資料,傳統的ROM只能寫入資料一次,因此通常只會把啟動電腦所
需要的小程式儲存在ROM裡面,例如BIOS就是使用ROM做為儲存處的常
見應用。
•輔助記憶體(又稱為外部記憶體),目前以磁性物體或光學材料組成,
例如:硬碟機、軟碟片、光碟片。輔助記憶體的存取速度相對於主記
憶體慢了數十倍以上,但製作成本則比主要記憶體低了數十倍以上。
硬體 (Hardware)
• 輸入單元(Input unit)
– 輸入單元是具有輸入功能的週邊設備,例如鍵盤、
滑鼠、搖桿等等。使用者可以藉由這些輸入裝置與
電腦取得溝通的管道。
輸入單元
硬體 (Hardware)
• 輸出單元(Output unit)
– 輸出單元恰與輸入單元相反,所有具有輸出功能的
設備皆屬輸出單元的元件,主要功能是將程式執行
的結果(如:文字、聲音、影像等)輸出或顯示。
常見的輸出裝置例如螢幕、印表機等等。
– 某些週邊設備也可能同時具有輸入與輸出的功能,
例如:觸控式螢幕、會震動的搖桿等等。
輸出單元
硬體 (Hardware)
系統單元
CPU(含CU、ALU)
主記憶體(RAM)
輔助記憶體
硬碟
軟碟
光碟
:
:
輸入單元
鍵盤
滑鼠
軌跡球
手寫輸入裝
置
語音輸入裝
置
:
:
輸出單元
螢幕/顯示
器
投影機
印表機
繪圖機
:
:
軟體 (Software)
• 『軟體』是一種抽象化的名詞,它必須以某種排列方式附著於某個
硬體之上。
– 軟體又分為資料(data)與程式(program)兩大類,不論是哪一類
事實上都是以0、1的二進位表示法儲存在電腦設備中(例如:
儲存於硬碟機中)。
•程式(program)是由一組有順序的指令(instruction)所構成,
而指令則是指揮電腦作業方式的命令,CPU於辨識指令後,
便會依照系統的結構執行指令,完成不同的工作。
• 程式又可以分為系統程式(System Program)與應用程式
(Application Program)兩大類。
– 系統程式一般為較接近硬體底層的低階程式,例如:作業系統
(Operating System)、工具軟體、程式語言的編譯器
(Compiler)、組譯器(Assembler)、連結器(Linker)等都屬於系
統程式。
– 應用程式則是架構在系統程式之上,依據某種特殊需求而開發
出來的軟體,例如:Office、帳務系統、電腦遊戲等等。
軟體 (Software)
系統程式與應用程式關係圖
系統程式與應用程式階層圖
軟體 (Software)
•作業系統
– 作業系統(operating system;簡稱OS)是介
於電腦硬體與應用軟體之間的橋樑,負責所
有硬體資源的操作細節以及配置(第8章將詳
加介紹作業系統)。
常見的作業系統分為三大類
(1)工作站級以上使用:Unix,例如:SunOS、AIX、Solaris…等。
(2)個人電腦:DOS、OS/2、Microsoft Windows
95/98/NT/me/2000/XP、linux(Unix-like)、FreeBSD(Unix-like) …等
(3)麥金塔專用:Mac OS、FreeBSD(Unix-like) …等。
Linux作業系統的X-Window
Windows XP作業系統
Mac OS X作業系統
軟體 (Software)
• 工具軟體
– 工具軟體(tool)是用來維護系統資源的程式,例如
Ghost可以用來備份系統,Norton可以用來防毒,
磁碟整理工具可以用來維護硬碟、清理硬碟。
Norton的AntiVirus防毒軟體及Ghost備份工具
磁碟重組工具
8051
MSC-51單晶片
• 8051 是由 INTEL 公司所設計的單晶片 , 一般是以
MSC-51 來做一個總稱 。 不過在業界習慣上仍是稱為
8051 。 而它的結構是由 8048 的延伸 , 也就是說單
晶片中的老大哥之一 。 由於它的發展工具很容易取
得 , 參考用書隨處可得,因此它也被廣泛的使用 。
學習單晶片仍是以 8051 做基礎及起點 , 近日年來因
為被廣泛的運用 , 基本的功能似乎不夠滿足需要 。
因此各 IC 大廠紛紛出現所謂 Second Source 的
8051以滿足業界的需求 , 不過 8051 的基本精神仍是
不變 。 雖然 8051 已經是老大哥了 , 學會如何使用
它之後 , 面對其他的晶片便會即刻的上手 。
MSC-51單晶片的基本功能
• 為控制應用所設計的 8 位元 CPU
• 具有布林代數的運算指令
• 有32條(4個Port)雙向且每條都可以被單獨定址的 I/O
• 內部有128Byte可供儲存資料記憶體RAM (8052 : 256
Bytes)
• 內部有兩個16位元Timer/Counter (8052 有 3 個)
• 有全多工傳輸信號 UART (串列埠)
• 5個中斷源 , 有兩層優先權順序之中斷結構
• 內部有4K位元組的程式記憶體
• 內部有時脈振盪器線路
• 程式記憶體可擴充至64K位元組
• 資料記憶體可擴充至64K位元組
MSC-51晶片內部結構
Address/Data
時脈
產生器
P0
4K bytes
ROM
128bytes
RAM
P2
P1
P3
4個 8bits I/O
ports
CPU
中斷
控制器
Timer 1
Timer 0
UART
INT 0
INT 1
Timer 0
Timer 1
T0
UART
匯流排控制器
T1
TXD
RXD
RD
WR
ALE
PSEN
8051單晶片的接腳
8051單晶片的接腳
•
•
•
•
•
•
•
•
•
•
Vcc:+5電源供應接腳。
GND:接地接腳。
P0.0~P0.7:埠0,為開洩極(Open Drain)雙向I/O埠。在做為
外部擴充記憶體時,可低八位元位址線(A0~A7 address line)
與資料匯流排(data bus)雙重功能。在做為一般I/O埠時必須
加上如下之外部提升電路。
P1.0~P1.7:埠1,為具有內部提升電路的雙向I/O埠。
P2.0~P2.7:埠2,為具有內部提升電路的雙向I/O埠。在做為
外部擴充記憶體時,可為高八位元位址線(A8~A15 address
line)。
P3.0~P3.7:埠3,為具有內部提升電路的雙向I/O埠。此外,
埠3的每支接腳都具有另一特殊功能,其功能如下:
RXD(P3.0):串列傳輸的接收端。
TXD(P3.1):串列傳輸的輸出端。
INT0(P3.2):外部中斷輸入端。
INT1(P3.3):外部中斷輸入端。
8051單晶片的接腳
•
•
•
•
•
•
•
•
•
•
T0(P3.4):計時/計數器外部輸入端。
T1(P3.5):計時/計數器外部輸入端。
WR(P3.6):外部資料記憶體寫入激發信號(Strobe)。
RD(P3.7):外部資料記憶體讀取激發信號(Strobe)。
RST:重置信號(Reset)輸入端。在單晶片工作時,將此腳保持在
“Hi”兩個機械週期,CPU將重置。
ALE:位址鎖住致能(Address Latch Enable),在每個機械週期
都會出現,可做為外部電路的時脈源。
PSEN:程式激發致能(Program Strobe Enable),可輸入外部程式
記憶體的讀取信號。
EA :外部存取致能(External Access Enable),當EA接腳為“L0”
時,則讀取外部程式記憶體執行。
TAL1:反相振盪放大器的輸入端。
TAL2:反相振盪放大器的輸出端。
反相振盪放大器電路連接
程式編寫流程
8051單晶片應用於控制上時,整體系統的設
計包括軟體程式及硬體電路兩方面。硬體電路
設計是依受控系統之不同而異,雖然有時候系
統的某些功能可以採用軟體或硬體來完成,但
在考量硬體成本及8051單晶片運算能力所及程
度,以軟體程式來完成為較佳方法。
8051單晶片之編譯流程
8051組合語言程式格式
•8051組合語言程式是由一列一列的敘述
(statement)所組成,而程式的執行則須先經
8051組譯器編譯後,並經燒錄器燒錄至8051單
晶片中方可執行。而8051組合語言的格式則是
由4個欄位所構成,其格式如下:
〔Label〕 〔Mnemonic〕 〔Operand〕 〔Comment〕
標記欄
指令欄
運算元欄
註解欄
8051組合語言程式格式




標記欄(Label)
標記的功用是用以替代繁複的記憶體位址計算,以方便程式
的編寫、分析與維護。標記的編寫必須從文書編輯軟體的第
一格開始,標記可以由英文字母、阿拉伯數字、問號及底線
字元組合而成,長度最多可以達32個位元,最後必須以冒號
來結束。
指令欄(Mnemonic)
指令可分為兩種,一種是8051單片指令,另一種則是編譯程
式的虛指令,用以通知編譯器對程式作某些特定的處理。如
果一列指令開頭沒有標記時,則指令前必須保留一個以上的
空格。
運算元欄(Operand)
運算元依指令決定需要與否,且其需要長度亦依指令而異。
註解欄(Comment)
註解欄是以分號起頭的一段說明文字,直到該行結束。可提
供程式設計師註解說明。
嵌入式系統
什麼是嵌入式系統?
• 嵌入式系統是不同於常見電腦的一種電腦系統,
嵌入式系統不以獨立設備的型態出現。嵌入式
系統的元件根據主體設備以及應用的需要,嵌
入在主體設備內部,發揮著運算、處理、儲存
以及控制等等作用。
嵌入式系統硬體平台特色
 系統資源有限
 外接設備多變
 佔用系統資源要少
 即時回應要求嚴格
 對作業系統可靠性要求高
 具有可配置性
嵌入式作業系統特色
 小型化
 可定制性
 即時性
 高可靠性
 可攜性
RISC與CISC
• 每一個CPU的指令集都不盡相同,而指令集的設計也會影響電腦的
執行效率。目前指令集的設計可以分為兩大類:RISC(Reduced
Instruction Set Computing;精簡指令集)與CISC(Complex
Instruction Set Computing;複雜指令集)。RISC的機器有
PowerPC(Mac電腦的CPU)、Sun SPARC(工作站等級)、IBM
RS/6000、DLX等等。而CISC的機器有Intel x86、Motorola 680x0
等等。
– RISC的指令較為『精簡』,所謂較為精簡的意思,代表每個
指令所能完成的工作較少,所以指令的硬體設計變成非常單
純,可以使用硬體拉線控制(hardwired control)來製作。並
且由於每個指令的工作單純,因此可以在一個時脈週期內就
完成,同時,由於單純的指令易於切割為各個階段,因此,
也非常容易配合管線或超純量技術提昇整體效率。
RISC與CISC
– CISC所提供的指令種類及功能非常多樣且豐富,有時候一個
指令就可以完成許多工作(甚至可以完成一個高階語言指令
的工作),由於提供的指令非常多,因此通常採用微程式控
制(microprogrammed control)來製作,如此一來,若指令數
量或指令服務內容變動時,只要修改微程式就可以解決,而
不需要更改邏輯電路。但同樣地,由於指令非常複雜,當使
用管線與超純量技術製作時,將很容易發生危障問題,反而
會使得問題更形複雜,不容易提昇整體效率。
• 一般來說,同樣功能的程式,若使用RISC指令來撰寫,通常程式
碼會較長,而使用CISC指令來撰寫,程式碼將會精簡許多,但這
並不代表CISC機器就會執行的比較快,因為,一方面RISC的每個
指令所需要的執行時間比較短,另一方面則是因為RISC管線化的
危障比較少的緣故。而究竟RISC與CISC,孰優孰劣?至今尚無明
確解答,因此兩種指令集設計都被產品化,但依據實際測試結果,
RISC在伺服器級的電腦表現較優,因此,工作站以上的電腦通常
採用RISC指令集設計,例如Sun SPARC;而CISC則通常被使用做為
個人電腦的CPU,例如Intel x86。
嵌入式系統的概念
 電腦系統
– 個人電腦(PC)
– 膝上型輕便電腦(Laptop)
– 大型電腦(Mainframe)
– 伺服主機(Server)
 個人數位助理(PDA)
 手機
 其他,MP3播放機,數位相機。
嵌入式系統的概念
• 嵌入在電子設備內部的計算系統
• • 任何包含一個或多個專用的電腦、微處理器或微控
制器的電子設備
• • 能執行特定功能的電腦硬體和軟體的結合體
• • 廣義定義:任何一個非電腦的計算系統
嵌入式系統的例子
嵌入式系統的例子
•汽車:其中的電子系統控制
•數位機床:動作控制
•手機生產線:貼片控制,位置控制
•洗衣機:迴旋,溫度,水流控制
•數位照相機:讀寫記憶卡
•印表機:列印強度,顏色,翻頁
•飛機:參數控制
•。。。
嵌入式系統的類型和市場
• 常規計算
• 控制系統
• 信號處理
• 通信與網路
• 平均每個家庭使用225個嵌入式處理器;每個
汽車需要35個;
• 50億處理器在使用--- 94% 世界市場; Intel
Pentium, Motorola PowerPC, etc.總共6%
嵌入式系統應用廣泛
• 應用產品涉及社會生活的各個方面
• 日常生活、工作、學習、娛樂等
• 每天都產生眾多新的應用
• 嵌入式系統需要硬軟體綜合知識
– 但被一般的電腦課堂忽略
– 需要更全面的系統知識和領域知識
• 嵌入式市場廣闊,但人才短缺
→ 更容易找到工作
典型的嵌入式系統
嵌入式系統組成
嵌入式系統的發展趨勢
•高集成度
– 微處理器
– 微控制器
– 系統晶片(SOC)
•軟硬體協同設計
•成熟的設計流程
高集成度(1)
•微處理器
– 電腦系統或嵌入式
•控制器的中央控制單
•元電路, 以及必要的
•功能邏輯電路
– Example: Pentium,AMD K6 etc.
高集成度(2)
• 微控制器
– 一個微處理器與一些週邊
• 設備共同集成到一個封裝
• 電路
– 週邊設備:
• Serial ports ( COM ),
• Parallel Ports, Ethernet
• ports, A/D & D/A
• Interval timers,
• watchdog timers, event
• counter/timers, real time
• clock ( RTC )
• Other local processors
• ( DSP, numeric coprocessor, peripheral controller )
– Example: Motorola
• coldfire
高集成度(3)
• System-on-chip (SOC)
– 一個處理器和其他週邊支援設備集成到一個
• 晶片上。
– 如: Intel StrongARM
基於積體電路核的SOC設計
• 知識產權(IP) 電路或核是設計好並經過驗證的
積體電路功能單元
• IP複用意味著設計代價降低(時間,價格)
• 核:
– 微處理器: ARM, PowerPC, ..
– 記憶體: RAM, memory controller, …
– 外設: PCI, DMA controller, …
– 多媒體處理: MPEG/JPEG encoder/decoder…
– 數位信號處理器(DSP)
– 通信: Ethernet controller, router, ..
軟硬體協同設計
• 傳統方法:
– 軟體和硬體設計較大
差別,時間不同步
• 當前方法
– 當前的綜合技術可以
將硬體和軟體同等看
待
給定功能的硬體和軟體選擇只是多種設計指標的折衷:如性能,功耗,大小,價格,
靈活性; 至於軟體和硬體實現沒有太大的差別.
設計流程
需求調查
設計說明
系統結構
組件設計
系統集成
需求
• 功能需求
– 輸入輸出
• 類比/數位/機械
• 數據寬度
• 顯示方式
• 交互媒體
– 功能
• 系統要完成的任務
• 非功能性需求
– 性能
– 製造費用
– 功耗
– 物理面積和重量
設計說明
•需求的精確描述
•描述明確,可理解
•Unified Modeling Language (UML) 統一建
模語言是視覺化的設計說明語言
– 同一描述系統的硬體和軟體
– UML 可對系統的功能建模
– 可自動產生實際設計的HDL或C++代碼
系統結構設計
•系統如何實現設計說明書描述的功能
•基於元件的系統結構
•軟體/硬體劃分
– 嵌入式系統中軟體和硬體協同完成系統的
功能
– 軟體硬體劃分通常由速度、靈活性以及開
銷來決策
系統結構設計
組件設計和系統集成
•實現硬體和軟體
•將所有組件集成到一起
•驗證
嵌入式系統設計者應瞭解的事情
•懂得系統的整個構架
•詳細瞭解硬體的細節
•軟體設計滿足:
– 即時要求
– 低功耗
– 代碼量小
•詳細瞭解領域知識
嵌入式系統的核心— 嵌入式微處理器
•SOC- System on a Chip
–System on A die
–System on a package
•微處理器是整個系統的控制核心
•系統的主要功能不再是電腦系統
•業務處理模組與系統功能有關
•嵌入式處理器也集成了業務處理
•嵌入式處理器:控制+領域知識處理+性能
嵌入式處理器的發展趨勢
•流水線越來越長
–高性能的系統結構如何解決
–分支預測?
•Intel的XScale處理器採用分支預測表
•嵌入式處理器多種高性能技術
–但在嵌入式中會有更多的約束如何解決?
嵌入式處理器的發展趨勢
•超長指令字(VLIW)處理器
–多發射機制
–編譯調度
•定制處理器
–Such as from Tensilica
–允許更多的面向減小開銷的設計,用戶只關
心最
•重要的部分
•指令壓縮技術
–Thumb指令集, 但當更多的功能轉向軟體時,
壓縮會更突出
SiS55x SOC
Intel PXA27x
Intel® PXA27x Family Processor Block Diagram
Samsung S3C2440
Samsung S3C2440 KIT
TI OMAP-5910
TI OMAP-5910
PC-Based和銑床
控制器實作介紹
內 容
一、前言
二、PC-Based控制器簡介
三、國內發展PC BASE 控制器SWOT分析
四、技術發展趨勢
五、銑床控制器開發介紹
六、結語
一、前言
•近年來PC-Based控制器挾帶其具開放性、靈活性、
整合性與低成本之優勢在巿場上興起,應用面不斷地
擴大,對原有CNC控制器巿場造成了不小的震撼與衝擊,
也為使用者帶來了更多的選擇。
• 在其發展歷程中,以美國及歐洲對PC-Based動作最積
極,產品推出亦較早,如美國HURCO、FADEL、PMAC、
歐洲SIMENS、FAGOR、PA等廠牌皆有PC-Based控制器產
品上巿。另外在世界巿場上亦具有舉足輕重的日本控
制器廠商,對於PC-Based控制器的發展雖較為保守,
但為了因應整個產業潮流,如FANUC及MITSUBISHI亦紛
紛推出其PC-Based CNC機種,以因應客戶之要求,顯
示PC-Based控制器的發展有逐漸展露頭角之勢。
二、PC-Based控制器簡介
(一) 何謂 PC-Based 控制器
(二) PC-Based 控制器之特徵
(三) PC-Based 控制器系統架構
(四) PC-Based 控制器關鍵組件系統架構
(五) PC-Based 關鍵組件介紹
(六) PC-Based 控制器產品
(一)何謂 PC-Based 控制器
•「PC-Based控制器」係指以PC為控制中心附
於製造系統或機械上,運用數值運算能力,
進行一般或特殊工業機械的監測及控制,以
達成此工業系統的部份或完全機能,諸如軌
跡加工、特殊機械加工或製造程序等控制。
原先大部份的FA工程師對於OA個人電腦的穩
定性和可靠度總是持著高度的懷疑,然而隨
著PC性能的快速提升、價格平民化,以及品
質的提升(耐雜訊性、耐振動性及耐高溫性
等),使得原先疑慮逐步被克服。
(二) PC-Based 控制器之特徵
1. 以電腦輔助設計(CAD)系統設計出的資料,能比
較容易地在PC-Based控制器中整合為NC加工資料;
2. PC電腦的軟體資源豐富,而且程式的設計及變更
十分容易;
3. PC週邊設備及應用軟體均已標準化,使用者能比
較簡易地進行各種組合應用,滿足不同的需求;
4. PC-Based控制器之間容易進行網路通信連線;
5. 標準化的PC價格較為低廉。
(三) PC-Based 控制器系統架構
(四) PC-Based 控制器關鍵組件系統架構
(五) PC- Based 關鍵組件介紹
Industrial PC chassis
(五) PC- Based 關鍵組件介紹
Socket 478 Pentium 4/Celeron Processor Card with DDR/VGA/Dual
LAN/HISA (400/533 MHz FSB)
(五) PC- Based 關鍵組件介紹
8-slot Backplane; 4 ISA/4 PCI/1 CPU, 1 Segment
(五) PC- Based 關鍵組件介紹
I/O卡
(五) PC- Based 關鍵組件介紹
3-axis Motor Control Card
(六) PC- Based 控制器產品
三、國內發展 PC BASE 控制器
S W O T 分析
S
(
• 國內PC工業硬體支援能力強。
• PC軟硬體技術人才充裕。
• 政府策略支援。
• 機械所已在EDM、銑床等機種 推廣1000
台以上,建立產業基 礎及業者信心。
• 國內機械工業產量高競爭力。
W
(
O
優勢 )
•
•
•
•
• 生產規模小,無規模經濟優勢。
•
• 伺服系統之整合能力尚不足,必 須依 •
賴國外進口。
•
• 工業控制器市場已被歐美、日本 大廠
•
所壟斷,市場進入不易。
•
品牌知名度缺乏
。
•
機會 )
大陸、東南亞區域需求殷切。
產業升級及自動化需求增加。
低價工具機趨勢。
開放式控制器的功能需求。
T
劣勢 )
(
(
威脅)
國外已有產製PC-BASED控制器。
國內機械廠商慣用進口品牌。
大陸競爭力日益提高。
歐洲採行CE認証,增加技術成本負擔
歐日控制器降價搶市場。
。
四、技術發展趨勢
(一) PC base open架構.
(二) 微小化/精緻化構裝,分散式架構,以節
省配線.
(三) 高速、超精度運動控制機能.
(四) 智慧型高響應伺服系統.
(五) FA網路化介面,資訊/製程系統控制機能.
(六) 整合式,圖形化人機介面.
(七) 高可靠度及維護性.
(八) Embedded+WinCE系統架構.
五、銑床控制器開發介紹
(一) 設計輸入
(二) 任務分配
(三) 人機操作畫面
(四) 程式解譯及加工路徑
(五) 伺服控制及週邊
(六) 整合測試
(七) 完成圖
(一) 設計輸入
•
1.
2.
3.
4.
特色
真正PC-BASED控制器,跟隨潮流、功能擴充性強。
採用工業及電腦,對惡劣環境的耐受能力佳。
三軸位置控制採用AC伺服馬達ENCODER回授。
使用Easy code,只要會看圖,就可利用簡單的圖形輸入鍵完成加工圖
形編輯,不需熟練艱澀的G、M code。
5. 完全採用對談式視窗編輯方式,提供操作者簡單、便捷的編輯作業。
6. 自動將編輯之圖形轉換為切削路徑,對於複雜圖形的挖槽功能最為便利。
7. 畫面動態模擬,可預視工件全部的加工路徑輪廓。
8. 面板融合功能鍵、電機鍵於一體,並提供14”彩色畫面,清晰易讀。
9. 機台參數設密碼保護,防止隨意遭受篡改。
10. 不同功能項目藉由MODE旋鈕切換快速,操作簡易。
11. 可利用劇本檔編排加工順序,輕輕鬆鬆完成多道手續的加工。
(一) 設計輸入
• 功能
1. 五類加工編輯:銑平面、內/外型銑、挖槽島嶼、鑽孔、撓性攻牙。
2. 銑平面功能:輸入欲加工之區域位置,自動計算加工路徑。
3. 內/外型銑功能:具備自動刀徑補償、粗細加工、循環切削;並能旋
轉角度、縮放、鏡射、複製加工。
4. 挖槽島嶼功能:具備凹槽自動判斷,Z軸多層次島嶼、順逆加工選擇
功能、自動粗細加工、循環切削;並能旋轉角度、縮放、鏡射、複製
加工。
5. 鑽孔/撓性攻牙功能:具備貫穿、排屑、斷屑多種參數設定方式,有
定點座標編輯及極座標座標編輯兩種,並能複製、旋轉加工。
6. 程式編輯中可立即顯示圖形輪廓。
7. 預視功能;可預視單一加工類型或全部加工類型輪廓。
8. 機台參數設定:可對系統、定位方式、速度、剛性、增益、解析度、
閒隙補償,設定為最佳狀況。
(二) 任務分配
• 區分以下三大類,各由不同人負責執行。
1. 人機操作畫面
2. 程式解譯及加工路徑
3. 伺服控制及週邊
(三) 人機操作畫面
EDIT MODE (編輯模式)
(三) 人機操作畫面
EDIT MODE (編輯模式)
(三) 人機操作畫面
JOG&X/Y/Z MODE (手動模式)
(三) 人機操作畫面
MDI MODE (立即模式)
(三) 人機操作畫面
AUTO MODE (加工模式)
(三) 人機操作畫面
DNC(傳輸模式)
(四) 程式解譯及加工路徑
•Easy code解譯
•CAM解譯
•直線及圓弧補間
(五) 伺服控制及週邊
•運動控制卡製作
•IO卡製作
•馬達及馬達驅動器選用
•PID運動控制
•銑床各類週邊IO
•操作面版製作
(六) 整合測試
1/5
CMC-900系統架構圖
機台組裝、測試
配線耗材
配合廠商提供配備
或
選用配備(依合約訂單)
控制面板組裝、測
試
配電盤(底板)*1組
DRIVER*3(含專用接頭)
馬達*3(含專用接頭)
變頻器*1
控制箱*1組
單板組裝、測試
(請參考各單板組裝、測試程序)
FCMC-P*1
YRT-327*1
YRT-328*1
J141*1
配線耗材
YRT-308*1
YRT-326*1
YRT-329*1
YRT-316*1
YRT-324*1
YRT-325*1
IPC組裝、測試
雷射較正、補償
GMCC-IPC*1
※安裝記錄表
※三軸誤差補償表
QC※三軸線性誤差表(廠
商提供)
出廠
交機
配電盤組裝、測試
GCMC*1(電子配線組立)
GCMC-E*1(電器箱組立)
配線耗材
(六) 整合測試
CMC- 900系統架構圖 2/ 5
RAM
CPU
XOSDRAM
168PIN.64M¥H¤
W
插在CPU卡之
DIMM1
CPU卡
XOCPU-400
400M¥H¤W§t-·
®°
硬式磁碟
機*1
軟式磁碟
機*1
XOIPC-6168
OHDD
¬ãµØPCA6168§tVGA.SOCK
ET370
板號登錄
1.電源插頭插上
1.依CPU速度調整
2.排線插上
SW1
需注意排線方向
參照CPU卡使用手冊
2.插在 SLOT2
3.面板顯示燈號線連
接到CPU卡上
4.磁碟排線接上
工業電腦
*1
OFD1.44M
OIPC-CASE
¤O¿EISA*10¼Ñ
1.電源插頭插上
2.排線插上
需注意排線方向
A
靜態測試
軟體安裝
IPC能正常開機動作
1. 硬碟切割
2. FORMAT硬碟
3. 安裝DOS 6.22版
4. 安裝 CMC900.EXE
5. 執行 CMC900.EXE(自解
壓縮檔)
5. 移除 CMC900.EXE
程式名稱
版本登錄
IPC組
立
接下頁
請參考I PC組裝、測試程序
三軸
Motion卡
RT-325
銑床I/O
板RT-324
插卡式I/
O板RT316
板號登錄
程式登錄
U27:PEEL18CV8
325U27.JED
U30,U31:PEEL18CV8
325U31.JED
板號登錄
程式登錄
U29:PEEL18CV8
324U29.JED
U30:PEEL18CV8
324U30.JED
板號登錄
程式登錄
U50:PEEL18CV8
316U50.JED
單板測試參照測試步驟
測試程式:T325.EXE
(三用電表,治具)
單板測試參照測試步驟
測試程式:T324.EXE
(三用電表,治具)
單板測試參照測試
步驟
測試程式:T316.EXE
(三用電表,治具)
1.調I/O位置
SW2= 310h
2.插在SLOT5
1.調I/O位置
SW1= 320h
2.插在SLOT7
1.調I/O位置
SW1= 220h
2.插在SLOT9
A
(六) 整合測試
•尋圓量測
(六) 整合測試
•尋圓量測
(六) 整合測試
•尋圓量測
(六) 整合測試
•尋圓量測
(六) 整合測試
•尋圓量測
(六) 整合測試
•尋圓量測
(七)完成圖
六、結語
• 由於個人電腦具軟硬體開發架構及開發環境,且技術發展日新月異,市場
應蓬勃熱絡,使得架構在個人電腦上的PC-BASED工業控制器應用於工廠自
動化的場合成為市場趨勢潮。
• 我國電腦工業於世界個人電腦市場具有舉足輕重的地位。不管從上游半導
體製造業乃至電腦週邊設備產品相關產業都極具市場競爭力。使得我國於
PC-BASED控制器產業之發展方面蘊育相當大的能量。
• 在人力要素方面,因PC產業在國內已發展相當時日,投入的人力資源十分
編密,於是培育出十分充裕的PC技術人才。因此以PC-BASED控制器發展我
國獨立自主的自動化機械產業,不論製造方面或使用及維修方面所受的阻
力均相對減少,對提高競爭優勢具正面意義。
• 另外我國對於車銑床、放電加工機及塑膠機械控制器技術已具基礎,以此
做為切入PC-BASED控制器產的基點。配合完整的策略規劃,選定先行發展
的項目,如放電加工機、中低價位工具機,以及木工機、塑膠射出成型機
等產業機械控制技術,將有助於我國PC-BASED控制器產業之逐步發展。