Professional Documents
Culture Documents
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
• 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
Đạ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
• Ở 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 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