Giáo trình Điện tử Vi mạch, điện tử số (Phần 2) - Trường Đại học Sư phạm Huế

77  
CHƯƠNG 5  
CÁC HỆ LOGIC TỔ HỢP  
5.I. KHÁI NIỆM  
Trong các thiết bị số, sự gia công và biến đổi thông tin được thực hiện nhờ các hệ thống  
mạch logic tổ hợp (combinational logic) mà một số chức năng chính của chúng như sau:  
Trong các khâu biến đổi thông tin, các hệ logic tổ hợp có thể thực hiện chức năng chuyển  
đổi từ mã số này sang mã số khác hoặc chuyển đổi mã từ dạng song song sang dạng nối tiếp và  
ngược lại...  
Trong các khâu gia công thông tin, các hệ logic tổ hợp có thể thực hiện nhiều chức năng  
khác nhau như giải mã, chọn kênh, phân kênh, hoặc thực hiện các phép tính số học trên cơ sở  
các mã số khác nhau...  
Trong thực tế kỹ thuật, các hệ logic tổ hợp thường được sử dụng phối hợp với các thiết bị  
số khác, hoặc các thiết bị tương tự để tạo ra các thiết bị hệ lai nhiều chức năng. Các hệ logic tổ  
hợp chỉ sử dụng chủ yếu các cổng logic. Trong khâu biến đổi thông tin, các hệ logic tổ hợp có  
thể chuyển đổi từ mã hệ này sang mã số hệ khác.  
Nó có sơ đồ khối tổng quát như hình 5.1  
Hình 5.1: Sơ đồ khối tổng quát hệ logic tổ hợp  
Hệ logic tổ hợp có n lối vào m lối ra. Mỗi lối ra là một hàm của các biến đầu vào theo  
phương trình tổng quát:  
Y0 = f1 (x0, x1,…, xn)  
Y1 = f2 (x0, x1,…, xn)  
…………………….  
Y2 = f3 (x0, x1,…, xn)  
Như vậy, hàm ra của hệ logic tổ hợp chỉ phụ thuộc các biến đầu vào mà không phụ thuộc  
vào các trạng thái trước đó của hệ, nghĩa là trạng thái đầu ra được thiết lập ngay sau khi có tác  
động ở đầu vào.  
Hệ logic tổ hợp được sử dụng nhiều trong hệ thống số. Nó sẽ thực hiện những nhiệm vụ  
mà kết quả đầu ra chỉ là tổ hợp của các trạng thái đầu vào, như lập mã, giải mã, chuyển đổi  
mã...Trong chương này ta phân tích và nghiên cứu hoạt động của các ứng dụng đó.  
78  
5.2. MÃ HOÁ  
5.2.1Khái niệm:  
Để xử lý, chế biến các thông tin trong hệ thống số, ta chỉ có được các bit 1 và 0. Điều này  
làm cho chúng ta gặp nhiều khó khăn khi đọc và hiểu một chuổi dài và rất dài các con số 1,0  
đó. Vì vậy, thông tin đưa đến từ các dụng cụ biến đổi (Bàn phím, chuột ...) phải được mã hóa.  
Sau khi máy xử lý xong ta lại phải giải mã trước khi đưa ra chỉ thị. Việc này gọi là biến đổi mã,  
nó là phương tiện để chuyển đổi giữa ngôn ngử thường ngày ra ngôn ngử máy.  
Ta lấy ví dụ với sơ đồ khối một máy tính cầm tay (Hình 5.2)  
Số thập phân  
Mã hóa  
Tính toán  
giải mã  
Hiển thị  
Hình 5.2: Sơ đồ khối một máy tính cầm tay  
Các số thập phân (từ 0 đến 9) được đánh vào từ bàn phím sẽ được bộ mã hóa biến thành  
các số nhị phân. Khối đơn vị tính toán tiến hành xử lý để cho một kết quả nhị phân. Khối giải  
mã chuyển số nhị phân thành số thập phân và đưa đến bộ chỉ thị hiện số bảy đoạn.  
Các bộ lập mã và giải mã là những bộ dịch mã điện tử, bộ mã hóa dịch ngôn ngữ thường  
ngày ra ngôn ngữ máy, bộ giải mã thì ngược lại .  
Để thực hiện việc mã hóa và giải mã ta dùng các hệ thống mạch logic tổ hợp.  
Chúng ta biết rằng, có thể sử dụng một nhóm mã hệ nhị phân có 4 chữ số để biểu điễn các  
con số hệ thập phân từ 0 đến 9, quá trình này được gọi là mã hóa. Ta cũng có thể mã hóa các  
chữ cái (A,B,C ..), các ký hiệu đặc biệt (&,%,#...) hoặc cả một tập lệnh của máy tính số ..  
Với một chuỗi các số hệ nhị phân có k chữ số ta sẽ có 2k bộ giá trị khác nhau có thể đại  
diện cho 2k ký hiệu hoặc lệnh cần mã hóa. Như vậy, nếu số ký hiệu hoặc số lệnh cần được mã  
hóa là N thì ta phải có :  
N ≤ 2k  
Có 2 trường hợp xảy ra :  
*N = 2k: Số bộ giá trị của nhóm mã gồm k chữ số vừa đủ để biểu điễn N ký hiệu .  
*N < 2k: Số bộ giá trị của nhóm mã gồm k chữ số nhiều hơn số ký hiệu hoặc số lệnh cần  
biểu diễn. Như vậy sẽ thừa một số giá trị không dùng đến gọi là số tổ hợp thừa, các tổ hợp thừa  
này có thể được dùng vào các mục đích khác nhau như phát hiện và sửa sai trong quá trình  
truyền thông tin. Trong một số trường hợp ta phải có biện pháp sửa sai khi các tổ hợp thừa này  
xuất hiện trong các kết quả tính toán.  
5.2.2.Bộ mã hóa thập phân- BCD77  
Bộ mã hóa thập phân ra mã BCD có nhiệm vụ biến đổi (dịch) tín hiệu hệ đếm cơ số 10  
sang mã BCD 8421.  
Dùng 4 chữ số hệ nhị phân (ký hiệu là A3A2A1A0) để mã hóa các số từ 0 đến 9 của hệ  
79  
mười theo mã BCD ta có :  
Số hệ 10  
A3A2A1A0  
0 0 0 0  
0
1
2
3
4
5
6
7
8
9
0 0 0 1  
0 0 1 0  
0 0 1 1  
0 1 0 0  
0 1 0 1  
0 1 1 0  
0 1 1 1  
1 0 0 0  
1 0 0 1  
Như vậy, một chữ số của mã BCD có thể xuất hiện nhiều lần dưới dạng 1 (hoặc 0) tại  
cùng một vị trí ứng với nhiều số khác nhau. Ta thấy chữ số ở vị trí B bằng 1 đối với các số  
2,3,6,7 hệ 10. Nhận xét này cho ta thấy rằng mạch mã hóa này có đặc tính của hàm OR và ta có  
thể viết (với dấu + là ký hiệu phép cộng logic ):  
A1 = 2 + 3 + 6 + 7  
Vậy, muốn biến đổi các số thập phân từ 0 đến 9 sang mã BCD 8421 ta dùng 4 phần tử OR  
như sau :  
Bit : A0 = 1 + 3 +5 + 7 + 9  
A1 = 2 + 3 + 6 + 7  
A2= 4 + 5 + 6 + 7  
A3= 8 + 9  
Ta có sơ đồ nguyên lý mạch mã hóa hệ 10 - BCD 8421 (Hình 5.3)  
Hình 5.3: Sơ đồ nguyên lý bộ mã hóa thập phân sang BCD  
80  
Giả sử cần mã hoá số 3. Ta ấn phím số 3, một điện thế mức cao (+U) được cung cấp cho  
đường số 3 còn các đường khác không được cung cấp nên ở mức thấp (0V). Các đường ra A và  
B có điện thế ở mức cao còn các đường C và D vẫn ở mức điện thế thấp, nghĩa là ta có 0011 ở  
ngõ ra.  
Thực tế, mạch mã hóa này được chế tạo thành một vi mạch, nó có sơ đồ khối tổng quát  
hoạt động như hình 5.4.  
Hình 5.4: Sơ đồ khối tổng quát bộ lập mã dùng vi mạch  
Khi có một đầu vào tác động, bộ lập mã tạo ra một từ nhị phân tương ứng ở lối ra và chỉ  
một mà thôi. Đối với bộ mã hóa dạng ưu tiên, khi có nhiều đầu vào tác động đồng thời thì từ  
logic ở lối ra sẽ ứng với đầu vào có số hạng cao nhất. Bộ mã hóa trên chỉ có 9 đầu vào từ 1 đến  
9 (không có số 0), tác dụng ở mức thấp tức là mức 0, biểu thị ở các vòng tròn ở lối vào. Bình  
thừơng chúng ở mức cao vì lối vào để lơ lửng. Lúc đó ngõ ra sẽ ứng với số 0 trong hệ đếm 10.  
Ngõ ra bình thường ở mức cao (hoặc1 logic), khi hoạt động thì ở mức thấp (hoặc 0 logic).  
Các bộ đảo ở lối ra để đưa các ngõ ra trở lại dạng thông thường. Như vậy, khi cả 9 đầu vào  
không có tín hiệu gì cả (ứng với tất cả ngõ vào đều là 1), các ngõ ra ở mức cao A3A2A1A0 đều ở  
mức 1. Nghĩa là số 0 ứng với ngõ ra là 1111 nhưng khi qua các bộ đảo sẽ thành 0000 phù hợp  
với dạng thông thường. Ta có bảng trạng thái của bộ mã hóa trên.  
Vào  
Ra  
1 2 3 4 5 6 7 8 9  
H H H H H H H H H  
X X X X X X X X B  
X X X X X X X B H  
X X X X X X B H H  
X X X X X B H H H  
X X X X B H H H H  
X X X B H H H H H  
X X B H H H H H H  
X B H H H H H H H  
B H H H H H H H H  
A3 A2 A1 A0  
H H H H  
B H H B  
B H H H  
H B B B  
H B B H  
H B H B  
H B H H  
H H B B  
H H B H  
H H H B  
Chú thích: B: mức thấp (Bass), H: mức cao (Haut), X: Chỉ tín hiệu vào không tương thích  
81  
Để mạch hoạt động ta đưa vào đầu vào các xung vuông. Bộ mã hóa có đặc điểm là được  
tác động của số lớn nhất có tín hiệu vào thấp (B). Ví dụ nếu có một B ở 5 và 9 tín hiệu ra sẽ là  
1001 tương ứng với số thập phân 9.  
5.2.3.Bộ mã hóa bát phân – nhị phân  
Với cách làm tương tự ta có thể thiết kế bộ mã hóa bát phân – nhị phân  
5.3. GIẢI MÃ  
5.3.1 Khái niệm  
Giải mã là quá trình ngược lại quá trình mã hóa. Nghĩa là từ một bộ giá trị của các nhóm  
mã k chữ số hệ 2 ta tìm lại được 1 trong N ký hiệu hoặc lệnh tương ứng.  
Trong bộ giải mã chỉ có một đầu ra có giá trị logic 1 ứng với một tổ hợp biến đầu vào  
nào đó, còn các đầu ra khác có giá trị logic 0. Đầu ra có giá trị 1 này sẽ kích hoạt bộ hiễn thị  
hoạt động, báo cho chúng ta biết kết quả ra.  
Đầu ra bộ giải mã là 2, 3 hoặc 4 bit. Thí dụ bộ giải mã nhị - bát phân, có mã vào 3 bit và  
23 = 8 tổ hợp ở đầu ra cho 8 đầu ra từ 0 đến 7 (Hình 5.5)  
Hình 5.5: Sơ đồ khối tổng quát bộ giải mã nhị - bát phân 3 bit  
Thí dụ: Đầu vào:100 (số 4) thì đầu ra 4 sẽ có trạng thái 0 (trạng thái tác dụng), mọi đầu ra  
khác đều ở trạng thái 1.  
5.3.2. Bộ giải mã nhị-bát phân  
Bộ giải mã này có 3 biến đầu vào, 8 đầu ra và có bảng trạng thái:  
Đầu vào  
A2 A1 A0  
0 0 0  
0 0 1  
0 1 0  
0 1 1  
1 0 0  
Đầu ra  
0 1 2 3 4 5 6 7  
1 0 0 0 0 0 0 0  
0 1 0 0 0 0 0 0  
0 0 1 0 0 0 0 0  
0 0 0 1 0 0 0 0  
0 0 0 0 1 0 0 0  
82  
1 0 1  
1 1 0  
1 1 1  
0 0 0 0 0 1 0 0  
0 0 0 0 0 0 1 0  
0 0 0 0 0 0 0 1  
8 đầu ra, vào mỗi thời điểm chỉ có một đầu ở mức 1, còn các đầu ra còn lại ở mức 0.  
Từ bảng trạng thái ta thiết lập sơ đồ logic của bộ giải mã trên như sau (Hình 5.6)  
Hình 5.6: Sơ đồ logic bộ giải mã nhị - bát phân  
Khi sử dụng ta đưa điện áp vào đầu vào tương ứng để có mức 1.  
Thí dụ: Máy tính thực hiện xong phép tính và đưa kết quả vào bộ giải mã, giả sử điện áp  
r
vào A2 A1 A0, lúc đó đầu ra của cổng AND 6 ở mức 1 còn các đầu ra các cổng AND khác ở  
mức 0, mức 1 này sẽ kích hoạt bộ chỉ thị làm hiển thị số 5.  
5.3.3. Bộ giải mã BCD ra thập phân  
Bộ giải mã BCD ra thập phân có nhiệm vụ chuyển mã BCD ở ngõ vào thành số thập phân  
tương ứng ở ngõ ra. Trong mỗi thời điểm chỉ có một đầu ra duy nhất hoạt động. Các đầu ra có  
83  
lắp các thiết bị chỉ thị (LCD , LED ...) để chỉ thị các kết quả ở ngõ ra. Các đầu ra đều hoạt động  
ở mức thấp, đầu ra ở trạng thái 0 là đầu ra có tác dụng (bình thường ở mức cao) vì vậy khi dùng  
ta phải đấu thêm các bộ đảo ở ngõ ra để điều khiển các chỉ thị thập phân thắp sáng .  
N = 4 nên bảng trạng thái có 16 hàng, chỉ sử dụng 10 hàng, 6 hàng còn lại không hiệu lực.  
Ta có bảng trạng thái sau:  
Đầu vào BCD  
C D B A  
B B B B  
B B B H  
B B H B  
B B H H  
B H B B  
B H B H  
B H H B  
B H H H  
H B B B  
H B B H  
H B H B  
H B H H  
H H B B  
H H B H  
H H H B  
H H H H  
Đầu ra thập phân  
Số  
0
0 1 2 3 4 5 6 7 8 9  
B H H H H H H H H H  
H B H H H H H H H H  
H H B H H H H H H H  
H H H B H H H H H H  
H H H H B H H H H H  
H H H H H B H H H H  
H H H H H H B H H H  
H H H H H H H B H H  
H H H H H H H H B H  
H H H H H H H H H B  
H H H H H H H H H H  
H H H H H H H H H H  
H H H H H H H H H H  
H H H H H H H H H H  
H H H H H H H H H H  
H H H H H H H H H H  
1
2
3
4
5
6
7
8
9
Không  
hiệu lực  
5.4. CÁC HỆ CHUYỂN ĐỔI MÃ  
Các hệ chuyển đổi mã có nhiệm vụ chuyển đổi từ một mã này sang một mã khác. Đầu vào  
là các mã nhị phân, đầu ra cũng là các mã nhị phân thuộc một mã khác.  
Thí dụ: bộ chuyển đổi nhị phân sang Gray, đầu vào là các số nhị phân, đầu ra cũng là các  
số nhị phân. Trong thực tế ta sử dụng nhiều bộ chuyển đổi mã khác nhau, sau đây là các bộ  
chuyển đổi mã thường gặp nhất .  
5.4.1.Bộ chuyển đổi mã BCD ra mã 7 thanh (seven segment)  
Sau khi tính toán các mã nhị phân BCD cần phải được biến đổi (dịch) ra số thập phân.  
Thiết bị dịch ngôn ngữ máy ra số thập phân là một thiết bị rất thông dụng trong mạch số. Trong  
kỹ thuật để thực hiện việc hiển thị các số từ 0 đến 9 người ta dùng một tập hợp gồm 7 thanh  
phát sáng. (Hình 5.7).  
Mỗi thanh phát sáng này có thể được điều khiển để được bật tắt một cách độc lập. Tùy  
theo số đoạn được bật sáng mà ta có được các chữ số từ 0 đến 9.  
84  
Hình 5.7: Đèn hiển thị 7 thanh dùng LED  
Để chế tạo đèn 7 thanh ta có thể dùng nhiều phương pháp khác nhau, trong đó có 2  
phương pháp được sử dụng rộng rãi nhất:  
a/Phương pháp dùng L.E.D ( Light Emetting Diode) :  
LED hay còn gọi là Diode phát quang là một loại diode được chế tạo từ hợp chất bán dẫn  
Gali-Axênic hoặc Gali-Phospho. LED sẽ phát sáng khi phân cực thuận.  
Tùy theo chất chế tạo LED phát ra các màu khác nhau (đỏ , xanh lá cây ...). Ánh sáng  
phát ra, do hiện tượng kết hợp của điện tử và lổ trống, có cường độ sáng thay đổi theo cường  
độ dòng điện qua tiếp giáp (theo quan hệ phi tuyến). (Hình 5.8 a,b).  
Hình 5.8 a: Phân cực thuận LED sáng Hình 5.8b: Phân cực nghịch LED tắt  
Vì kích thước rất nhỏ nên với phương pháp này ta có thể chế tạo các đèn 7 thanh (là 7  
diode) với kích thước rất nhỏ. Các diode trong đèn thường có anode chung hoặc cathode chung  
để giảm nhỏ số dây nối ra ngoài. Hình 5.9 cho ta sơ đồ một đèn 7 thanh dùng LED có các  
cathode đấu chung và nối đất, vì vậy chân nào của LED có mức logic dương LED đó sẽ sáng  
lên. Để bảo vệ các diode, ta nên đấu nối tiếp một điện trở R với mỗi LED.  
Hình 5.9: Đèn 7 thanh dùng LED cathode chung  
85  
b/Phương pháp dùng LCD ( Liquid Crystal Display )  
Dùng LED tuy tiêu hao năng lượng đã nhỏ nhưng vẫn còn khá cao (gần 20 mA cho mỗi  
LED), nên hiện nay người ta dùng loại tinh thể lỏng LCD. Tinh thể lỏng LCD gồm 2 miếng  
thủy tinh xếp song song với nhau, ở giữa là dây dẫn và hỗn hợp tinh thể lỏng được tạo thành  
hình dáng cần thiết (dạng điểm hoặc dạng thanh).  
Khi có tác dụng của điện trường, hỗn hợp tinh thể lỏng sẽ đổi màu khiến cho mắt ta có thể  
trông thấy được, Hiển thị kiểu này tiêu thụ rất ít năng lượng cho nên được dùng rất phổ biến.  
Chúng có thể được sử dụng để chế tạo thành những màn hình lớn chứa hàng triệu điểm cũng  
như các đèn 7 thanh như đèn LED. Khác với đèn LED khi sử dụng LCD cần có một tín hiệu  
“mặt sau” (backplane) dạng sóng vuông với tần số từ 30 Hz đến 200 Hz .  
Hình 5.10 là bộ chuyển đổi mã BCD ra mã 7 thanh thông dụng .  
Hình 5.10 : Bộ chuyển đổi mã BCD - 7 thanh  
Bộ chuyển đổi mã trên là vi mạch 7447A. Đầu vào là BCD 4 bit và 3 đầu vào phụ, trong  
đó LT (Lamp Test) là đầu vào thử đèn, LT sẽ cho các thanh vào mạch làm việc để xem sự hoạt  
động của đèn. Hình 5.11 cho ta thấy việc hiễn thị các số thập phân từ 0 đến 9 dùng 7 đoạn.  
Hình 5.11: Hiễn thị các số thập phân từ 0 – 9 dùng dụng cụ 7 đoạn  
c/Bộ chuyển đổi mã BCD sang 7 đoạn:  
Bộ chuyển đổi mã BCD sang 7 đoạn có ký hiệu như nhình 5.12  
Hình 5.12: Ký hiệu bộ chuyển đổi mã BCD – 7 đoạn  
86  
Theo hình 5.12, ta thấy một đoạn sẽ hiễn thị cho nhiều chữ số.  
Thí dụ: đoạn a sẽ hiễn thị cho các số 0,2,3,5,7,8 hoặc 9. vì vậy, ta có thể viết cho cả 7  
đoạn nhu sau:  
a = Σ (0,2,3,5,6,7,8,9)  
b = Σ (0,1,2,3,4,7,8,9)  
c = Σ (0,1,3,4,5,6,7,8,9)  
d = Σ(0,2,3,5,6,8,9)  
e = Σ(0,2,6,8)  
f = Σ(0,4,5,6,8,9)  
g = Σ(2,3,4,5,6,8,9)  
Để thực hiện việc chuyển đổi mã BCD sang 7 đoạn, ta dùng các vi mạch 7447, 74247 các  
LED được mắc anode chung, hoặc 7448, 4511 các LED được mắc Cathode chung. Mỗi IC sẽ  
điều khiển để LED hiễn thị từ 0 đến 9. Các điện trở được thêm vào để nhằm bảo vệ các đoạn.  
Hình 5.13 cho ta một sơ đồ sử dụng vi mạch chuyển đổi 7448 .  
Đầu vào RBI (Ripple Blanking Input): Đầu vào xóa nối tiếp.  
Đầu vào LT (Light Test): Dùng để thử hoạt động của các đoạn  
Hình 5.13: Mạch chuyển đổi mã BCD – 7 đoạn dùng IC 7448  
5.4.2.Chuyển đổi mã hệ 2 – Gray  
Chương 2 ta đã biết phương pháp lý thuyết chuyển đổi nhị phân sang mã Gray. Thí dụ  
chuyển số nhị phân 1011 sang mã Gray  
101  
1011  
1110  
87  
Theo yêu cầu của phép chuyển đổi, ta thấy chỉ có cổng XOR mới đáp ứng việc chuyển  
đổi. Từ các cổng logic Exclusive OR (XOR), ta có thể xây dựng mạch chuyển đổi mã nhị phân  
sang mã GRAY. Nếu số nhị phân có n bit thì số cổng XOR sử dụng: n - 1.  
Sơ đồ nguyên lý bộ chuyển đổi số nhị phân 1011 sang mã Gray ở hình 5.14  
Hình 5.14: Mạch logic chuyển đổi nhị phân – Gray  
Số nhị phân cần chuyển có 4 bit nên ta dùng 3 cổng XOR. Đầu vào cổng XOR trước nối  
vào đầu vào cổng XOR tiếp theo.  
5.4.3.Chuyển đổi mã Gray sang nhị phân  
Từ phương pháp lý thuyết chuyển đổi mã Gray sang nhị phân. Thí dụ: chuyển mã Gray  
1110 sang số nhị phân  
101  
1110  
1011  
Ta thấy cổng logic cần sử dụng chính là cổng XOR. Số lượng cổng XOR sử dụng: n - 1.  
Trong đó n là số bit sử dụng.  
Hình 5.15 là sơ đồ nguyên lý bộ chuyển đổi số mã Gray 1110 sang số nhị phân  
Hình 5.15: Mạch logic chuyển đổi Gray - nhị phân  
Số nhị phân cần chuyển có 4 bit nên ta dùng 3 cổng XOR. Đầu ra cổng XOR trước nối  
vào đầu vào cổng XOR tiếp theo.  
88  
5.5. BỘ SO SÁNH:  
5.5.1: Khái niệm:  
Đây là một chức năng logic cho phép so sánh hai số nhị phân. Thí dụ A và B. Nó sẽ chỉ rõ  
ở đầu ra A = B, A< B hoặc A>B. Hình 5.16 cho ta ký hiệu một bộ so sánh.  
Hình 5.16: Ký hiệu bộ so sánh.  
Một trong 3 lối ra sẽ lên 1 để kích hoạt bộ hiễn thị hiễn thị kết quả so sánh, hai đầu ra còn  
lại ở mức 0.  
5.5.2.Bộ so sánh hai số nhị phân 1 bit  
Muốn so sánh A = a0 và B = b0, trước hết ta thiết lập bảng trạng thái cho bộ so sánh. Bảng  
trạng thái là cơ sở giúp ta thiết lập sơ đồ logic.  
b0  
0
a0  
0
S (A=B)  
Sa (A>B)  
Sb (A<B)  
1
0
0
1
0
1
0
0
0
0
1
0
0
1
1
0
1
1
Từ bảng trạng thái ta viết được các phương trình sau:  
________  
S = a0 b0 + a0 b0 = a0 ⊕ b0 (5.1)  
Sa = a0 b0 (5.2)  
Sb = a0 b0 (5.3)  
S = 1 khi A = B, Sa = 1 khi A > B, Sb = 1 khi A < B  
Theo các phương trình (5.1), (5.2),(5.3), ta vẽ được sơ đồ nguyên lý của bộ so sánh 1 bit  
như hình 5.17  
Hình 5.17: Sơ đồ logic bộ so sánh một bit  
89  
5.5.3 Bộ so sánh hai số nhị phân 2 bit  
Trong trường hợp A và B mỗi số có 2 bit sẽ có 4 khả năng:  
A = 00, 01, 10, 11  
B = 00, 01, 10, 11  
a/ So sánh bằng:  
Bảng trạng thái nếu A = B  
a1  
0
a0  
0
b1  
0
b0  
0
Phương trình  
Số thứ tự  
1
a1 a0 b1 b0  
0
1
1
1
0
1
0
1
1
1
0
1
2
3
4
a1 a0 b1 b0  
a1 a0 b1 b0  
a1 a0 b1 b0  
Phương trình nếu A = B  
Gọi S là kết quả ra khi A = B, từ bảng trạng thái ta thiết lập các phương trình đầu ra:  
S = (a1a0 b1b0 ) +(a1a0b1b0 ) + (a1a0b1b0 ) + (a1a0b1b0 )  
= a1 b1(a0 b0 + a0 + b0 ) + a1 b1(a0 b0 + a0 b0 )  
= (a1 b1 + a1 b1)(a0 b0 + a0 b0 )  
_________  
_________  
Vậy S = (a1 ⊕ b1)(a0 ⊕ b0 ) (5.4)  
b/ So sánh A > B:  
Bảng trạng thái nếu A > B  
Ta có 6 trường hợp đánh thứ tự từ 1 đến 6  
a1  
0
a0  
1
b1  
0
b0  
0
Phương trình  
Số thứ tự  
1
a1 a0 b1 b0  
1
1
1
1
1
0
0
1
1
1
0
0
0
0
1
0
1
0
1
0
2
3
4
5
6
a1a0 b1 b0  
a1 a0 b1 b0  
a1 a0 b1 b0  
a1 a0 b1 b0  
a1 a0 b1 b0  
Phương trình nếu A > B  
Gọi Sa là kết quả ra khi A > B, các phương trình có số thứ tự 1 và 6 cho ta:  
a1a0 b1b0 + a1a0b1b0 = a0 b0 (a1 b1 + a1 b1)  
__________  
= a0 b0 ( a1 ⊕ b1 )  
90  
Các phương trình có số thứ tự 2, 3, 4, 5 cho ta:  
a1a0 b1 b0 + a1a0 b1b0 +a1a0 b1b0 + a1a0 b1b0  
= a1 b1(a0 b0 + a0 b0 + a0 b0 + a0 b0 )  
___________  
⎡
⎤
= a1b1 (a0 ⊕ b0 ) + (a0 ⊕ b0 )  
⎢
⎥
⎣
⎦
= a1b1  
__________  
Vậy: Sa = a0 b0 ( a1 ⊕ b1 ) + a1b1 (5.5)  
c/ So sánh A < B:  
Từ nhận xét: Mỗi lần A = B hoặc A > B thì không thể có A < B, ta đi đến kết luận: A <  
B nếu không phải A ≥ B.  
Từ các phương trình (5.4) và (5.5) ta vẽ sơ đồ nguyên lý của bộ so sánh 2 bit như hình  
5.18  
Hình 5.18: Sơ đồ logic bộ so sánh hai bit  
5.6 MẠCH SỐ HỌC:  
Mạch số học giúp ta thực hiện các phép tính số học nhị phân. Ở chương 1 ta biết rằng các  
phép tính số học đều được thực hiện từ mạch cộng, trong kỹ thuật số có hai mạch cộng là mạch  
bán cộng và mạch cộng toàn phần .  
5.6.1. Mạch bán cộng  
Mạch bán cộng giúp ta cộng hai số nhị phân, trong đó mỗi số nhị phân chỉ có một bit.Từ  
các tính chất của phép cộng nhị phân ta có:  
0 + 0 = 0  
0 + 1 = 1  
1 + 0 = 1  
1 + 1 = 0 nhớ 1 cho vị trí trên  
Như vậy mạch bán cộng có hai đầu vào cho hai số nhị phân 1 bit A và B, hai đầu ra cho  
91  
tổng số S và nhớ C0 (Hình 5.19)  
Hình 5.19: Sơ đồ khối tổng quát mạch bán cộng  
Bảng trạng thái bộ bán cộng  
a
b
Tổng số  
Nhớ (C0) Phương trình  
S
C0  
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
1
ab  
ab  
ab  
Các phương trình  
Từ bảng trạng thái ta viết được các phương trình sau của mạch bán cộng  
a b + a b = a ⊕ b  
S =  
C0 = ab  
Sơ đồ nguyên lý mạch bán cộng  
Từ các phương trình thu được ta vẽ sơ đồ sơ đồ logic mạch bán cộng như hình 5.20  
Hình 5.20: Sơ đồ logic mạch bán cộng  
5.6.2.Mạch cộng toàn phần (full Adder)  
Mạch cộng toàn phần giúp ta cộng hai số nhị phân, trong dó mỗi số nhị phân có nhiều bit.  
Đây là trường hợp thường gặp nhất.  
Thí dụ: a2a1a0 + b2b1b0  
Ta phải cộng các hàng đơn vị (trọng số 0), trọng số 1, trọng số 2 cho đến hết.  
Thí dụ:  
1
1
1
1
1
1
0
0
1
nhớ  
1
1
1
0
92  
Ta thấy ngay con số có trọng số 1 A1 đã có thể có một con số 1 nhớ từ phép cộng các con  
số có trọng số 0 A0 đưa lên. Nghĩa là ta cần phải đưa thêm vào kết quả ở hàng trên số nhớ mà  
phép cộng ở hàng trọng số dưới Cn-1 đưa lên.  
Như vậy mạch cộng toàn phần có ba đầu vào: Hai đầu vào cho hai số nhị phân nhiều bit A  
và B và một cho bit nhớ Cn-1 từ phép cộng hai bit đứng trước. Hai đầu ra cho tổng số Sn và nhớ  
Cn (Hình 5.21)  
Hình 5.21: Sơ đồ khối tổng quát mạch cộng toàn phần  
Bảng trạng thái bộ toàn cộng  
Cn-1  
a
b
Sn  
Cn  
Phương trình  
Sn  
Cn  
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
0
a b c  
a b c  
0
0
a b c  
1
a b c  
a b c  
1
a b c  
a b c  
a b c  
1
1
Các phương trình  
Từ bảng trạng thái ta viết được các phương trình sau của mạch toàn cộng  
r
Phương trình của tổng: Sn = a b c + a b c + a b c + a b c  
= (a b + a b) c + (a b + a b) c  
mà a b + a b = a ⊕ b  
và a b + a b = _a__⊕___b__  
________  
Nên Sn = (a ⊕ b) c + (a ⊕ b) c  
Nó có dạng: AB + AB = A ⊕ B  
Nghĩa là: Sn = (a ⊕ b) ⊕ c haySn = (a ⊕ b) ⊕ Cn-1 (5.6)  
Phương trình của nhớ:C0 = a b c + a b c + a b c + a b c  
93  
= a b (c + c) + (a b + a b)c  
C0 = a b + (a b + a b) c  
Vậy: C0 = a b + (a ⊕ b) c  
Hay: C0 = a b + (a ⊕ b) Cn-1 (5.7)  
Sơ đồ logic mạch cộng toàn phần:  
Từ các phương trình (5.6), (5.7) ta vẽ sơ đồ nguyên lý của mạch cộng toàn phần (hình  
5.22)  
Hình 5.22: Sơ đồ logic mạch cộng toàn phần  
Ta thấy mạch toàn cộng chính là kết hợp hai mạch bán cộng (Hình 5.23)  
Hình 5.23: Sơ đồ khối tổng quát mạch cộng toàn phần  
94  
CHƯƠNG 6  
HỆ LOGIC TUẦN TỰ  
6.1.KHÁI NIỆM  
Ngoài hệ logic tổ hợp, trong điện tử số còn có các hê logic tuần tự (sequential logic). Đó  
là các hệ thống logic mà hàm ra tại mỗi thời điểm không những phụ thuộc vào các biến (hệ 2)  
đầu vào ở chính thời điểm đó, mà còn phụ thuộc vào các biến đầu vào ở các thời điểm trước đó.  
Các biến này được “nhớ” lại trong các bộ nhớ của hệ (vì vậy hệ logic tuần tự còn được gọi là  
các hệ logic có nhớ). Nói cách khác, hệ logic tuần tự là các hệ logic phụ thuộc vào các trạng  
thái của hệ. Các phần tử tham gia vào hệ sẽ hoạt động theo một trật tự nhất định. Khi trật tự này  
được hoàn tất thì trạng thái trên đầu ra mới được thiết lập.  
Một cách tổng quát, ta có thể biểu diễn cấu trúc một hệ logic tuần tự như hình 6.1  
Hình 6.1: Sơ đồ khối tổng quát hệ logic tuần tự  
Từ hình 6.1 ta thấy một hệ logic tuần tự bao gồm hai khối:  
a/ Khối logic tổ hợp: Có nhiệm vụ điều khiển việc thu nhận và đưa ra các thông tin vào  
ra, cũng như điều hành mọi hoạt động của các Trigger.  
b/Khối các Trigger: Đóng vai trò các bộ nhớ của hệ, chúng có nhiệm vụ nhớ các thông tin  
trung gian. Như vậy, tổ hợp các trạng thái của của các Trigger ở một thời điểm nào đó chính là  
trạng thái của hệ. Khi số Trigger của hệ tăng lên thì số trạng thái của hệ cũng tăng theo. Từ các  
Trigger ta cũng có thể lấy các thông tin ra.  
Đối với việc thiết kế các hệ logic tuần tự, cần phải chú ý vòng hồi tiếp giữa phần hệ tổ  
hợp điều khiển và các Trigger, hoặc giữa các Trigger với nhau.  
Việc đưa một xung nhịp có độ ổn định cao vào để đồng bộ các Trigger có ý nghĩa rất lớn,  
nó hình thành hai loại kết cấu thuộc hệ logic tuần tự là đồng bộ và không đồng bộ.  
Tóm lại, các hệ logic tuần tự sử dụng chủ yếu các Triger, chúng đều là các mạch logic kế  
tiếp, Trong các hệ logic tuần tự có hai hệ thống thông dụng nhất là các bộ đếm và mạch ghi.  
6.2. BỘ ĐẾM  
Trong quá trình tính toán, điều khiển, tự động hoá… thường cần phải ghi lại một số trạng  
95  
thái xảy ra theo một thứ tự nhất định nào đó, như số xung nhận được theo thứ tự thời gian, sau  
đó trạng thái này được ghi vào bộ nhớ. Việc đếm được thực hiện nhờ bộ đếm (counter).  
Bộ đếm còn được dùng trong máy tính để ghi nhận thứ tự các lệnh của một chương trình,  
sau đó máy tính sẽ thực hiện tự động. Được dùng làm bộ chia tần số điều chỉnh được (điều  
chỉnh hệ số chia) nhằm thực hiện phép tính một cách đơn giản.  
Bộ đếm là một trong những mạch điện tử số quan trọng sử dụng các trigger, thuộc hệ  
logic tuần tự, trong đó số lượng trigger có trong bộ đếm quyết định dung lượng của bộ đếm.  
6.2.1: Bộ đếm không đồng bộ  
Còn gọi là bộ đếm nối tiếp. Các xung đếm chỉ đưa vào đầu vào của Trigger thứ nhất,  
Trigger này lại điều khiển Trigger tiếp sau nó.  
a/ Bộ đếm tiến nhị phân không đồng bộ 3 bit  
Bộ đếm tiến nhị phân không đồng bộ 3 bit có sơ đồ logic như hình 6.2. Đây là bộ đếm nhị  
phân cấu tạo từ JKFF, đầu ra của Trigger thứ nhất được nối vào lối vào đồng bộ của Trigger  
thứ 2 và cứ nối tiếp như vậy cho đến Trigger cuối cùng .  
Hình 6.2: Bộ đếm tiến không đồng bộ 3 bit  
Bộ đếm có một đầu vào cho xung đếm và nhiều đầu ra. Những đầu ra thường là những  
đầu ra Q của Trigger. Vì Q chỉ có thể có một trong hai trạng thái 1 và 0 cho nên sự sắp xếp các  
đầu ra này cho phép ta biểu diễn kết quả dưới dạng một số hệ nhị phân có số bit bằng số  
Trigger dùng trong bộ đếm.  
Bộ đếm tiến nhị phân không đồng bộ 3 bit (còn gọi là bộ đếm mod 8) có dung lượng tối  
đa là 7 (một chục) sau đó quay lại đếm chục khác. Nó không tự dừng lại khi đếm hết dung  
lượng của nó.  
Các lối vào JK của Trigger đấu chung với nhau và để lơ lửng (luôn luôn ở trạng thái 1).  
Các đầu vào Cl đấu chung với nhau và đấu vào chuyển mạch S1. Trước khi đếm, ta đóng S1 để  
nối đất Cl, nhằm điều khiển các đèn chỉ thị về 0 trước khi đếm.  
Nó có biểu đồ xung như Hình 6.3  
Các Trigger đều có đầu vào JK luôn luôn ở mức 1 nên sẽ chuyển trạng thái mỗi khi có  
xung đến.Ta thấy :  
96  
Xung vào đếm  
Xung qua Trigger 1  
Xung qua Trigger 2  
Xung qua Trigger 3  
Hình 6.3: Biểu đồ xung đưa vào đầu vào đồng bộ  
*Trigger thứ nhất thay đổi trạng thái mỗi khi có xung đến .  
*Các Trigger sau chỉ thay đổi trạng thái khi lối ra Q của Trigger trước nó chuyển từ 1 về 0  
*Với 3 Trigger mắc nối tiếp, sau 8 xung bộ đếm trở lại trạng thái đầu. Vì vậy với n  
Trigger nôí tiếp có thể đếm đến 2n.  
Bảng 6.1 Bảng trạng thái của bộ đếm không đồng bộ 3 bit  
Xung đếm  
A2 A1 A0  
0
1
2
3
4
5
6
7
0
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
b/Bộ đếm lùi nhị phân không đồng bộ ba bit  
Khi cần phải đếm lùi ta mắc mạch như hình 6.4.  
Hình 6.4: Bộ đếm lùi không đồng bộ 3 bit  
Tải về để xem bản đầy đủ
pdf 47 trang Hứa Trọng Đạt 09/01/2024 5560 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Điện tử Vi mạch, điện tử số (Phần 2) - Trường Đại học Sư phạm Huế", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_dien_tu_vi_mach_dien_tu_so_phan_2_truong_dai_hoc.pdf