You are on page 1of 111

ĐIỆN TỬ SỐ

Chương 1
Biểu diễn thông tin trong
các thiết bị điện tử
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
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
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-1×10n-1 + dn-2×10n-2 +...+ d0×100
Ví dụ: 1978 = 1×103+9×102+7×101+8×100
= 1000 + 900 + 70 + 8
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-1×2n-1 + bn-2×2n-2 + ... + b0×20

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
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)
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:
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
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 1
Ví 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)
So sánh các dạng số nguyên
Tính giá trị của số nguyên
• Dấu và trị tuyệt đối:
I = (-1)b ×(bn-2×2n-2 + … + b0×20)
n-1

• 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
Phép tính số học
Đ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
Phép nhân số nhị phân
Phép chia số nhị phân
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 nhau
hi= {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
Chữ số hexadecimal
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
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
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ả
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ô
Ví dụ sử dụng mã Gray
ASCII – American Standard Code for
Information Interchange
ĐIỆN TỬ SỐ
Chương 2

Đại số Boole -
Các cổng logic
Quan hệ hàm trong hệ nhị phân
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ố
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
Các cổng thường gặp khác
Các quy tắc cơ bản
Các quy tắc áp dụng cho hàm
XOR (Exclusive OR)
Phép logic với các biến có
nhiều thành phần
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
Biểu diễn bằng biểu thức logic
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
Biểu diễn bằng bìa Karnaugh
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
Một số ví dụ dùng bìa K
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à …
Trạng thái “don’t care”
Sử dụng trạng thái “don’t care”
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)
ĐIỆN TỬ SỐ
Chương 3

Các họ mạch logic
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’
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
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).
Đặ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)
Đặ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
Đặ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
Họ mạch logic TTL
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.
Ký hiệu vi mạch logic
Các nhóm mạch logic TTL
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
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)
Mạch logic CMOS (2)
Các thông số mạch logic
Mạch Pd tp Pd × tp
74xxx 10 mW 10 ns 100 pJ
74Hxxx 22 - 6 - 132 -
74Lxxx 1 - 35 - 35 - Dòng tín hiệu (mA)
74Sxxx 20 - 3 - 60 - IIL IIH IOL IOH
74LSxxx 2 - 9 - 18 -
74ASxxx 14 - 74xxx 1,6 0,04 16 0,4
8 - 1,7 -
74ALSxx 1,2 - 4 - 5 - 74Hxxx 2 0,05 20 0,5
74Lxxx 0,18 0,01 3,6 0,2
74Sxxx 2 0,05 20 1,0
Mức ngưỡng logic (V) 74LSxxx 0,36 0,02 8 0,4
_4xxxB 0,001 0,001 0,5 0,5
VIL VIH VOL VOH
74Cxx 0,001 0,001 0,4 0,4
74xx 0,8 2,0 0,4 2,4
74HCxx 0,001 0,001 4,0 4,0
74Sxx 0,8 2,0 0,4 2,7
_4xxxB 1,5 3,5 0,05 4,95 74HCTxx 0,001 0,001 4,0 4,0
74Cxx 1,5 3,5 0,5 4,5
74HCxx 1,0 3,5 0,1 4,9
74HCTxx 0,8 2,0 0,1 4,9
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
Mạch open-collector
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.
Các loại cổng NOT
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)
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
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
Ghép nối các mạch logic
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
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
Một số vi mạch logic TTL
ĐIỆN TỬ SỐ
Chương 4

Mạch logic tổ hợp
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
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
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.
Tổng hợp ENCODER
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
Vi mạch ENCODER 74148
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)
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
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
Vi mạch Decoder 74138
Sử dụng Decoder (1)
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:
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
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
Giải mã hiển thị 7 thanh
Mã số Inputs BI/ Outputs
vào RBO
LT RBI D C B A a b c d e f g
0 H H 0 0 0 0 H ON ON ON ON ON ON OFF
1 H X 0 0 0 1 H OFF ON ON OFF OF OFF OFF
2 H X 0 0 1 0 H ON ON OFF ON ON OFF ON
3 H X 0 0 1 1 H ON ON ON ON OF OFF ON
4 H X 0 1 0 0 H OFF ON ON OFF OF ON ON
5 H X 0 1 0 1 H ON OFF ON ON OF ON ON
6 H X 0 1 1 0 H OFF OFF ON ON ON ON ON
7 H X 0 1 1 1 H ON ON ON OFF OF OFF OFF
8 H X 1 0 0 0 H ON ON ON ON ON ON ON
9 H X 1 0 0 1 H ON ON ON OFF OF ON ON

10 (A) H X 1 0 1 0 H ON ON ON OFF ON ON ON
11 (B) H X 1 0 1 1 H OFF OFF ON ON ON ON ON
12 (C) H X 1 1 0 0 H ON OFF OFF ON ON ON OFF
13 (D) H X 1 1 0 1 H OFF ON ON ON ON OFF ON
14 (E) H X 1 1 1 0 H ON OFF OFF ON ON ON ON
15 (F) H X 1 1 1 1 H ON OFF OFF OFF ON ON ON
BI X X X X X X L OFF OFF OFF OFF OFF OFF OFF
RBI H L 0 0 0 0 L OFF OFF OFF OFF OFF OFF OFF
LT L X X X X X H ON ON ON ON ON ON ON
Ví dụ mạch giải mã điều khiển
hiển thị LED 7 thanh
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
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.
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
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)…
Ứ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
Mạch so sánh (COMPARATOR)
Mạch so sánh 7485
Sử dụng vi mạch 7485
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ẻ).
Vi mạch 74280
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
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
Tổng hợp FULL ADDER
Cộng/trừ số nhiều bit
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:
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
Bộ cộng số học có carry nhanh
Vi mạch 74283 (Fast Adder)
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 74xx283
Thời gian thực hiện phép cộng:
tp = 3×tc + ts = 3×(10÷15 ns) + (13÷21 ns) = 43 ÷ 66 ns
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ụ:
Vi mạch ALU 74181
Bộ nhân hai số nhị phân
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
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’)
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’
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