111
ĐIỆN TỬ SỐ Chương 1 Biểu diễn thông tin trong các thiết bị điện tử

Dientuso Sld

  • Upload
    hoadktd

  • View
    9.824

  • Download
    6

Embed Size (px)

DESCRIPTION

Điện Tử Số - Thầy Lê Hải Sâm - Chương 1 - 4

Citation preview

Page 1: Dientuso Sld

ĐIỆN TỬ SỐ

Chương 1

Biểu diễn thông tin trong các thiết bị điện tử

Page 2: Dientuso Sld

Một hệ thống điển hình

• Trong các hệ thống xử lý thông tin hiện đại, ví dụ các hệ thống đo lường - điều khiển công nghiệp, việc áp dụng kỹ thuật xử lý tín hiệu số ngày càng trở nên phổ biến

• Tín hiệu cần phải được biểu diễn ở dạng số để phù hợp với trào lưu này

Page 3: Dientuso Sld

Tín hiệu số• Bản chất của các tín hiệu trong tự nhiên là

tương tự (analog), tức là:– Liên tục theo thời gian– Liên tục về giá trị

Tín hiệu tương tự được biểu diễn dưới dạng s(t)• Khi thực hiện xử lý tín hiệu trong các hệ thống:

– Lấy mẫu - gián đoạn theo thời gian– Lượng tử - gián đoạn theo các mức giá trị– Mã hoá - để phù hợp với tính chất của thiết bị

Tín hiệu được tạo ra sau sau ba bước trên đây được gọi là tín hiệu số (digital)

• Trong các thiết bị điện tử, tín hiệu số được mã hoá theo hệ nhị phân

Page 4: Dientuso Sld

Biểu diễn số tự nhiên• Hệ thập phân: là hệ đếm sử dụng các chữ số

thập phân để biểu diễn giá trị của số đếm

• Mỗi chữ số thập phân (digit) có thể nhận một trong mười giá trị khác nhau:

di= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

• Số thập phân lớn hơn 9 được biểu diễn bởi nhiều chữ số, một số thập phân tự nhiên có n chữ số được viết và tính như sau:N = dn-1dn-2...d0 = dn-110n-1 + dn-210n-2 +...+ d0100

Ví dụ: 1978 = 1×103+9×102+7×101+8×100

= 1000 + 900 + 70 + 8

Page 5: Dientuso Sld

Số nhị phân tự nhiên

• Trong các thiết bị điện tử thường sử dụng các phần tử có hai trạng thái → hệ nhị phân

• Hệ nhị phân sử dụng các chữ số có thể nhận một trong hai giá trị: bi= {0, 1}

• Để biểu diễn số có giá trị lớn hơn 1 cần phải dùng nhiều chữ số nhị phân

• Một số nhị phân tự nhiên có n chữ số:N = bn-1bn-2...b0 = bn-12n-1 + bn-22n-2 + ... + b020

Ví dụ: số nhị phân 101101 được tính bằng:

1×25+0×24+1×23+1×22+0×21+1×20 = 45

Page 6: Dientuso Sld

Một số khái niệm

• Bit (binary digit): chữ số nhị phân, có thể nhận một trong hai giá trị 0 và 1.– MSB (Most Significant Bit): Bit ở rìa bên trái

có trọng số lớn nhất 2n-1.– LSB (Least Significant Bit): Bit ở rìa bên phải

có trọng số nhỏ nhất 20.

• Word: tập hợp các bit tạo nên một từ mã• Byte: một nhóm gồm 8 bit

– Nipple: một nửa byte (4 bit)

Page 7: Dientuso Sld

Biến đổi số thập phân - nhị phân• Thực hiện phép chia 2 liên tục số thập phân cần biến đổi

và sắp xếp các số dư từ phải sang trái. Ví dụ, biến đổi số thập phân 45 thành nhị phân:

Page 8: Dientuso Sld

Biểu diễn số nguyên (1)• Dấu và trị tuyệt đối (sign-magnitude)

– MSB là bit dấu (MSB=0: số dương, MSB=1: số âm)– n-1 bit còn lại biểu diễn giá trị tuyệt đối

Ví dụ: 0011 0110 = 54, 1011 0110 = -54

• Bù 1 (1’s complement)– số dương biểu diễn theo cách thông thường (MSB=0) – mã nhị phân của số âm có được bằng cách đảo giá trị

tất cả các bit (bù 1) của mã số dương– số đối của A chính là bù 1 của A

Ví dụ: 0011 0110 = 54, 1100 1001 = -54

Page 9: Dientuso Sld

Biểu diễn số nguyên (2)• Bù 2 (2’s complement)

– số dương biểu diễn theo cách thông thường– số âm đảo giá trị tất cả các bit sau đó cộng thêm 1Ví dụ: 0011 0110 = 54, 1100 1010 = -54

• Offset – dịch gốc của trục số một khoảng bằng ½ giải giá trị– giá trị thực của số nguyên n bit: I = N – 2n-1 Ví dụ: 1011 0110 = 54, 0100 1010 = -54– mã bù 2 và mã offset của một số chỉ khác nhau phần

dấu (giá trị của MSB)

Page 10: Dientuso Sld

So sánh các dạng số nguyên

Page 11: Dientuso Sld

Tính giá trị của số nguyên• Dấu và trị tuyệt đối:

I = (-1)bn-1×(bn-2×2n-2 + … + b0×20)• Bù 1:

bn-1 = 0: I = (bn-2×2n-2 + … + b0×20) = N

bn-1 = 1: I = – [(1-bn-2)×2n-2 +…+ (1-b0)×20] = N – (2n-1–1)

I = (bn-2×2n-2+ … +b0×20) – (bn-1×2n-1–bn-1)• Bù 2:

bn-1 = 0: I = (bn-2×2n-2 + … + b0×20) = N

bn-1 = 1: I = – [(1-bn-2)×2n-2 + … + (1-b0)×20 +1] = N – 2n-1

I = (bn-2×2n-2+ … +b0×20) – bn-1×2n-1

• Offset:

I = (bn-1×2n-1 + bn-2×2n-2 + … + b0×20) - 2n-1

= (bn-2×2n-2 + … + b0×20) – (1 - bn-1)×2n-1

Page 12: Dientuso Sld

Phép tính số học

Page 13: Dientuso Sld

Điều kiện tràn• Khi thực hiện cộng/trừ các số tự nhiên thì giá trị của bit carry cho

biết tính đúng đắn của kết quả• Khi cộng/trừ các số nguyên (thường mã theo quy tắc bù 2), trạng

thái tràn (overflow) cho biết tính đúng đắn của kết quả• Trạng thái tràn xảy ra nếu giá trị của carry tới và ra khỏi bit dấu của

kết quả không giống nhau

Page 14: Dientuso Sld

Phép nhân số nhị phân

Page 15: Dientuso Sld

Phép chia số nhị phân

Page 16: Dientuso Sld

Hệ đếm 16 (Hexadecimal)• Hệ Hexadecimal sử dụng các ký hiệu (chữ

số hexa) để biểu diễn số, mỗi chữ số có thể nhận một trong 16 giá trị khác nhauhi= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

• Số lớn hơn 15 được biểu diễn bởi nhiều chữ số hexa, một số tự nhiên hexadecimal có thể được viết và tính giá trị như sau:N = hn-1hn-2…h0 = hn-1×16n-1 +hn-2×16n-2…+h0×160

Ví dụ: 1A3 = 1×162 + A×161 + 3×160 = 419

Page 17: Dientuso Sld

Chữ số hexadecimal

Page 18: Dientuso Sld

Biến đổi thập phân - hexadecimal

• Thực hiện liên tục phép chia số thập phân cần biến đổi cho 16 và sắp xếp các số dư từ phải sang trái. Ví dụ, biến đổi số thập phân 419 thành hexa

• Có thể thực hiện biến đổi:– Thập phân → nhị phân → hexadecimal– Thập phân → hexadecimal → nhị phân

Page 19: Dientuso Sld

Mã BCD – Binary Coded Decimal• Mỗi chữ số thập phân được mã hoá bằng 4 bit nhị phân

(0 = 0000, …, 9 = 1001)Ví dụ: 1978 →BCD: 0001 1001 0111 1000, Binary: ??

• Trong số 16 tổ hợp có thể có từ 4 bit, chỉ dùng 10 tổ hợp cho 10 giá trị thập phân, 6 tổ hợp còn lại (từ 1010 đến 1111) là không hợp lệ đối với BCD

Thập phân BCD Thập phân BCD

0 0000 8 1000

1 0001 9 1001

2 0010 10 0001 0000

3 0011 11 0001 0001

4 0100 12 0001 0010

5 0101 13 0001 0011

6 0110 14 0001 0100

7 0111 15 0001 0101

Page 20: Dientuso Sld

Phép tính số học với BCD• Phép tính số học được thực hiện với quy ước mặc định:

các toán hạng tham gia phép tính được mã hoá theo quy tắc nhị phân thông thường

• Nếu các toán hạng được mã hoá theo luật BCD thì có thể xuất hiện sai lệch trong kết quả

Page 21: Dientuso Sld

Mã Gray• Kiểu mã nhị phân mà hai giá trị cạnh nhau chỉ

sai khác nhau ở 1 bit (xem bảng mã Gray)• Mã Gray thường dùng trong các cảm biến đo di

chuyển cơ học để tránh sai số thô

Page 22: Dientuso Sld

Ví dụ sử dụng mã Gray

Page 23: Dientuso Sld

ASCII – American Standard Code for Information Interchange

Page 24: Dientuso Sld
Page 25: Dientuso Sld

ĐIỆN TỬ SỐChương 2

Đại số Boole -Các cổng logic

Page 26: Dientuso Sld

Quan hệ hàm trong hệ nhị phân

Page 27: Dientuso Sld

Các hàm logic cơ bản• Trong số 16 hàm trên thì các hàm:

Z12 = X hoặc X’ (NOT X)

Z1 = X * Y (X AND Y)

Z7 = X + Y (X OR Y)

được coi là hàm logic cơ bản• Từ ba hàm logic cơ bản này có thể tạo ra được

tất cả các mối quan hệ hàm trong hệ nhị phân• Ngoài ba hàm logic cơ bản trên đây, thì một số

hàm logic khác là NAND, NOR, XOR, XNOR cũng thường hay được sử dụng để mô tả các quan hệ logic trong thiết bị điện tử số

Page 28: Dientuso Sld

Các cổng logic cơ bản• Mạch điện tử thực hiện một hàm logic được gọi là cổng

logic (Logic Gate)• Tên của cổng được gọi theo tên hàm mà nó thực hiện

Page 29: Dientuso Sld

Các cổng thường gặp khác

Page 30: Dientuso Sld

Các quy tắc cơ bản

Page 31: Dientuso Sld

Các quy tắc áp dụng cho hàm XOR (Exclusive OR)

Page 32: Dientuso Sld

Phép logic với các biến có nhiều thành phần

Page 33: Dientuso Sld

Biểu diễn các hàm logic• Mọi hàm logic đều có thể được biểu diễn thông

qua bảng trạng thái (truth table), biểu thức logic hoặc bìa Karnaugh

• Xét hàm Y(A, B, C) lấy theo đa số của ba biến

Page 34: Dientuso Sld

Biểu diễn bằng biểu thức logic

Page 35: Dientuso Sld

Viết các biểu thức logic

• Dạng SOP được viết bằng cách liệt kê các tích (minterm) ứng với các hàng có giá trị 1 của bảng

• Dạng POS viết bằng cách liệt kê các tổng (Maxterm) ứng với các hàng có giá trị 0 của bảng

Page 36: Dientuso Sld

Biểu diễn bằng bìa Karnaugh

Page 37: Dientuso Sld

Biểu diễn hàm logic 4 biến

A B C D F(a, b, c, d)

0 0 0 0 0 0

0 0 0 1 1 1

0 0 1 0 2 0

0 0 1 1 3 1

0 1 0 0 4 0

0 1 0 1 5 1

0 1 1 0 6 0

0 1 1 1 7 1

1 0 0 0 8 0

1 0 0 1 9 1

1 0 1 0 10 0

1 0 1 1 11 0

1 1 0 0 12 1

1 1 0 1 13 0

1 1 1 0 14 0

1 1 1 1 15 0

Page 38: Dientuso Sld

Một số ví dụ dùng bìa K

Page 39: Dientuso Sld

Rút gọn hàm logic bằng bìa K• Do tính chất hai ô cạnh nhau ở một bìa K chỉ khác nhau

ở một biến, ta có thể nhóm hai ô cạnh nhau có giá trị ‘1’ trên bìa K để loại bỏ biến khác nhau đó trong số hạng tích

• Tương tự như vậy, có thể nhóm bốn ô có giá trị ‘1’ cạnh nhau để loại bỏ được hai biến

• Nhóm tám ô có giá trị ‘1’ cạnh nhau để loại bỏ được ba biến, và …

Page 40: Dientuso Sld

Trạng thái “don’t care”

Page 41: Dientuso Sld

Sử dụng trạng thái “don’t care”

Page 42: Dientuso Sld

Thực hiện hàm logic• Biểu diễn hàm cần thực hiện ở dạng biểu thức logic• Có thể rút gọn hàm trước khi thực hiện bằng mạch• Sử dụng các cổng logic cơ bản để thực hiện các phép

logic tương ứng (NOT, AND, OR)

Page 43: Dientuso Sld

ĐIỆN TỬ SỐ

Chương 3

Các họ mạch logic

Page 44: Dientuso Sld

Biến logic trong mạch điện tử

• Sử dụng mức điện áp tại các điểm đo làm giá trị logic

• Phần lớn các họ mạch áp dụng quy ước logic thuận:– Điện áp thấp (≈0V) biểu diễn giá trị logic ‘0’

– Điện áp cao (≈VCC) biểu diễn giá trị logic ‘1’

• Một số họ mạch sử dụng quy ước logic nghịch– Điện áp thấp (≈0V) biểu diễn giá trị logic ‘1’

– Điện áp cao (≈VCC) biểu diễn giá trị logic ‘0’

Page 45: Dientuso Sld

Biến logic trong mạch TTL

• Mạch logic TTL sử dụng nguồn cung cấp VCC=5V, và áp dụng quy ước logic thuận:– Ngưỡng Logic ‘1’:

VIH 2.0 V

– Ngưỡng Logic ‘0’:

VIL 0.8 V

– Giữa hai ngưỡng đó là một vùng không xác định (Undefined)

0.8 V < VU < 2.0 V

Page 46: Dientuso Sld

Các mức ngưỡng logic• Mức ngưỡng logic ‘1’ là VH (gồm VIH và VOH). Mức ngưỡng

logic ‘0’ là VL (gồm VIL và VOL).

• Ngưỡng logic của các họ mạch logic khác nhau thì khác nhau (ví dụ, của TTL khác của CMOS)

• Ngưỡng logic ở cửa vào và cửa ra của cùng một họ mạch logic cũng khác nhau (VIH ≠ VOH, VIL ≠ VOL).

Page 47: Dientuso Sld

Đặc tính truyền đạt

• Nếu điện áp vào ở vùng ngưỡng logic xác định (mức ‘0’ hoặc ‘1’) thì điện áp ra cũng sẽ ở mức ngưõng xác định

• Nếu điện áp vào ở mức không xác định (VIL<VI<VIH) thì điện áp ra cũng nằm ở vùng không xác định (VOL<VO<VOH)

Page 48: Dientuso Sld

Đặc trưng của cổng logic (1)• Nguồn cung cấp:

– điện áp nguồn cung cấp VCC, – dòng điện tiêu thụ từ nguồn cung cấp ICC, – công suất tiêu thụ Pd = (PL+PH)/2

• Mức ngưỡng logic: – mức cao (logic ‘1’): VIH, VOH

– mức thấp (logic ‘0’): VIL, VOL

• Dòng tín hiệu: – dòng tiêu thụ ở cửa vào IIH, IIL

– dòng cung cấp ở cửa ra IOH (source current), IOL(sink current)

• Hệ số fan-in (n)• Hệ số fan-out (N), còn gọi là khả năng tải

Page 49: Dientuso Sld

Đặc trưng của cổng logic (2)• Mức độ chống nhiễu

– Độ chống nhiễu ở mức thấp: ΔVL = VIL – VOL

– Độ chống nhiễu ở mức cao: ΔVH = VOH – VIH

• Tốc độ hoạt động - thể hiện qua thời gian truyền của cổng: tp = (tpHL+tpLH)/2

Page 50: Dientuso Sld

Họ mạch logic TTL

Page 51: Dientuso Sld

Một số mạch TTL khác

• Mạch TTL tiêu chuẩn thường có ký hiệu là 74xx hoặc 54xx, trong đó xx là số chỉ chức năng của mạch

• Một cổng TTL tiêu chuẩn tiêu thụ một công suất cỡ 10mW và có thời gian trễ tín hiệu cỡ 10ns.

Page 52: Dientuso Sld

Ký hiệu vi mạch logic

Page 53: Dientuso Sld

Các nhóm mạch logic TTL

Page 54: Dientuso Sld

Transistor MOSFET

• Transistor n-MOS dẫn dòng khi VGS>0, còn p-MOS dẫn dòng khi VGS<0.

• Các mạch logic MOS sử dụng cặp gồm một n-MOS và một p-MOS, gọi là CMOS

Page 55: Dientuso Sld

Mạch logic CMOS (1)

• Ở trạng thái tĩnh, mạch logic CMOS hầu như không tiêu thụ công suất, công suất tiêu thụ của mạch logic CMOS phụ thuộc tần số tín hiệu.

• Do quá trình phóng nạp điện tích ở cực GATE, các mạch logic CMOS có tốc độ chậm hơn so với mạch TTL (mỗi cổng logic CMOS có thời gian trễ tp = 20÷200ns)

Page 56: Dientuso Sld

Mạch logic CMOS (2)

Page 57: Dientuso Sld

Các thông số mạch logicMạch Pd tp Pd × tp

74xxx

74Hxxx

74Lxxx

74Sxxx

74LSxxx

74ASxxx

74ALSxx

10 mW22 -

1 -

20 -

2 -

8 -

1,2 -

10 ns 6 -

35 -

3 -

9 -

1,7 -

4 -

100 pJ

132 -

35 -

60 -

18 -

14 -

5 -

Mức ngưỡng logic (V)VIL VIH VOL VOH

74xx

74Sxx

_4xxxB

74Cxx

74HCxx

74HCTxx

0,8

0,8

1,5

1,5

1,0

0,8

2,0

2,0

3,5

3,5

3,5

2,0

0,4

0,4

0,05

0,5

0,1

0,1

2,4

2,7

4,95

4,5

4,9

4,9

Dòng tín hiệu (mA)IIL IIH IOL IOH

74xxx

74Hxxx

74Lxxx

74Sxxx

74LSxxx

_4xxxB

74Cxx

74HCxx

74HCTxx

1,6

2

0,18

2

0,36

0,001

0,001

0,001

0,001

0,04

0,05

0,01

0,05

0,02

0,001

0,001

0,001

0,001

16

20

3,6

20

8

0,5

0,4

4,0

4,0

0,4

0,5

0,2

1,0

0,4

0,5

0,4

4,0

4,0

Page 58: Dientuso Sld

Nối cửa ra của các mạch logic• Cửa ra của các mạch logic

có hai transistor nối theo kiểu đẩy kéo thường được gọi là cửa ra totem-pole

• Mạch logic có cửa ra kiểu totem-pole không thể nối trực tiếp với nhau được vì có thể gây xung đột

• Để có thể nối trực tiếp cửa ra của các mạch logic với nhau có thể sử dụng mạch open-collector (cực góp hở) hoặc mạch tri-state (ba trạng thái

Page 59: Dientuso Sld

Mạch open-collector

Page 60: Dientuso Sld

Mạch tri-state (ba trạng thái)

• Mạch logic ba trạng thái là mạch mà ngoài hai trạng thái logic thông thường (‘0’ và ‘1’) còn có thêm trạng thái thứ ba là trạng thái “cao trở”.

• Ở trạng thái “cao trở” cửa ra của mạch logic được thả nổi, khi đó có thể nối trực tiếp cửa ra của nhiều mạch logic với nhau mà không sợ bị xung đột.

Page 61: Dientuso Sld

Các loại cổng NOT

Page 62: Dientuso Sld

Mạch buffer (đệm) ba trạng thái• Có bốn dạng mạch buffer ba trạng thái

– E là tín hiệu điều khiển (ENABLE) để cho phép hoặc cấm cửa ra của mạch

– Tín hiệu E ở các mạch (a) và (b) có tác dụng cho phép mở cửa ra khi nó ở mức cao nên được gọi là tín hiệu vào điều khiển có mức tích cực cao (active HIGH input)

– Tương tự, tín hiệu E ở các mạch (c) và (d) được gọi là tín hiệu vào điều khiển tích cực thấp (active LOW input)

Page 63: Dientuso Sld

Sử dụng mạch ba trạng thái

• Có thể sử dụng cổng logic ba trạng thái để tạo các bộ đệm ba trạng thái (Bus driver) hoặc cổng truyền hai chiều ba trạng thái (Bus tranceiver). Ví dụ, các vi mạch 74244 hoặc 74245

Page 64: Dientuso Sld

Trigger Schmitt

• Có thể tạo đặc tính trễ (hysteresis) kiểu trigger Schmitt cho các cổng logic để lọc nhiễu

Page 65: Dientuso Sld

Ghép nối các mạch logic

Page 66: Dientuso Sld

Sử dụng Buffer và Level shifter

• Sử dụng mạch đệm (Buffer), ví dụ 4049 trong trường hợp dùng mạch CMOS để điều khiển mạch TTL

• Nếu dùng mạch TTL điều khiển mạch CMOS thì có thể sử dụng mạch dịch mức (Level Shifter), ví dụ mạch 4504

Page 67: Dientuso Sld

Các vi mạch số

• Mức độ tích hợp của các IC:– SSI: mạch cỡ nhỏ, <10 cổng/chip– MSI: mạch cỡ vừa, 10 ÷ 100 cổng/chip– LSI: mạch cỡ lớn, 100 ÷ 100.000 cổng/chip– VLSI: mạch cỡ rất lớn > 100.000 cổng/chip

Page 68: Dientuso Sld

Một số vi mạch logic TTL

Page 69: Dientuso Sld

ĐIỆN TỬ SỐ

Chương 4

Mạch logic tổ hợp

Page 70: Dientuso Sld

Mô hình mạch logic tổ hợp

• Mạch logic tổ hợp là loại mạch mà giá trị của tập biến ra ở mỗi thời điểm chỉ phụ thuộc giá trị của tập biến vào ở thời điểm đó: Y = F(X),

trong đó X = {X0, X1, …, XN-1}

Y = {Y0, Y1, …, YM-1}

• Mạch logic tổ hợp không có nhớ, không có phản hồi• Có thể tạo mạch logic tổ hợp từ các cổng cơ bản

Page 71: Dientuso Sld

Thiết kế mạch logic tổ hợp• Biểu thức truyền đạt của mạch logic tổ hợp có

thể viết lại như sau:y0 = f0(x0, x1, ..., xN-1)y1 = f1(x0, x1, ..., xN-1)

...yM-1 = fM-1(x0, x1, ..., xN-1)

• Thiết kế mạch logic tổ hợp:– Theo quy tắc kinh điển:

• Mô tả hàm truyền đạt• Biểu diễn và rút gọn các hàm thành phần• Tổng hợp mạch bằng các cổng logic cơ bản

– Sử dụng các mạch logic tổ hợp chế sẵn– Thiết kế bằng máy tính và các vi mạch khả trình PLD

Page 72: Dientuso Sld

ENCODER• Tạo mã nhị phân ở cửa ra từ những tổ hợp tín

hiệu nhất định ở cửa vào• Encoder thường có 2n lối vào và n lối ra, giá trị

mã nhị phân của n bit ra phản ánh trạng thái tín hiệu ở 2n lối vào của mạch.

Page 73: Dientuso Sld

Tổng hợp ENCODER

Page 74: Dientuso Sld

Priority Encoder • ENCODER thực tế cần có:

– Tín hiệu ra báo có hay không sự thay đổi trạng thái vào (ví dụ, READY)

– Phân cấp ưu tiên cho các lối vào

• Ví dụ Priority Encoder 74148

Page 75: Dientuso Sld

Vi mạch ENCODER 74148

Page 76: Dientuso Sld

DECODER• Mạch giải mã (Decoder)

dùng để:– Đưa dữ liệu số tới một lối ra

nhất định.– Lựa chọn thiết bị hoặc nguồn

tín hiệu cụ thể từ một tổ hợp mã vào.

• Decoder thường gồm n lối vào và 2n lối ra– Tại một thời điểm chỉ có thể có

nhiều nhất là một lối ra được chọn (activated)

– Gọi là Decoder n→2n hoặc Decoder/Selector 1 of 2n

– Ngoài n lối vào chọn, Decoder còn có một vài lối vào cho phép (Enable Input)

Page 77: Dientuso Sld

Tổng hợp DECODER• Phương pháp truyền thống:

– Mô tả logic hoạt động của mạch– Viết biểu thức logic của các biến ra– Tổng hợp DECODER bằng các cổng cơ bản

• Sử dụng các vi mạch DECODER chế sẵn

Page 78: Dientuso Sld

Vi mạch Decoder• Có nhiều vi mạch DECODER chế sẵn, ví dụ:

– 74138 (DEC 3 → 8), – 74139 (2×DEC 2 → 4), – 74154 (DEC 4 → 16), 74155, 74156 …

• Ví dụ, vi mạch DECODER 74138

Page 79: Dientuso Sld

Vi mạch Decoder 74138

Page 80: Dientuso Sld

Sử dụng Decoder (1)

Page 81: Dientuso Sld

Sử dụng Decoder (2)• Có thể sử dụng DECODER để tổng hợp mạch

logic tổ hợp. Ví dụ, thực hiện mạch tạo hàm:

Page 82: Dientuso Sld

Giải mã điều khiển hiển thị• Các phần tử hiển thị số thường dùng là LED 7 thanh, ký

hiệu là a, b, c, d, e, f, g• Hiển thị LED 7 thanh có thể sắp xếp kiểu Cathode chung

hoặc Anode chung

Page 83: Dientuso Sld

Logic giải mã• Mạch giải mã điều khiển hiển thị

biến đổi 4 bit mã nhị phân (hoặc BCD) ở lối vào thành cấu trúc điều khiển LED 7 thanh

• Ngoài các tín hiệu vào là mã nhị phân, mạch giải mã hiển thị còn có các lối vào điều khiển như LT (Lamp Test) bật sáng tất cả các thanh và BI (Blank Input) tắt hết tất cả các thanh

• Tuỳ theo tính chất của LED 7 thanh (AC hay CC) mà tín hiệu ra của mạch giải mã có thể tích cực ở mức cao hoặc thấp

Page 84: Dientuso Sld

Giải mã hiển thị 7 thanhMã số

vàoInputs BI/

RBOOutputs

LT RBI D C B A a b c d e f g

0123456789

HHHHHHHHHH

HXXXXXXXXX

0000000011

0000111100

0011001100

0101010101

HHHHHHHHHH

ONOFFONONOFFONOFFONONON

ONONONONONOFFOFFONONON

ONONOFFONONONONONONON

ONOFFONONOFFONONOFFONOFF

ONOFONOFOFOFONOFONOF

ONOFFOFFOFFONONONOFFONON

OFFOFFONONONONONOFFONON

10 (A)11 (B)12 (C)13 (D)14 (E)15 (F)

HHHHHH

XXXXXX

111111

001111

110011

010101

HHHHHH

ONOFFONOFFONON

ONOFFOFFONOFFOFF

ONONOFFONOFFOFF

OFF ONONONONOFF

ONONONONONON

ONONONOFFONON

ONONOFFONONON

BIRBILT

XHL

XLX

X0X

X0X

X0X

X0X

LLH

OFFOFFON

OFFOFFON

OFFOFFON

OFFOFFON

OFFOFFON

OFFOFFON

OFFOFFON

Page 85: Dientuso Sld

Ví dụ mạch giải mã điều khiển hiển thị LED 7 thanh

Page 86: Dientuso Sld

Giải mã hiển thị cho đèn phóng điện nhiều cathode

• Một số bộ hiển thị được chế tạo ở dạng đèn phóng điện nhiều (10) cathode

• Mạch giải mã điều khiển hiển thị loại này biến đổi 4 bit mã BCD thành 10 đường ứng với 10 chữ số của đèn

• Cửa ra của mạch giải mã loại này thường là open-collector

Page 87: Dientuso Sld

MUX và DEMUX

• MUX (Multiplexer) chọn 1 trong nhiều tín hiệu ở 2n lối vào để đưa tới 1 lối ra duy nhất.

• DEMUX (De-Multiplexer) đưa tín hiệu từ 1 lối vào duy nhất tới 1 trong 2n lối ra.

• Việc lựa chọn được thực hiện nhờ n bit chọn thông qua một mạch giải mã DECODER.

Page 88: Dientuso Sld

Tổng hợp MUX/DEMUX• Các mạch MUX/DEMUX có thể được tổng hợp theo

cách thông thường:– mô tả, – viết biểu thức logic, – thực hiện bằng các cổng cơ bản

• Có thể sử dụng các vi mạch MUX/DEMUX chế sẵn

Page 89: Dientuso Sld

Vi mạch MUX/DEMUX• Các MUX/DEMUX TTL chỉ dùng cho tín hiệu

digital– MUX: 74151, 74153, 74157, 74158 …– DEMUX: sử dụng DECODER, ví dụ: 74138, 74139,

74154, 74155, 74156 …

• Các MUX/DEMUX CMOS có thể dùng cho cả tín hiệu analog– Các analog switch công nghệ CMOS có thể dẫn dòng

theo hai chiều do vậy mạch MUX và DEMUX có thể dùng chung

– Các vi mạch MUX/DEMUX CMOS: 4051 (MUX 1/8), 4052 (2×MUX 1/4), 4053 (3×MUX 1/2)…

Page 90: Dientuso Sld

Ứng dụng của MUX/DEMUX

• Sử dụng MUX để tổng hợp hàm logic, tạo bảng tra LUT thường hay gặp trong các hệ thống vi mạch logic khả trình

Page 91: Dientuso Sld

Mạch so sánh (COMPARATOR)

Page 92: Dientuso Sld

Mạch so sánh 7485

Page 93: Dientuso Sld

Sử dụng vi mạch 7485

Page 94: Dientuso Sld

Tạo và kiểm tra Parity• Phần tử cơ bản dùng trong các mạch tạo và kiểm tra

parity (tính chẵn lẻ) của các tập hợp mã nhị phân là các cổng XOR.– Ví dụ, mạch tạo và kiểm tra parity 9 bit dùng các cổng XOR. Các

tín hiệu ra E (=1 khi số bit ‘1’ ở lối vào là chẵn) và O (=1 khi số bit ‘1’ ở lối vào là lẻ).

Page 95: Dientuso Sld

Vi mạch 74280

Page 96: Dientuso Sld

Bộ cộng số học (ADDER)• Có thể tổng hợp bộ cộng số học hai số A và B như sau:

– lập bảng mô tả logic thực hiện phép cộng, – viết biểu thức logic cho các biến ra S (tổng) và C (nhớ), – thực hiện mạch cộng số học bằng các cổng logic cơ bản

• Bộ cộng dưới đây được gọi là HALF ADDER

Page 97: Dientuso Sld

FULL ADDER• Một bộ cộng số học đầy đủ (FULL ADDER) phải thực

hiện được phép cộng ba số nhị phân x, y, và Cin.• Việc tổng hợp Full Adder cũng được thực hiện tương tự

như việc tổng hợp Half Adder

Page 98: Dientuso Sld

Tổng hợp FULL ADDER

Page 99: Dientuso Sld

Cộng/trừ số nhiều bit

Page 100: Dientuso Sld

Tăng tốc độ phép tính số học• Giảm thời gian truyền tín hiệu Carry • Viết lại biểu thức cho CO và S như sau:

Page 101: Dientuso Sld

Look-ahead Carry• Xét phần tử Full Adder thứ i, ta có:

CO,i = CI,i+1 = Gi + Pi CI,i

Si = Pi (XOR) CI,i

• Với Adder n bit, ta có biểu thức tính các giá trị C như sau: C1 = G0 + P0 C0 C2 = G1 + P1 C1 = G1 + P1 G0 + P1 P0 C0 C3 = G2 + P2 C2 = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 C0 C4 = G3 + P3 C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 G0 + P3 P2 P1 P0 C0

…• Mỗi biểu thức tính Carry trên đây đều có thể được thực hiện bằng

một mạch logic hai mức mạch tạo carry nhanh (Look-ahead Carry Generator) gồm các công cơ bản AND-OR.

• Với mạch kiểu này, hiệu ứng trễ do việc truyền Carry bị loại bỏ• Có thể sử dụng thêm các mạch half-adder và XOR để thực hiện bộ

cộng có carry nhanh• Thời gian thực hiện phép cộng n bit bây giờ chỉ còn bằng thời gian

thực hiện phép cộng một bit

Page 102: Dientuso Sld

Bộ cộng số học có carry nhanh

Page 103: Dientuso Sld

Vi mạch 74283 (Fast Adder)

Page 104: Dientuso Sld

Cộng nhanh số nhiều bit• Có thể sử dụng các bộ cộng có Look-ahead Carry để

tổng hợp bộ cộng số nhị phân nhiều bit• Mạch dưới đây là một ví dụ tổng hợp bộ cộng các số nhị

phân 16 bit từ các Adder 74xx283Thời gian thực hiện phép cộng:

tp = 3×tc + ts = 3×(10÷15 ns) + (13÷21 ns) = 43 ÷ 66 ns

Page 105: Dientuso Sld

ALU• Mạch ALU (Arithmetic Logical Unit) có thể thực

hiện phép tính số học hoặc logic lên (các) toán hạng tuỳ theo giá trị của mã chọn.

• Ví dụ:

Page 106: Dientuso Sld

Vi mạch ALU 74181

Page 107: Dientuso Sld

Bộ nhân hai số nhị phân

Page 108: Dientuso Sld

Hazard trong mạch logic tổ hợp• Xét mạch logic tổ hợp

thực hiện hàm: F = AB’ + BC

• Theo lý thuyết: – Giả sử ở thời điểm hiện tại

nếu (A, B, C) = (1, 1, 1) thì F =‘1’.

– Nếu B chuyển từ ‘1’ sang ‘0’ thì F vẫn giữ nguyên trạng thái ‘1’.

• Tuy nhiên do đặc tính trễ của cổng nên ở cửa ra F có xuất hiện xung nhiễu , gọi là HAZARD

Page 109: Dientuso Sld

Các tính chất của Hazard• Hazard xuất hiện trong mạch logic tổ hợp do có

sự khác nhau về thời gian truyền từ lối vào tới lối ra theo các đường dẫn khác nhau của mạch.

• Hazard tĩnh (Static Hazard)– Hazard tĩnh mức ‘0’: ở lối ra xuất hiện một nhiễu xung

ngắn mức ‘1’, trong khi lẽ ra nó vẫn phải duy trì nguyên ở mức ‘0’.

– Hazard tĩnh mức ‘1’: ở lối ra xuất hiện một nhiễu xung ngắn mức ‘0’, trong khi lẽ ra nó vẫn phải duy trì nguyên ở mức ‘1’ (như ở ví dụ trên)

• Hazard động (Dynamic Hazard): lối ra thay đổi trạng thái vài ba lần, trong khi lẽ ra nó chỉ có một sự thay đổi từ ‘0’ sang ‘1’ (hoặc từ ‘1’ sang ‘0’)

Page 110: Dientuso Sld

Ví dụ về Hazard động

• Xét mạch ở hình bên:– Giả sử ban đầu:

(A,B,C,D) = (0,0,0,1) thì F = ‘1’

– Nếu B = ‘0’ ‘1’ thì, theo lý thuyết, lẽ ra F = ‘1’ ‘0’

– Tuy nhiên, trên thực tế thì:

F=‘1’‘0’‘1’‘0’

Page 111: Dientuso Sld

Biện pháp khắc phục• Khi biến B thay đổi giá trị thì cả hai số hạng tích AB’ và BC đều có

phản ứng. Nếu thời gian trễ của hai số hạng tích này không giống nhau thì sẽ xuất hiện Hazard

• Biện pháp: tạo số hạng tích cho hai ô cạnh nhau: AC• Mạch không có Hazard tĩnh cũng sẽ không có Hazard động