You are on page 1of 326

Digital Electronics

Điện tử số

FETEL-2021 1
Chương 1: Hệ thống số, tính toán, mã số (2t)
Chương 2: Các cổng logic (4t)
Chương 3: Đại số Boole và đơn giản logic (8t)
Chương 4: Logic tổ hợp (4t)
Chương 5: Flip flop và Ghi - dịch (4t)
Chương 6: Mạch đếm (4t)
2
FETEL-2021
Digital Fundamentals, Thomas Floyd
Digital Electronics

Giới thiệu
Hệ thống số, tính toán, mã số

FETEL-2021 3
Giới thiệu
Tín hiệu tương tự
Hầu hết tín hiệu quan sát trong tự nhiên là tín hiệu tương tự
(nhiệt độ, độ ẩm,…) có giá trị thay đổi liên tục.

Temperature
(°F)

100
95
90
85
80
75
70
Time of day
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12
A .M . P.M .

Hệ thống số có khả năng lưu trữ, xử lý và truyền tải dữ liệu


hiệu quả. Tín hiệu số có biên độ rời rạc.
FETEL-2021 4
Giới thiệu
Hệ thống tương tự

FETEL-2021 5
Giới thiệu
Hệ thống tương tự và số

Nhiều hệ thống kết hợp kỹ thuật tương tự và số để tận dụng


ưu thế của hai công nghệ.
Ví dụ CD player:

CD drive

10110011101 Digital-to-analog Linear amplifier


Digital data converter Analog
reproduction
of music audio Speaker
signal
Sound
waves

FETEL-2021 6
Giới thiệu
Ký số nhị phân và mức logic

Các thiết bị số dùng mạch điện có hai trạng thái được diễn
tả bởi hai mức điện thế HIGH (cao) và LOW (thấp). → Hệ
cơ số hai hay nhị phân.
VH(max)
HIGH
VH(min)

Invalid
VL(max)

LOW
VL(min)

FETEL-2021 7
Giới thiệu

Dạng sóng số
Dạng sóng của tín hiệu số thay đổi giữa hai mức HIGH và
LOW. Hình a diễn tả một xung dương, hình b thể hiện 1
xung âm.
Lưu ý: các tín hiệu số có hai mức (cao-HIGH, thấp-LOW) và
hai cạnh (cạnh lên và cạnh xuống).
HIGH HIGH
Rising or Falling or Falling or Rising or
leading edge trailing edge leading edge trailing edge

LOW LOW
t0 t1 t0 t1

(a) Positive–going pulse (b) Negative–going pulse

FETEL-2021 8
Giới thiệu

Các thông số của một tín hiệu xung


Một xung thực tế không lý tưởng và có dạng sóng như hình.
Các đặc tính của xung bao gồm: thời gian lên/xuống, độ rộng
xung, biên độ,… Overshoot
Ringing
Droop
90%
Amplitude tW
50%
Pulse width

10%
Ringing

Base line Undershoot


tr tf
Rise time Fall time

FETEL-2021 9
Giới thiệu

Xung tuần hoàn

Xung tuần hoàn gồm các xung lặp lại sau một khoảng thời gian
gọi là chu kỳ (period). Tần số là tần suất lặp lại có đơn vì là
hertz.
1 1
f = T=
T f

Clock hay tín hiệu đồng hồ là một xung tuần hoàn đặc biệt, đây
là tín hiệu được dùng để đồng bộ hoạt động của các khối trong
hệ thống số.
What is the period of a repetitive wave if f = 3.2 GHz?
1 1
T= = = 313 ps
f 3.2 GHz
FETEL-2021 10
Giới thiệu
Giản đồ thời gian (timming diagram)

Giản đồ thời gian thường được dùng để biểu diễn liên hệ
giữa các dạng sóng số.
Clock

Giản đồ thời gian có thể được quan


sát bằng một logic analyzer (máy
phân tích logic).
FETEL-2021 11
Giới thiệu
Dữ liệu nối tiếp, song song

Dữ liệu có thể được truyền theo hình thức nối tiếp hay song
song.
1 0 1 1 0 0 1 0
t0 t1 t2 t3 t 4 t 5 t6 t7
Computer Modem

1
Computer Printer
0

0
t0 t1

FETEL-2021 12
Giới thiệu
Các hàm logic cơ bản

True only if all input conditions


are true.

True only if one or more input


conditions are true.

Indicates the opposite condition.

FETEL-2021 13
Giới thiệu
Các mạch cơ bản
Các cổng And, or, và not có thể kết hợp lại để thực hiện
các hàm logic phức tạp hơn:
Comparator
A> B
A

Hàm so sánh Two


binary A= B Outputs
numbers
B
A< B

Hàm số học Adder


A
Two Σ Sum
binary
numbers Carry out
Cout
B
Carry in Cin

FETEL-2021 14
Giới thiệu

HIGH
9 Encoder
8
7
6 Binary code
5 for 9 used for
Hàm mã hóa 4
3
storage and/or
computation
2
7 8 9 1
4 5 6 0
1 2 3
0 . +/–
Calculator keypad

Hàm giải mã
Decoder

Binary input

7-segment display
FETEL-2021 15
Giới thiệu

Hàm lựa chọn dữ liệu: đa hợp và giải đa hợp

Multiplexer Demultiplexer
A D
Data from Data from Data from Data from
A to D B to E C to F A to D
∆t1 ∆t1
∆ t1 ∆ t2 ∆ t3 ∆t 1
B E
∆t2 ∆t2
∆t3 ∆t3
C F

Switching Switching
sequence sequence
control input control input

FETEL-2021 16
Giới thiệu

Hàm đếm

Counter Parallel
output lines Binary Binary Binary Binary Binary
code code code code code
1 2 3 4 5 for 1 for 2 for 3 for 4 for 5
Input pulses Sequence of binary codes that represent
the number of input pulses counted.

FETEL-2021 17
Giới thiệu
Integrated Circuits: Mạch tích hợp

Cấu tạo của một chip được đóng gói theo dạng vỏ hai
hàng chân (DIP : Dual-In-line Pins):
Plastic
Chip case

Pins

FETEL-2021 18
Giới thiệu
Integrated Circuits

Ví dụ về thực hiện mạch thử trên project board.

DIP chips

FETEL-2021 19
Giới thiệu
Một số dạng đóng gói chân khác:

DIP chips and surface mount chips

Pin 1

Dual in-line package Small outline IC (SOIC)

FETEL-2021 20
Giới thiệu

Other surface mount packages:

Plastic Leaded Chip


Carrier Packages
(PLCC)
End view End view End view

SOIC PLCC

FETEL-2021 21
Các hệ số và mã
Số thập phân

- Số thập phân là hệ đếm có trọng số.


- Có cơ số 10, dùng các số 0 → 9 để biễu diễn.
- Trọng số của hệ thập phân là các lũy thừa của 10. Tổng
quát trọng số của hệ cơ số X sẽ là XY với Y là vị trí của ký
số trong dãy số, bắt đầu từ 0 bên trái dấu “.” và từ -1 bên
phải dấu “.”
- Ví dụ : 102 101 100. 10-1 10-2 10-3 10-4 …

FETEL-2021 22
Các hệ số và mã
Số thập phân

Số thập phân có thể biểu diễn dưới dạng tổng của các ký số
nhân với trọng số cột , ví dụ 9240:
(9 x 103) + (2 x 102) + (4 x 101) + (0 x 100)
hay
9 x 1,000 + 2 x 100 + 4 x 10 + 0 x 1

Biểu diễn 480.52 dưới dạng tổng.

480.52 = (4 x 102) + (8 x 101) + (0 x 100) + (5 x 10-1) +(2 x 10-2)

FETEL-2021 23
Các hệ số và mã
Số nhị phân

Hệ số nhị phân được sử dụng cho các hệ thống số.


- Là hệ số có trọng số.
- Cơ số là 2, dùng 2 ký số là 0 và 1.
- Mỗi ký số trong hệ nhị phân gọi là bit (Binary Digit).

…25 24 23 22 21 20.
22 21 20. 2-1 2-2 2-3 2-4 …

FETEL-2021 24
Các hệ số và mã
Decimal Binary
Số nhị phân Number Number

Ví dụ một mạch đếm nhị phân đếm từ 0 0 0000


1 0001
đến 15. 2 0010
3 0011
4 0100
5 0101
Counter 0 1 0 1 0 1 0 1 0 1 Decoder 6 0110
0 0 1 1 0 0 1 1 0 0 7 0111
0 0 0 0 1 1 1 1 0 0 8 1000
0 0 0 0 0 0 0 0 1 1 9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
FETEL-2021 15 1111 25
Các hệ số và mã
Chuyển đổi nhị phân sang thập phân

Chuyển đổi số nhị phân sang giá trị thập phân tương đương
bằng cách tính tổng của các tích ký số nhân với trọng số.

Chuyển số nhị phân 100101.01 sang thập phân.


25 24 23 22 21 20. 2-1 2-2
32 16 8 4 2 1 . ½ ¼
1 0 0 1 0 1. 0 1
32 +4 +1 +¼ = 37¼

FETEL-2021 26
Các hệ số và mã
Chuyển đổi thập phân sang nhị phân

- Cách 1: phân tích số thập phân thành tổng của các lũy thừa
của 2, từ đó xác định được vị trí bit 1 (và bit 0). Cách này là
quy trình ngược của phép biến đổi từ nhị phân sang thập
phân ở phần trước.

Chuyển số thập phân 49 sang nhị phân.

26 25 24 23 22 21 20.
64 32 16 8 4 2 1.
0 1 1 0 0 0 1.

FETEL-2021 27
Các hệ số và mã
Chuyển đổi thập phân sang nhị phân

Cách 2: lặp lại phép chia 2 cho đến khi thương số bằng 0.

Chuyển số thập phân 49 sang nhị phân bằng cách


chia 2.

Answer: 1 1 0 0 0 1 remainder
0 1 3 6 12 24 49 2
Continue until the Decimal
Quotient base
last quotient is 0 number

FETEL-2021 28
Các hệ số và mã
Chuyển đổi thập phân sang nhị phân

Chuyển đổi phần phân số sang nhị phân cũng có thể thực
hiện bằng 2 cách.
Cách 1: Phân tích thành tổng của các lũy thừa của 2.
Cách 2: Thực hiện lặp lại phép nhân 2.
Chuyển số thập phân 0.188 sang nhị phân.

0.188 x 2 = 0.376 carry = 0 MSB


0.376 x 2 = 0.752 carry = 0
0.752 x 2 = 1.504 carry = 1
0.504 x 2 = 1.008 carry = 1
0.008 x 2 = 0.016 carry = 0
Answer = .00110 (for five significant digits)
FETEL-2021 29
LSB: Least significant bit
MSB: Most significant bit
FETEL-2021 30
Các hệ số và mã
Cộng hai số nhị phân

Luật cộng hai bit nhị phân


0+0=0 Sum = 0, carry = 0
0+1=0 Sum = 1, carry = 0
1+0=0 Sum = 1, carry = 0
1 + 1 = 10 Sum = 0, carry = 1
Cộng 3 bit, với bit thứ ba là bit nhớ từ phép cộng trước đó:

1 + 0 + 0 = 01 Sum = 1, carry = 0
1 + 0 + 1 = 10 Sum = 0, carry = 1
1 + 1 + 0 = 10 Sum = 0, carry = 1
1 + 1 + 1 = 10 Sum = 1, carry = 1

FETEL-2021 31
Các hệ số và mã
Cộng hai số nhị phân

Cộng hai số 00111 và 10101

0111
00111 7
10101 21
11100 = 28

FETEL-2021 32
Các hệ số và mã
Trừ hai số nhị phân

Luật dùng cho phép trừ nhị phân:


0-0=0
1-1=0
1-0=1
10 - 1 = 1 mượn 1
Trừ 00111 từ 10101:

111
10101
/ / / 21
00111 7
01110 = 14

FETEL-2021 33
Các hệ số và mã
Nhân hai số nhị phân

Luật:

Thực hiện phép nhân như với số thập phân, ví dụ:

FETEL-2021 34
Các hệ số và mã
Chia hai số nhị phân

FETEL-2021 35
1’s Complement: bù 1

Bù 1 của 1 số nhị phân là chuỗi bit đảo của số nhị phân đó,
có được bằng cách đảo bit 0 thành 1 và ngược lại.

VD: bù 1 của 11001010 là


00110101

Về phương diện mạch, bù 1 được tạo ra bằng cách dùng các


cổng đảo:
1 1 0 0 1 0 1 0

0 0 1 1 0 1 0 1

FETEL-2021 36
2’sNumber
Complement: bù 2
systems, operations, and codes
Bù 2 của một số nhị phân được tạo bằng cách cộng 1 vào
bố bù 1 của số nhị phân đó

VD: tìm bù 2 của 11001010 11001010


00110101 (1’s complement)
+1
1 1 0 0 1 0 1 0 00110110 (2’s complement)
1
11001010+ 00110110= ?
0 0 1 1 0 1 0 1
Input bits
Carry
Adder
in (add 1)
Output bits (sum)

0 0 1 1 0 1 1 0

FETEL-2021 37
Số nhị phân có dấu
Có nhiều cách để biểu diễn số nhị phân có dấu. Trong tất cả
các cách biểu diễn MSB sẽ là bit dấu, nếu bit MSB là 0 →
số dương, nếu bit MSB là 1 → số âm.

Dạng biểu diễn dấu-độ lớn

Ví dụ: +58 biểu diễn dưới dạng số nhị phân 8 bit có dấu là:
00111010
Sign bit Magnitude bits
Ví dụ: -25 biểu diễn dưới dạng số nhị phân 8 bit có dấu là: 10011001
+25 biểu diễn dưới dạng số nhị phân 8 bit có dấu là: 00011001
FETEL-2021 38
Để ý: hai biểu diễn chỉ khác nhau bit dấu.
Dạng biểu diễn bù 1

Số dương: dùng dạng biểu diễn dấu-độ lớn.


Số âm: dùng bù 1 của giá trị dương tương ứng.

-25 biểu diễn dưới dạng số nhị phân 8 bit bù 1 sẽ là:


Bù 1 của +25 : 00011001
➔ 11100110
Dạng biểu diễn bù 2: đây là dạng dùng phổ biến trong các
hệ thống số.
Số dương: dùng dạng biểu diễn dấu-độ lớn.
Số âm: dùng bù 2 của giá trị dương tương ứng.
-25 biểu diễn dưới dạng số nhị phân 8 bit bù 2 sẽ là:
Bù 1 của +25 : 00011001
➔ 11100110 +1 = 11100111
FETEL-2021 39
FETEL-2021 40
Giá trị thập phân của số nhị phân có dấu

Số nhị phân dương → xử lý như số nhị phân bình thường


Số nhị phân âm: làm ngược lại thao tác tìm dạng bù.
VD bù 1: 11100110➔ lấy bù 1: - (00011001)➔ -25
VD bù 2: 11100111 ➔ lấy bù 1+1: -(00011000 +1) ➔
-(00011001)= -25
Cách khác: xét ví dụ
1. Tìm giá trị thập phân của số nhị phân có dấu biểu diễn dưới dạng bù 1
11101000

FETEL-2021 41
2. Tìm giá trị thập phân của số nhị phân có dấu biểu diễn dưới dạng bù
2
11000110
Thực hiện:
- Gán bit dấu trọng số -128 (trong trường hợp dùng 8 bit)
- Công với các trọng số ở vị trí các bit 1
Trọng số cột : -128 64 32 16 8 4 2 1.
1 1 0 0 0 1 1 0
-128 +64 +4 +2 = -58

Phạm vi biểu diễn của số nhị phân có dấu bù 2, n bit là


FETEL-2021 42
Số dấu chấm động
Số dấu chấm động cho phép biểu diễn các giá trị rất nhỏ hay
rất lớn. Gồm các dạng: chính xác đơn, chính xác kép và chính
xác mở rộng.
Ví dụ: số có độ chính xác đơn 32 bit
S E (8 bits) Mantissa(fraction), F (23 bits)
Sign bit Biased exponent (+127) Magnitude with MSB dropped
Biểu diễn vận tốc ánh sáng, c, dưới dạng dấu chấm động 32
bit (c = 0.2998 x 109)
c = 0001 0001 1101 1110 1001 0101 1100 00002.
c = 1.001 1101 1110 1001 0101 1100 0000 x 228.
S = 0 do là số dương. E = 28 + 127 = 15510 = 1001 10112. F là chuỗi 23
bit sau khi bỏ đi số 1.
Floating point number c = 0 10011011 001 1101 1110 1001 0101 1100

FETEL-2021 43
Số có độ chính xác kép (64 bit)

Số có độ chính xác mở rộng (80 bit)

FETEL-2021 44
Các phép toán số học với số có dấu bù 2

Quy tắc thực hiện phép công (addition): Cộng hai số và bỏ


qua các bit nhớ cuối cùng. Kết quả ở dạng số có dấu.
00011110 = +30 00001110 = +14 11111111 = -1
00001111 = +15 11101111 = -17 11111000 = -8
00101101 = +45 11111101 = -3 1 11110111 = -9
Discard carry

FETEL-2021 45
Nếu số bit cần để biểu diễn kết quả vượt quá giới hạn sẽ
xuất hiện hiện tượng tràn (overflow). Hiện tượng tràn chỉ
xảy ra khi hai số hạng có cùng dấu và được nhân biết
qua sự thay đổi bit dấu.

01000000 = +128 10000001 = -127


01000001 = +129 10000001 = -127
10000001 = -126 Discard carry 100000010 = +2

Wrong! Kết quả sai. Bit dấu bị


thay đổi.

FETEL-2021 46
Luật cho phép trừ (subtraction): Dùng dạng bù 2 của số bị
trừ, sau đó tiến hành phép công. Bỏ qua các bit nhớ cuối
cùng. Kết quả được thể hiện ở dạng số có dấu.

00011110 (+30) 00001110 (+14) 11111111 (-1)


- 00001111 –(+15) - 11101111 –(-17) - 11111000 –(-8)
Lấy bù 2 và thực hiện phép công:
00011110 = +30 00001110 = +14 11111111 = -1
11110001 = -15 00010001 = +17 00001000 = +8
1 00001111 = +15 00011111 = +31 1 00000111 = +7
Discard carry Discard carry

FETEL-2021 47
Các hệ số và mã
Decimal Hexadecimal Binary
Số thập lục phân (Hexadecimal) 0 0 0000
1 1 0001
- Dùng 16 ký tự: 0 tới 9 và A tới F. 2 2 0010
3 3 0011
4 4 0100
Số nhị phân có thể dễ dàng sang thập 5 5 0101
lục phân bằng cách nhóm lần lượt 4 bit 6 6 0110
và viết thành ký số thập lục tương 7 7 0111
8 8 1000
đương. 9 9 1001
10 A 1010
11 B 1011
Express 1001 0110 0000 11102 in 12 C 1100
hexadecimal: 13 D 1101
Group the binary number by 4-bits 14 E 1110
starting from the right. Thus, 960E 15 F 1111

FETEL-2021 48
Các hệ số và mã
Decimal Hexadecimal Binary
Số thập lục phân (Hexadecimal) 0 0 0000
1 1 0001
Hệ thập lục là hệ số có trọng số. Trọng 2 2 0010
số cột là lũy thừa của 16. 3 3 0011
4 4 0100
5 5 0101
Trọng số cột { 163 162 161 160.
4096 256 16 1 . 6 6 0110
7 7 0111
8 8 1000
9 9 1001
Biểu diễn 1A2F16 ở dạng thập phân. 10 A 1010
11 B 1011
12 C 1100
4096 256 16 1
13 D 1101
1 A 2 F16
14 E 1110
1(4096) + 10(256) +2(16) +15(1) = 670310 15 F 1111

FETEL-2021 49
Các hệ số và mã
Số bát phân (Octal) 0 0 0000
1 1 0001
- Dùng 8 ký tự để biểu diễn: 0→7 2 2 0010
- Số nhị phân có thể dễ dàng chuyển 3 3 0011
sang bát phân bằng cách nhóm từng 4 4 0100
nhóm 3 bit và chuyển thành ký tự 5 5 0101
6 6 0110
bát phân tương ứng. 7 7 0111
8 10 1000
9 11 1001
10 12 1010
Biểu diễn 1 001 011 000 001 1102 ở
11 13 1011
dạng bát phân:
12 14 1100
Nhóm từng nhóm 3-bits bắt đầu từ 13 15 1101
bên phải → 1130168 14 16 1110
15 17 1111

FETEL-2021 50
Các hệ số và mã
Decimal Octal Binary
Số bát phân (Octal) 0 0 0000
1 1 0001
-Hệ bát phân là hệ số có trọng số. 2 2 0010
3 3 0011
-Trọng số cột là các lũy thừa của 8, 4 4 0100
tăng từ phải qua trái. 5 5 0101
6 6 0110
Trọng số cột {5128
3 82
64
81
8
80 .
1 .
7
8
7
10
0111
1000
9 11 1001
Biểu diễn 37028 ở dạng thập phân. 10 12 1010
11 13 1011
12 14 1100
512 64 8 1
13 15 1101
3 7 0 28
14 16 1110
3(512) + 7(64) +0(8) +2(1) = 198610 15 17 1111

FETEL-2021 51
Các hệ số và mã
Thập phân Nhị phân BCD
BCD
0 0000 0000
1 0001 0001
- Số thập phân được mã dưới dạng
2 0010 0010
nhị phân Binary coded decimal 3 0011 0011
(BCD) là một hệ số có trọng số, 4 0100 0100
được dùng thông dụng trong các 5 0101 0101
hệ thống số khi cần hiện thị các số 6 0110 0110
7 0111 0111
thập phân, VD: hiện thị đồng hồ
8 1000 1000
số. 9 1001 1001
10 1010 0001 0000
- BCD biểu diễn mỗi ký số thập
11 1011 0001 0001
phân bằng 4 bit nhị phân. Các mã 12 1100 0001 0010
từ 1010 tới 1111 không dùng trong 13 1101 0001 0011
BCD. 14 1110 0001 0100
15 1111 0001 0101
FETEL-2021 52
Các hệ số và mã
BCD

Cho biết trọng số của các bit trong số BCD sau, và


cho biết giá trị thập phân tương đương,
1000 0011 0101 1001?
8000 4000 2000 1000 800 400 200 100 80 40 20 10 8 4 2 1

8000 + 200 +100 + 40 + 10 + 8 +1 = 835910

FETEL-2021 53
Number systems, operations, and codes
BCD
Ví dụ thực hiện mạch có hiện thị
BCD trong phòng TN.

FETEL-2021 54
Các hệ số và mã
Decimal Binary Gray code
Mã Gray 0 0000 0000
1 0001 0001
- Mã Gray là một hệ mã không có 2 0010 0011
trọng số. 3 0011 0010
4 0100 0110
- Giữa hai từ mã kế cận nhau chỉ 5 0101 0111
có 1 bit thay đổi. 6 0110 0101
7 0111 0100
- Mã Gray được dùng trong một số 8 1000 1100
hệ thống để tránh những trường 9 1001 1101
hợp lỗi xuất hiện khi có nhiều 10 1010 1111
11 1011 1110
hơn 1 bit thay đổi tại một thời 12 1100 1010
điểm. 13 1101 1011
14 1110 1001
15 1111 1000

FETEL-2021 55
Các hệ số và mã
Gray code
Shaft encoder hay rotary encoder là thiết bị điện cơ dùng biến đổi các vị trí
góc của trục quay từ giá trị analog sang mã digital. Ví dụ một Shaft encoder
được thể hiện trong hình, ba IR emitter/detectors ( phát/ dò hồng ngoại) được
dùng để mã hóa vị trí của trục quay. Nếu dùng cách mã hóa bên trái có thể có
trường hợp 3 bit thay đổi cùng lúc, có thể gây ra lỗi. Cách mã hóa bên phải
dùng mã Gray, chỉ thay đổi 1 bit nên loại bỏ được lỗi tiềm tàng.

Binary sequence
Gray code sequence

FETEL-2021 56
Các hệ số và mã
ASCII
ASCII American Standard Code for Information
Interchange, ASCII dùng 7 bit để mã hóa 128 ký tự và ký
hiệu.

FETEL-2021 57
ASCII mở rộng

FETEL-2021 58
Các hệ số và mã
Parity Method

Tự học

FETEL-2021 59
Digital Electronics

Các cổng logic

FETEL-2021 60
Cổng logic
The Inverter A X
Cổng đảo
Cổng đảo thực hiện chức năng của hàm NOT.

Input Output
A X
LOW (0) HIGH (1)
HIGH (1) LOW(0)

Biểu thức dùng cho cổng đảo: X = A.

FETEL-2021 61
Logic gates
A X
The Inverter

Dạng sóng
A
X
Một nhóm các cổng đảo có thể được dùng để tạo số bù 1 của
một số nhị phân. Binary number
1 0 0 0 1 1 0 1

0 1 1 1 0 0 1 0
1’s complement

FETEL-2021 62
Logic gates
A A
X X
Cổng VÀ (AND) B
&
B
Cổng AND có bảng sự thật như bên dưới.

Inputs Output
A B X
0 0 0
0 1 0
1 0 0
1 1 1

Phép toán AND thường được thể hiện bằng dấu “.” giữa các
biến nhưng có thể được ngầm hiểu nếu không có dấu chấm.
Biểu thức: X = A .B hay X = AB.
FETEL-2021 63
Logic gates
A A
X
The AND Gate B
& X
B
Dạng sóng:
A
B

X
Phép toán AND có thể dùng như mặt nạ để che bit. Muốn giữ
bit nào thì vị trí tương ứng của mặt nạ là bit 1, các bit còn lại
của mặt nạ là 0.

Số nhị phân 10100011 được AND với mặt nạ


00001111, cho biết KQ? 00000011
FETEL-2021 64
Logic gates
The OR Gate
Cổng HAY A X A ≥1 X
B B

Inputs Output
A B X
0 0 0
0 1 1
1 0 1
1 1 1

Dấu + được dùng để biểu diễn phép toán OR.


Biểu thứ của cổng: X = A + B.

FETEL-2021 65
Logic gates
A X A ≥1 X
The OR Gate
B B
Dạng sóng ví dụ
A
B

X
Hàm OR có thể được dùng để đưa một số bit kết quả lên 1

ASCII letters have a 1 in the bit 5 position for lower case letters
and a 0 in this position for capitals. (Bit positions are numbered
from right to left starting with 0.) What will be the result if you
OR an ASCII letter with the 8-bit mask 00100000?
The resulting letter will be lower case.

FETEL-2021 66
Logic gates
A X A & X
The NAND Gate
B B
Không-AND

Cổng NAND là kết hợp của AND và NOT.

Inputs Output
A B X
0 0 1
0 1 1
1 0 1
1 1 0

Ký hiệu X = A .B (Các khác, X = AB.)

FETEL-2021 67
Logic gates
A X A & X
The NAND Gate
B B
Dạng sóng ví dụ:
A
B

X
Cổng NAND là một cổng đa năng, các cổng logic khác có thể
được tạo ra dùng cổng NAND.

Tạo cổng đảo từ cổng NAND hai ngõ vào.

FETEL-2021 68
Logic gates
A X A ≥1 X
The NOR Gate
B B
Không-HAY

NOR gate là sự kết hợp của OR và NOT

Inputs Output
A B X
0 0 1
0 1 0
1 0 0
1 1 0

Ký hiệu X = A + B.

FETEL-2021 69
Logic gates
A X A ≥1 X
The NOR Gate
B B
Dạng sóng ví dụ:
A
B

+5.0 V
When is the LED is ON for the circuit shown? 330 W

The LED will be on when any of A


B X
the four inputs are HIGH. C
D

FETEL-2021 70
Logic gates
A X A X
The XOR Gate =1
B B
Ngõ ra của cổng XOR ở mức cao khi hai ngõ vào có mức
logic ngược nhau. Bảng sự thật:
Inputs Output
A B X
0 0 0
0 1 1
1 0 1
1 1 0

Ký hiệu X = AB + AB.
X = A + B.

FETEL-2021 71
Logic gates
A X A X
The XOR Gate =1
B B

Dạng sóng ví dụ:


A
B

FETEL-2021 72
Logic gates
A X A =1 X
The XNOR Gate
B B
Cổng XNOR cho ra mức logic cao khi hai ngõ vào có cùng
mức logic. Bảng sự thật:
Inputs Output
A B X
0 0 1
0 1 0
1 0 0
1 1 1

Ký hiệu của cổng XNOR X = AB + AB.

FETEL-2021 73
Logic gates
A X A =1 X
The XNOR Gate
B B
Dạng sóng ví dụ:
A

FETEL-2021 74
Logic gates
Cổng logic thực hiện hàm cố định
Các cổng logic và một số hàm logic cơ bản có thể được thực
hiện bởi các chip logic (IC logic), các hàm này được cài cố
định trên chip. Hai họ IC thông dụng là TTL và CMOS được
gọi dựa theo công nghệ chế tạo IC.
0.335 – 0.334 in.
0.740 – 0.770 in. 14 13 12 11 10 9 8

14 13 12 11 10 9 8

0.250 ± 0.010 in. 0.228 – 0.244 in.

1 2 3 4 5 6 7

1 2 3 4 5 6 7
Pin no.1 Lead no.1
identifiers identifier
14
1 14
1

DIP package SOIC package

Dual in-line package (DIP) Small-outline Integrated Circuit (SOIC)


FETEL-2021 75
Logic gates

Một số chip họ TTL và các hàm bên


trong:
VCC VCC VCC VCC
14 13 12 11 10 9 8 14 13 12 11 10 9 8 14 13 12 11 10 9 8 14 13 12 11 10 9 8

1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7
GND GND GND GND
'00 ' 02 '04 '08

VCC VCC VCC VCC


14 13 12 11 10 9 8 14 13 12 11 10 9 8 14 13 12 11 10 9 8 14 13 12 11 10 9 8

1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7
GND GND GND GND
'10 '11 '20 '21

VCC VCC VCC VCC


14 13 12 11 10 9 8 14 13 12 11 10 9 8 14 13 12 11 10 9 8 14 13 12 11 10 9 8

1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7
GND GND GND GND
'27 '30 '32 '86

FETEL-2021 76
Logic gates
Logic lập trình được
Các linh kiện logic lập trình được (logic khả trình):PLD,
FPGA,… là các linh kiện cho phép cài đặt các hàm bên
trong chip thông qua việc lập trình.

A A B B

SRAM SRAM SRAM SRAM


cell cell cell cell

SRAM SRAM SRAM SRAM


cell cell cell cell
X = AB

FETEL-2021 77
Logic gates
Logic lập trình được

Ngôn ngữ dùng cho lập trình các linh kiện khả trình là
dạng ngôn ngữ mô tả phần cứng Hardware Description
Language (HDL), thông dụng nhất là VHDL và Verilog
HDL.

Mô tả một cổng NAND bằng VHDL và Verilog.

FETEL-2021 78
Summary
Programmable Logic

VHDL Verilog
entity NandGate is module NAND2gate(A, B, F);
port(A, B: in bit; input A;
input B;
LED: out bit);
output F;
end entity NandGate; reg F;
architecture GateBehavior of NandGate is
signal A, B: bit; always @ (A or B)
begin F <= ~(A & B);
begin
end
X <= A nand B;
LED <= X; endmodule
end architecture GateBehavior;

FETEL-2021 79
Capacitors "C" of 100nf to 300nf provide smoothing

FETEL-2021 80
FETEL-2021 81
FETEL-2021 82
Chapter 2 [Complementary]
➢ SN: Texas Instruments
➢ DM: National Semiconductor
➢ HD: Hitachi
➢ MC: Motorola

Suffixes, identifies the packaging.


N : Plastic DIP (dual in-line
package)
P : Plastic DIP
J : Ceramic DIP
W : Ceramic flat package.
D : Plastic ‘small outline’ package
FETEL-2021 83
Chapter 2 [Complementary]

FETEL-2021 84
Digital Electronics

FETEL-2021 85
Boolean Algebra and logic
Simplification

➢ Key points:
- Logic variable, Logic expression, truth table, SOP
and POS,
- Truth table and standard forms.
- Boolean Algebra and Rules.
- Logic simplification using Boolean Algebra
- Karnaugh map (K map), simplification using K map.

How many gates/ICs?

FETEL-2021 86
Đại số Boole và rút gọn
biểu thức
Phép cộng trong đại số Boole

Đại số Boole làm việc với các đại lượng nhận một trong hai
giá trị đúng /sai, được thể hiện trong hệ nhị phân bằng 1/0.

Phép cộng tương đương với phép toán OR.

Tổng bằng 0 khi nào?

FETEL-2021 87
Đại số Boole và rút gọn
biểu thức
Phép nhân Boole

Phép nhân trong đại số Boole tương đương với phép toán
logic AND. Tích các biến hình thành số hạng tích. Số hạng
tích bằng 1 khi tất cả các biến bằng 1.

What are the values of the A, B and C if the


product term of A.B.C = 1?
Each literal must = 1; therefore A = 1, B = 0 and C = 0.

FETEL-2021 88
Đại số Boole và rút gọn
biểu thức
Luật giao hoán:
A+B=B+A
AB = BA

Luật kế hợp:
A + (B +C) = (A + B) + C
A(BC) = (AB)C

Luật phân phối: AB + AC = A(B+ C)


A
AB
B B
B+ C
C X
X A
FETEL-2021 A AC 89
C
Đại số Boole và rút gọn
biểu thức
Các luật trong đại số Boole

1. A + 0 = A 7. A . A = A
2. A + 1 = 1 8. A . A = 0
=
3. A . 0 = 0 9. A = A
4. A . 1 = A 10. A + AB = A
5. A + A = A 11. A + AB = A + B
6. A + A = 1 12. (A + B)(A + C) = A + BC

FETEL-2021 90
VD. Chứng minh luật 10: A + AB = A
- Dùng biến đổi tương đương
- Dùng bảng sự thật (Truth table)

VD. Chứng minh luật 11. A + AB = A + B


12. (A + B)(A + C) = A + BC

FETEL-2021 91
FETEL-2021 92
Đại số Boole và rút gọn
biểu thức
DeMorgan’s Theorem: Định lý DeMorgan

Định lý DeMorgan 1
Đảo của một tích bằng tổng các đảo thành phần.

AB = A + B
Cổng logic:
A A
AB A+B Inputs Output
B B
A B AB A + B
NAND Negative-OR 0 0 1 1
0 1 1 1
1 0 1 1
1 1 0 0

FETEL-2021 93
Đại số Boole và rút gọn
biểu thức

Định lý DeMorgan 2
Đảo của một tổng bằng tích các đảo thành phần.

A+B=A.B
Cổng logic thể hiện định lý:
A A Inputs Output
A+B AB
B B
A B A + B AB
NOR Negative-AND 0 0 1 1
0 1 0 0
1 0 0 0
1 1 0 0

FETEL-2021 94
Đại số Boole và rút gọn
biểu thức
DeMorgan’s Theorem

Dùng định lý DeMorgan để loại bỏ phép đảo


của tổng trong biểu thức:
X = C + D.
=
X = C . D. ➔ X = C . D.
Ví dụ biến đổi biểu thức logic

FETEL-2021 95
FETEL-2021 96
Chứng tỏ biểu thức của XNOR là

FETEL-2021 97
Đại số Boole và rút gọn Đọc thêm
biểu thức
Dùng Multisim để tạo bảng sự thật (truth table)

Dùng công cụ Logic Converter

Double-click Logic
Converter để mở giao
diện.

FETEL-2021 98
Đọc thêm

FETEL-2021 99
Đọc thêm

FETEL-2021 100
Rút gọn biểu thức logic dùng đại số Boole

Bài tập: Dùng Multisim để đơn giản biểu thức trong bài tập
FETEL-2021 101
Bài tập: Dùng Multisim để đơn giản biểu thức trong bài tập
FETEL-2021 102
Bài tập: Dùng Multisim để đơn giản biểu thức trong bài tập
FETEL-2021 103
Đại số Boole và rút gọn
biểu thức
Dạng SOP và POS

Biểu thức logic có thể viết dưới dạng SOP(sum-of-products,


tổng của tích) hay POS (product-of-sums, tích của tổng).
SOP:
ABC+AB ABC+CD CD+E
POS:
(A + B)(A + C) (A + B + C)(B + D) (A + B)C

Dạng chuẩn (Standard Forms): mỗi số hạng chứa đủ các biến (có thể
dưới dạng bù).
Chú ý: Một số giáo trình phân biệt rõ hai dạng Dạng chính tắc
(Canonical Forms) và Dạng chuẩn (Standard Forms).

FETEL-2021 104
Đại số Boole và rút gọn
biểu thức
Dạng SOP chuẩn

Có thể chuyển dạng SOP không chuẩn thành dạng chuẩn bằng cách
nhân số hạng (thiếu biến) với tổng của biến và biến bù, bản chất là nhân
với 1.

FETEL-2021 105
FETEL-2021 106
FETEL-2021 107
Đại số Boole và rút gọn Đọc thêm
biểu thức
Multisim cho phép hiện thị kết quả dưới dạng SOP

FETEL-2021 108
Đại số Boole và rút gọn Đọc thêm
biểu thức
Q: Viết biểu thức SOP chuẩn cho bảng trạng thái dưới.

SOP
Standard
form

FETEL-2021 109
Đại số Boole và rút gọn
biểu thức
Dạng POS chuẩn

POS:
POS chuẩn:

Có thể chuyển dạng POS chưa chuẩn thành dạng chuẩn bằng cách công
với tích của biến và biến bù, bản chất là cộng với 0. Sau đó dùng luật 12
để biến đổi tiếp.

FETEL-2021 110
Ví dụ:

FETEL-2021 111
Chuyển SOP chuẩn sang POS chuẩn

Chuyển biểu thức sau sang POS chuẩn

?
Thiếu các số hạng:

FETEL-2021 112
Cách khác:
Y=

Thiếu các số hạng:


Y’= A’B’C+AB’C’+ABC’

Y=

FETEL-2021 113
Chuyển đổi bảng sự thật qua biểu thức logic và ngược lại

Dạng SOP và POS chuẩn:


Dạng SOP: X =1 ứng với 4 trường
hợp:

Dạng POS: X =0 ứng với 4 trường


hợp:

FETEL-2021 114
Tìm bảng sự thật của:

FETEL-2021 115
Tìm bảng sự thật của:

FETEL-2021 116
FETEL-2021 117
Digital Electronics

Rút gọn biểu thức logic dùng giản đồ/bản đồ Karnaugh

FETEL-2021 118
Boolean Algebra and logic
Simplification
Karnaugh maps
Karnaugh map (K-map, bìa Karnaugh, bản đồ/giản đồ
Karaugh) là một công cụ đơn giản nhưng hiệu quả cho
phép rút gọn các biểu thức logic tới 5 biến. Phương pháp
trở nên phức tạp với nhiều biến hơn.
K map tương đương với bảng sự thật, nhưng được thể
hiện dưới dạng các ô thay vì theo hàng (hay cột).
Số ô trong bản đồ = số trạng thái có thể có khi tổ hợp
các biến.
Mỗi ô trong bản đồ biểu diễn một số hạng tích đầy đủ.
Giữa hai ô kế cận nhau chỉ có 1 biến thay đổi.

FETEL-2021 119
K map 3 biến

FETEL-2021 120
K map 4 biến

FETEL-2021 121
Boolean Algebra and logic
Simplification
Karnaugh maps

Các ô được gán nhãn 0 hay 1 để diễn tả biến đảo hay


không đảo.
C
AB 0 1

00 Sử dụng mã GRAY để đảm bảo


01
các ô kế cận chỉ có 1 biến thay
Gray đổi.
code 11

10

FETEL-2021 122
Boolean Algebra and logic
Simplification
Karnaugh maps

Thay vì dùng 0/1, có thể dùng tên biến như bên dưới. Cách
dùng ký hiệu như vậy tạo thuận tiên khi đọc nhưng cần chú ý
khi tạo bản đồ để tránh nhầm lẫn.
CC CC
Đọc các tích được thể AB
AB ABC ABC
hiện bởi các ô màu vàng.
AB
AB ABC
ABC ABC

ABC and ABC. AB


AB ABC ABC

AB
AB ABC ABC
ABC

FETEL-2021 123
Ánh xạ SOP chuẩn vào K map

FETEL-2021 124
VD: ánh xạ Y= vào K map

FETEL-2021 125
VD: ánh xạ Y=
vào K map.

FETEL-2021 126
Ánh xạ SOP không chuẩn vào K map

➔ Đưa về dạng chuẩn, hay làm tắt


như bên dưới:

FETEL-2021 127
FETEL-2021 128
Tối thiểu hóa biểu thức dùng K map
Bước 1: lập nhóm các ô kế cận
• Nhóm các ô được biểu diễn bởi 1 thành các nhóm 2x ô (16,..,2,1)
• Các ô trong nhóm phải kề với một ô hay nhóm ô trong cùng nhóm.
• Ưu tiên nhóm các nhóm có số ô lớn nhất.
• Ô có biểu diễn 1 phải nằm trong ít nhất một nhóm.

FETEL-2021 129
FETEL-2021 130
Tối thiểu hóa biểu thức dùng K map
Bước 2: Viết lại biểu thức SOP được tối thiểu hóa từ K map
• Mỗi nhóm ô sẽ được biểu diễn bằng 1 số hạng tích, chỉ giữ lại các
biến không thay đổi trong nhóm.
• Cộng các số hạng tích ở trên để có dạng SOP.

Lưu ý: khi ánh xạ biểu thức vào K map,


số ô một số hạng chiếm là:
2N-M
Trong đó N là số biến của hàm,
M là số biến có trong số hạng đó.
Khi rút gọn cũng dùng biểu thức trên để
kiểm tra.
FETEL-2021 131
Note that

FETEL-2021 132
Boolean Algebra and logic
Simplification

AB
C 0 1 X = AC +AB
1
00
B đổi
01 1 1

11 X = AD +AD
C đổi
10 C đổi
CD
00 01 11 10
AB
00 1 1
B đổi
01 1 1

11 1 1
B đổi
10 1 1

C đổi
FETEL-2021 133
X
C đổi

CD
00 01 11 10 X = AD +AD
AB
00 1 1
B đổi
01 1 1

11 1 1
B đổi
10 1 1

C đổi

FETEL-2021 134
FETEL-2021 135
FETEL-2021 136
FETEL-2021 137
Ánh xạ biểu thức POS vào giản đồ Karnaugh
Bước 1: xác định giá trị của các biến của mỗi số hạng tổng trong biểu thức
SOP làm cho số hạng tổng bằng 0.
Bước 2: đánh dấu 0 vào ô tương ứng trên giản đồ Karnaugh.

FETEL-2021 138
Rút gọn biểu thức POS dùng giản đồ Karnaugh

Nguyên tắc giống như rút gọn SOP chỉ khác là nhóm các ô có giá
trị 0 thay vì 1.

Bước 1:

Bước 2:

Rút gọn dùng SOP:

FETEL-2021 139
FETEL-2021 140
Chuyển đổi giữa SOP và POS dùng giản đồ Karnaugh

FETEL-2021 141
KARNAUGH MAPS 5 biến

FETEL-2021 142
FETEL-2021 143
FETEL-2021 144
Digital Electronics
Chương 4: Mạch tổ hợp

FETEL-2021 145
Mạch tổ hợp

Ngõ ra của mạch tổ hợp tuỳ thuộc vào tổ hợp các trạng thái ngõ vào.
Có thể biểu diễn dưới dạng SOP hay POS.

A
B ABC
C X = ABC + DE SOP

D
DE
E
A
B ABC
C Y = ABC + DE X = ABC + DE AOI

D X = (ABC)(DE) DeMorgan
E DE X = (A + B + C)(D + E) POS

FETEL-2021 146
Phương pháp tổng quáy để thiết kế mạch tổ hợp là:
- Lập bảng trạng thái
- Rút ra biểu thức hàm
- Rút gọn hàm và thực hiện mạch
FETEL-2021 147
FETEL-2021 148
Mạch tổ hợp

Exclusive-OR Logic

X = AB + AB

A
Inputs Output
A B X
X 0
0 0
0 1 1
1 0 1
1 1 0
B

Symbols:
=1

FETEL-2021 149
Mạch tổ hợp

Exclusive-NOR Logic

X = AB + AB
A
X Inputs Output
B A B X
0 0 1
0 1 0
1 0 0
Symbols: 1 1 1

=1

FETEL-2021 150
Mạch tổ hợp

Cho biết LED sáng hay tắt trong các hình dưới.

+5.0 V
+5.0 V
+5.0 V +5.0 V
+5.0 V +5.0 V
330 W
330 W
330 W
B LED
LED B LED
B
A
A A

(a) (b) (c)

FETEL-2021 151
Mạch tổ hợp

Cổng logic đa năng


NAND và NOR là hai cổng logic đa năng, các cổng logic
cơ bản khác có thể được tạo ra chỉ sử dụng cổng NAND
hay cổng NOR.

A A A AB
B
Inverter AND gate

A A
A+B A+B
B B

OR gate NOR gate

FETEL-2021 152
A A A A+ B
B
Inverter OR gate

A A
AB AB
B B

AND gate NAND gate

Dùng ký hiệu vòng tròn cho cổng đảo giúp đơn


A giản sơ đồ mạch.
C X= AC + AB AB= A + B
A
B

A
B X = (A + B)(A + C) A+B= A B
A
C
FETEL-2021 153
Mạch tổ hợp

Dạng sóng

A
A
G1
B B
G3
C
C
G2
D D
G1
G2
G3

FETEL-2021 154
Mạch tổ hợp

Dạng sóng
Inputs Output
Có thể suy ra bảng sự thật từ dạng sóng hay ngược
A B C D X
lại. 0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
A
G1 0 0 1 1 1
B 0 1 0 0 0
G3
0 1 0 1 1
C 0 1 1 0 1
G2
D 0 1 1 1 1
1 0 0 0 0
A 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0
1 0 1 0 0
B 0 1 1 0 0 1 1 0 0 0 1 0 1 1 0
1 1 0 0 0
C 0 0 0 1 1 1 1 0 0 0
1 1 0 1 1
D 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1
1 1 1 1 1
G3 0 0 0 0 1 1 1 0 1 0

FETEL-2021 155
Mạch tổ hợp

Mạch nửa cộng (Half-Adder)


Mạch nửa cộng dùng để thực hiện phép cộng 2
bit. Mạch gồm 2 ngõ vào 1 bit và 2 ngõ ra cũng là
1 bit (Sum và Carry (Cout)).

S Inputs Outputs
S
A S A B Cout S
A 0 0 0 0
Cout 0 1 0 1
B Cout B 1 0 0 1
1 1 1 0

FETEL-2021 156
Mạch tổ hợp

Mạch toàn cộng (Full-Adder)


Inputs Outputs

Mạch toàn cộng (hay mạch cộng đầy đủ -FA) A B Cin Cout S
0 0 0 0 0
có 3 ngõ vào và 2 ngõ ra. 0 0 1 0 1
0 1 0 0 1
Mạch FA có thể được tạo ra từ mạch HA 0 1 1 1 0
như hình dưới. Nó cũng có thể được hình 1 0 0 0 1
thành theo phương pháp thiết kế đã đề cập ở 1 0 1 1 0
1 1 0 1 0
các phần trước. 1 1 1 1 1
S S
A A S A S Sum
S
B B Cout B Cout A S
B
Cout
Cin Cin

Cout Symbol

FETEL-2021 157
Minh họa các bước thực hiện để thiết kế mạch FA:

FETEL-2021 158
Sum
Cout

FETEL-2021 159
Mạch tổ hợp

Mạch cộng hai số nhị phân nhiều bit


Có nhiều cách để thực hiện phép cộng hai số nhị phân nhiều bit (mạch cộng
song song), cách đơn giản nhất là dùng các mạch toàn cộng như hình dưới.
A4 B4 A3 B3 A2 B2 A1 B 1

C0

A B Cin A B Cin A B Cin A B Cin

Cout S Cout S Cout S Cout S

C4
C3 C2 C1
S4 S3 S2 S1

Bit nhớ C4 xuất hiện sau khi được truyền qua tất cả các mạch cộng nên
mạch này được gọi là mạch cộng ripple carry. Mạch cộng loại này có
thời gian trì hoãn lớn.
FETEL-2021 160
FETEL-2021 161
Mạch cộng ripple carry có thời gian trì hoãn lớn, một số mạch cộng
khắc phục nhược điểm này như look-ahead carry,… 74LS283 là
một mạch cộng dạng look-ahead carry.
Bài tập: tìm hiểu cơ chế mạch cộng dạng look-ahead carry.

FETEL-2021 162
Ví dụ một hệ thống bầu cử đơn giản cho 6 cử tri dùng mạch cộng

FETEL-2021 163
74LS283

FETEL-2021 164
FETEL-2021 165
Mạch tổ hợp

Mạch nửa trừ (Half Subtractor)

FETEL-2021 166
Mạch tổ hợp

Mạch toàn trừ (Full Subtractor)

FETEL-2021 167
D Bo

FETEL-2021 168
Mạch tổ hợp

Mạch Cộng/Trừ

FETEL-2021 169
Mạch tổ hợp

Mạch so sánh
Chức năng chính của mạch so sánh là so sánh độ lớn của hai số nhị phân.
Chức năng bằng/không bằng có thể thực hiện dễ dàng bằng cổng XNOR
hay XOR

Thực hiện so sánh hai số 4 bit có bằng nhau hay không.


A1
B1
A2
B2 Output
A3
B3
A4
B4

FETEL-2021 170
Mạch tổ hợp

Mạch so sánh
Bài tập: thiết kế mạch so sánh 2 số nhị phân 2 bit

FETEL-2021 171
Bài tập: Thiết kế mạch so sánh hai số nhị phân 4 bit
FETEL-2021 172
74LS85

FETEL-2021 173
Một số IC thực hiện hàm số học

FETEL-2021 174
Mạch tổ hợp

Mạch giải mã
Mạch giải mã dùng để phát hiện sự hiện diện của một tổ hợp giá trị ở
ngõ vào.

A0 A0
A1 X A1 X

A2 A2

A3 A3

Khi ngõ vào là 0011→ X lên 1 Khi ngõ vào là 0011→ X xuống 0
(Tích cực ở mức cao) (Tích cực ở mức thấp)

FETEL-2021 175
Mạch tổ hợp

Mạch giải mã
Tổng quát mạch giải mã có N bit ngõ vào và có 2N ngõ ra.

Mạch giải mã 4 ra 16
FETEL-2021 176
Ví dụ: thiết kế mạch giải mã 3 ra 8

Có thể dùng mạch giải mã


để thực hiện hàm dạng SoP.
Ví dụ:

FETEL-2021 177
74154
4-LINE TO 16-LINE
DECODER/DEMULTIPLEXER

FETEL-2021 178
7442 BCD TO 10-LINE DECODERS

FETEL-2021 179
Bài tập: thiết kế mạch giải mã BCD ra đèn LED 7 đoạn.

FETEL-2021 180
Mạch tổ hợp

Mạch mã hóa
Mạch mã hóa là mạch tạo ra 1 mã số tương ứng với một
ngõ vào khi ngõ vào đó ở mức tích cực. Mã số thường
được dùng là mã nhị phân hay BCD.
VD: mạch mã hóa nhị phân 3 bit (8 sang 3 bit)

FETEL-2021 181
Ví dụ mạch mã hóa BCD:
1
A0
2
3
A1

4
5 A2
6
7
8
A3
FETEL-2021 9 182
Mạch tổ hợp

Mã hóa ưu tiên
Mạch mã hóa ưu tiên sẽ mã hóa ngõ vào có mức ưu tiên
hơn khi xảy ra trường hợp nhiều ngõ vào ở trạng thái tích
cực đồng thời.
VD: mạch mã hóa ưu tiên nhị phân 3 bit (8 sang 3 bit), với
mức tích cực là mức cao.

FETEL-2021 183
Ví dụ một mạch mã hóa ưu tiên thập
phân sang BCD với mức logic tích
cực là mức thấp.

FETEL-2021 184
Mạch tổ hợp

Mạch đa hợp (multiplexer, MUX), hay bộ chọn dữ liệu, bộ chọn


kênh
Mạch đa hợp (multiplexer, MUX) cho phép lựa chọn một
ngõ vào trong số nhiều ngõ vào để nối với ngõ ra. Dữ liệu
(nhị phân) sẽ được dẫn từ ngõ vào được lựa chọn đến ngõ
ra. Để chọn ngõ vào sẽ có các bit chọn.

MUX
0
S0 0
Data 1
select S1 1

I0 0 Data
I 1 output
Data 1
I
inputs I2 2
3 3
FETEL-2021 185
Ví dụ: mạch đa hợp 4 vào 1 ra.

Ví dụ: mạch đa hợp 2 vào 1 ra có tín hiệu cho phép ENABLE.

FETEL-2021 186
Có thể thiết kế dựa trên bảng trạng thái đầy đủ, VD: mạch đa hợp 4
vào 1 ra.

FETEL-2021 187
FETEL-2021 188
74151 8-Input MUX

FETEL-2021
74153: Dual 4-Input Mux 189
Mạch tổ hợp

Mạch giải đa hợp (demultiplexer, DEMUX), bộ phân kênh


Mạch giải đa hợp làm chức năng ngược lại mạch đa hợp.
Nó cho phép chuyển dữ liệu ở ngõ vào tới ngõ ra tương
ứng với mã số chọn kênh.

FETEL-2021 190
FETEL-2021 191
Mạch tổ hợp

Mạch phát sinh/kiểm tra bit Parity( Parity Generators/Checkers)


Parity là một phương pháp phát hiện sai đơn giản, một bit sẽ
được thêm vào chuỗi bit dữ liệu khi nó được truyền đi. Có hai
loại parity: parity chẵn hay parity lẻ. Nếu là loại parity chẵn thì
tổng số bit 1 bao gồm cả bit parity là một số chẵn.
VD: mã ASCII của ký tự S là 1010011

S với parity lẻ = 11010011


S với parity chẵn = 01010011

FETEL-2021 192
Mạch phát sinh bit parity chẵn (a), lẻ (b) ở đầu phát với trường
hợp 4 bit dữ liệu.

Mạch kiểm tra parity ở đầu thu. Output=0→ parity đúng, output
=1 → parity sai

FETEL-2021 193
74280
9-BIT ODD/EVEN PARITY GENERATORS/CHECKERS

FETEL-2021 194
Mạch tổ hợp

Chuyển đổi nhị phân sang mã Gray và ngược lại

0 1 LSB
1 0
LSB
0 1
1 0

1 1 1 1

0 0
0 MSB 0 MSB
Binary-to-Gray Gray-to-Binary

FETEL-2021 195
Có thể rút ra sơ đồ mạch dùng phương pháp tổng quát thiết kế
mạch tổ hợp. Ví dụ: thiết kế mạch chuyển mã nhị phân 4 bit sang
mã Gray

FETEL-2021 196
FETEL-2021 197
Bài tập: Thiết kế mạch chuyển mã Gray 4 bit sang nhị phân theo
phương pháp tổng quát
FETEL-2021 198
Digital Electronics
Mạch chốt và Flip Flop

FETEL-2021 199
Mạch tổ hợp và mạch tuần tự

➢ Mạch tổ hợp (Combinational Circuits): ngõ ra chỉ phụ


thuộc vào ngõ vào.
➢ Mạch tuần tự (Sequential Circuits): ngõ ra phụ thuộc
ngõ vào và trạng thái trước của mạch. Do vậy mạch
tuần tự cần các phần tử lưu trạng thái (latch, Flipflop)
– Nội dung được lưu bởi các phần tử lưu trữ gọi
là trạng thái (state) của mạch.
– Mạch sẽ tuần tự trải qua các trạng thái tùy theo
sự thay đổi ở ngõ vào.

FETEL-2021 200
Mạch chốt (Latch)
Mạch chốt là phần tử lưu trữ tạm thời trong mạch, nó gồm 2
trạng thái ổn định (bistable).
Mạch chốt có thể được tạo thành từ cổng NOR hay cổng
NAND

R S
Q Q

Q Q
S R

NOR Active-HIGH Latch NAND Active-LOW Latch

FETEL-2021 201
Chốt S-R (S-R latch)
Chốt S-R dùng cổng NAND

Trạng thái chốt

FETEL-2021 202
Chốt S-R (S-R latch)
Chốt S-R dùng cổng NAND

Thiết lập (Set) mạch chốt: Q=1

FETEL-2021 203
Chốt S-R (S-R latch)
Chốt S-R dùng cổng NAND

Xóa (Reset) mạch chốt: Q=0

FETEL-2021 204
Bảng trạng thái

FETEL-2021 205
Ứng dụng của mạch chốt trong chống hiện tượng nảy của công tắc

FETEL-2021 206
Chốt S-R (S-R latch)
Chốt S-R dùng cổng NOR

FETEL-2021 207
Chốt S-R (S-R latch)
Ví dụ: vẽ dạng sóng ngõ ra Q

FETEL-2021 208
Ví dụ: Mạch báo nguồn sáng bị gián đoạn

FETEL-2021 209
Ví dụ: sử dụng SR-latch như thanh ghi lưu trữ dữ liệu

FETEL-2021 210
74LS279A IC: active-LOW S-R latch

FETEL-2021 211
Bài tập: phân tích hoạt động của mạch.

FETEL-2021 212
Một số lưu ý:

➢ Mức tích cực của FF SR khi dùng cổng NAND, cổng NOR
➢ Ký hiệu ngõ ra

FETEL-2021 213
Các mạch tổ hợp, mạch chốt SR ở phần trước là các mạch không đồng bộ
(Asynchronous circuits), ngõ ra thay đổi tức thời đáp ứng ngõ vào.
Các mạch đồng bộ (Synchronous circuit) hoạt động tuần tự theo một tín hiệu
điều khiển, còn gọi là tín hiệu đồng bộ, thường là tín hiệu đồng hồ (Clock,
CLK, CK,…).
Để biến các mạch chốt SR thành mạch đồng bộ, người ta thêm vào các cổng
AND để điều khiển chân S và R. Dạng này gọi là Gated Latch.

FETEL-2021 214
FETEL-2021 215
Chốt D (D latch)
Chốt D

Chốt D (Data) là một biến thể của chốt SR, trong đó hai
chân S và R được kết hợp lại thành một chân D.

Inputs Outputs
D EN Q Q Comments
0 1 0 1 RESET
1 1 1 0 SET
X 0 Q0 Q0 No change

Q thay đổi theo D khi EN ở mức tích cực.

FETEL-2021 216
Tóm tắt một số ký hiệu của mạch chốt SR và

FETEL-2021 217
IC 7475

FETEL-2021 218
Flip Flop
Mạch lật (Flip Flop) khác với mạch chốt ở cách mạch thay
đổi trạng thái.
+ Mạch chốt: thay đổi bởi mức logic của tín hiệu điều khiển.
+ Flip Flop: cạnh của tín hiệu điều khiển sẽ quyết định trạng thái
ngõ ra.
Flip Flop là các mạch lưỡng ổn đồng bộ, còn gọi là mạch
dao động đa hài lưỡng ổn (bistable multivibrator).

FETEL-2021 219
Flip flop có thể thay đổi trạng thái bởi cạnh lên hay cạnh xuống của
xung đồng hồ (cũng là tín hiệu đồng bộ, ký hiệu là Clk hay Ck hay C)
tuỳ vào thiết kế bên trong của FF.

FETEL-2021 220
Flip Flop SR

FETEL-2021 221
FETEL-2021 222
Phương pháp tạo ra cạnh kích
Phương pháp 1: Dùng mạch phát hiện cạnh, mạch này sẽ tạo ra một xung có độ
rộng nhỏ đủ để các cổng AND/NAND đáp ứng kịp. Theo các này SR-FF chỉ
khác biệt mạch chốt SR dạng có tín hiệu cho phép (dạng Gated SR ở phần
trước) ở mạch phát hiện cạnh.

Mạch phát hiện cạnh

Cạnh lên Cạnh xuống


FETEL-2021 223
Ví dụ hoạt động của FF chuyển từ trạng thái RESET sang SET

FETEL-2021 224
Ví dụ hoạt động của FF chuyển từ trạng thái SET sang RESET

FETEL-2021 225
Phương pháp tạo ra cạnh kích
Phương pháp 2: Dùng dạng chủ-tớ. Ở đây sẽ dùng hai mạch chốt ráp nối tiếp
nhau như hình.

Ví dụ:

FETEL-2021 226
Flip Flop D
FF-D thường dùng để lưu trữ 1 bit dữ liệu. Nó có thể được tạo
ra từ FF-SR hay kết hợp hai mạch chốt loại D.
Bảng trạng thái của FF D
Inputs Outputs Inputs Outputs
D CLK Q Q Comments D CLK Q Q Comments
1 1 0 SET 1 1 0 SET
0 0 1 RESET 0 0 1 RESET

(a) Kích bởi cạnh lên, để ý mũi tên lên (b) Kích bởi cạnh xuống

FETEL-2021 227
Flip-Flop D

Ví dụ dạng sóng của FFD  Q=D khi có cạnh lên của CLK

FETEL-2021 228
74LS74 Dual D-type Flip Flop
Device
Subfamily Device Description
Number
Dual D-type Flip Flops with
74LS74 LS TTL
Preset and Clear
Quad D-type Flip Flops with
74LS175 LS TTL
Clear
Octal D-type Flip Flops with
74LS273 LS TTL
Clear
Standard
4013B Dual type D Flip Flop
CMOS
Standard Hex D-type Flip Flop with
40174B
CMOS Master Reset

FETEL-2021 229
Flip Flop JK

J Q Inputs Outputs
J K CLK Q Q Comments
K Q 0 0 Q0 Q0 No change
0 1 0 1 RESET
1 0 1 0 SET
1 1 Q0 Q0 Toggle

Flip Flop JK là loại được sử dụng khá phổ biến. Điểm khác biệt chính
của FF-JK so với FF-SR là nó loại bỏ trạng thái không hợp lệ của FF
SR. Bảng trạng thái khác của FF-JK giống FF-SR ngoại trừ trạng thái
J=K=1, lúc này FF-JK trở thành FF-T.

FETEL-2021 230
Flip Flop JK có thể được tạo ra bằng nhiều cách.
Tạo ra Flip-Flop JK từ FF D

J
D Q Q
K Q Q

Clock

Tạo ra Flip-Flop JK từ FF SR

FETEL-2021 231
Tạo ra Flip-Flop JK từ chốt SR

Ví dụ: dạng sóng của FF JK

J Q

CLK

K Q

FETEL-2021 232
Ví dụ: vẽ dạng sóng của ngõ ra Q J Q

với các ngõ vào J, K và CLK cho CLK


như hình dưới.
K Q

Set Toggle Set Latch

CLK

FETEL-2021 233
Flip Flop T
FF T thường dùng để xây dựng mạch đếm. Có thể tạo ra FF-T bằng
nhiều cách.
Cách
T Q(t+1) Q viết
D Q Q 0 Q(t) Q0 khác
T 1 Q(t) Q0
Q Q

Clock

T Q

FETEL-2021 234
Ví dụ: dạng sóng của FF T

Ví dụ: Có thể tạo ra chế độ lật trạng thái ngõ ra của FF D khi có
xung CLK bằng cách nối D với Q’
D Q

CLK CLK

Q
FETEL-2021 235
Ví dụ: Vẽ dạng sóng của A và B, nhận xét?

FETEL-2021 236
Ngõ vào đồng bộ và bất đồng bộ
Hầu hết Flip flop có cả ngõ vào đồng bộ và bất đồng bộ.
▪ Ngõ vào đồng bộ là những ngõ vào tác động đến hoạt
động của FF đồng bộ với xung đồng hồ (CLK).
▪ Ngõ vào bất đồng bộ tác đến đến ngõ ra của FF độc lập
với tín hiệu đồng bộ, nghĩa là không phụ thuộc vào tín
hiệu đồng hồ. Ngõ vào bất đồng bộ còn có tên khác là
ngõ vào điều khiển trực tiếp. PRE

Hai ngõ vào bất đồng bộ thường gặp J Q


trên các FF là Preset (PRE) and clear
(CLR). Chúng thường tích cực ở mức CLK

thấp. Hình bên là ví dụ của FF JK với


K Q
tín hiệu đk đồng bộ (J và K) và bất
đồng bộ (PRE và CLR)
CLR

FETEL-2021 237
PRE
Ví dụ:
Xác định ngõ ra Q của FF với các J Q

tín hiệu vào như trong hình. CLK

K Q

CLR
Set Toggle Set Reset Toggle Latch
CLK

K Set
PRE Reset
CLR

FETEL-2021 238
FETEL-2021 239
FETEL-2021 240
Một số đặc tính của Flip Flop
Thời gian trì hoãn truyền
Là khoảng thời gian giữa 50% mức biên độ của xung đồng
hồ và 50% biên độ ngõ ra, gồm hai giá trị tpLH và tpHL. Nó
cho biết khoảng thời gian từ khi tác động ở ngõ vào đến khi
ngõ ra bị ảnh hưởng.

FETEL-2021 241
Đối với các tín hiệu điều khiển bất đồng bộ ta cũng có thời
gian trì hoãn truyền đo giữa tín hiệu đk bất đồng bộ và ngõ
ra.

FETEL-2021 242
Set-up time và Hold time

Setup time là khoảng thời gian


tối thiểu dữ liệu tồn tại trước
khi có xung clock. D

CLK
Hold time là khoảng thời gian
tối thiểu dữ liệu duy trì sau khi Set-up time, ts
khi có xung clock.
D

fmax là tần số cao nhất của xung CLK

đồng hồ mà FlipFlop vẫn còn


hoạt động tin cậy. Hold time, tH

Công suất tiêu thụ: P=VCC  ICC

FETEL-2021 243
So sánh đặc tính của một số IC FF rời

FETEL-2021 244
Ứng dụng của Flip Flop
Output
Những ứng chính của FF gồm: lines
+ Lưu trữ dữ liệu tạm thời D Q0
C

+ Bộ chia tần số R

+ Mạch đếm D Q1

+ Thanh ghi-dịch C

D Q2
Ví dụ ứng dụng lưu trữ dữ liệu tạm. Một Parallel data
C

nhóm các FF được kết nối song song có input lines R

chung đường Clock. Dữ liệu được lưu D Q3


trữ tạm cho đến khi có xung clock kế Clock C

tiếp. R
Clear

FETEL-2021 245
Chia tần số: kết nối các FF nối tiếp nhau sẽ tạo ra bộ chia
tần số, tần số được chia 2 qua mỗi FF.
HIGH HIGH

J QA J QB fout

fin CLK CLK

K K

fin

Waveforms: QA
fout

Mạch đếm:

FETEL-2021 246
Mạch đếm:

FETEL-2021 247
Thanh ghi-dịch

FETEL-2021 248
Mạch đơn ổn (One-Shot)

Mạch đơn ổn (one-shot or monostable multivibrator)


là linh kiện/mạch chỉ có một trang thái ổn định. Khi
được kích khởi ngõ ra đang ở trang thái ổ định sẽ
chuyển sang trang thái không ổn định, sau một thời
gian sẽ quan về lại trạng thái ổ định. +V
REXT CEXT
Thông thường thời gian ngõ ra ở trang Q
CX
thái không ổ định (tW) sẽ được quyết RX/CX
định bời mạch RC gắn ngoài. Trigger

Q
Trigger

Q
tW

FETEL-2021 249
Retriggerable và Nonretriggerable

Loại Retriggerable là loại có thể kích khởi trở lại khi ngõ ra
đạng ở trang thái không ổn định. Thời gian duy mạch trì trạng
thái không ổn định sẽ được công thêm vào trời gian trước đó
Retriggerable one-shot:
Trigger
Retriggers
Q
tW

Loại Nonnetriggerable: Khi kích khởi mạch lúc mạch đang ở


trang thái không ổn định, thời gian duy trì trang thái không ổn
định sẽ không được cộng thêm.

FETEL-2021 250
Ví dụ ứng dụng

Loại retriggerable one-shot có thể được dùng để phát


hiện sự cố cấp điện. VD trong hình Q = 0 sẽ báo hiệu
sự cố về cấp điện.

Triggers Missing trigger


derived due to power
from ac failure

Q Retriggers Retriggers
tW
tW
tW Power failure indication

FETEL-2021 251
IC 555: IC định thời (đọc thêm)
IC555 có thể hoạt động ở một trong ba chế độ: đơn
ổn, lưỡng ổn (FF), phi ổn (dao động)

FETEL-2021 252
Đơn ổn Phi ổn Lưỡng ổn

tW = 1.1R1C1 1.44
f =
( R1 + 2R2 ) C1

FETEL-2021 253
Digital Electronics
Thanh ghi dịch
Shift registers

FETEL-2021 254
Thanh ghi dịch
Cơ bản về thanh ghi dịch

Thanh ghi dịch (shift register) gồm các FF xếp theo một trật
tự với công dụng chính là lưu trữ và dịch chuyển dữ liệu.
Một số loại dịch chuyển dữ liệu được liệt kê bên dưới.
Data in

Data in Data out Data out Data in Data out

Serial in/shift right/serial out Serial in/shift left/serial out Parallel in/serial out

Data in

Data in

Data out Data out


Serial in/parallel out Parallel in/parallel out Rotate right Rotate left

FETEL-2021 255
FETEL-2021 256
Vào nối tiếp, ra nối tiếp (Serial-in/Serial out Shift Register)

FETEL-2021 257
U/D:Thanh ghi
dịch có thể
dùng để trì
hoãn dữ liệu
FETEL-2021 258
FETEL-2021 259
Có thể lấy dữ liệu ra ở dạng song song. Ví dụ sau 4
xung đồng hồ dữ liệu có thể lấy ra từ Q0→Q3

FETEL-2021 260
Vào song song, ra nối tiếp

Dữ liệu có thể được nạp vào song song và lấy ra nối tiếp

D0 D1 D2 D3

SHIFT/LOAD

G1 G5 G2 G6 G3 G7 G4

Serial
D D D D
Q0 Q1 Q2 Q3 data out
C C C C

FF0 FF1 FF2 FF3


CLK

FETEL-2021 261
Vào song song, ra song song

FETEL-2021 262
Mạch dịch hai chiều

Một số thiết kế cho phép dữ liệu dịch trái hay phải tùy theo
lựa chọn.

FETEL-2021 263
Data in = 0

FETEL-2021 264
Mạch đếm dựa trên thanh ghi/dịch

Thanh ghi dịch có thể tạo ra các bộ đếm bằng cách dịch
và xoay vòng các giá trị 0 và 1. Hai mạch đếm thông
dụng loại này là mạch đếm Johnson và mạch đếm vòng.

Mạch đếm Johnson Dùng FF-D


FF0 FF1 FF2 FF3

D0 Q0 D1 Q1 D2 Q2 D3 Q3

C C C C

Q3 Q3

CLK

Dùng FF-JK
FF0 FF1 FF2 FF3
Q3
J0 Q0 J1 Q1 J2 Q2 J3 Q3

C C C C

Q3
Mạch đếm Johnson có MOD= 2N, K0 Q0 K1 Q1 K2 Q2 K3 Q3

với NFETEL-2021
là số FF CLK

265
Dạng sóng của mạch đếm Johnson 4 bit

FETEL-2021 266
Mạch đếm vòng (Ring Counter)

Dùng FF-D
FF0 FF1 FF2 FF3

• Đầu tiên các FF phải được nạp


Q3
D0 Q0 D1 Q1 D2 Q2 D3 Q3

C C C C
giá trị ban đầu bằng cách dùng
chân đ/k trực tiếp PRE hay
CLK
CLR.
Dùng FF-JK • Giá trị sau khi được nạp sẽ
xoay vòng trong mạch.
FF0 FF1 FF2 FF3
Q3
• Mạch đếm có MOD=N, với N
J0 Q0 J Q1 J Q2 J Q3
là số FF.
1 2 3

C C C C

Q3
K0 Q0 K1 Q1 K2 Q2 K3 Q3

CLK

FETEL-2021 267
FETEL-2021 268
FETEL-2021 269
Câu hỏi: Một thanh ghi dịch 8 bit vào nối tiếp ra nối tiếp
có tần số xung đồng hồ 40 MHz. Hãy tính trì hoãn của tín
hiệu qua thanh ghi dịch?

A SRG 8 Q7
Data in Data out
B

Chu kỳ xung clock: 1/40 CLK


40 MHz
C
Q7

MHz = 25 ns
25 ns

Thời gian trì hoãn CLK


tổng cộng: 8 x 25
Data in
ns = 200 ns
Data out
td = 200 ns

FETEL-2021 270
Digital Electronics
Thanh ghi dịch
Shift registers

FETEL-2021 271
Thanh ghi dịch
Cơ bản về thanh ghi dịch

Thanh ghi dịch (shift register) gồm các FF xếp theo một trật
tự với công dụng chính là lưu trữ và dịch chuyển dữ liệu.
Một số loại dịch chuyển dữ liệu được liệt kê bên dưới.
Data in

Data in Data out Data out Data in Data out

Serial in/shift right/serial out Serial in/shift left/serial out Parallel in/serial out

Data in

Data in

Data out Data out


Serial in/parallel out Parallel in/parallel out Rotate right Rotate left

FETEL-2021 272
FETEL-2021 273
Vào nối tiếp, ra nối tiếp (Serial-in/Serial out Shift Register)

FETEL-2021 274
U/D:Thanh ghi
dịch có thể
dùng để trì
hoãn dữ liệu
FETEL-2021 275
FETEL-2021 276
Có thể lấy dữ liệu ra ở dạng song song. Ví dụ sau 4
xung đồng hồ dữ liệu có thể lấy ra từ Q0→Q3

FETEL-2021 277
Vào song song, ra nối tiếp

Dữ liệu có thể được nạp vào song song và lấy ra nối tiếp

D0 D1 D2 D3

SHIFT/LOAD

G1 G5 G2 G6 G3 G7 G4

Serial
D D D D
Q0 Q1 Q2 Q3 data out
C C C C

FF0 FF1 FF2 FF3


CLK

FETEL-2021 278
Vào song song, ra song song

FETEL-2021 279
Mạch dịch hai chiều

Một số thiết kế cho phép dữ liệu dịch trái hay phải tùy theo
lựa chọn.

FETEL-2021 280
Data in = 0

FETEL-2021 281
Mạch đếm dựa trên thanh ghi/dịch

Thanh ghi dịch có thể tạo ra các bộ đếm bằng cách dịch
và xoay vòng các giá trị 0 và 1. Hai mạch đếm thông
dụng loại này là mạch đếm Johnson và mạch đếm vòng.

Mạch đếm Johnson Dùng FF-D


FF0 FF1 FF2 FF3

D0 Q0 D1 Q1 D2 Q2 D3 Q3

C C C C

Q3 Q3

CLK

Dùng FF-JK
FF0 FF1 FF2 FF3
Q3
J0 Q0 J1 Q1 J2 Q2 J3 Q3

C C C C

Q3
Mạch đếm Johnson có MOD= 2N, K0 Q0 K1 Q1 K2 Q2 K3 Q3

với NFETEL-2021
là số FF CLK

282
Dạng sóng của mạch đếm Johnson 4 bit

FETEL-2021 283
Mạch đếm vòng (Ring Counter)

Dùng FF-D
FF0 FF1 FF2 FF3

• Đầu tiên các FF phải được nạp


Q3
D0 Q0 D1 Q1 D2 Q2 D3 Q3

C C C C
giá trị ban đầu bằng cách dùng
chân đ/k trực tiếp PRE hay
CLK
CLR.
Dùng FF-JK • Giá trị sau khi được nạp sẽ
xoay vòng trong mạch.
FF0 FF1 FF2 FF3
Q3
• Mạch đếm có MOD=N, với N
J0 Q0 J Q1 J Q2 J Q3
là số FF.
1 2 3

C C C C

Q3
K0 Q0 K1 Q1 K2 Q2 K3 Q3

CLK

FETEL-2021 284
FETEL-2021 285
FETEL-2021 286
Câu hỏi: Một thanh ghi dịch 8 bit vào nối tiếp ra nối tiếp
có tần số xung đồng hồ 40 MHz. Hãy tính trì hoãn của tín
hiệu qua thanh ghi dịch?

A SRG 8 Q7
Data in Data out
B

Chu kỳ xung clock: 1/40 CLK


40 MHz
C
Q7

MHz = 25 ns
25 ns

Thời gian trì hoãn CLK


tổng cộng: 8 x 25
Data in
ns = 200 ns
Data out
td = 200 ns

FETEL-2021 287
Digital Electronics
Mạch đếm

FETEL-2021 288
Mạch đếm (Counter)

➢ Mạch đếm là các mạch dùng để đếm các sự kiện. Mạch


đếm được hình thành từ cách ghép nối các FF
➢ Có hai loại mạch đếm là:
– Mạch đếm bất đồng bộ: các FF trong mạch
không dùng chung tín hiệu đồng hồ (Clock)
– Mạch đếm đồng bộ: một tín hiệu đồng hồ
chung sẽ được đưa vào các FF
➢ Về giá trị đếm có hai loại:
– Đếm nhị phân: giá trị đếm thay đổi theo mã
nhị phân
– Đếm MOD-M: mạch đếm đếm tối đa M
trạng thái.
FETEL-2021 289
Mạch đếm nhị phân bất đồng bộ 2 bit

Số Clock Q1 Q0
0 0 0
1 0 1
2 1 0
3 1 1
4 0 0

0 1 2 3 0
FETEL-2021 290
Mạch đếm nhị phân bất đồng bộ 3bit

Số Clock Q2 Q 1 Q 0
Q 1 thay đổi
0 0 0 0
Q 2 Thay đổi
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
Giá trị đếm thay đổi theo mã nhị phân
6 1 1 0
7 1 1 1
8 0 0 0

FETEL-2021 291
Số Clock Q2 Q1 Q0
0 0 0 0 1 T Q T Q T Q
1 0 0 1
2 0 1 0
3 0 1 1 Clock Q Q Q
4 1 0 0
5 1 0 1
6 1 1 0 Q0 Q1 Q2
7 1 1 1
8 0 0 0

Clock

Q0

Q1

Q2

Count 0 1 2 3 4 5 6 7 0
FETEL-2021 292
Dùng JK
HIGH

J0 Q0 J1 Q1 J2 Q2

CLK C C C
Q0 Q1
K0 K1 K2

1 2 3 4 5 6 7 8
CLK

Q0 0 1 0 1 0 1 0 1 0

Q1 0 0 1 1 0 0 1 1 0

Q2 0 0 0 0 1 1 1 1 0

Nhận xét: mạch đếm được xây dựng cơ bản từ FF T, có thể dùng các
FF khác thay thế FF T. Mạch đếm cũng là mạch chia tần số, VD:
đếm 8  chia tần số cho 8, tần số xung đồng hồ sẽ được chia 8.
FETEL-2021 293
Mạch đếm xuống: nếu dùng ngõ ra Q của tầng trước đưa vào chân
CLK của tầng sau → Mạch đếm xuống
111 → 110 → … → 001 → 000 → 111

1 T Q T Q T Q

Clock Q Q Q

Q0 (a) Circuit Q1 Q2

Clock

Q0

Q1

Q2

Count 0 7 6 5 4 3 2 1 0

FETEL-2021 (b) Timing diagram 294


Nhận xét
➢ Tùy loại FF sử dụng mà tín hiệu CLK sẽ tác động ở cạnh lên
hay cạnh xuống, cách kết nối các FF cũng khác nhau.

FETEL-2021 295
Mạch đếm lên/xuống

Mạch đếm lên/xuống chậm hơn mạch đếm lên hay mạch đếm xuống do tín hiệu
bị trì hoãn thêm bởi các cổng NAND
FETEL-2021 296
Trì hoãn truyền

Mạch đếm bất đồng bộ như ở trên còn được gọi là mạch
đếm ripple. Khuyết điểm lớn nhất của loại mạch này là
thời gian trì hoãn truyền → giới hạn tốc độ xung đồng
hồ.

FETEL-2021 297
Ví dụ về trì hoãn truyền:

FETEL-2021 298
LỖI !!!

FETEL-2021 299
TQ: Đếm bất đồng bộ nhị phân N bit
➢ Nguyên tắc thiết kế: Mạch đếm không đồng bộ nhị phân N bit sẽ được
thiết lập theo cách ở trên, nghĩa là ghép N FF lại với nhau.

Lưu ý:
CLK/Ck/C

FETEL-2021 300
Mạch đếm MOD-M

- MOD-M hay Modulus M hay Modulo M là mạch đếm gồm M


trạng thái
- M là số trạng thái đếm của mạch.
- Mạch sẽ cần N FF với 2N-1 < M < 2N
VD: mạch đếm MOD-12

0
12 trạng thái

11

FETEL-2021 301
Mạch đếm MOD-M bất đồng bộ
Giải mã cục bộ giá trị đếm: để biết giá trị đang đếm đã đạt tới
trạng thái quan tâm chưa, người ta sẽ dùng mạch giải mã
(cổng AND, NAND,…) với các ngõ vào mạch giải mã là các
ngõ ra Q của các FF.
VD: giải mã trạng thái đếm thứ 10. Khi giá trị đếm là 1010
→ X=0

FETEL-2021 302
Mạch đếm MOD-M bất đồng bộ
➢ Phương pháp thiết kế: lấy ngõ ra của mạch giải mã cục bộ
điều khiển chân điều khiển trực tiếp của các FF.

HIGH
Q0 Q1 Q2 Q3 CLR
J0 J1 J2 J3

CLK C C C C

K0 K1 K2 K3
Mạch đếm MOD-10 CLR CLR CLR CLR

CLK 1 2 3 4 5 6 7 8 9 10

Q0

Q1 Glitch
Glitch

Q2

Q3

CLR
Glitch
Glitch
FETEL-2021 303
Các FF sẽ bị xóa bởi các tín hiệu Glitch tác động vào chân CLR
Mạch đếm 12 bất đồng bộ

FETEL-2021 304
Ví dụ IC thực hiện hàm đếm

The 74LS93A Asynchronous Counter


74LS93A có 1 FF JK được điều khiển bởi CLK A và 3 FF
JK được điều khiển bởi CLK B. Có thể kết hợp hai mạch để
tạo thành mạch đếm 4 bit.

(1)
CLK B

J J1 J2 J3
0
(14)
CLK A C C C C

K0 K1 K2 K3

(2)
Các ngõ vào J, K RO (1)
(3)
đã được nối bên RO (2)
(12) (9) (8) (11)
trong lên mức
logic cao. Q0 Q1 Q2 Q3

FETEL-2021 305
Mạch đếm đồng bộ

Ở mạch đếm đồng bộ các FF được đồng bộ cùng lúc bởi


một xung đồng hồ chung. Mạch đếm đồng bộ chạy nhanh
hơn mạch đếm bất đồng bộ nhưng thông thường sẽ cần
thêm một số mạch điều khiển, nghĩa là mạch sẽ phức tạp
hơn.

FETEL-2021 306
Nhận xét
clock cycle Q2 Q1 Q0 Q0 thay đổi khi có xung clock
0 0 0 0
Q1 thay đổi khi Q0=1 và có xung clock
Q2 thay đổi khi Q0=1 và Q1=1 và có xung
1 0 0 1
clock
2 0 1 0 …..
3 0 1 1
4 1 0 0 Nếu dùng FFT/FFJK thì với lập luận trên sẽ
5 1 0 1 rút ra:
6 1 1 0 T0 = 1
7 1 1 1 T1 = Q0
T2 = Q1Q0
8 0 0 0

HIGH Q0
Q0Q1
Q0 Q1 Q2
J J1 J
0 2

C C C

K0 K1 K2
FETEL-2021 307
CLK
Mạch đếm nhị phân đồng bộ
CLK

Q0
4 Bit
Q1

Q2

Q3

Q1Q0
G1 Q2Q1Q0
G2
FF0 FF1 FF2 FF3

HIGH J0 Q0 J1 Q1 J2 Q2 J3 Q3

CLK C C C C

K0 Q0 K1 Q1 K2 Q2 K3 Q3

FETEL-2021 308
Đưa thêm vào tín hiệu Clear và Enable

Enable= 1: Mạch thực hiện chức năng đếm


Enable= 0: Mạch giữ nguyên trạng thái

Enable T Q T Q T Q T Q

Clock Q Q Q Q

Clear

FETEL-2021 309
Bài tập:
Cho mạch sau, vẽ dạng sóng của các ngõ ra của FF.
Hãy cho biết đây là mạch đếm mấy.
Q3
HIGH Q0
FF0 FF1 FF2 FF3

J0 Q0 J1 Q1 J2 Q2 J3 Q3

C C C C

Q3
K0 Q0 K1 Q1 K2 Q2 K3 Q3

CLK

CLK 1 2 3 4 5 6 7 8 9 10

Q0 0 1 0 1 0 1 0 1 0 1 0

Q1 0 0 1 1 0 0 1 1 0 0 0

Q2 0 0 0 0 1 1 1 1 0 0 0

Q3 0 0 0 0 0 0 0 0 1 1 0
FETEL-2021 310
Mạch đếm đồng bộ lên/xuống

Mạch có thể thực hiện chức năng đếm lên hay đếm xuống tùy
theo tín hiệu điều khiển.
Q0.UP
HIGH UP
FF0 FF1 FF2
Q2
J J1 J2
0 Q0 Q1
UP/DOWN C C C
Q0 Q1 Q2
K0 K1 K2

DOWN
Q0.DOWN
CLK
clock cycle Q2 Q1 Q0

0 0 0 0 Q1 đổi khi Q0= 0 (Q0’= 1) và có xung clk


1 1 1 1
2 1 1 0
Chứng minh: 3 1 0 1
4 1 0 0
Q2 đổi khi Q0= 0, Q1=0 và có xung clk
5 0 1 1
6 0 1 0
7 0 0 1
FETEL-2021 311
8 0 0 0
Ví dụ về dạng sóng của mạch đếm lên/xuống

FETEL-2021 312
Mạch đếm đồng bộ MOD-M
Thiết kế mạch đếm đồng bộ MOD-M
Cách 1: giống như phương pháp áp dụng cho mạch đếm bất đồng bộ, lấy
trạng thái thứ M giải mã và hồi tiếp về chân CLR để xóa các FF. → Các FF
cần có chân CLR.

1 T Q T Q T Q
Q0 Q1 Q2

Clock Q Q Q

VD: MOD-6

Trạng thái tạm


thời cần để xóa FF
FETEL-2021 313
Nhận xét:
- Các FF cần có chân điều khiển trực tiếp.
- Trạng thái tạm sẽ duy trì trong thời gian ngắn nên sẽ không được nhận
biết trên các thiết bị hiển thị, VD: đèn LED, nhưng có thể gây ra lỗi nếu
ngõ ra của bộ đếm được dùng để điều khiển thiết bị hay đưa vào ngõ vào
của một mạch khác.

Cách 2: (Cách tổng quát)

FETEL-2021 314
Thiết kế mạch đếm đồng bộ tổng quát

Mạch đếm đồng bộ là một nhánh con của Finite State Machine (FSM)

315
FETEL-2021
Quy trình thiết kế mạch đếm đồng bộ
Bước 1: Vẽ lưu đồ trạng thái: Bước 2: Lập bảng trang thái kế tiếp
Lưu đồ trạng thái thể hiện các Bảng trạng thái này có thể
trạng thái của mạch đếm khi có rút ra từ lưu đồ trạng thái.
xung đồng hồ Bảng này thể hiện trạng thái
hiện tại và trạng thái kế tiếp
của mạch đếm khi có xung
000
100 001
đồng hồ. Bước 1 và 2 có thể
gộp chung thành 1 bước.
101 011 Present State Next State
Q2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 1
111 010 0 0 1 0 1 1
110 0 1 1 0 1 0
0 1 0 1 1 0
1 1 0 1 1 1
1 1 1 1 0 1
1 0 1 1 0 0
1 0 0 0 0 0 316
FETEL-2021
Bước 3: Lập bảng chuyển trang thái của Flip Flop sẽ được sử dụng.

Bảng này liệt kê các khả năng chuyển từ trạng thái


hiện tại qua trạng thái khác của các ngõ ra của FF
kèm theo là điều kiện được áp vào các ngõ vào của
FF. QN là trạng thái hiện tại của các FF, QN + 1 là trạng
thái kế tiếp (sau khi có xung đồng hồ), X: “don’t care” .

Output Flip-Flop
Transitions Inputs
QN Q N+1 J K
Nếu dùng FF JK
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0

317
FETEL-2021
Bảng chuyển trang thái của các Flip Flop thông dụng

QN QN+1 D T SR JK

0 0 0 0 0x 0x

0 1 1 1 10 1x

1 0 0 1 01 x1

1 1 1 0 x0 x0

318
FETEL-2021
319
FETEL-2021
Bước 4: Lập K-Map
Lập bản đồ Karnaugh cho từng ngõ vào của từng FF. Vị trí của các ô trong bản đồ
diễn tả trạng thái hiện tại của mạch đếm. Ví dụ nếu dùng FF JK, ứng với mỗi FF ta
phải lập K Map cho J và K Map cho K, từ đó rút ra được biểu thức cho J và biểu thức
cho K

Từ 0→1 cần J=1 và K=X

Từ 1→0 cần J=X và K=1

Q0 đổi trạng thái


từ 0 sang 1

Q0 đổi trạng thái từ


1 sang 0 320
FETEL-2021
Hoàn tất K Map cho tất cả các FF.

321
FETEL-2021
Bước 5: Đưa ra biểu thức cho các ngõ vào của các FF. Đây là
bài toán rút gọn quen thuộc dùng bản đồ Karnaugh.

Bước 6: Vẽ sơ đồ mạch. Đây là hệ quả của bước 5.

322
FETEL-2021
Ví dụ thiết kế mạch đếm có lưu đồ trang thái như hình dưới, dùng
FF JK.

Bước 1: xong
323
FETEL-2021
Bước 2:

Bước 3:

324
FETEL-2021
Bước 4:

Bước 5:

325
FETEL-2021
Bước 6:

Nhận xét: theo cách tổng quát ta có thể thiết kế mạch đếm đồng bộ bất kỳ.

326
FETEL-2021

You might also like