射頻電子 - [實驗第二章] I/O電路設計

20
高頻電子電路實驗 第二 I/O電路設計 李健榮 助理教授 Department of Electronic Engineering National Taipei University of Technology

Transcript of 射頻電子 - [實驗第二章] I/O電路設計

Page 1: 射頻電子 - [實驗第二章] I/O電路設計

高頻電子電路實驗第二章 I/O電路設計

李健榮助理教授

Department of Electronic EngineeringNational Taipei University of Technology

Page 2: 射頻電子 - [實驗第二章] I/O電路設計

大綱

• 電晶體開關的操作原理• 典型的單晶片I/O組態(以Intel MSC-51系列為例)

• 電晶體開關接上負載的情況(驅動力的討論)

• 開集(汲)極輸出

• 外部驅動器(以驅動LED與Relay為例)

• Active-high、Active Low與功率消耗的問題

• 重置電路• 以類比訊號觸發數位電路

Department of Electronic Engineering, NTUT2/20

Page 3: 射頻電子 - [實驗第二章] I/O電路設計

電晶體開關 (I)

• 利用電晶體進行數位(0與1)操作。

Department of Electronic Engineering, NTUT

NPN

ON“1”

“0”

sink

VDD

NPN

VDD

“0”

“1”

source

NMOS

ON“1”

“0”

sink

VDD

NPN

VDD

“0”

“1”

source

VDDCMOS

如果輸出不放電阻,可行嗎?

OFF OFF

3/20

Page 4: 射頻電子 - [實驗第二章] I/O電路設計

電晶體開關 (II)

• Collector (Drain) 直接接到VDD

Department of Electronic Engineering, NTUT

VDD

“0”

“1”

VDD

“0”

“1”

VDD

“1”短路電流

“1/0”

VDD

短路電流

“1”

“1/0”

OFF OFF ON ON

4/20

Page 5: 射頻電子 - [實驗第二章] I/O電路設計

電晶體開關 (III)

• Collector (Drain) 接電阻(上拉電阻, pull-up resistor)

Department of Electronic Engineering, NTUT

VDD

“0”“1”

PUR

VDD

“0”“1”

PUR

有限電流

VDD

“1”

PUR

DD

PU

VI

R≃

“1” 有限電流

VDD

PUR

DD

PU

VI

R≃

範例: 5 V, 20 kDD PUV R= = Ω 0.25 mAI ≃

對PNP或PMOS開關則配有「下拉電阻」,使用的意義與上拉電阻一樣(決定狀態與限制電流)。在晶片裡面的上拉、下拉電阻通常會用電晶體實現,概念是一樣的。

OFF OFF ON ON

Pull-up resistor

5/20

Page 6: 射頻電子 - [實驗第二章] I/O電路設計

典型的單晶片I/O

Department of Electronic Engineering, NTUT

參考資料: Intel, MCS-51 Microcontroller Family User’s Guide

20~30 kΩ

20~30 kΩ20~30 kΩ

Open Drain

輸入

輸出

6/20

Page 7: 射頻電子 - [實驗第二章] I/O電路設計

電晶體開關接上外部負載(I)

Department of Electronic Engineering, NTUT

VDD

“0”

“1”PUR

LR

OV

晶片內部

晶片外部 VDD

“0”

“1”PUR

LR

晶片外部 VDD

PUR

“1”

“0”

LR

晶片外部 VDD

“1”

PUR“0”

LR

晶片外部

範例: 5 V, 20 kDD PUV R= = Ω

4.5 VLO DD

L PU

RV V

R R= ⋅

+≃200 kLR = Ω

0.24 VLO DD

L PU

RV V

R R= ⋅

+≃1 kLR = Ω

RPU在晶片內部已經被做死(其值可在晶片資料手冊中找到),代表晶片的驅動能力有限。

範例: 5 V, 20 kDD PUV R= = Ω

0 VOV ≃200 kLR = Ω

1 kLR = Ω 0 VOV ≃

7/20

Page 8: 射頻電子 - [實驗第二章] I/O電路設計

電晶體開關接上外部負載(II)

• 負載有電容性,電流驅動力將影響邏輯電路之操作速度。

修習數位邏輯或數位積體電路設計,可以學到估算數位電路之fan-in、fan-out與操作速度等觀念。在本課程中就不多談那碼子事了。

Department of Electronic Engineering, NTUT

VDD

PUR

LR LC“0”

VDD

PUR

LR LC“0”

VDD

PUR

LR LC“1”

VDD

PUR

LR LC“1”

“0=>1” “0=>1” “1=>0” “1=>0”

關鍵在於對負載充電需要時間降低RPU增加充電電流就可以加快充電速度

1.RPU在晶片內部已經被做死(其值可在晶片資料手冊中找到),所以充電驅動能力有限。2.電晶體的尺寸(或驅動電流,其值可在晶片資料手冊中找到)已經做死,所以放電驅動能力也有限。如果你是IC Designer,以上兩件事情就是你要負責去”design”的。

負載要放電也需要時間放電速度取決於電晶體尺寸(sink電流)的設計。

8/20

Page 9: 射頻電子 - [實驗第二章] I/O電路設計

開集(汲)極輸出

• 開集極(Open Collector)或開汲極(Open Drain)可允許使用者自行設計輸出電流之驅動力(但sink電流仍有限)。

• 開集(汲)極的另一種用途:

以特定特定特定特定VDD電壓加上拉電阻電壓加上拉電阻電壓加上拉電阻電壓加上拉電阻可進行

訊號準位的轉換,這是一種很常見

的介面轉換方法。

(下拉電阻無法進行位準轉換)

Department of Electronic Engineering, NTUT

晶片內部

晶片外部

晶片外部

VDD= 3.3 V

PUR晶片內部5 V

3.3 V系統

VDD

PUR

晶片外部

Sink電流比一般 I/O大(20~60mA),但仍受限。

Source電流可透過RPU決定。

Open drain不接上拉電阻,只有”0”與”float”。

9/20

Page 10: 射頻電子 - [實驗第二章] I/O電路設計

驅動發光二極體

Department of Electronic Engineering, NTUT

晶片內部

晶片外部

VDD,ext= 5 V

330 ~ 470 kΩ

“1”

~ 10 mA

晶片內部

晶片外部

VDD,ext= 5 V

330

~ 470 Ω

1 ~ 4.7 kΩ

“1”

晶片內部

晶片外部 VDD,ext

330

~ 470 Ω

“0” optional

不同的發光二極體一般要達到完全的亮度需要1mA~20mA的電流。如果晶片 I/O驅動能力夠,則可直接驅動LED沒有問題。

若晶片I/O驅動力不足,則需在外部自己設計驅動級(driver),以驅動需要更大電流的負載。因Driver基極只需要吃小小的電流,所以讓晶片先驅動Driver,再由Driver去驅動外部負載。

Driver Driver

晶片晶片晶片晶片I/O驅動力夠驅動力夠驅動力夠驅動力夠 晶片晶片晶片晶片I/O驅動力不足驅動力不足驅動力不足驅動力不足 晶片晶片晶片晶片I/O驅動力不足驅動力不足驅動力不足驅動力不足

10/20

Page 11: 射頻電子 - [實驗第二章] I/O電路設計

驅動繼電器

Department of Electronic Engineering, NTUT

Relay

VCC,ext

VDD,extLR

VDD,ext

LR

Relay

VCC,ext

N.C.

N.O.

晶片內部

晶片內部

釋放時間

扣入時間

輸入

輸出

VC

VC

集極電壓

輸入

輸出

集極電壓

電感Flyback電壓可能損壞電晶體

扣入時間

釋放時間

電感Flyback電壓被截波至VDD,ext+0.7 V

洩流器、逆向截波器、火花消除器。

限流電阻

LL

div L

dt=

11/20

Page 12: 射頻電子 - [實驗第二章] I/O電路設計

Active High與Active Low

• 一般晶片的I/O,除非是允許Tri-state的腳位,否則所有的腳位在「平時」都必須要給它們一個「已知狀態」,避免晶片發生誤動作。

• 高態動作(Active high)的輸出:

輸出平時在低電位(Low, 0),輸出高電位(High, 1)時,負載通電。

• 低態動作(Active low)的輸出:

平時在高電位(High, 1),輸出低電位(Low, 0)時,負載通電。

• 高態動作(Active high)的輸入:

平時在低電位(Low, 0),輸入高電位(High, 1)以觸發之。

• 低態動作(Active low)的輸入:

平時在低電位(Low, 0),輸入高電位(High, 1)以觸發之。

Department of Electronic Engineering, NTUT

大多數的晶片都可以讓使用者透過設定暫存器來決定 I/O的常態。若使用者不設定,晶片也會有「預設」的組態,查看資料手冊便知。

12/20

Page 13: 射頻電子 - [實驗第二章] I/O電路設計

Active High與Active Low的輸出

Department of Electronic Engineering, NTUT

Active High的輸出的輸出的輸出的輸出 Active Low的輸出的輸出的輸出的輸出

“1”

平常

平常

“0”

晶片內部

晶片內部

“0”

平常

VDD

平常

“1”

“0”

動作

動作

“1”

晶片內部

晶片內部

“1”

動作

VDD

動作

“0”

電晶體不耗電電晶體不耗電電晶體不耗電電晶體不耗電

電晶體耗電電晶體耗電電晶體耗電電晶體耗電

電晶體不耗電電晶體不耗電電晶體不耗電電晶體不耗電

電晶體耗電電晶體耗電電晶體耗電電晶體耗電

例如:MCS-51單晶片

13/20

Page 14: 射頻電子 - [實驗第二章] I/O電路設計

晶片耗電與輸出驅動級的設計考量

Department of Electronic Engineering, NTUT

“0”

“1”

“0”

“1”

平常

“1”“0”

平常

• 若有一顆LED,平時要恆亮,有事件時熄滅。如果考慮晶片功率消耗的問題,應該如何設計驅動器以達省電的目的?

晶片內部晶片內部晶片內部晶片內部電晶體不耗電電晶體不耗電電晶體不耗電電晶體不耗電

“0”“1”

晶片內部晶片內部晶片內部晶片內部電晶體持續耗電電晶體持續耗電電晶體持續耗電電晶體持續耗電

晶片內部晶片內部晶片內部晶片內部電晶體不耗電電晶體不耗電電晶體不耗電電晶體不耗電

晶片內部晶片內部晶片內部晶片內部電晶體持續耗電電晶體持續耗電電晶體持續耗電電晶體持續耗電

動作

晶片是晶片是晶片是晶片是Active High的的的的輸出輸出輸出輸出

晶片是晶片是晶片是晶片是Active Low的的的的輸出輸出輸出輸出

良好的設計可以避免「聚沙成塔」導致晶片功率消耗過高(而且都是不必要的消耗)。

平常持續動作

14/20

Page 15: 射頻電子 - [實驗第二章] I/O電路設計

Active High與Active Low的輸入

Department of Electronic Engineering, NTUT

晶片內部

Active Low的輸入的輸入的輸入的輸入Active High的輸入的輸入的輸入的輸入

平常PDR

晶片內部 動作

PDR

“1”

耗電耗電耗電耗電

“0”“0”

“1”

晶片內部

PUR

動作

“0”

耗電耗電耗電耗電

“0”

不耗電不耗電不耗電不耗電 晶片內部

PUR

平常

“1”“1”

不耗電不耗電不耗電不耗電

例如:MCS-51單晶片

15/20

Page 16: 射頻電子 - [實驗第二章] I/O電路設計

系統耗電與輸入觸發電路的設計考量(I)

Department of Electronic Engineering, NTUT

• 若晶片內部有一訊號腳位「X」用來接收外部「觸發事件」。應如何設計「X」的觸發條件以及外部輸入觸發電路以達省電的目的?

晶片內部

平常PDR

“0”

不耗電不耗電不耗電不耗電

晶片是晶片是晶片是晶片是Active High的輸入的輸入的輸入的輸入

晶片內部

事件

PDR

“1”

耗電耗電耗電耗電

X=“1”X=“1”時觸發(程式判斷條件)

X=“0” “0”

晶片內部

平常PDR

“1”

耗電耗電耗電耗電

晶片內部

事件

PDR

“0”

不耗電不耗電不耗電不耗電

X=“0”X=“1”“1”

外部持續提供

R

R

X=“0”時觸發(程式判斷條件)

相對於平常,事件通常發生次數少(或佔據時間較短),應該讓事件發生的時候才產生耗電。如果晶片輸入是activehigh,那麼判斷條件就使用active high,如此可避免外部電路要持續供電。

如果「事件」發生的很頻繁,或是佔據的時間很長,則可能要考慮採取相反的設計策略。

這 跟 使 用 level-triggering 或 edge-triggering也會有關。在此不多談。

耗電耗電耗電耗電

16/20

Page 17: 射頻電子 - [實驗第二章] I/O電路設計

系統耗電與輸入觸發電路的設計考量(II)

Department of Electronic Engineering, NTUT

• 若晶片內部有一訊號腳位「X」用來接收外部「觸發事件」。應如何設計「X」的觸發條件以及外部輸入觸發電路以達省電的目的?

晶片是晶片是晶片是晶片是Active Low的輸入的輸入的輸入的輸入

晶片內部 事件

PUR

“0”

耗電耗電耗電耗電

X=“0”X=“0”時觸發

(程式判斷條件)

X=“1” “1”

晶片內部

平常

PUR

耗電耗電耗電耗電

晶片內部

事件

PUR

“1”

耗電耗電耗電耗電

X=“1”X=“0”“0”

晶片內部

PUR

平常

“1”

不耗電不耗電不耗電不耗電

X=“1”時觸發(程式判斷條件)

R

R

如果晶片輸入是active low,那麼判斷條件就使用activelow,如此可避免外部電路要持續供電。

如果「事件」發生的很頻繁,或是佔據的時間很長,則可能要考慮採取相反的設計策略。

這 跟 使 用 level-triggering 或 edge-triggering也會有關。在此不多談。

這完全只是這完全只是這完全只是這完全只是設計設計設計設計上上上上的邏輯思考而已的邏輯思考而已的邏輯思考而已的邏輯思考而已,,,,本身並沒有用到甚本身並沒有用到甚本身並沒有用到甚本身並沒有用到甚麼了不起的知識麼了不起的知識麼了不起的知識麼了不起的知識。。。。

17/20

Page 18: 射頻電子 - [實驗第二章] I/O電路設計

• 系統開機時、電源突波抖動、或任何時刻透過按鍵來重置(Reset)系統,按鍵重置電路通常還會加上電容以消除按鍵抖動(bounce)。

重置電路

Department of Electronic Engineering, NTUT

1 kΩ

22 µF

CCV

Reset

CCV

22 µF

Reset

1 kΩ1 kΩ

CCV

22 µF

Reset

1 kΩ200 kΩ

22 µF

CCV

0.1 µF

10 kΩ14 kΩ

1D

3 V

1QReset_n

10 kΩ

CCV

31 kΩ

1Q

24 kΩ

0.1 µF10 kΩ

Reset_n

CCV

0.1 µF

100 kΩReset_n

0.1 µF

100 kΩ

10 kΩ1D

防電源抖動重置電路

強韌的重置程序會包含緊急資料儲存的動作。在電力完全喪失前,先觸發重置程序可以保護系統內部資料與狀態。

18/20

Page 19: 射頻電子 - [實驗第二章] I/O電路設計

使用類比訊號來觸發數位邏輯電路

• 有時候我們會需要將類比訊息轉換成數位訊號。

例如要讓溫度感測器的監測溫度超過某個值之後發出警示,或是想要計算某個類比值超過某臨界值的次數。我們經常會使用OPA(或比較器)來做為類比與數位轉換的介面。有時可能還需要結合電阻分壓器,變阻器與上拉電阻。

Department of Electronic Engineering, NTUT19/20

Page 20: 射頻電子 - [實驗第二章] I/O電路設計

本章總結

• 本課程實習會使用到的開關電路,狀況非常單純,所以我們並沒有對數位電路的電晶體操作的理論細節多做討論。電晶體的數位操作理論仍有它的重要性,特別是在功率消耗、操作速度等設計問題上皆需要理論作引導。

• 透過本章,同學可了解到上拉(下拉)電阻存在的必要性,對於你所要設計的電路(程式),應該審慎規劃才能達到全系統有最低功率消耗的要求。

• 普遍的單晶片輸出並不能直接驅動負載(特別是需要大電流的負載),因此需要自行設計外部驅動級才行。

Department of Electronic Engineering, NTUT20/20