1. Trang chủ
  2. » Luận Văn - Báo Cáo

CNTT Giao trinh Ki thuat So Nguyen Trung Lap

165 34 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 165
Dung lượng 3,5 MB

Nội dung

B .C + A.Β.C Tóm lại, từ một hàm cho dưới dạng bảng sự thật, ta có thể viết ngay biểu thức của hàm dưới dạng tổng chuẩn như sau: - Số số hạng của biểu thức bằng số giá trị 1 của hàm thể [r]

(1)GIỚI THIỆU MÔN HỌC : THÍ NGHIEÄM SOÁ : : 15 tiết thực hành + tiết kiểm tra :1 : KYÕ THUAÄT SOÁ : : Tài liệu hướng dẫn TN SỐ : - Giaùo trình SOÁ - Phuï luïc TN SOÁ Toùm taét noäi dung : Khảo sát tính cổng logic và Flip-Flop, hoạt động các mạch tổ hợp, mạch đếm và ghi dịch và ứng dụng chúng vi mạch MSI Teân moân hoïc Maõ soá Phân phối Soá tín chæ Moân tieân quyeát Moân song haønh Giaùo trình chính Taøi lieäu tham khaûo Characteristics of logic gate and Flip-Flop, operation of combinational circuits, counter and register and their applications on MSI integrated circuits 10 Đối tượng học : 11 Giaùo vieân phuï traùch : 1) Leâ Thò Kim Anh 2) Voõ Thò Thu Hoàng 3) Vũ Quang Thời 4) Nguyeãn Kyø Taøi 5) Tröông Quang Vinh 6) Traàn Thò Chieâu Minh 7) Nguyeãn Ngoïc Mai Khanh 8) Hoàng Trang (2) ĐỀ CƯƠNG MÔN HỌC THÍ NGHIEÄM SOÁ Thời gian:15 tiết thực hành +3 tiết kiểm tra Baøi 1: Khaûo saùt coång logic vaø Flip-Flop -Vẽ đặc tuyến truyền đạt V0=f(Vi) lọai cổng TTL và CMOS -Đo (các thông số dòng, áp) khả Fan-out mức thấp cổng logic -Khảo sát ngõ cực thu hở, ngõ trạng thái cổng logic TTL -Khảo sát họat động D-FF và JK-FF Bài 2: Mã hóa – giải mã – giải mã kéo LED đoạn -Khảo sát vi mạch chốt-giải mã BCD sang đọan ( IC 4511) – ứng dụng -Khảo sát vi mạch mã hóa ưu tiên sang (IC 74148) – ứng dụng - Khảo sát vi mạch giải mã sang (IC 74138) – ứng dụng Bài 3: Hệ tổ hợp tạo hàm dùng vi mạch MSI -Dùng decoder ( từ cổng/vi mạch 74138) để tạo hàm -Dùng multiplexer (từ vi mạch 74151/74153) để tạo hàm Bài 4:Mạch đếm và ghi dịch -Khảo sát vi mạch đếm7493 (ứng dụng đếm nhị phân và đếm module) - Khảo sát chức vi mạch đếm 4510 -Khảo sát ghi dịch bit 74164 –ứng dụng -Khảo sát ghi dịch bit 74194 – ứng dụng Bài 5: Hệ nhớ ROM – RAM -Truy xuaát ROM -Ghi đọc RAM TTL (3) Chương I : Các Hệ Thống Số I-1 CHƯƠNG 1: CÁC HỆ THỐNG SỐ & Mà U NGUYÊN LÝ CỦA VIỆC VIẾT SỐ U CÁC HỆ THỐNG SỐ Ò Hệ số 10 (thập phân) Ò Hệ số (nhị phân) Ò Hệ số (bát phân) Ò Hệ số 16 (thâp lục phân) U BIẾN ĐỔI QUA LẠI GIỮA CÁC HỆ THỐNG SỐ Ò Đổi từ hệ b sang hệ 10 Ò Đổi từ hệ 10 sang hệ b Ò Đổi từ hệ b sang hệ bk & ngược lại Ò Đổi từ hệ bk sang hệ bp U CÁC PHÉP TOÁN Số NHị PHÂN Ò Phép cộng Ò Phép trừ Ò Phép nhân Ò Phép chia U Mà HÓA Ò Mã BCD Ò Mã Gray Nhu cầu định lượng quan hệ người với nhau, là trao đổi thương mại, đã có từ xã hội hình thành Đã có nhiều cố gắng việc tìm kiếm các vật dụng, các ký hiệu dùng cho việc định lượng này các que gỗ, vỏ sò, số La mã Hiện số Ả rập tỏ có nhiều ưu điểm sử dụng định lượng, tính toán Việc sử dụng hệ thống số ngày trở nên quá quen thuộc khiến chúng ta có thể đã quên hình thành và các qui tắc để viết các số Chương này nhắc lại cách sơ lược nguyên lý việc viết số và giới thiệu các hệ thống số khác ngoài hệ thống thập phân quen thuộc, phương pháp biến đổi qua lại các số các hệ thống khác Chúng ta đặc biệt quan tâm đến hệ thống nhị phân là hệ thống dùng lãnh vực điện tử-tin học là phương tiện để giải các vấn đề mang tính logic Phần cuối chương giới thiệu các loại mã thông dụng để chuẩn bị cho các chương 1.1 Nguyên lý việc viết số Một số viết cách đặt kề các ký hiệu, chọn tập hợp xác định Mỗi ký hiệu số gọi là số mã (số hạng, digit) Thí dụ, hệ thống thập phân (cơ số 10) tập hợp này gồm 10 ký hiệu quen thuộc, đó là các số từ đến 9: S10 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Khi số gồm nhiều số mã viết, giá trị các số mã tùy thuộc vị trí nó số đó Giá trị này gọi là trọng số số mã Nguyễn Trung Lập KĨ THUẬT SỐ (4) Chương I : Các Hệ Thống Số I-1 Thí dụ số 1998 hệ thập phân có giá trị xác định triển khai theo đa thức 10: 199810 = 1x103 + 9x102 +9x101 + 9x100 = 1000 + 900 + 90 + Trong triển khai, số mũ đa thức vị trí ký hiệu số với qui ước vị trí hàng đơn vị là 0, các vị trí liên tiếp phía trái là 1, 2, 3, Nếu có phần lẻ, vị trí đầu tiên sau dấu phẩy là -1, các vị trí liên tiếp phía phải là -2, -3, Ta thấy, số đầu tiên (sau số 1) có trọng số là 900 số thứ hai là 90 Có thể nhận xét là với ký hiệu giống hệ 10, ký hiệu đứng trước có trọng số gấp 10 lần ký hiệu đứng sau nó Điều này hoàn toàn đúng cho các hệ khác, thí dụ, hệ nhị phân ( số 2) thì tỉ lệ này là Tổng quát, hệ thống số gọi là hệ b gồm b ký hiệu tập hợp: Sb = {S0, S1, S2, , Sb-1} Một số N viết: N = (anan-1an-2 .ai a0 , a-1a-2 a-m)b với ∈ Sb Sẽ có giá trị: N = an bn + an-1bn-1 + an-2bn-2 + + aibi + + a0b0 + a-1 b-1 + a-2 b-2 + .+ a-mb-m = n ∑a b i =−m i i aibi chính là trọng số ký hiệu Sb vị trí thứ i 1.2 Các hệ thống số 1.2.1 Hệ số 10 (thập phân, Decimal system) Hệ thập phân là hệ thống số quen thuộc, gồm 10 số mã nói trên Dưới đây là vài ví dụ số thập phân: N = 199810 = 1x103 + 9x102 + 9x101 + 8x100 = 1x1000 + 9x100 + 9x10 + 8x1 N = 3,1410 = 3x100 + 1x10-1 +4x10-2 = 3x1 + 1x1/10 + 4x1/100 1.2.2 Hệ số (nhị phân, Binary system) Hệ nhị phân gồm hai số mã tập hợp S2 = {0, 1} Mỗi số mã số nhị phân gọi là bit (viết tắt binary digit) Số N hệ nhị phân: N = (anan-1an-2 .ai a0 , a-1a-2 a-m)2 (với ai∈ S2) Có giá trị là: N = an 2n + an-12n-1 + + ai2i + + a020 + a-1 2-1 + a-2 2-2 + + a-m2-m an là bit có trọng số lớn nhất, gọi là bit MSB (Most significant bit) và a-m là bit có trọng số nhỏ nhất, gọi là bit LSB (Least significant bit) Thí dụ: N = 1010,12 = 1x23 + 0x22 + 1x21 + 0x20 + 1x2-1 = 10,510 1.2.3 Hệ số (bát phân ,Octal system) Hệ bát phân gồm tám số tập hợp S8 = {0,1, 2, 3, 4, 5, 6, 7} Số N hệ bát phân: N = (anan-1an-2 .ai a0 , a-1a-2 a-m)8 (với ∈ S8) Nguyễn Trung Lập KĨ THUẬT SỐ (5) Chương I : Các Hệ Thống Số I-1 Có giá trị là: N = an 8n + an-18n-1 + an-28n-2 + + ai8i +a080 + a-1 8-1 + a-2 8-2 + .+ a-m8-m Thí dụ: N = 1307,18 = 1x83 + 3x82 + 0x81 + 7x80 + 1x8-1 = 711,12510 1.2.4 Hệ số 16 (thập lục phân, Hexadecimal system) Hệ thập lục phân dùng thuận tiện để người giao tiếp với máy tính, hệ này gồm mười sáu số tập hợp S16 ={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } (A tương đương với 1010 , B =1110 , , F=1510) Số N hệ thập lục phân: N = (anan-1an-2 .ai a0 , a-1a-2 a-m)16 (với ai∈ S16) Có giá trị là: N = an 16n + an-116n-1 + an-216n-2 + + ai16i +a0160+ a-1 16-1 + a-2 16-2 + .+ a-m16-m Người ta thường dùng chữ H (hay h) sau số để số thập lục phân Thí dụ: N = 20EA,8H = 20EA,816 = 2x163 + 0x162 + 14x161 + 10x160 + 8x16-1 = 4330,510 1.3 Biến đổi qua lại các hệ thống số Khi đã có nhiều hệ thông số, việc xác định giá trị tương đương số hệ này so với hệ là cần thiết Phần sau đây cho phép ta biến đổi qua lại các số hệ nào sang hệ khác các hệ đã giới thiệu 1.3.1 Đổi số từ hệ b sang hệ 10 Để đổi số từ hệ b sang hệ 10 ta triển khai trực tiếp đa thức b Một số N hệ b: N = (anan-1an-2 .ai a0 , a-1a-2 a-m)b với ∈ Sb Có giá trị tương đương hệ 10 là: N = an bn + an-1bn-1 + .+ aibi + + a0b0+ a-1 b-1 + a-2 b-2 + .+ a-mb-m Thí dụ: * Đổi số 10110,112 sang hệ 10 10110,112 = 1x24 + + 1x22 + 1x2 + + 1x2-1 + 1x2-2 = 22,7510 * Đổi số 4BE,ADH sang hệ 10 4BE,ADH=4x162+11x161+14x160+10x16-1+13x16-2 = 1214,67510 1.3.2 Đổi số từ hệ 10 sang hệ b Đây là bài toán tìm dãy ký hiệu cho số N viết hệ b Tổng quát, số N cho hệ 10, viết sang hệ b có dạng: N = (anan-1 a0 , a-1a-2 a-m)b = (anan-1 a0)b + (0,a-1a-2 a-m)b Trong đó (anan-1 a0)b = PE(N) là phần nguyên N và (0,a-1a-2 a-m)b = PF(N) là phần lẻ N Phần nguyên và phần lẻ biến đổi theo hai cách khác nhau: Nguyễn Trung Lập KĨ THUẬT SỐ (6) Chương I : Các Hệ Thống Số I-1 Š Phần nguyên: Giá trị phần nguyên xác định nhờ triển khai: PE(N) = anbn + an-1bn-1 + + a1b 1+ a0b0 Hay có thể viết lại PE(N) = (anbn-1 + an-1bn-2 + + a1)b + a0 Với cách viết này ta thấy chia PE(N) cho b, ta thương số là PE’(N) = (anbn1 + an-1bn-2 + + a1) và số dư là a0 Vậy số dư lần chia thứ này chính là số mã có trọng số nhỏ (a0) phần nguyên Lặp lại bài toán chia PE’(N) cho b: PE’(N) = anbn-1 + an-1bn-2 + + a1= (anbn-2 + an-1bn-3 + + a2)b+ a1 Ta số dư thứ hai, chính là số mã có trọng số lớn (a1) và thương số là PE”(N)= anbn-2 + an-1bn-3 + + a2 Tiếp tục bài toán chia thương số có với b, số dư phép chia cuối cùng, đó chính là số mã có trọng số lớn (an) Š Phần lẻ: Giá trị phần lẻ xác định bởi: PF(N) = a-1 b-1 + a-2 b-2 + .+ a-mb-m Hay viết lại PF(N) = b-1 (a-1 + a-2 b-1 + .+ a-mb-m+1 ) Nhân PF(N) với b, ta : bPF(N) = a-1 + (a-2 b-1 + .+ a-mb-m+1 ) = a-1+ PF’(N) Vậy lần nhân thứ này ta phần nguyên phép nhân, chính là số mã có trọng số lớn phần lẻ (a-1) (số a-1 này có thể là số 0) PF’(N) là phần lẻ xuất phép nhân Tiếp tục nhân PF’(N) với b, ta tìm a-2 và phần lẻ PF”(N) Lặp lại bài toán nhân phần lẻ với b kết có phần lẻ không, ta tìm dãy số (a-1a-2 a-m) Chú ý: Phần lẻ số N đổi sang hệ b có thể gồm vô số số hạng (do kết phép nhân luôn khác 0), điều này có nghĩa là ta không tìm số hệ b có giá trị đúng phần lẻ số thập phân, tùy theo yêu cầu độ chính xác chuyển đổi mà người ta lấy số số hạng định Thí dụ: * Đổi 25,310 sang hệ nhị phân Phần nguyên: 25 : = 12 dư ⇒ a0 = 12 : = dư ⇒ a1 = : = dư ⇒ a2 = : = dư ⇒ a3 = thương số cuối cùng là chính là bit a4: ⇒ a4 = Vậy PE(N) = 11001 Phần lẻ: 0,3 * = 0,6 ⇒ a-1 = 0,6 * = 1,2 ⇒ a -2 = 0,2 * = 0,4 ⇒ a-3 = 0,4 * = 0,8 ⇒ a-4 = 0,8 * = 1,6 ⇒ a-5 = Nguyễn Trung Lập KĨ THUẬT SỐ (7) Chương I : Các Hệ Thống Số I-1 Nhận thấy kết các bài toán nhân luôn khác không, phần lẻ lần nhân cuối cùng là 0,6, đã lặp lại kết lần nhân thứ nhất, bài toán không thể kết thúc với kết đúng 0,3 hệ 10 Giả sử bài toán yêu cầu lấy số lẻ thì ta có thể dừng đây và PF(N) = 0,01001 Kết cuối cùng là: 25,310 = 11001,010012 * Đổi 1376,8510 sang hệ thập lục phân Phần nguyên: 1376 : 16 = 86 số dư = ⇒ a0 = 86 : 16 = số dư = ⇒ a1 = & ⇒ a2 = 137610 = 560H Phần lẻ: 0,85 * 16 = 13,6 ⇒ a-1 = 1310=DH 0,6 * 16 = 9,6 ⇒ a -2 = 0,6 * 16 = 9,6 ⇒ a-3 = Nếu cần lấy số lẻ: 0,8510= 0,D99H Và kết cuối cùng: 1376,8510 = 560,D99H 1.3.3 Đổi số từ hệ b sang hệ bk và ngược lại Từ cách triển khai đa thức số N hệ b, ta có thể nhóm thành k số hạng từ dấu phẩy hai phía và đặt thành thừa số chung N = anbn + +a5b5 + a4b4 +a3b3 +a2b2 +a1b1 +a0b0 +a-1 b-1 +a-2 b-2 +a-3 b-3 .+a-mb-m Để dễ hiểu, chúng ta lấy thí dụ k = 3, N viết lại cách nhóm số hạng, kể từ dấu phẩy phía N = + (a5b2 + a4b1 + a3b0)b3 + (a2b2 + a1b1 + a0b0 )b0+ (a-1 b2 + a-2 b1 + a-3b0)b-3 + Phần chứa dấu ngoặc luôn luôn nhỏ b3 , số này tạo nên số hệ b3 và lúc đó biểu diễn ký hiệu tương ứng hệ này Thật vậy, số N có dạng: N = +A2B2+A1B1+A0B0 + A-1B-1 + Trong đó: B=b3 (B0=b0; B1=b3; B2=b6, B-1=b-3 ) A2= a8b2 + a7b1 + a6b0 = b3(a8b-1 + a7b-2 + a6b-3) < B=b3 A1= a5b2 + a4b1 + a3b0 = b3(a5b-1 + a4b-2 + a3b-3) < B=b3 A0= a2b2 + a1b1 + a0b0 = b3(a2b-1 + a1b-2 + a0b-3) < B=b3 Các số Ai luôn luôn nhỏ B=b3 nó chính là phần tử tập hợp số tạo nên hệ B=b3 Ta có kết biến đổi tương tự cho các hệ số k khác Tóm lại, để đổi số từ hệ b sang hệ bk, từ dấu phẩy hai phía, ta nhóm k số hạng, giá trị k số hạng này (tính theo hệ b) chính là số hệ bk Thí dụ: * Đổi số N = 10111110101 , 011012 sang hệ = 23 Từ dấu phẩy, nhóm số hạng hai phía (nếu cần, thêm số vào nhóm đầu và cuối để đủ số hạng mà không làm thay đổi giá trị số N): N = 010 111 110 101 , 011 0102 Ghi giá trị tương ứng các số bit, ta số N hệ N= , * Đổi số N trên sang hệ 16 = 24 Nguyễn Trung Lập KĨ THUẬT SỐ (8) Chương I : Các Hệ Thống Số I-1 Cũng trên nhóm số hạng N = 0101 1111 0101 , 0110 10002 N= F , 16 k Từ kết phép đổi số từ hệ b sang hệ b , ta có thể suy cách biến đổi ngược cách dễ dàng: Thay số hạng số hệ bk số gồm k số hạng hệ b Thí dụ để đổi số N = F5, 6816 (hệ 24) sang hệ nhị phân (2) ta dùng bit để viết cho số hạng số này: N = 0101 1111 0101 , 0110 10002 1.3.4 Đổi số từ hệ bk sang hệ bp Qua trung gian hệ b, ta có thể đổi từ hệ bk sang hệ bp Muốn đổi số N từ hệ bk sang hệ bp, trước đổi số N sang hệ b từ hệ b tiếp tục đổi sang hệ bp Thí dụ: - Đổi số 1234,678 sang hệ 16 1234,678 = 001 010 011 100,110 1112 = 0010 1001 1100,1101 11002 = 29C,DCH - Đổi số ABCD,EFH sang hệ ABCD,EFH = 1010 1011 1100 1101,1110 11112 = 010 101 111 001 101,111 011 1102 = 125715,7368 Dưới đây là bảng kê các số đầu tiên các hệ khác nhau: Thập phân 10 11 12 Nhị phân 10 11 100 101 110 111 1000 1001 1010 1011 1100 Bát phân 10 11 12 13 14 Thập lục phân A B C Thập phân 13 14 15 16 17 18 19 20 21 22 23 24 25 Nhị phân 1101 1110 1111 10000 10001 10010 10011 10100 10101 10110 10111 11000 11001 Bát phân 15 16 17 20 21 22 23 24 25 26 17 30 31 Thập lục phân D E F 10 11 12 12 14 15 16 17 18 19 Bảng 1.1 1.4 Các phép tính hệ nhị phân Các phép tính hệ nhị phân thực tương tự hệ thập phân, nhiên có số điểm cần lưu ý Nguyễn Trung Lập KĨ THUẬT SỐ (9) Chương I : Các Hệ Thống Số I-1 1.4.1 Phép cộng Là phép tính làm sở cho các phép tính khác Khi thực phép cộng cần lưu ý: 0+0=0; 0+1=1; + = nhớ (đem qua bít cao hơn) Ngoài cộng nhiều số nhị phân cùng lúc ta nên nhớ : - Nếu số bit chẵn, kết là 0; - Nếu số bit lẻ kết là - Và cặp số cho số nhớ (bỏ qua số dư, thí dụ với số ta kể là cặp) Thí dụ: Tính 011 + 101 + 011 + 011 1 ← số nhớ 1 ← số nhớ 011 + 101 011 011 -1110 1.4.2 Phép trừ Cần lưu ý: 0-0=0; 1-1=0; 1-0=1; - = nhớ cho bit cao Thí dụ: Tính 1011 - 0101 ← số nhớ 1011 - 0101 0110 1.4.3 Phép nhân Cần lưu ý: 0x0=0; 0x1=0; 1x1=1 Thí dụ: Tính 1101 x 101 11 01 01 1101 0000 1101 x Nguyễn Trung Lập KĨ THUẬT SỐ (10) Chương I : Các Hệ Thống Số I-1 1000001 1.4.4 Phép chia Thí dụ: Chia 1001100100 cho 11000 Lần chia đầu tiên, bit số bị chia nhỏ số chia nên ta kết là 0, sau đó ta lấy bit số bị chia để chia tiếp (tương ứng với việc dịch phải số chia bit trước thực phép trừ) Kết : (11001.1) = (25.5)10 1.5 Mã hóa 1.5.1 Tổng quát Mã hóa là gán ký hiệu cho đối tượng để thuận tiện cho việc thực yêu cầu cụ thể nào đó Một cách toán học, mã hóa là phép áp đối từ tập hợp nguồn vào tập hợp khác gọi là tập hợp đích (H 1.1) Tập hợp nguồn có thể là tập hợp các số, các ký tự, dấu, các lệnh dùng truyền liệu và tập hợp đích thường là tập hợp chứa các tổ hợp thứ tự các số nhị phân Một tổ hợp các số nhị phân tương ứng với số gọi là từ mã Tập hợp các từ mã tạo theo qui luật cho ta mã Việc chọn mã tùy vào mục đích sử dụng Thí dụ để biểu diễn các chữ và số, người ta có mã ASCII (American Standard Code for Information Interchange), mã Baudot, EBCDIC Trong truyền liệu ta có mã dò lỗi, dò và sửa lỗi, mật mã Vấn đề ngược lại mã hóa gọi là giải mã Nguyễn Trung Lập KĨ THUẬT SỐ (11) Chương I : Các Hệ Thống Số I-1 Cách biểu diễn các số các hệ khác có thể xem là hình thức mã hóa, đó là các mã thập phân, nhị phân, thập lục phân và việc chuyển từ mã này sang mã khác thuộc loại bài toán mã hóa Trong kỹ thuật số ta thường dùng các mã sau đây: 1.5.2 Mã BCD (Binary Coded Decimal) Mã BCD dùng số nhị phân bit có giá trị tương đương thay cho số hạng số thập phân Thí dụ: Số 62510 có mã BCD là 0110 0010 0101 Mã BCD dùng thuận lợi : mạch điện tử đọc các số BCD và hiển thị đèn bảy đoạn (led LCD) hoàn toàn giống người đọc và viết số thập phân 1.5.3 Mã Gray Mã Gray hay còn gọi là mã cách khoảng đơn vị Nếu quan sát thông tin từ máy đếm đếm các kiện tăng dần đơn vị, ta các số nhị phân thay đổi Tại thời điểm quan sát có thể có lỗi quan trọng Thí dụ số 7(0111) và (1000), các phần tử nhị phân phải thay đổi quá trình đếm, giao hoán này không bắt buộc xảy đồng thời, ta có thể có các trạng thái liên tiếp sau: 0111 → 0110 → 0100 → 0000 → 1000 Trong quan sát ngắn các kết thấy khác Để tránh tượng này, người ta cần mã hóa số hạng cho hai số liên tiếp khác phần tử nhị phân (1 bit) gọi là mã cách khoảng đơn vị hay mã Gray Tính kề các tổ hợp mã Gray (tức các mã liên tiếp khác bit) dùng có hiệu để rút gọn hàm logic tới mức tối giản Ngoài ra, mã Gray còn gọi là mã phản chiếu (do tính đối xứng các số hạng tập hợp mã, giống phản chiếu qua gương) Người ta có thể thiết lập mã Gray cách dựa vào tính đối xứng này: - Giả sử ta đã có tập hợp 2n từ mã số n bit thì có thể suy tập hợp 2n+1 từ mã số (n+1) bit cách: - Viết 2n từ mã theo thứ tự từ nhỏ đến lớn - Thêm số vào trước tất các từ mã đã có để phần tập hợp từ mã - Phần thứ hai tập hợp gồm các từ mã giống phần thứ trình bày theo thứ tự ngược lại (giống phản chiếu qua gương) và phía trước thêm vào số thay vì số (H 1.2) Nguyễn Trung Lập KĨ THUẬT SỐ (12) Chương I : Các Hệ Thống Số I-1 (H 1.2) Để thiết lập mã Gray số nhiều bit ta có thể thực các bước liên tiếp từ tập hợp đầu tiên số bit (gồm hai bit 0, 1) Dưới đây là các bước tạo mã Gray số bit Cột bên phải bảng mã bit cho giá trị tương đương hệ thập phân mã Gray tương ứng (H 1.3) 0 ⎯⎯→ 1 ⏐ ⏐ bi t ⏐ ⎯⎯→ ⎯→ bit ⏐ ⎯→ 0 0 1 1 1 1 1 1 0 bi t 000 001 Trị thập phân tương đương →0 →1 011 010 →2 →3 ⏐ ⏐ 110 111 →4 →5 ⏐ ⏐ 101 100 →6 →7 ⏐ ⏐ ⏐ ⎯⎯→ 1 1 1 1 →8 →9 → 10 → 11 → 12 → 13 → 14 → 15 ⎯⎯→ 100 101 111 110 010 011 001 000 bit (H 1.3) Nguyễn Trung Lập KĨ THUẬT SỐ (13) Chương I : Các Hệ Thống Số I-1 Nhận xét các bảng mã các số Gray (1 bit, bit, bit và bit) ta thấy các số gần luôn luôn khác bit, ngoài ra, mã, các số đối xứng qua gương khác bit Bài Tập Đổi các số thập phân đây sang hệ nhị phân và hệ thập lục phân : a/ 12 b/ 24 c/ 192 d/ 2079 e/ 15492 f/ 0,25 g/ 0,375 h/ 0,376 i/ 17,150 j/ 192,1875 Đổi sang hệ thập phân và mã BCD các số nhị phân sau đây: a/ 1011 b/ 10110 c/ 101,1 d/ 0,1101 e/ 0,001 f/ 110,01 g/ 1011011 h/ 10101101011 Đổi các số thập lục phân đây sang hệ 10 và hệ 8: a/ FF b/ 1A c/ 789 d/ 0,13 e/ ABCD,EF Đổi các số nhị phân đây sang hệ và hệ 16: a/ 111001001,001110001 b/ 10101110001,00011010101 c/ 1010101011001100,1010110010101 d/ 1111011100001,01010111001 Mã hóa số thập phân đây dùng mã BCD : a/ 12 b/ 192 c/ 2079 d/15436 e/ 0,375 f/ 17,250 Nguyễn Trung Lập KĨ THUẬT SỐ (14) Chương Hàm Logic II - " CHƯƠNG HÀM LOGIC D HÀM LOGIC CƠ BẢN D CÁC DẠNG CHUẨN CỦA HÀM LOGIC Š Dạng tổng chuẩn Š Dạng tích chuẩn Š Dạng số Š Biến đổi qua lại các dạng chuẩn D RÚT GỌN HÀM LOGIC Š Phương pháp đại số Š Phương pháp dùng bảng Karnaugh Š Phương pháp Quine Mc Cluskey _ Năm 1854 Georges Boole, triết gia đồng thời là nhà toán học người Anh cho xuất tác phẩm lý luận logic, nội dung tác phẩm đặt mệnh đề mà để trả lời người ta phải dùng hai từ đúng (có, yes) sai (không, no) Tập hợp các thuật toán dùng cho các mệnh đề này hình thành môn Đại số Boole Đây là môn toán học dùng hệ thống số nhị phân mà ứng dụng nó kỹ thuật chính là các mạch logic, tảng kỹ thuật số Chương này không có tham vọng trình bày lý thuyết Đại số Boole mà giới hạn việc giới thiệu các hàm logic và các tính chất cần thiết để giúp sinh viên hiểu vận hành hệ thống logic 2.1 HÀM LOGIC CƠ BẢN 2.1.1 Một số định nghĩa - Trạng thái logic: trạng thái thực thể Xét mặt logic thì thực thể tồn hai trạng thái Thí dụ, bóng đèn ta quan tâm nó trạng thái nào: tắt hay cháy Vậy tắt / cháy là trạng thái logic nó - Biến logic dùng đặc trưng cho các trạng thái logic các thực thể Người ta biểu diễn biến logic ký hiệu (chữ hay dấu) và nó nhận giá trị : Thí dụ trạng thái logic công tắc là đóng mở, mà ta có thể đặc trưng trị - Hàm logic diễn tả nhóm biến logic liên hệ các phép toán logic Cũng biến logic, hàm logic nhận giá trị: tùy theo các điều kiện liên quan đến các biến Thí dụ, mạch gồm nguồn hiệu cấp cho bóng đèn qua hai công tắc mắc nối tiếp, bóng đèn cháy công tắc đóng Trạng thái bóng đèn là hàm theo biến là trạng thái công tắc Gọi A và B là tên biến công tắc, công tắc đóng ứng với trị và hở ứng với trị Y là hàm trạng thái bóng đèn, đèn cháy và đèn tắt Quan hệ hàm Y và các biến A, B diễn tả nhờ bảng sau: _ _Nguyễn Trung Lập KỸ THUẬT SỐ (15) Chương Hàm Logic II - A (hở) (hở) (đóng) (đóng) B (hở) (đóng) (hở) (đóng) Y=f(A,B) (tắt) (tắt) (tắt) (cháy) 2.1.2 Biểu diễn biến và hàm logic 2.1.2.1 Giản đồ Venn Còn gọi là giản đồ Euler, đặc biệt dùng lãnh vực tập hợp Mỗi biến logic chia không gian vùng không gian con, vùng đó giá trị biến là đúng (hay=1), và vùng còn lại là vùng phụ đó giá trị biến là sai (hay=0) Thí dụ: Phần giao hai tập hợp A và B (gạch chéo) biểu diễn tập hợp đó A và B là đúng (A AND B) (H 2.1) (H 2.1) 2.1.2.2 Bảng thật Nếu hàm có n biến, bảng thật có n+1 cột và 2n + hàng Hàng đầu tiên tên biến và hàm, các hàng còn lại trình bày các tổ hợp n biến 2n tổ hợp có thể có Các cột đầu ghi giá trị biến, cột cuối cùng ghi giá trị hàm tương ứng với tổ hợp biến trên cùng hàng (gọi là trị riêng hàm) Thí dụ: Hàm OR biến A, B: f(A,B) = (A OR B) có bảng thật tương ứng A 0 1 B 1 f(A,B) = A OR B 1 2.1.2.3 Bảng Karnaugh Đây là cách biểu diễn khác bảng thật đó hàng bảng thật thay ô mà tọa độ (gồm hàng và cột) xác định tổ hợp đã cho biến Bảng Karnaugh n biến gồm 2n ô Giá trị hàm ghi ô bảng Bảng Karnaugh thuận tiện để đơn giản hàm logic cách nhóm các ô lại với Thí dụ: Hàm OR trên diễn tả bảng Karnaugh sau đây A\B 1 1 _ _Nguyễn Trung Lập KỸ THUẬT SỐ (16) Chương Hàm Logic II - 2.1.2.4 Giản đồ thời gian Dùng để diễn tả quan hệ các hàm và biến theo thời gian, đồng thời với quan hệ logic Thí dụ: Giản đồ thời gian hàm OR biến A và B, thời điểm có (hoặc 2) biến có giá trị thì hàm có trị và hàm có trị thời điểm mà biến (H 2.2) 2.1.3 Qui ước Khi nghiên cứu hệ thống logic, cần xác định qui ước logic Qui ước này không thay đổi suốt quá trình nghiên cứu Người ta dùng mức điện thấp và cao để gán cho trạng thái logic và Qui ước logic dương gán điện thấp cho logic và điện cao cho logic Qui ước logic âm thì ngược lại 2.1.4 Hàm logic (Các phép toán logic) 2.1.4.1 Hàm NOT (đảo, bù) : Y=A Bảng thật A Y=A 1 2.1.4.2 Hàm AND [tích logic, toán tử (.)] : Y = A.B Bảng thật A B Y=A.B 0 0 1 0 _ _Nguyễn Trung Lập KỸ THUẬT SỐ (17) Chương Hàm Logic II - 1 Nhận xét: Tính chất hàm AND có thể phát biểu sau: - Hàm AND (hay nhiều) biến có giá trị tất các biến - Hàm AND (hay nhiều) biến có giá trị có biến 2.1.4.3 Hàm OR [tổng logic, toán tử (+)] : Y=A+B Bảng thật A 0 1 B 1 Y=A + B 1 Nhận xét: Tính chất hàm OR có thể phát biểu sau: - Hàm OR (hay nhiều) biến có giá trị tất các biến - Hàm OR (hay nhiều) biến có giá trị có biến 2.1.4.4.Hàm EX-OR (OR loại trừ) Y = A ⊕B Bảng thật A 0 1 B 1 Y = A ⊕B 1 Nhận xét: Một số tính chất hàm EX - OR: - Hàm EX - OR biến có giá trị hai biến khác và ngược lại Tính chất này dùng để so sánh biến - Hàm EX - OR biến cho phép thực cộng hai số nhị phân bit mà không quan tâm tới số nhớ - Từ kết hàm EX-OR biến ta suy bảng thật cho hàm biến A 0 0 1 1 B 0 1 0 1 C 1 1 Y = A ⊕ B⊕ C 1 0 _ _Nguyễn Trung Lập KỸ THUẬT SỐ (18) Chương Hàm Logic II - - Trong trường hợp biến (và suy rộng cho nhiều biến), hàm EX - OR có giá trị số biến là số lẻ Tính chất này dùng để nhận dạng chuỗi liệu có số bit là chẵn hay lẻ thiết kế mạch phát chẵn lẻ 2.1.5 Tính chất các hàm logic bản: 2.1.5.1 Tính chất bản: ♦ Có phần tử trung tính cho toán tử (+) và (.): A + = A ; là phần tử trung tính hàm OR A = A ; là phần tử trung tính hàm AND ♦ Tính giao hoán: A+B=B+A A.B =B.A ♦ Tính phối hợp: (A + B) + C = A + (B + C) = A + B + C (A B) C = A (B C) = A B C ♦ Tính phân bố: - Phân bố phép nhân: A (B + C) = A B + A C - Phân bố phép cộng: A + (B C) = (A + B) (A + C) Phân bố phép cộng là tính chất đặc biệt phép toán logic ♦ Không có phép tính lũy thừa và thừa số: A+A+ +A=A A.A A=A ♦ Tính bù: A =A A +A = A.A = 2.1.5.2 Tính song đối (duality): Tất biểu thức logic đúng [thay phép toán (+) phép (.) và 1] hay ngược lại Điều này có thể chứng minh dễ dàng cho tất biểu thức trên Thí dụ : Α+Β = Β+Α ⇔ Α.Β = Β.Α Α+ AΒ = Α+Β ⇔ Α( A +Β) = Α.Β A+1= ⇔ A.0 = 2.1.5.3 Định lý De Morgan Định lý De Morgan phát biểu hai biểu thức: A + B + C = A B.C A.B.C = A + B + C Định lý De Morgan cho phép biến đổi qua lại hai phép cộng và nhân nhờ vào phép đảo _ _Nguyễn Trung Lập KỸ THUẬT SỐ (19) Chương Hàm Logic II - Định lý De Morgan chứng minh cách lập bảng thật cho tất trường hợp có thể có các biến A, B, C với các hàm AND, OR và NOT chúng 2.1.5.4 Sự phụ thuộc lẫn các hàm logic Định lý De Morgan cho thấy các hàm logic không độc lập với nhau, chúng có thể biến đổi qua lại, biến đổi này cần có tham gia hàm NOT Kết là ta có thể dùng hàm (AND và NOT) (OR và NOT) để diễn tả tất các hàm Thí dụ: Chỉ dùng hàm AND và NOT để diễn tả hàm sau: Y = A.B + B.C + A C Chỉ cần đảo hàm Y hai lần, ta kết quả: Y = Y = A.B + B.C + A C = A.B.B.C.A C Nếu dùng hàm OR và NOT để diễn tả hàm trên làm sau: Y = A.B + B.C + A C = A + B + B + C + A + C 2.2 CÁC DẠNG CHUẨN CỦA HÀM LOGIC Một hàm logic biểu diễn tổ hợp tổng và tích logic ♦ Nếu biểu thức là tổng tích, ta có dạng tổng Thí dụ : f(X, Y, Z) = XY + XZ + Y Z ♦ Nếu biểu thức là tích tổng, ta có dạng tích Thí dụ : f(X, Y, Z) = (X + Y).(X + Z).(Y + Z ) Một hàm logic gọi là hàm chuẩn số hạng chứa đầy đủ các biến, dạng nguyên hay dạng đảo chúng Thí dụ : f(X, Y, Z) = XYZ + X YZ + XY Z là tổng chuẩn Mỗi số hạng tổng chuẩn gọi là minterm f(X, Y, Z) = (X + Y + Z).(X + Y + Z).( X + Y + Z) là tích chuẩn Mỗi số hạng tích chuẩn gọi là maxterm Phần sau đây cho phép chúng ta viết hàm dạng tổng chuẩn hay tích chuẩn có bảng thật diễn tả hàm đó 2.2.1 Dạng tổng chuẩn Để có hàm logic dạng chuẩn, ta áp dụng các định lý triển khai Shanon Dạng tổng chuẩn có từ triển khai theo định lý Shanon thứ nhất: Tất các hàm logic có thể triển khai theo biến dạng tổng hai tích sau: f(A,B, ,Z) = A.f(1,B, ,Z) + A f(0,B, ,Z) (1) Hệ thức (1) có thể chứng minh dễ dàng cách cho A giá trị và 1, ta có kết là vế (1) luôn luôn Thật Cho A=0: f(0,B, ,Z) = 0.f(1,B, ,Z) + f(0,B, ,Z) = f(0,B, ,Z) Cho A=1: f(1,B, ,Z) = 1.f(1,B, ,Z) + f(0,B, ,Z) = f(1,B, ,Z) Với biến, hàm f(A,B) có thể triển khai theo biến A : _ _Nguyễn Trung Lập KỸ THUẬT SỐ (20) Chương Hàm Logic II - f(A,B) = A.f(1,B) + A f(0,B) Mỗi hàm hai hàm vừa tìm lại có thể triển khai theo biến B f(1,B) = B.f(1,1) + Β.f(1,0) & f(0,B) = B.f(0,1) + B f(0,0) Vậy: f(A,B) = AB.f(1,1) + A B.f(0,1) + A B f(1,0) + A B f(0,0) f(i,j) là giá trị riêng f(A,B) A=i và B=j bảng thật hàm Với biến, trị riêng f(A, B, C) là f(i, j, k) A=i, B=j và C=k ta được: f(A,B,C) = A.B.C.f(1,1,1) + A.B C f (1,1,0) + A B C.f(1,0,1) + A B C f(1,0,0) + A B.C.f(0,1,1) + A B C f(0,1,0) + A B C.f(0,0,1) + A B C f(0,0,0) Khi triển khai hàm biến ta tổng 22 = số hạng Khi triển khai hàm biến ta tổng 23 = số hạng Khi triển khai hàm n biến ta tổng 2n số hạng Mỗi số hạng là tích tổ hợp biến và trị riêng hàm Hai trường hợp có thể xảy ra: - Giá trị riêng = 1, số hạng thu gọn lại còn các biến: A B C.f(0,0,1) = A B C f(0,0,1) = - Giá trị riêng = 0, tích : A B C f(0,0,0)= f(0,0,0) = và số hạng này biến biểu thức tổng chuẩn Thí dụ: Cho hàm biến A,B,C xác định bảng thật: Hàng A 0 0 1 1 B 0 1 0 1 C 1 1 Z=f(A,B,C) 1 1 Với hàm Z cho trên ta có các trị riêng f(i, j, k) xác định bởi: f(0,0,1) = f(0,1,0) = f(0,1,1) = f(1,0,1) = f(1,1,1) =1 f(0,0,0) = f(1,0,0) = f(1,1,0) = - Hàm Z có trị riêng f(0,0,1)=1 tương ứng với các giá trị tổ hợp biến hàng (1) là A=0, B=0 và C=1 đồng thời, A B C là số hạng tổng chuẩn - Tương tự với các tổ hợp biến tương ứng với các hàng (2), (3), (5) và (7) là các số hạng tổng chuẩn, đó là các tổ hợp: A B C , A B.C, A B C và A.B.C - Với các hàng còn lại (hàng 0,4,6), trị riêng f(A,B,C) = nên không xuất triển khai _ _Nguyễn Trung Lập KỸ THUẬT SỐ (21) Chương Hàm Logic II - Tóm lại ta có: Z = A B C + A B C + A B.C + A B C + A.Β.C - Ý nghĩa định lý Shanon thứ nhất: Nhắc lại tính chất các hàm AND và OR: b1.b2 bn = b1, b2 , bn đồng thời và để a1 + a2 + + ap = cần ít biến a1, a2, , ap Trở lại thí dụ trên, biểu thức logic tương ứng với hàng (A=0, B=0, C=1) viết A B C =1 vì A = , B = 1, C = đồng thời Biểu thức logic tương ứng với hàng là A B C =1 vì A=0 ( A = 1), B=1, C=0 ( C = 1) đồng thời Tương tự, với các hàng 3, và ta có các kết quả: A B.C , A B C và A.Β.C Như vậy, thí dụ trên Z = hàng + hàng + hàng + hàng + hàng Z = A B C + A B C + A B.C + A B C + A.Β.C Tóm lại, từ hàm cho dạng bảng thật, ta có thể viết biểu thức hàm dạng tổng chuẩn sau: - Số số hạng biểu thức số giá trị hàm thể trên bảng thật - Mỗi số hạng tổng chuẩn là tích tất các biến tương ứng với tổ hợp mà hàm có trị riêng 1, biến giữ nguyên có giá trị và đảo giá trị nó = 2.2.2 Dạng tích chuẩn Đây là dạng hàm logic có từ triển khai theo định lý Shanon thứ hai: Tất các hàm logic có thể triển khai theo biến dạng tích hai tổng sau: f(A,B, ,Z) = [ A + f(1,B, ,Z)].[A + f(0,B, ,Z)] (2) Cách chứng minh định lý Shanon thứ hai giống đã chứng minh định lý Shanon thứ Với hai biến, hàm f(A,B) có thể triển khai theo biến A f(A,B) = [ A + f(1,B)].[A + f(0,B)] Mỗi hàm hai hàm vừa tìm lại có thể triển khai theo biến B f(1,B) = [ B + f(1,1)].[B + f(1,0)] & f(0,B) = [ B + f(0,1)].[B + f(0,0)] f(A,B) = ⎨ A + [ B + f(1,1)].[B + f(1,0)]⎬.⎨A + [ B + f(0,1)].[B + f(0,0)]⎬ Vậy: f(A,B) = [ A + B + f(1,1)].[ A +B + f(1,0)].[A+ B + f(0,1)].[A+B + f(0,0)] Cũng dạng chuẩn thứ nhất, f(i,j) là giá trị riêng f(A,B) A=i và B=j bảng thật hàm Với hàm biến: f(A,B,C)=[ A + B + C +f(1,1,1)].[ A + B +C+f(1,1,0)].[ A +B+ C +f(1,0,1)].[ A +B+C+f(1,0,0)] [A+ B + C +f(0,1,1)].[A+ B +C+ f(0,1,0)].[A+B+ C +f(0,0,1)].[A+B+C+f(0,0,0)] Số số hạng triển khai n biến là 2n Mỗi số hạng là tổng (OR) các biến và trị riêng hàm - Nếu trị riêng số hạng rút gọn lại còn các biến (0 là trị trung tính phép cộng logic) A + B + C + f(0,0,0) = A + B + C f(0,0,0) = - Nếu trị riêng 1, số hạng triển khai = A + B + C + f(0,0,1) = f(0,0,1) = _ _Nguyễn Trung Lập KỸ THUẬT SỐ (22) Chương Hàm Logic II - và biến biểu thức tích chuẩn Lấy lại thí dụ trên: Hàng A B C Z=f(A,B,C) 0 0 1 1 0 1 0 1 1 1 1 1 Các trị riêng hàm đã nêu trên - Hàm Z có giá trị riêng f(0,0,0) = tương ứng với các giá trị biến hàng là A=B=C=0 đồng thời, A+B+C là số hạng tích chuẩn - Tương tự với các hàng (4) và (6) ta các tổ hợp A +B+C và A + B +C - Với các hàng còn lại (hàng 1, 2, 3, 5, 7), trị riêng f(A,B,C) = nên không xuất triển khai Tóm lại, ta có: Z = (A + B + C).( A + B + C).( A + B +C ) - Ý nghĩa định lý thứ hai: Nhắc lại tính chất các hàm AND và OR: Để b1.b2 bn =0 cần ít biến b1, b2, , bn =0 và a1 + a2 + + ap =0 các biến a1, a2, , ap đồng thời Như thí dụ trên: Z = (hàng 0).(hàng 4).(hàng 6) Z = (A + B + C).( A + B + C).( A + B +C ) Thật vậy, hàng tất biến = 0: A=0, B=0, C=0 đồng thời nên có thể viết (A+B+C) = Tương tự cho hàng (4) và hàng (6) Tóm lại, Biểu thức tích chuẩn gồm các thừa số, thừa số là tổng các biến tương ứng với tổ hợp có giá trị riêng =0, biến giữ nguyên nó có giá trị và đảo có giá trị Số thừa số biểu thức số số hàm thể trên bảng thật 2.2.3 Đổi từ dạng chuẩn này sang dạng chuẩn khác: Nhờ định lý De Morgan, hai định lý trên có thể chuyển đổi qua lại Trở lại thí dụ trên, thêm cột Z vào bảng thật \ Hàng A B C Z=f(A,B,C) Z _ _Nguyễn Trung Lập KỸ THUẬT SỐ (23) Chương Hàm Logic II - 10 0 0 1 1 0 1 0 1 1 1 1 1 1 0 1 Diễn tả Z theo dạng tổng chuẩn: Z = A BC + A BC + AB C Lấy đảo hai vế: Z = A BC + A BC + AB C = A BC.A BC.AB C Dùng định lý De Morgan lần cho thừa số biểu thức, ta được: Z = (A + B + C).(A + B + C).(A + B + C) Diễn tả Z theo dạng tích chuẩn: Z = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C) Lấy đảo hai vế: Z = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C) Z = A + B+ C+ A + B+ C+ A + B+ C+ A + B+ C+ A + B+ C = A BC + A BC + A BC + A BC + ABC 2.2.4 Dạng số Để đơn giản cách viết người ta có thể diễn tả hàm Tổng chuẩn hay Tích chuẩn tập hợp các số dấu tổng (Σ) hay tích (Π) Mỗi tổ hợp biến thay số thập phân tương đương với trị nhị phân chúng Khi sử dụng cách viết này trọng lượng các biến phải rõ Thí dụ : Cho hàm Z xác định trên, tương ứng với dạng chuẩn thứ nhất, hàm này lấy giá trị các hàng 1, 2, 3, 5, 7, ta viết Z=f(A,B,C) = Σ(1,2,3,5,7) Tương tự, dùng dạng chuẩn thứ hai ta có thể viết Z =f(A,B,C)= Π(0,4,6) Chú ý: Khi viết các hàm theo dạng số ta phải rõ trọng số các bit, thí dụ ta có thể ghi kèm theo hàm Z trên cách sau: A=MSB C=LSB A=4, B=2, C=1 2.3 RÚT GỌN HÀM LOGIC Để thực hàm logic mạch điện tử, người ta luôn luôn nghĩ đến việc sử dụng lượng linh kiện ít Muốn vậy, hàm logic phải dạng tối giản, nên vấn đề rút gọn hàm logic là bước đầu tiên phải thực quá trình thiết kế Có phương pháp rút gọn hàm logic: - Phương pháp đại số - Phương pháp dùng bảng Karnaugh - Phương pháp Quine Mc Cluskey _ _Nguyễn Trung Lập KỸ THUẬT SỐ (24) Chương Hàm Logic II - 11 2.3.1 Phương pháp đại số Phương pháp này bao gồm việc áp dụng các tính chất hàm logic Một số đẳng thức thường sử dụng nhóm lại sau: (1) AB + A B = B (A+B).( A +B) = B (1’) (2) A + AB = A A.(A+B) =A (2’) (3) A + A B = A + B A.( A +B) = A.B (3’) Chứng minh các đẳng thức 1, 2, 3: (1) AB + A B = B(A+ A ) = B.1 = B (2) A + AB = A(1+B) = A (3) A + A B = (A+ A ).(A+B) = A+B Các đẳng thức (1’), (2’), (3’) là song đối (1), (2), (3) Các qui tắc rút gọn: - Qui tắc 1: Nhờ các đẳng thức trên nhóm các số hạng lại Thí dụ: Rút gọn biểu thức ABC + AB C + A B CD Theo (1) ABC + AB C = AB Vậy ABC + AB C + A B CD = AB + A B CD = A(B+ B CD) Theo (3) B + B CD = B + CD Và kết cuối cùng: ABC + AB C + A B CD = A(B+CD) - Qui tắc 2: Ta có thể thêm số hạng đã có biểu thức logic vào biểu thức mà không làm thay đổi biểu thức Thí dụ: Rút gọn biểu thức: ABC + A BC + A B C + AB C Thêm ABC vào để được: (ABC + A BC) + (ABC + A B C) + (ABC + AB C ) Theo (1) các nhóm dấu ngoặc rút gọn thành: BC + AC + AB Vậy: ABC + A BC + A B C + AB C = BC + AC + AB - Qui tắc 3: Có thể bỏ số hạng chứa các biến đã có số hạng khác Thí dụ 1: Rút gọn biểu thức AB + B C + AC Biểu thức không đổi ta nhân số hạng biểu thức với 1, ví dụ (B+ B ): AB + B C + AC = AB + ΒC + AC(B+ B ) Triển khai số hạng cuối cùng vế phải, ta được: AB + B C +ABC + A B C Thừa số chung: AB(1+C) + B C(1+A) = AB + B C Tóm lại: AB + B C + AC = AB + B C Trong bài tóan này ta đã đơn giản số hạng AC Thí dụ 2: Rút gọn biểu thức (A+B).( B +C).(A+C) Biểu thức không đổi ta thêm vào thừa số có trị =0, ví dụ B.Β (A+B).( B +C).(A+C) = (A+B).( B +C).(A+C+ B Β) = (A+B).( B +C).(A + B +C).(A +Β+C) Theo (2’) (A+B).(A +B+C) = (A+B) và ( B +C).(A+ B +C) = ( B +C) Vậy: (A+B).( B +C).(A+C) = (A+B).( B +C) Trong bài tóan này ta đã bỏ số hạng A+C _ _Nguyễn Trung Lập KỸ THUẬT SỐ (25) Chương Hàm Logic II - 12 - Qui tắc 4: Có thể đơn giản cách dùng hàm chuẩn tương đương có số hạng ít Thí dụ: Hàm f(A,B,C) = Σ(2,3,4,5,6,7) với trọng lượng A=4, B=2, C=1 Hàm đảo f: f(A, B, C) = Σ(0,1) = A B.C + A B.C = A B = A + B Vậy f(A,B,C) = A+B 2.3.2 Dùng bảng Karnaugh Dùng bảng Karnaugh cho phép rút gọn dễ dàng các hàm logic chứa từ tới biến 2.3.2.1.Nguyên tắc Xét hai tổ hợp biến AB và A B , hai tổ hợp này khác bit, ta gọi chúng là hai tổ hợp kề Ta có: AB + A B = A , biến B đã đơn giản Phương pháp bảng Karnaugh dựa vào việc nhóm các tổ hợp kề trên bảng để đơn giản biến có giá trị khác các tổ hợp này Công việc rút gọn hàm thực theo bốn bước: Š Vẽ bảng Karnaugh theo số biến hàm Š Chuyển hàm cần đơn giản vào bảng Karnaugh Š Gom các ô chứa các tổ hợp kề lại thành các nhóm cho có thể rút gọn hàm tới mức tối giản Š Viết kết hàm rút gọn từ các nhóm đã gom 2.3.2.2 Vẽ bảng Karnaugh - Bảng Karnaugh thực chất là dạng khác bảng thật, đó ô bảng tương đương với hàng bảng thật Để vẽ bảng Karnaugh cho n biến, người ta chia số biến làm đôi, phân nửa dùng để tạo n/2 cột, phân nửa còn lại tạo 2n/2 hàng (nếu n là số lẻ, người ta có thể cho số lượng biến trên cột lớn số lượng biến cho hàng hay ngược lại được) Như vậy, với hàm có n biến, bảng Karnaugh gồm 2n ô, ô tương ứng với tổ hợp biến này Các ô bảng đặt cho hai ô kề khác đơn vị nhị phân (khác bit), điều này cho thấy thuận tiện chúng ta dùng mã Gray Chính đặt này cho phép ta đơn giản cách nhóm các ô kề lại Với biến AB, đặt theo thứ tự: AB = 00, 01, 11, 10 (đây là thứ tự mã Gray, dễ ta dùng số nhị phân tương ứng để đọc thứ tự này: 0, 1, 3, 2) Thí dụ : Bảng Karnaugh cho hàm biến (A = MSB, và C = LSB) (H 2.3) (H 2.3) _ _Nguyễn Trung Lập KỸ THUẬT SỐ (26) Chương Hàm Logic II - 13 Với biến ABC, ta được: ABC = 000, 001, 011, 010, 110, 111, 101, 100 (số nhị phân tương ứng: 0, 1, 3, 2, 6, 7, 5, 4) Lưu ý là ta có thể thiết lập bảng Karnaugh theo chiều nằm ngang hay theo chiều đứng Do các tổ hợp các bìa trái và phải kề nên ta có thể coi bảng có dạng hình trụ thẳng đứng và các tổ hợp bìa trên và kề nên ta có thể coi bảng có dạng hình trụ trục nằm ngang Và tổ hợp biến góc là các tổ hợp kề Hình (H 2.4) là bảng Karnaugh cho biến (H 2.4) 2.3.2.3 Chuyển hàm logic vào bảng Karnaugh Trong ô bảng ta đưa vào giá trị hàm tương ứng với tổ hợp biến, để đơn giản chúng ta có thể ghi các trị mà bỏ qua các trị hàm Ta có các trường hợp sau: ♦ Từ hàm viết dạng tổng chuẩn: Thí dụ : f(A,B,C) = A B C + A B.C + A.B.C (H 2.5) ♦ Nếu hàm không phải là dạng chuẩn, ta phải đưa dạng chuẩn cách thêm vào các số hạng cho hàm không đổi các số hạng chứa đủ các biến Thí dụ : Y = A BC + AB D + A B C + A C D Hàm này gồm biến, nên để đưa dạng tổng chuẩn ta làm sau: Y = A BC(D+ D ) + AB D (C+ C ) + A B C(D+ D ) + A C D(B+ B ) Y = A BCD+ A BC D + ABC D + AB C D + A B CD + A B C D + AB C D +A B C D Và Hàm Y đưa vào bảng Karnaugh sau (H 2.6): _ _Nguyễn Trung Lập KỸ THUẬT SỐ (27) Chương Hàm Logic II - 14 (H 2.6) ♦ Từ dạng số thứ nhất, với các trọng lượng tương ứng A=4, B=2, C=1 Thí dụ : f(A,B,C) = Σ(1,3,7) Hàm số lấy giá trị các ô 1,3 và ♦ Từ dạng tích chuẩn: Ta lấy hàm đảo để có dạng tổng chuẩn và ghi trị vào các ô tương ứng với tổ hợp biến tổng chuẩn này Các ô còn lại chứa số Thí dụ : Y = f(A,B,C) = (A+B+C).(A+ B +C).( A +B+C).( A +B+ C ).( A + B C) Y = A B C + A B C + A B C + A B C + A.B C Và bảng Karnaugh tương ứng (H 2.7) (H 2.7) ♦ Từ dạng số thứ hai: Thí dụ : f(A,B,C) = Π(0,2,4,5,6) Hàm lấy các trị các ô 0, 2, 4, 5, Dĩ nhiên là ta phải ghi các giá trị các ô còn lại (H 2.7) ♦ Từ bảng thật: Thí dụ : Hàm f(A,B,C) cho bảng thật N A B C f(A,B,C) _ _Nguyễn Trung Lập KỸ THUẬT SỐ (28) Chương Hàm Logic II - 15 0 0 1 1 0 1 0 1 1 1 1 0 Ta ghi vào các ô tương ứng với các tổ hợp biến hàng 1, và 7, kết giống thí dụ ♦ Trường hợp có số tổ hợp cho giá trị hàm không xác định: nghĩa là ứng với các tổ hợp này hàm có thể có giá trị 0, đó, ta ghi dấu X vào các ô tương ứng với các tổ hợp này, lúc gom nhóm ta sử dụng nó số hay số cách tùy ý cho có kết rút gọn Thí dụ 7: f(A,B,C,D) = Σ(3,4,5,6,7) với các tổ hợp từ 10 dến 15 cho hàm có trị (không xác định) (H 2.8) (H 2.8) 2.3.2.4 Qui tắc gom nhóm Các tổ hợp biến có hàm logic diện bảng Karnaugh dạng các số các ô, việc gom thành nhóm các tổ hợp kề thực theo qui tắc sau: - Gom các số kề thành nhóm cho số nhóm càng ít càng tốt Điều này có nghĩa là số số hạng kết càng ít - Tất các số phải gom thành nhóm và số có thể nhiều nhóm - Số số nhóm càng nhiều càng tốt phải là bội 2k (mỗi nhóm có thể có 1, 2, 4, số 1) Cứ nhóm chứa 2k số thì tổ hợp biến tương ứng với nhóm đó giảm k số hạng - Kiểm tra để bảo đảm số nhóm gom không thừa 2.3.2.5 Qui tắc rút gọn - Kết cuối cùng lấy sau: Hàm rút gọn là tổng các tích: Mỗi số hạng tổng tương ứng với nhóm các số nói trên và số hạng này là tích các biến, biến A (hay A ) là thừa số tích tất các _ _Nguyễn Trung Lập KỸ THUẬT SỐ (29) Chương Hàm Logic II - 16 số nhóm chứa phân nửa bảng đó biến A có giá trị (hay 0) Nói cách khác các số nhóm đồng thời nằm các ô biến A và A thì biến A đơn giản Hình đây minh họa việc lấy các thừa số tích Thí dụ bảng (H 2.9) ta có kết sau: - Hàm Y là hàm biến A,B,C,D - Nhóm chứa số (k=1), nhóm còn biến, theo hàng, số này ô ứng với A B và AB, biến A đơn giản và theo cột thì ô này ứng với tổ hợp C D Kết ứng với nhóm là: B C D - Nhóm chứa số (4=22 , k=2), nhóm còn biến, theo hàng, số này ô ứng với tổ hợp A B và A B, biến B đơn giản và theo cột thì ô này ứng với tổ hợp CD và C D , cho phép đơn giản biến D Kết ứng với nhóm là: A C (H 2.9) - Nhóm chứa số (4=22 , k=2), nhóm còn biến, theo hàng, số này ô ứng với tổ hợp A B, theo cột số này chiếm hết cột nên biến Cvà D đơn giản Kết ứng với nhóm là: A B Và hàm Y rút gọn là: Y = B C D + A C + A B Dưới đây là số thí dụ Thí dụ : Rút gọn hàm Y = f(A,B,C) = A B C+ A B.C+A B C +A B C+A.B.C (H 2.10) (H 2.10) cho Y = AB + C Thí dụ : Rút gọn hàm Y = f(A,B,C,D) = Σ(0,2,4,5,8,10,12,13) với A=MSB (H 2.11) _ _Nguyễn Trung Lập KỸ THUẬT SỐ (30) Chương Hàm Logic II - 17 Y = BC + B D (H 2.11) cho Thí dụ : Rút gọn hàm S cho bảng thật: N A B C D 10→15 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 1 S 0 1 1 0 0 x (Không xác định) Bảng Karnaugh: (H 2.12) (H 2.12) Kết : S = B C + B C 2.3.2.6 Rút gọn các hàm nhiều biến cách dùng bảng Karnaugh biến: Để rút gọn các hàm nhiều biến (5 và biến) người ta có thể dùng bảng Karnaugh biến Dưới đây là vài thí dụ: Thí dụ : Rút gọn hàm f(A,B,C,D,E) = ∑ (0,2,8,10,13,15,16,18,24,25,26,29,31) với (7,9,14,30) không xác định - Trước vẽ bảng Karnaugh cho biến BCDE, ứng với A và với A - Bảng ứng với A dùng cho các số từ đến 15 - Bảng ứng với A dùng cho các số từ 16 đến 31 - Nhóm các số có cùng vị trí hai bảng, kết đơn giản biến A - Nhóm các số bảng hết , kết xác định cách làm thông thường, nhớ A và A nhóm (H 2.13) _ _Nguyễn Trung Lập KỸ THUẬT SỐ (31) Chương Hàm Logic II - 18 (H 2.13) nhóm (1) cho : C E ; (2) cho : BCE ; Vậy f(A,B,C,D,E) = C E + BCE + BDE (3) cho : BDE Thí dụ : Rút gọn hàm f(A,B,C,D,E,F)=∑(2,3,6,7,8,9,12,13,14,17,24,25,28,29,30,40,41,44,45,46,56,57,59,60,61,63) Tương tự trên phải vẽ bảng cho: A B cho các số (0-15) ; A B cho các số (16-31) ; AB cho các số (48-63) và A B cho các số (32-47) (H 2.14) Kết quả: (1) cho C E ; (2) A CD F + BCD F ; (3) A BCE ; (4) A BD EF ; (5) ABCF Vậy: f(A,B,C,D,E,F) = C E + A BCE + ABCF + A CD F + BCD F + A BD EF _ _Nguyễn Trung Lập KỸ THUẬT SỐ (32) Chương Hàm Logic II - 19 2.3.3 Phương pháp Quine-Mc Cluskey Phương pháp Quine-Mc Cluskey dựa trên tính kề các tổ hợp biến để đơn giản số biến các số hạng biểu thức dạng tổng (minterm) Trong quá trình đơn giản này có thể xuất các số hạng giống mà ta có thể bỏ bớt Phương pháp thực qua giai đọan: Giai đọan 1: Dựa trên tính kề các tổ hợp biến để đơn giản số biến các số hạng biểu thức dạng tổng (minterm) Giai đọan 2: Kiểm tra và thực việc tối giản Thí dụ đây minh họa cho việc thực phương pháp để rút gọn hàm logic Thí dụ 1: Rút gọn hàm f(A,B,C,D) = Σ(1,2,4,5,6,10,12,13,14) ♣ Giai đọan - Các minterm nhóm lại theo số số có tổ hợp và ghi lại bảng theo thứ tự số tăng dần: Trong thí dụ này có nhóm: Nhóm chứa số gồm các tổ hợp 1, 2, Nhóm chứa hai số gồm các tổ hợp 5, 6, 10, 12 Nhóm chứa ba số gồm các tổ hợp 13, 14 Bảng 1: x x x x x x x x x 10 12 13 14 A 0 B 0 C D 0 0 1 1 1 1 1 0 1 0 - Mỗi tổ hợp nhóm so sánh với tổ hợp nhóm kế cận Nếu tổ hợp khác biến, ta có thể dùng biểu thức AB + A B = B để đơn giản biến Biến đã đơn giản thay dấu - Đánh dấu x vào các tổ hợp đã xét để tránh sai sót Như vậy, tổ hợp thứ nhóm thứ 0001 so sánh với tổ hợp thứ nhóm thứ hai 0101 vì chúng khác biến B, chúng có thể đơn giản thành 0-01 Hai số hạng và đã gom lại thành nhóm (1,5) và ghi vào bảng Tiếp tục so sánh tổ hợp 0001 này với các tổ hợp còn lại nhóm (0110, 1010, 1100), vì chúng khác nhiều bit nên ta không kết nào khác Như vậy, ta đã so sánh xong tổ hợp thứ nhất, đánh dấu x trước tổ hợp này để ghi nhớ Công việc tiến hành tương tự cho nhóm thứ hai và thứ ba Lưu ý: Nhận xét việc so sánh các tổ hợp với ta thấy có thể thực nhanh cách làm bài toán trừ số nhị phân tương ứng tổ hợp, kết là số có trị = 2k (1, 2, 4,8 ) thì tổ hợp đó so sánh và biến đơn giản chính là biến có trọng _ _Nguyễn Trung Lập KỸ THUẬT SỐ (33) Chương Hàm Logic II - 20 số =2k (thí dụ tổ hợp và có hiệu số là nên đơn giản biến B), hiệu số ≠ 2k thì tổ hợp đó không so sánh được, tức không có biến đơn giản Kết cho bảng thứ hai - Bảng thứ hai gồm các tổ hợp đã rút gọn và còn lại nhóm (giảm nhóm so với bảng 1) Bảng A B C D 1,5 0 x 2,6 x 2,10 x 4,5 x 4,6 x 4,12 0 x 5,13 1 x 6,14 1 x 10,14 1 x 12,13 1 x 12,14 1 Thực công việc tương tự trên với hai nhóm bảng thứ hai này, các số hạng nhóm lại chúng khác biến và có vị trí dấu - trùng Ta bảng thứ Bảng 3: 2,6 ; 10,14 2,10 ; 6,14 4,5 ; 12,13 4,6 ; 12,14 4,12 ; 5,13 4,12 ; 6,14 A - B 1 1 C 1 0 - D 0 0 Quan sát bảng thứ ta thấy có các tổ hợp giống nhau, ta có thể lọai bỏ bớt các tổ hợp này và giữ lại Kết hàm rút gọn gồm tổng các số hạng tương ứng với các tổ hợp không gom thành nhóm các bảng đầu tiên, đó là tổ hợp (1,5) bảng 2, trị tương ứng là A C D với các tổ hợp còn lại bảng cuối cùng, đó là các tổ hợp (2,6 ; 10,14) mà trị tương ứng là C D , (4,5 ; 12,13) cho B C và (4,6 ; 12,14) cho B D bảng Vậy: f(A,B,C,D) = A C D + C D + B C + B D Đến đây, quan sát các tổ hợp cho các kết trên, ta thấy các tổ hợp còn chứa các số hạng giống (số và số 12 chẳng hạn), kết trên có thể là chưa tối giản ♣ Giai đọan 2: Để có thể rút gọn ta lập bảng sau: Cột bên trái ghi lại các tổ hợp đã chọn giai đoạn 1, các cột còn lại ghi các trị thập phân có hàm ban đầu _ _Nguyễn Trung Lập KỸ THUẬT SỐ (34) Chương Hàm Logic II - 21 Trên cùng hàng tổ hợp ta đánh dấu * các cột có số tương ứng (ví dụ hàng chứa tổ hợp 1,5 có các dấu * cột và 5) Tương tự cho các tổ hợp khác Bảng 1,5 2,6 ; 10,14 4,5 ; 12,13 4,6 ; 12,14 ← ← ← *↓ *↓ *↓ x x *↓ * x 10 *↓ *↓ * x * x x 12 13 14 *↓ *↓ * x *↓ x * x Xét các cột chứa dấu *, đó là các cột 1,2,10 và 13, các tổ hợp cùng hàng với các dấu * này chọn, đó là các tổ hợp (1,5), (2,6 ; 10,14), (4,5 ; 12,13), tương ứng với A C D + C D + B C Đánh dấu X các cột tương ứng với các số có các tổ hợp đã chọn Nếu tất các cột đánh dấu thì các tổ hợp đã chọn đủ để diễn tả hàm ban đầu Trong trường hợp bài toán này, sau chọn các tổ hợp nói trên thì tất cột đã đánh dấu đó kết cuối cùng là (sau loai bỏ tổ hợp B D ): f(A,B,C,D) = A C D + C D + B C Thí dụ 2: Rút gọn hàm f(A,B,C,D) = Σ(3,4,6,7,8,11,12,15) ♣ Giai đọan Bảng 1: A B C D x 0 0 x 1 x 1 x 1 0 x 12 x 1 x 11 1 x 15 1 1 So sánh các tổ hợp nhóm gần ta kết cho bảng thứ hai - Bảng thứ hai gồm các tổ hợp đã rút gọn và còn lại nhóm (giảm nhóm so với bảng 1) Bảng x x x x 4,6 4,12 8,12 3,7 3,11 6,7 7,15 11,15 A 0 B 1 1 - C 0 1 1 D 0 1 1 _ _Nguyễn Trung Lập KỸ THUẬT SỐ (35) Chương Hàm Logic II - 22 Bảng 3: A - 3,7 ; 11,15 3,11 ; 7,15 B - C 1 D 1 Kết hàm rút gọn gồm tổng các số hạng tương ứng với các tổ hợp không gom thành nhóm: (4,6), (4,12), (8,12), (6,7) và (3,7;11,15) f(A,B,C,D) = CD+ A B D + B C D + A C D + A BC ♣ Giai đọan 2: Bảng 3,7;11,15 4,6 4,12 8,12 6,7 ← *↓ ← * * * *↓ 11 *↓ x * x x 15 *↓ * *↓ *↓ * 12 x x x Các cột 3, và chứa dấu *, các tổ hợp cùng hàng với các dấu * này chọn, đó là các tổ hợp (3,7;11,15) và , (8,12), tương ứng với CD và A C D Đánh dấu X các cột tương ứng với các số có các tổ hợp đã chọn Đến đây ta thấy còn cột và chưa có dấu X, lúc chúng ta còn đến tổ hợp để chọn Dĩ nhiên trường hợp này ta cần chọn tổ hợp (4,6) ( A B D ) thay vì chọn (4,12) và (6,7) thì đủ dấu X để lấp đầy các cột Tóm lại: f(A,B,C,D) = CD + A B D + A C D Thí dụ bài toán đầy đủ: Thí dụ 1: Cho hàm logic F(A, B, C) thỏa tính chất: F(A,B,C) = có và biến a- Lập bảng thật cho hàm F b- Rút gọn hàm F c- Diễn tả hàm F dùng hàm AND và NOT Giải a Dựa vào điều kiện bài toán ta có bảng thật hàm F: A 0 0 1 1 B 0 1 0 1 C 1 1 F(A,B,C) 1 0 _ _Nguyễn Trung Lập KỸ THUẬT SỐ (36) Chương Hàm Logic II - 23 b Rút gọn hàm F Bảng Karnaugh F(A, B.C) = A BC + A BC + A BC c Diễn tả hàm F dùng hàm AND và NOT Dùng địnhlý De Morgan, lấy đảo lần hàm F: F(A, B.C) = F(A, B.C) = A BC + A BC + A BC = A BC.A BC.A BC Thí dụ 2: Cho hàm logic F(A, B, C, D) thỏa tính chất: F(A,B,C,D) = có ít biến a- Rút gọn hàm F b- Diễn tả hàm F dùng hàm OR và NOT Giải a- Rút gọn hàm F Ta có thể đưa hàm vô bảng Karnaugh mà không cần vẽ bảng thật Ta đưa số vào tất các ô chứa trị trở lên Và kết hàm rút gọn là: F(A,B,C,D) = ABC + ABD + ACD + BCD b- Diễn tả hàm F dùng hàm OR và NOT Dùng định lý De Morgan cho số hạng tổng Viết lại hàm F: F(A, B,C,D) = ABC + ABD + ACD + BCD = A + B+ C+ A + B+ D + A + C+ D + B+ C + D BÀI TẬP Diễn tả mệnh đề đây biểu thức logic: a/ Tất các biến A,B,C,D b/ Tất các biến A,B,C,D _ _Nguyễn Trung Lập KỸ THUẬT SỐ (37) Chương Hàm Logic II - 24 c/ Ít các biến X,Y,Z,T d/ Ít các biến X,Y,Z,T e/ Các biến A,B,C,D có giá trị 0,1,1,0 Tính đảo các hàm sau: a/ f1 = (A + B)( A + B ) b/ f2 = (A + B + C )(B + C + D)( A + C + D) c/ f3 = A(C + D) + ( A + C)( B + C + D) d/ f4 = (AB + C)(BC + D) + A BC + C D e/ f5 = A B C + A B C + A(BC + B C ) Chứng minh đại số các biểu thức sau: a/ A.B + A B = A B + A B b/ A.B + A C = (A + C)(A + B) c/ A.C + B.C = A C + B.C d/ (A + B)(A + C)(B + C) = (A + B)(A + C) e/ (A + C)(B + C) = (A + C)(B + C) Viết dạng tổng chuẩn các hàm xác định bởi: a/ f(A,B,C) = số nhị phân (ABC)2 là số chẵn b/ f(A,B,C) = có ít biến số = c/ f(A,B,C) = số nhị phân (ABC)2 >5 d/ f(A,B,C) = số biến số là số chẵn e/ f(A,B,C) = có và biến số =1 Viết dạng tích chuẩn các hàm bài tập Viết dạng số các bài tập Viết dạng số các bài tập Rút gọn các hàm đây phương pháp đại số (A = MSB) a/ f1 = ABC + A B C + AB C D b/ f2 = (A+BC) + A ( B + C )(AD+C) c/ f3 = (A+B+C)(A+B+ C )( A +B+C)( A +B+ C ) d/ f4(A,B,C,D) = Σ(0,3,4,7,8,9,14,15) e/ f5 = A B + AC + BC f/ f6 = (A+ C )(B+C)(A+B) Dùng bảng Karnaugh rút gọn các hàm sau: (A = MSB) a/ f(A,B,C) = Σ(1,3,4) b/ f(A,B,C) = Σ(1,3,7) c/ f(A,B,C) = Σ(0,3,4,6,7) d/ f(A,B,C) = Σ(1,3,4) Các tổ hợp biến 6,7 cho hàm không xác định e/ f(A,B,C) = A B.C + A B.C + A B.C + A.B.C f/ f(A,B,C,D) = Σ(5,7,13,15) g/ f(A,B,C,D) = Σ(0,4,8,12) h/ f(A,B,C,D) = Σ(0,2,8,10) i/ f(A,B,C,D) = Σ(0,2,5,6,9,11,13,14) j/ f(A,B,C,D) = Π(0,1,5,9,10,15) k/ f(A,B,C,D) = Π (0,5,9,10) với các tổ hợp biến (2,3,8,15) cho hàm không xác định l/ f(A,B,C,D,E) = Σ(2,7,9,11,12,13,15,18,22,24,25,27,28,29,31) _ _Nguyễn Trung Lập KỸ THUẬT SỐ (38) Chương Hàm Logic II - 25 m/ f(A,B,C,D.E) = Σ(0,2,8,10,13,15,16,18,24,25,26,29,31) với các tổ hợp biến (7,9,14,30) cho hàm không xác định n/ f(A,B,C,D,E,F) = Σ(2,3,6,7,8,9,12,13,14,17,24,25,28,29,30,40,41,44,45,46,56,57,59,60,61,63) o/ f(A,B,C,D,E,F) = Σ(9,11,13,15,16,18,20,22,25,27,29,31,32,34,36,38,41,43,45,47,48,50,52,54) 10 Làm lại các bài tập từ 9f phương pháp Quine-Mc Cluskey _ _Nguyễn Trung Lập KỸ THUẬT SỐ (39) Chương Cổng logic III -  CHƯƠNG CỔNG LOGIC ™ CÁC KHÁI NIỆM LIÊN QUAN ™ CỔNG LOGIC CƠ BẢN ™ THÔNG SỐ KỸ THUẬT ™ Họ TTL — Cổng — Các kiểu ng㠙 Họ MOS — NMOS — CMOS ™ GIAO TIẾP GIỮA CÁC HỌ IC SỐ — TTL thúc CMOS — CMOS thúc TTL Cổng logic là tên gọi chung các mạch điện tử có chức thực các hàm logic Cổng logic có thể chế tạo các công nghệ khác (Lưỡng cực, MOS), có thể tổ hợp các linh kiện rời thường chế tạo công nghệ tích hợp IC (Integrated circuit) Chương này giới thiệu các loại cổng bản, các họ IC số, các tính kỹ thuật và giao tiếp chúng 3.1 CÁC KHÁI NIỆM LIÊN QUAN 3.1.1 Tín hiệu tương tự và tín hiệu số Tín hiệu tương tự là tín hiệu có biên độ biến thiên liên tục theo thời gian Nó thường các tượng tự nhiên sinh Thí dụ, tín hiệu đặc trưng cho tiếng nói là tổng hợp các tín hiệu hình sin dải tần số thấp với các họa tần khác Tín hiệu số là tín hiệu có dạng xung, gián đoạn thời gian và biên độ có mức rõ rệt: mức cao và mức thấp Tín hiệu số phát sinh mạch điện thích hợp Để có tín hiệu số người ta phải số hóa tín hiệu tương tự các mạch biến đổi tương tự sang số (ADC) 3.1.2 Mạch tương tự và mạch số Mạch điện tử xử lý các tín hiệu tương tự gọi là mạch tương tự và mạch xử lý tín hiệu số gọi là mạch số Một cách tổng quát, mạch số có nhiều ưu điểm so với mạch tương tự: Nguyễn Trung Lập KỸ THUẬT SỐ (40) Chương Cổng logic III - - Dễ thiết kế và phân tích Vận hành các cổng logic dựa trên tính chất dẫn điện (bảo hòa) ngưng dẫn transistor Việc phân tích và thiết kế dựa trên chức và đặc tính kỹ thuật các IC và các khối mạch không dựa trên linh kiện rời - Có thể hoạt động theo chương trình lập sẵn nên thuận tiện điều khiển tự động, tính toán, lưu trữ liệu và liên kết với máy tính - Ít bị ảnh hưởng nhiễu tức có khả dung nạp tín hiệu nhiễu với biên độ lớn nhiều so với mạch tương tự - Dễ chế tạo thành mạch tích hợp và có khả tích hợp với mật độ cao Dựa vào số cổng chip, người ta phân loại IC số sau: - Số cổng < 10: SSI (Small Scale Integrated), mức độ tích hợp nhỏ - 10 < Số cổng < 100: MSI (Medium Scale Integrated), mức độ tích hợp trung bình - 100 < Số cổng < 1000: LSI (Large Scale Integrated), mức độ tích hợp lớn - 1000 < Số cổng < 10000: VLSI (Very Large Scale Integrated), mức độ tích hợp lớn - Số cổng > 10000: ULSI (Ultra Large Scale Integrated), mức độ tích hợp siêu lớn 3.1.3 Biểu diễn các trạng thái Logic và Trong hệ thống mạch logic, các trạng thái logic biểu diễn các mức điện Với qui ước logic dương, điện cao biểu diễn logic 1, điện thấp biểu diễn logic Ngược lại ta có qui ước logic âm Trong thực tế, mức và tương ứng với khoảng điện xác định và có khoảng chuyển tiếp mức cao và thấp, ta gọi là khoảng không xác định Khi điện áp tín hiệu rơi vào khoảng này, mạch không nhận là mức hay Khoảng này tùy thuộc vào họ IC sử dụng và cho bảng thông số kỹ thuật linh kiện (H 3.1) là giản đồ điện các mức logic số cổng logic thuộc họ TTL (H 3.1) 3.2 CỔNG LOGIC CƠ BẢN 3.2.1 Cổng NOT - Còn gọi là cổng đảo (Inverter), dùng để thực hàm đảo Y= A - Ký hiệu (H 3.2), mũi tên chiều di chuyển tín hiệu và vòng tròn là ký hiệu đảo Trong trường hợp không thể nhầm lẫn chiều này, người ta có thể bỏ mũi tên (H 3.2) Bảng thật Nguyễn Trung Lập KỸ THUẬT SỐ (41) Chương Cổng logic III - 3.2.2 Cổng AND - Dùng thực hàm AND hay nhiều biến - Cổng AND có số ngã vào tùy thuộc số biến và ngã Ngã cổng là hàm AND các biến ngã vào - Ký hiệu cổng AND ngã vào cho biến (H 3.3a) (a) A 0 1 B 1 Y=A.B 0 (H 3.3) Hoặc (b) A x x B Y=A.B A - Nhận xét: - Ngã cổng AND mức cao tất ngã vào lên cao - Khi có ngã vào = 0, ngã = bất chấp các ngã vào còn lại - Khi có ngã vào =1, ngã = AND các ngã vào còn lại Vậy với cổng AND ngã vào ta có thể dùng ngã vào làm ngã kiểm soát (H 3.3b), ngã kiểm soát = 1, cổng mở cho phép tín hiệu logic ngã vào còn lại qua cổng và ngã kiểm soát = 0, cổng đóng , ngã luôn 0, bất chấp ngã vào còn lại Với cổng AND có nhiều ngã vào hơn, có ngã vào đưa lên mức cao thì ngã AND các biến các ngã vào còn lại Hình (H 3.4) là giản đồ thời gian cổng AND hai ngã vào Trên giản đồ, ngã Y lên mức A và B mức (H 3.4) 3.2.3 Cổng OR - Dùng để thực hàm OR hay nhiều biến - Cổng OR có số ngã vào tùy thuộc số biến và ngã - Ký hiệu cổng OR ngã vào Nguyễn Trung Lập KỸ THUẬT SỐ (42) Chương Cổng logic III - (H 3.5) - Bảng thật A 0 1 B 1 Y=A+B 1 Hoặc A x x B Y=A+B A - Nhận xét: - Ngã cổng OR mức thấp ngã vào xuống thấp - Khi có ngã vào =1, ngã = bất chấp ngã vào còn lại - Khi có ngã vào =0, ngã = OR các ngã vào còn lại Vậy với cổng OR ngã vào ta có thể dùng ngã vào làm ngã kiểm soát, ngã kiểm soát = 0, cổng mở, cho phép tín hiệu logic ngã vào còn lại qua cổng và ngã kiểm soát = 1, cổng đóng, ngã luôn Với cổng OR nhiều ngã vào hơn, có ngã vào đưa xuống mức thấp thì ngã OR các biến các ngã vào còn lại 3.2.4 Cổng BUFFER Còn gọi là cổng đệm Tín hiệu số qua cổng BUFFER không đổi trạng thái logic Cổng BUFFER dùng với các mục đích sau: - Sửa dạng tín hiệu - Đưa điện tín hiệu đúng chuẩn các mức logic - Nâng khả cấp dòng cho mạch - Ký hiệu cổng BUFFER (H 3.6) Tuy cổng đệm không làm thay đổi trạng thái logic tín hiệu vào cổng nó giữ vai trò quan trọng các mạch số 3.2.5 Cổng NAND - Là kết hợp cổng AND và cổng NOT, thực hàm Y = A.B (Ở đây xét cổng NAND ngã vào, độc giả tự suy trường hợp nhiều ngã vào) - Ký hiệu cổng NAND (Gồm AND và NOT, cổng NOT thu gọn lại vòng tròn) - Tương tự cổng AND, cổng NAND ta có thể dùng ngã vào làm ngã kiểm soát Khi ngã kiểm soát = 1, cổng mở cho phép tín hiệu logic ngã vào còn lại qua cổng và bị đảo, ngã kiểm soát = 0, cổng đóng, ngã luôn - Khi nối tất ngã vào cổng NAND lại với nhau, nó hoạt động cổng đảo Nguyễn Trung Lập KỸ THUẬT SỐ (43) Chương Cổng logic III - (H 3.7) 3.2.6 Cổng NOR - Là kết hợp cổng OR và cổng NOT, thực hàm Y = A + B Ký hiệu cổng NOR (Gồm cổng OR và NOT, cổng NOT thu gọn lại vòng tròn) (H 3.8) Các bảng thật và các giản đồ thời gian các cổng BUFFER, NAND, NOR, sinh viên có thể tự thực lấy 3.2.7 Cổng EX-OR - Dùng để thực hàm EX-OR Y = A ⊕ B = AB + A B - Cổng EX-OR có ngã vào và ngã - Ký hiệu (H 3.9a) - Một tính chất quan trọng cổng EX-OR: + Tương đương với cổng đảo có ngã vào nối lên mức cao, (H 3.9b) + Tương đương với cổng đệm có ngã vào nối xuống mức thấp, (H 3.9c) (a) (b) (H 3.9) (c) 3.2.8 Cổng EX-NOR - Là kết hợp cổng EX-OR và cổng NOT - Cổng EX-NOR có ngã vào và ngã - Hàm logic ứng với cổng EX-NOR là Y = A ⊕ B = A B + A.B - Ký hiệu (H 3.10) - Các tính chất cổng EX-NOR giống cổng EX-OR có ngã đảo lại Nguyễn Trung Lập KỸ THUẬT SỐ (44) Chương Cổng logic III - (H 3.10) 3.2.9 Cổng phức AOI (AND-OR-INVERTER) Ưng dụng các kết Đại số BOOLE, người ta có thể kết nối nhiều cổng khác trên chip IC để thực hàm logic phức tạp nào đó Cổng AOI là kết hợp loại cổng AND (A), OR (O) và INVERTER (I) Thí dụ để thực hàm logic Y = A.B.C + D.E , ta có cổng phức sau: (H 3.11) 3.2.10 Biến đổi qua lại các cổng logic Trong chương Hàm Logic chúng ta đã thấy tất các hàm logic có thể thay hàm là hàm AND (hoặc OR) kết hợp với hàm NOT Các cổng logic có chức thực hàm logic, chúng ta cần dùng cổng AND (hoặc OR) và NOT để thực tất các hàm logic Tuy nhiên, vì cổng NOT có thể tạo từ cổng NAND (hoặc NOR) Như vậy, tất các hàm logic có thể thực cổng nhất, đó là cổng NAND (hoặc NOR) Hàm ý này cho phép chúng ta biến đổi qua lại các cổng với Quan sát Định lý De Morgan chúng ta rút qui tắc biến đổi qua lại các cổng AND, NOT và OR , NOT sau: Chỉ cần thêm các cổng đảo ngã vào và ngã biến đổi từ AND sang OR ngược lại Dĩ nhiên các ngã đã có đảo thì đảo này Thí dụ 1: Ba mạch đây tương đương nhau: (H 3.12b) có cách đổi AND - OR thêm các đảo các ngã vào và Từ (H 3.12b) đổi sang (H 3.12c) ta bỏ cổng đảo nối từ ngã cổng NOR đến ngã vào cổng AND (a) (b) (c) (H 3.12) Thí dụ 2: Vẽ mạch tương đương cổng EX-OR dùng toàn cổng NAND Dùng định lý De-Morgan, biểu thức hàm EX-OR viết lại: Y = AB + AB = AB.AB Và mạch tương đương cho (H 3.13) Nguyễn Trung Lập KỸ THUẬT SỐ (45) Chương Cổng logic III - (H 3.13) 3.3 THÔNG SỐ KỸ THUẬT CỦA IC SỐ Để sử dụng IC số có hiệu quả, ngoài sơ đồ chân và bảng thật chúng, ta nên biết qua số thuật ngữ các thông số cho biết các đặc tính IC 3.3.1 Các đại lượng điện đặc trưng - VCC: Điện nguồn (power supply): khoảng điện cho phép cấp cho IC để hoạt động tốt Thí dụ với IC số họ TTL, VCC=5±0,5 V , họ CMOS VDD=3-15V (Người ta thường dùng ký hiệu VDD và VSS để nguồn và mass IC họ MOS) - VIH(min): Điện ngã vào mức cao (High level input voltage): Đây là điện ngã vào nhỏ còn xem là mức - VIL(max): Điện ngã vào mức thấp (Low level input voltage): Điện ngã vào lớn còn xem là mức - VOH(min): Điện ngã mức cao (High level output voltage): Điện nhỏ ngã mức cao - VOL(max): Điện ngã mức thấp (Low level output voltage): Điện lớn ngã mức thấp - IIH: Dòng điện ngã vào mức cao (High level input current): Dòng điện lớn vào ngã vào IC ngã vào này mức cao - IIL: Dòng điện ngã vào mức thấp (Low level input current) : Dòng điện khỏi ngã vào IC ngã vào này mức thấp - IOH: Dòng điện ngã mức cao (High level output current): Dòng điện lớn ngã có thể cấp cho tải nó mức cao - IOL: Dòng điện ngã mức thấp (Low level output current): Dòng điện lớn ngã có thể nhận mức thấp - ICCH,ICCL: Dòng điện chạy qua IC ngã mức cao và thấp Ngoài còn số thông số khác nêu đây 3.3.2 Công suất tiêu tán (Power requirement) Mỗi IC hoạt động tiêu thụ công suất từ nguồn cung cấp VCC (hay VDD) Công suất tiêu tán này xác định điện nguồn và dòng điện qua IC Do hoạt động dòng qua IC thường xuyên thay đổi hai trạng thái cao và thấp nên công suất tiêu tán tính từ dòng trung bình qua IC và công suất tính là công suất tiêu tán trung bình PD (avg) = I CC (avg).VCC Trong đó Nguyễn Trung Lập KỸ THUẬT SỐ (46) Chương Cổng logic III - I CCH + I CCL Đối với các cổng logic họ TTL, công suất tiêu tán hàng mW và với họ MOS thì hàng nW I CC (avg) = 3.3.3 Fan-Out: Một cách tổng quát, ngã mạch logic đòi hỏi phải cấp dòng cho số ngã vào các mạch logic khác Fan Out là số ngã vào lớn có thể nối với ngã IC cùng loại mà bảo đảm mạch hoạt động bình thường Nói cách khác Fan Out khả chịu tải cổng logic Ta có hai loại Fan-Out ứng với trạng thái logic ngã ra: I Fan − Out H = OH I IH I OL I IL Thường hai giá trị Fan-Out này khác nhau, sử dụng, để an toàn, ta nên dùng trị nhỏ hai trị này Fan-Out tính theo đơn vị Unit Load UL (tải đơn vị) Fan − Out L = 3.3.4 Thời trễ truyền (Propagation delays) Tín hiệu logic truyền qua cổng luôn luôn có thời gian trễ Có hai loại thời trễ truyền: Thời trễ truyền từ thấp lên cao tPLH và thời trễ truyền từ cao xuống thấp tPHL Hai giá trị này thường khác Sự thay đổi trạng thái xác định tín hiệu Thí dụ tín hiệu qua cổng đảo, thời trễ truyền xác định (H 3.14) Tùy theo họ IC, thời trễ truyền thay đổi tử vài ns đến vài trăm ns Thời trễ truyền càng lớn thì tốc độ làm việc IC càng nhỏ (H 3.14) 3.3.5 Tích số công suất-vận tốc (speed- power product) Để đánh giá chất lượng IC, người ta dùng đại lượng tích số công suất-vận tốc đó là tích số công suất tiêu tán và thời trễ truyền Thí dụ họ IC có thời trễ truyền là 10 ns và công suất tiêu tán trung bình là 50 mW thì tích số công suất-vận tốc là: 10 ns x mW =10.10-9x5.10-3 = 50x10-12 watt-sec = 50 picojoules (pj) Trong quá trình phát triển công nghệ chế tạo IC người ta luôn muốn đạt các IC có công suất tiêu tán và thời trễ truyền càng nhỏ càng tốt Như IC có chất lượng càng tốt tích số công suất-vận tốc càng nhỏ Tuy nhiên trên thực tế hai giá trị này thay đổi theo chiều ngược với nhau, nên ta khó mà đạt các giá trị theo ý muốn, dù quá trình phát triển công nghệ chế tạo linh kiện điện tử trị số này luôn cải thiện Nguyễn Trung Lập KỸ THUẬT SỐ (47) Chương Cổng logic III - 3.3.6 Tính miễn nhiễu (noise immunity) Các tín hiệu nhiễu tia lửa điện, cảm ứng từ có thể làm thay đổi trạng thái logic tín hiệu đó ảnh hưởng đến kết hoạt động mạch Tính miễn nhiễu mạch logic tùy thuộc khả dung nạp hiệu nhiễu mạch và xác định lề nhiễu Lề nhiễu có chênh lệch các điện giới hạn (còn gọi là ngưỡng logic) mức cao và thấp ngã và ngã vào các cổng (H 3.15) (H 3.15) Tín hiệu vào mạch logic xem là mức có trị >VIH(min) và là mức <V IL(max) Điện khoảng không ứng với mức logic nào nên gọi là vùng bất định Do có khác biệt VOH(min) với VIH(min) và VOL(max) với VIL(max) nên ta có giá trị lề nhiễu: Lề nhiễu mức cao: VNH = VOH(min) - VIH(min) Lề nhiễu mức thấp: VNL = VIL(max) - VOL(max) Khi tín hiệu mức cao đưa vào ngã vào, tín hiệu nhiễu nào có giá trị âm và biên độ >VNH làm cho điện ngã vào rơi vào vùng bất định và mạch không nhận tín hiệu thuộc mức logic nào Tương tự cho trường hợp ngã mức thấp tín hiệu nhiễu có trị dương biên độ >VNL đưa mạch vào trạng thái bất định 3.3.7 Logic cấp dòng và logic nhận dòng Một mạch logic thường gồm nhiều tầng kết nối với Tầng cấp tín hiệu gọi là tầng thúc và tầng nhận tín hiệu gọi là tầng tải Sự trao đổi dòng điện hai tầng thúc và tải thể logic cấp dòng và logic nhận dòng (H 3.16a) cho thấy hoạt động gọi là cấp dòng: Khi ngã mạch logic mức cao, nó cấp dòng IIH cho ngã vào mạch logic 2, vai trò tải nối mass Ngã cổng là nguồn dòng cấp cho ngã vào cổng (H 3.16b) cho thấy hoạt động gọi là nhận dòng: Khi ngã mạch logic mức thấp, nó nhận dòng IIL từ ngã vào mạch logic xem nối với nguồn VCC Nguyễn Trung Lập KỸ THUẬT SỐ (48) Chương Cổng logic III - 10 (a) (b) (H 3.16) Thường dòng nhận tầng thúc mức thấp có trị khá lớn so với dòng cấp nó mức cao, nên người ta hay dùng trạng thái này cần gánh tải tương đối nhỏ, ví dụ cần thúc cho led, người ta có thể dùng mạch (H 3.17a) mà không thể dùng mạch (H 3.17b) (a) (H 3.17) (b) 3.3.8 Tính Schmitt Trigger Trong phần giới thiệu lề nhiễu, ta thấy còn khoảng điện nằm các ngưỡng logic, đây chính là khoảng điện ứng với transistor làm việc vùng tác động Khoảng cách này xác định lề nhiễu và có tác dụng làm giảm độ rộng sườn xung (tức làm cho đường dốc lên và dốc xuống tín hiệu dốc hơn) qua mạch Lề nhiễu càng lớn vùng chuyển tiếp ngã vào càng nhỏ, tín hiệu thay đổi trạng thái khoảng thời gian càng nhỏ nên sườn xung càng dốc Tuy nhiên còn khoảng sườn xung nằm vùng chuyển tiếp nên tín hiệu không vuông hoàn toàn (H 3.18a) và (H 3.18b) minh họa điều đó (a) (b) (H 3.18) Để cải thiện dạng tín hiệu ngã ra, bảo đảm tính miễn nhiễu cao, người ta chế tạo các cổng có tính trễ điện (H 3.19a), gọi là cổng Schmitt Trigger (H 3.19b) mô tả mối quan hệ Vout và Vin cổng đảo Schmitt Trigger Nguyễn Trung Lập KỸ THUẬT SỐ (49) Chương Cổng logic III - 11 (a) (b) (H 3.19) (H 3.20a&b) là ký hiệu các cổng Schmitt Trigger (a) (b) (H 3.20) 3.4 HỌ TTL Trong quá trình phát triển công nghệ chế tạo mạch số ta có các họ: RTL (Resistortransistor logic), DCTL (Direct couple-transistor logic), RCTL (Resistor-Capacitor-transistor logic), DTL (Diod-transistor logic), ECL (Emitter- couple logic) v.v Đến bây tồn hai họ có nhiều tính kỹ thuật cao thời trễ truyền nhỏ, tiêu hao công suất ít, đó là họ TTL (transistor-transistor logic) dùng công nghệ chế tạo BJT và họ MOS (Công nghệ chế tạo MOS) Dưới đây, khảo sát các cổng logic hai họ TTL và MOS 3.4.1 Cổng họ TTL Lấy cổng NAND ngã vào làm thí dụ để thấy cấu tạo và vận hành cổng (H 3.21) Khi các ngã vào A, B, C xuống mức không T1 dẫn đưa đến T2 ngưng, T3 ngưng, ngã Y lên cao; ngã vào lên cao, T1 ngưng, T2 dẫn, T3 dẫn, ngã Y xuống thấp Đó chính là kết cổng NAND Nguyễn Trung Lập KỸ THUẬT SỐ (50) Chương Cổng logic III - 12 Tụ CL mạch chính là tụ ký sinh tạo kết hợp ngã mạch (tầng thúc) với ngã vào tầng tải, mạch hoạt động tụ nạp điện qua R4 (lúc T3 ngưng) và phóng qua T3 transistor này dẫn đó thời trễ truyền mạch định R4 và CL, R4 nhỏ mạch hoạt động nhanh công suất tiêu thụ lúc đó lớn, muốn giảm công suất phải tăng R4 thời trễ truyền lớn (mạch giao hoán chậm hơn) Để giải khuyết điểm này đồng thời thỏa mãn số yêu cầu khác , người ta đã chế tạo các cổng logic với các kiểu ngã khác 3.4.2 Các kiểu ngã @ Ngã totempole (H 3.22) R4 mạch thay cụm T4, RC và Diod D, đó RC có trị nhỏ, không đáng kể T2 bây giữ vai trò mạch đảo pha: T2 dẫn thì T3 dẫn và T4 ngưng, Y xuống thấp, T2 ngưng thì T3 ngưng và T4 dẫn, ngã Y lên cao Tụ CL nạp điện qua T4 T4 dẫn và phóng qua T3 (dẫn), thời mạch nhỏ và kết là thời trễ truyền nhỏ Ngoài T3 & T4 luân phiên ngưng tương ứng với trạng thái ngã nên công suất tiêu thụ giảm đáng kể Diod D có tác dụng nâng điện cực B T4 lên để bảo đảm T3 dẫn thì T4 ngưng Mạch này có khuyết điểm là không thể nối chung nhiều ngã các cổng khác vì có thể gây hư hỏng các trạng thái logic các cổng này khác @ Ngã cực thu để hở (H 3.23) Ngã cực thu để hở có số lợi điểm sau: - Cho phép kết nối các ngã nhiều cổng khác nhau, sử dụng phải mắc điện trở từ ngã lên nguồn Vcc, gọi là điện trở kéo lên, trị số điện trở này có thể chọn lớn hay nhỏ tùy theo yêu cầu có lợi mặt công suất hay tốc độ làm việc Nguyễn Trung Lập KỸ THUẬT SỐ (51) Chương Cổng logic III - 13 Điểm nối chung các ngã có tác dụng cổng AND nên ta gọi là điểm AND (H 3.24) - Người ta chế tạo các IC ngã có cực thu để hở cho phép điện trở kéo lên mắc vào nguồn điện cao, dùng cho các tải đặc biệt dùng tạo giao tiếp họ TTL với CMOS dùng nguồn cao Thí dụ IC 7406 là loại cổng đảo có ngã cực thu để hở có thể mắc lên nguồn 24 V (H 3.25) (H 3.24) (H 3.25) @ Ngã ba trạng thái (H 3.26) (H 3.27) Mạch (H 3.26) là cổng đảo có ngã trạng thái, đó T4 & T5 mắc Darlington để cấp dòng lớn cho tải Diod D nối vào ngã vào C để điều khiển Hoạt động mạch giải thích sau: - Khi C=1, Diod D ngưng dẫn, mạch hoạt động cổng đảo - Khi C=0, Diod D dẫn, cực thu T2 bị ghim áp mức thấp nên T3, T4 & T5 ngưng, ngã mạch trạng thái tổng trở cao Ký hiệu cổng đảo ngã trạng thái, có ngã điều khiển C tác động mức cao và bảng thật cho (H 3.27) Cũng có các cổng đảo và cổng đệm trạng thái với ngã điều khiển C tác động mức thấp mà SV có thể tự vẽ ký hiệu và bảng thật (H 3.28) là ứng dụng cổng đệm có ngã trạng thái: Mạch chọn liệu Nguyễn Trung Lập KỸ THUẬT SỐ (52) Chương Cổng logic III - 14 (H 3.28) Vận chuyển: Ứng với giá trị địa AB , ngã mạch giải mã địa tác động (lên cao) cho phép cổng mở và liệu ngã vào cổng đó truyền ngã Thí dụ AB = 00, Y0 = (Y1=Y2=Y3=0) G1 mở, D0 truyền qua G1 đến ngã ra, lúc G2, G3, G4 đóng, có ngã trạng thái Z cao, không ảnh hưởng đến hoạt động mạch 3.4.3 Đặc tính các loạt TTL Các IC số họ TTL sản xuất lần đầu tiên vào năm 1964 hãng Texas Instrument Corporation Mỹ, lấy số hiệu là 74XXXX & 54XXXX Sự khác biệt họ 74XXXX và 54 XXXX hai điểm: 74: VCC=5 ± 0,5 V và khoảng nhiệt độ hoạt động từ 0o C đến 70o C 54: VCC=5 ± 0,25 V và khoảng nhiệt độ hoạt động từ -55o C đến 125o C Các tính chất khác hoàn toàn giống chúng có cùng số Trước số 74 thường có thêm ký hiệu để hãng sản xuất Thí dụ SN hãng Texas, DM National Semiconductor, S Signetics Ngoài quá trình phát triển, các thông số kỹ thuật (nhất là tích số công suất vận tốc) luôn cải tiến và ta có các loạt khác nhau: 74 chuẩn, 74L (Low power), 74 H (High speed), 74S (Schottky), 74LS (Low power Schottky), 74AS (Advance Schottky), 74ALS (Advance Low power Schottky), 74F (Fast, Fair Child) Bảng 3.1 cho thấy số tính chất các loạt kể trên: Thông số kỹ thuật 74 74L 74H 74S Thời trễ truyền (ns) Công suất tiêu tán (mW) Tích số công suất vận tốc (pJ) Tần số xung CK max (MHz) Fan Out (cùng loạt) Điện VOH(min) VOL (max) VIH (min) VIL (max) 10 90 35 10 33 33 20 23 138 50 10 20 60 125 20 2,4 0,4 2,0 0,8 2,4 0,4 2,0 0,7 74L S 9,5 19 45 20 74AS 74ALS 74F 1,7 13,6 200 40 1,2 4,8 70 20 18 100 33 2,4 2,7 2,7 2,5 2,5 2,5 0,4 0,5 0,5 0,5 0,4 0,5 2,0 2,0 2,0 2,0 2,0 2,0 0,8 0,8 0,8 0,8 0,8 0,8 Bảng 3.1 - Loạt 74S: Các transistor mạch mắc thêm Diod Schottky hai cực CB với mục đích giảm thời gian chuyển trạng thái transistor đó làm giảm thời trễ truyền - Loạt 74AS và 74ALS là cải tiến 74S để làm giảm giá trị tích số Công suất - Vận tốc - Loạt 74F: Dùng kỹ thuật đặc biệt làm giảm diện dung ký sinh đó cải thiện thời trễ truyền cổng 3.5 HO MOS Gồm các IC số dùng công nghệ chế tạo transistor MOSFET loại tăng, kênh N và kênh P Với transistor kênh N ta có NMOS, transistor kênh P ta có PMOS và dùng hai loại transistor kênh P & N ta có CMOS Tính kỹ thuật loại NMOS và PMOS có thể Nguyễn Trung Lập KỸ THUẬT SỐ (53) Chương Cổng logic III - 15 nói là giống nhau, trừ nguồn cấp điện có chiều ngược với đó ta xét loại NMOS và CMOS Các transistor MOS dùng IC số hoạt động trạng thái: dẫn ngưng - Khi dẫn, tùy theo nồng độ pha chất bán dẫn mà transistor có nội trở nhỏ (từ vài chục Ω đến hàng trăm KΩ) tương đương với khóa đóng - Khi ngưng, transistor có nội trở lớn (hàng 1010Ω), tương đương với khóa hở 3.5.1 Cổng NMOS (a) (b) (c) (H 3.29) (H 3.29a), (H 3.29b) và (H3.29c) là các cổng NOT, NAND và NOR dùng NMOS Bảng 3.2 cho thấy quan hệ các điện các ngã vào , cổng NOT Vin T1 T2 Vout 0V (logic 0) RON = 100KΩ ROFF=1010Ω +5V (logic 1) +5V (logic1) RON = 100KΩ RON = 1KΩ 0,05V (logic 0) Bảng 3.2 Ngoài vận hành cổng NAND và NOR giải thích sau: ™ Cổng NAND: - Khi ngã vào nối lên mức cao, T2 và T3 dẫn, ngã xuống thấp - Khi có ngã vào nối xuống mức thấp, transistor T2 T3 ngưng, ngã lên cao Đó chính là kết cổng NAND ngã vào ™ Cổng NOR: - Khi ngã vào nối xuống mức thấp, T2 và T3 ngưng, ngã lên cao - Khi có ngã vào nối lên mức cao, transistor T2 T3 dẫn, ngã xuống thấp Đó chính là kết cổng NOR ngã vào 3.5.2 Cổng CMOS Họ CMOS sử dụng hai loại transistor kênh N và P với mục đích cải thiện tích số công suất vận tốc, mặc dù khả tích hợp thấp loại N và P (H 3.30a), (H 3.30b) và (H 3.30c) là các cổng NOT, NAND và NOR họ CMOS Nguyễn Trung Lập KỸ THUẬT SỐ (54) Chương Cổng logic III - 16 (a) (b) (H 3.30) (c) Bảng 3.3 cho thấy quan hệ điện các ngã vào , cổng NOT Vin T1 T2 Vout VDD (logic1) ROFF=1010Ω RON = 1KΩ 0V (logic 0) 0V (logic0) RON = 1KΩ ROFF=1010Ω VDD (logic 1) Bảng 3.3 Ngoài vận hành cổng NAND và NOR giải thích sau: ™ Cổng NAND: - Khi ngã vào nối lên mức cao, T1 và T2 ngưng, T3 và T4 dẫn, ngã xuống thấp - Khi có ngã vào nối xuống mức thấp, transistor T3 T4 ngưng, transistor T1 T2 dẫn, ngã lên cao Đó chính là kết cổng NAND ngã vào ™ Cổng NOR: - Khi ngã vào nối xuống mức thấp, T1và T2 dẫn, T3 và T4 ngưng, ngã lên cao - Khi có ngã vào nối lên mức cao, transistor T3 T4 dẫn, transistor T1 T2 ngưng, ngã xuống thấp Đó chính là kết cổng NOR ngã vào 3.5.3 Các cổng CMOS khác Người ta sản xuất các cổng CMOS với cực Drain để hở và ngã trạng thái để sử dụng các trường hợp đặc biệt họ TTL Nguyễn Trung Lập KỸ THUẬT SỐ (55) Chương Cổng logic III - 17 (a) (H 3.31) (b) (H 3.31a) là cổng NOT có cực D để hở, sử dụng phải có điện trở kéo lên (H 3.31b) là cổng NOT có ngã trạng thái: - Khi ngã vào Enable =1, T1 và T4 dẫn, mạch hoạt động là cổng đảo, - Khi ngã vào Enable =0, T1 và T4 ngưng đưa mạch vào trạng thái Z cao Ngoài lợi dụng tính chất transistor MOS có nội trở nhỏ dẫn, người ta chế tạo các mạch có khả truyền tín hiệu theo chiều, gọi là khóa chiều (H 3.32) là khóa chiều với A là ngã vào điều khiển Khi A = khóa hở, A = 1, khóa đóng cho tín hiệu truyền qua theo chiều A X to Y OFF ON Y to X OFF ON (H 3.32) Vận hành: T3 và T4 vai trò là cổng đảo - Khi A = 0, cực G T2 mức thấp nên T2 (kênh N) ngưng, cực G T1 (kênh P) mức cao nên T1 ngưng, mạch tương đương với khóa hở - Khi A =1, cực G T2 mức cao nên T2 dẫn, cực G T1 mức thấp nên T1 dẫn, mạch tương đương với khóa đóng Tín hiệu truyền qua chiều nhờ T1 (loại P) và theo chiều ngược lại nhờ T2 (loại N) Biên độ tín hiệu Vi truyền qua khóa phải thỏa điều kiện <Vi < VDD Như ta sử dụng nguồn ± VDD thì khóa cho tín hiệu xoay chiều qua Nguyễn Trung Lập KỸ THUẬT SỐ (56) Chương Cổng logic III - 18 3.5.3 Đặc tính họ MOS Một số tính chất chung các cổng logic họ MOS (NMOS, PMOS và CMOS) có thể kể sau: - Nguồn cấp điện : VDD từ 3V đến 15V - Mức logic: VOL (max) = 0V VOH (min) = VDD VIL (max) = 30% VDD VIH (min) = 70%VDD - Lề nhiễu : VNH = 30%VDD VNL = 30%VDD Với nguồn 5V, lề nhiễu khỏang 1,5V, lớn so với họ TTL - Thời trễ truyền tương đối lớn, khỏang vài chục ns, điện dung ký sinh ngã vào và tổng trở transistor khá lớn - Công suất tiêu tán tương đối nhỏ, hàng nW, dòng qua transistor MOS nhỏ - Số Fan Out: 50 UL Do tổng trở vào transistor MOS lớn nên dòng tải cho các cổng họ MOS nhỏ, đó số Fan Out họ MOS lớn, nhiên mắc nhiều tầng tải vào tầng thúc thì điện dung ký sinh tăng lên (gồm nhiều tụ mắc song song) ảnh hưởng đến thời gian giao hoán mạch nên dùng tần số cao người ta giới hạn số Fan Out là 50, nghĩa là cổng MOS có thể cấp dòng cho 50 cổng tải cùng loạt - Như đã nói trên, CMOS có cải thiện thời trễ truyền so với loại NMOS và PMOS, nhiên mật độ tích hợp CMOS thì nhỏ hai loại này Dù so với họ TTL thì mật độ tích hợp họ MOS nói chung lớn nhiều, đó họ MOS thích hợp để chế tạo dạng LSI và VLSI 3.5.4 Các loạt CMOS CMOS có hai ký hiệu: 4XXX hảng RCA chế tạo và 14XXX hảng MOTOROLA, có hai loạt 4XXXA (14XXXA) và 4XXXB (14XXXB), loạt B đời sau có cải thiện dòng Ngoài còn có các loạt : - 74C : CMOS có cùng sơ đồ chân và chức với IC TTL có cùng số Thí dụ IC 74C74 là IC gồm FF D tác động cạnh xung đồng hồ giống IC 7474 TTL Hầu hết (nhưng không tất cả) các thông số loạt 74C giống với 74 TTL nên ta có thể thay loại này cho - 74HC (High speed CMOS), 74HCT: Đây là loạt cải tiến 74C, tốc độ giao hoán có thể so sánh với 74LS, riêng 74HCT thì hoàn toàn tương thích với TTL kể các mức logic Đây là loạt IC CMOS dùng rộng rãi - 74AC và 74ACT (Advance CMOS) cải tiến 74 HC và HCT mặt nhiễu cách xếp lại thứ tự các chân, đó nó không tương thích với TTL sơ đồ chân 3.6 GIAO TIẾP GIỮA CÁC HỌ IC SỐ Giao tiếp là thực việc kết nối ngã mạch hay hệ thống với ngã vào mạch hay hệ thống khác Do tính chất điện khác hai họ TTL và CMOS nên việc giao tiếp chúng nhiều trường hợp không thể nối trực tiếp mà phải nhờ mạch trung gian nối tầng thúc và tầng tải cho điện tín hiệu tầng thúc phù hợp với tín hiệu vào tầng tải và dòng điện tầng thúc phải đủ cấp cho tầng tải TTL CMOS (VDD= Nguyễn Trung Lập KỸ THUẬT SỐ (57) Chương Cổng logic III - 19 Thông số VIH(min) VIL(max) VOH(min) VOL(max) IIH(max) IIL(max) IOH(max) IOL(max) 4000B 3,5V 1,5V 4,95V 0,05V 1μA 1μA 0,4 mA 0,4 mA 74HC 3,5V 1,0V 4,9V 0,1V 1μA 1μA mA mA 5V) 74HCT 2,0V 0,8V 4,9V 0,1V 1μA 1μA mA mA 74 2,0V 0,8V 2,4V 0,4V 40μA 1,6 mA 0,4 mA 16 mA Bảng 3.4 74LS 2,0V 0,8V 2,7V 0,5V 20μA 0,4 mA 0,4 mA mA 74AS 2,0V 0,8V 2,7V 0,5V 200μA mA mA 20 mA 74ALS 2,0V 0,8V 2,7V 0,4V 20μA 100μA 0,4 mA mA Có thể nói điều kiện để thúc trực tiếp - Khi dòng điện tầng thúc lớn dòng điện vào tầng tải hai trạng thái thấp và cao - Khi hiệu ngã tầng thúc hai trạng thái thấp và cao phù hợp với điện vào tầng tải Như vậy, trước xét các trường hợp cụ thể ta xem qua bảng kê các thông số hai họ IC 3.6.1 TTL thúc CMOS - TTL thúc CMOS dùng điện thấp (VDD = 5V): Từ bảng 3.4 dòng điện vào CMOS có trị nhỏ so với dòng các loạt TTL, dòng điện không có vấn đề Tuy nhiên so sánh hiệu TTL với hiệu vào CMOS ta thấy VOH(max) tất các loạt TTL khá thấp so với VIH(min) TTL, phải có biện pháp nâng hiệu TTL lên Điều này thực điện trở kéo lên mắc ngã IC TTL (H 3.33) - TTL thúc 74 HCT: Như đã nói trước đây, riêng loạt 74HCT là loạt CMOS thiết kế tương thích với TTL nên có thể thực kết nối mà không cần điện trở kéo lên - TTL thúc CMOS dùng nguồn cao (VDD = +10V) Ngay dùng điện trở kéo lên, điện ngã mức cao TTL không đủ cấp cho ngã vào CMOS, người ta phải dùng cổng đệm có ngã để hở có thể dùng nguồn cao (Thí dụ IC 7407) để thực giao tiếp (H 3.34) (H 3.33) (H 3.34) 3.6.2 CMOS thúc TTL - CMOS thúc TTL trạng thái cao: Nguyễn Trung Lập KỸ THUẬT SỐ (58) Chương Cổng logic III - 20 Bảng 3.4 cho thấy điện và dòng điện mức cao CMOS đủ để cấp cho TTL Vậy không có vấn đề trạng thái cao - CMOS thúc TTL trạng thái thấp: Dòng điện vào trạng thái thấp TTL thay đổi khoảng từ 100 μA đến mA Hai loạt 74HC và 74HCT có thể nhận dòng mA Vậy hai loạt này có thể giao tiếp với IC TTL mà không có vấn đề Tuy nhiên, với loạt 4000B, IOL nhỏ không đủ để giao tiếp với IC TTL, người ta phải dùng cổng đệm để nâng dòng tải loạt 4000B trước thúc vài IC 74LS (H 3.35) - CMOS dùng nguồn cao thúc TTL: Có số IC loạt 74LS chế tạo đặc biệt có thể nhận điện ngã vào cao khoảng 15V có thể thúc trực tiếp CMOS dùng nguồn cao, nhiên đa số IC TTL không có tính chất này, để có thể giao tiếp với CMOS dùng nguồn cao, người ta phải dùng cổng đệm để hạ điện xuống cho phù hợp với IC TTL (H 3.36) (H 3.35) (H 3.36) Vài thí dụ dùng cổng thiết kế mạch Dùng cổng NAND ngã vào thiết kế mạch tạo hàm Y = f(A,B,C) =1 thỏa các điều kiện sau: a A=0, B=1 và C=1 b A=1, B=1 bất chấp C Giải Dự vào điều kiện bài toán ta có bảng thật hàm Y A 0 0 1 1 B 0 1 0 1 C 1 1 Y 0 0 1 Rút gọn hàm: Nguyễn Trung Lập KỸ THUẬT SỐ (59) Chương Cổng logic III - 21 Y =AB+BC (H 3.37) Để dùng tòan cổng NAND tạo hàm, ta dùng định lý De Morgan, biến đổi hàm Y: Y = Y = AB + BC = AB BC Và mạch có dạng (H 3.37) Cho mạch (H P3.38) a./ Viết biểu thức hàm Y theo các biến A,B,C b./ Rút gọn hàm logic này c./ Thay mạch trên mạch gồm cổng NAND ngã vào Giải a./ Ta có Y = A B.C + A B.C + A BD b./ Rút gọn Y= A B.C + A B.C + A BD = B.C(A + A) + A BD = B.C + A BD = B( C + A D) c./ Vẽ mạch thay dùng cổng NAND ngã vào Trước ta vẽ mạch tương ứng hàm rút gọn, sau đó dùng biến đổi cổng (H P3.39) ””” Nguyễn Trung Lập KỸ THUẬT SỐ (60) Chương Cổng logic III - 22 BÀI TẬP Thiết kế mạch thực các hàm sau đây dùng toàn cổng NAND ngã vào: a./ f(A,B,C) = (ABC)2 là số chẵn b./ f(A,B,C) = có ít biến = c./ f(A,B,C) = số nhị phân (ABC)2 > d./ f(A,B,C) = số biến có giá trị là số chẵn e./ f(A,B,C) = có và biến = Thiết kế mạch gồm ngã vào D, E và ngã P, C thỏa các điều kiện sau đây: - Nếu E = D = ⇒ P = 1, C = - Nếu E = D = ⇒ P = 0, C = - Nếu E = D ⇒ P = 1, C = Hàm logic F(A, B, C) thỏa tính chất sau đây : F(A,B,C) = có và biến a- Lập bảng thật cho hàm F b- Vẽ mạch logic tạo hàm F Thiết Kế mạch tạo hàm Y = A B.C + A B.C + A BC các cổng NAND ngã vào Hàm F(A,B,C) xác đinh bảng thật A 0 0 1 1 B 0 1 0 1 C 1 1 F 0 1 1 a- Dùng đồ Karnaugh rút gọn hàm F b- Vẽ sơ đồ mạch logic thực hàm F c- Vẽ lại mạch dùng cổng NOR hai ngã vào Rút gọn hàm logic : f(A,B,C,D) = Σ(0,1, 2, 4, 5, 8), A = MSB Hàm không xác định với các tổ hợp biến (3, 7,10) Dùng số cổng NOR ít để thực mạch tạo hàm trên Hàm f(A,B,C) =1 số biến = là số chẵn - Viết biểu thức logic hàm f(A,B,C) theo tổ hợp biến A,B,C - Dùng các cổng EX-OR để thực mạch tạo hàm trên Một mạch tổ hợp nhận vào số nhị phân A=A3A2A1A0 (A0 là LSB) tạo ngã Y mức cao và 0010<A<1000 Hãy thiết kế mạch với: a) Cấu trúc NAND-NAND b) Toàn cổng NAND ngã vào Nguyễn Trung Lập KỸ THUẬT SỐ (61) Chương Cổng logic III - 23 Một mạch tổ hợp nhận vào số BCD, có tên là X Ngã mạch lên thỏa điều kiện 110 ≤ X ≤510 Hãy thiết kế mạch tổ hợp trên, dùng toàn cổng NAND ngã vào 10 Hàm f(A,B,C,D) =1 có ít biến = - Viết biểu thức logic hàm f(A,B,C,D) theo tổ hợp biến A,B,C,D - Dùng các cổng NAND ngã vào (số cổng ít nhất) để thực mạch tạo hàm trên Nguyễn Trung Lập KỸ THUẬT SỐ (62) Chương Mạch tổ hợp IV - CHƯƠNG 4: MẠCH TỔ HỢP ” MẠCH Mà HÓA Mạch mã hóa đường sang n đường Mạch tạo mã BCD cho số thập phân ” MẠCH GIẢI Mà Mạch giải mã n đường sang 2n đường Mạch giải mã BCD sang đoạn ” MẠCH ĐA HỢP VÀ GIẢI ĐA HỢP Khái niệm Mạch đa hợp Ứng dụng mạch đa hợp Mạch giải đa hợp ” MẠCH SO SÁNH Mạch so sánh hai số bit Mạch so sánh hai số nhiều bit ” MẠCH KIÊM / PHÁT CHẴN LẺ Mạch phát chẵn lẻ Mạch kiểm chẵn lẻ _ n Các mạch số chia làm hai loại: Mạch tổ hợp và Mạch - Mạch tổ hợp: Trạng thái ngã phụ thuộc vào tổ hợp các ngã vào tổ hợp này đã ổn định Ngã Q mạch tổ hợp là hàm logic các biến ngã vào A, B, C Q = f(A,B,C ) - Mạch : Trạng thái ngã không phụ thuộc vào tổ hợp các ngã vào mà còn phụ thuộc trạng thái ngã trước đó Ta nói mạch có tính nhớ Ngã Q+ mạch là hàm logic các biến ngã vào A, B, C và ngã Q trước đó Q+ = f(Q,A,B,C ) Chương này nghiên cứu số mạch tổ hợp thông dụng thông qua việc thiết kế số mạch đơn giản và khảo sát số IC trên thực tế 4.1 MẠCH Mà HÓA Mã hóa là gán các ký hiệu cho các đối tượng tập hợp để thuận tiện cho việc thực yêu cầu cụ thể nào đó Thí dụ mã BCD gán số nhị phân bit cho số mã số thập phân (từ đến 9) để thuận tiện cho máy đọc số có nhiều số mã; mã Gray dùng tiện lợi việc tối giản các hàm logic Mạch chuyển từ mã này sang mã khác gọi là mạch chuyển mã, xếp vào loại mạch mã hóa Thí dụ mạch chuyển số nhị phân bit sang số Gray là mạch chuyển mã _ Nguyễn Trung Lập KỸ THUẬT SỐ (63) Chương Mạch tổ hợp IV - 4.1.1 Mạch mã hóa 2n đường sang n đường Một số nhị phân n bit cho 2n tổ hợp số khác Vậy ta có thể dùng số n bit để mã cho 2n ngã vào khác nhau, có ngã vào chọn cách đưa nó lên mức tác động, ngã báo số nhị phân tương ứng Đó là mạch mã hóa 2n đường sang n đường (H 4.1) là mô hình mạch mã hóa 2n đường sang n đường - (H 4.1a) là mạch có ngã vào và tác động cao : Khi các ngã vào mức thấp, mạch chưa hoạt động, các ngã mức thấp Khi có ngã vào tác động cách ấn khóa K tương ứng để đưa ngã vào đó lên mức cao, các ngã cho số nhị phân tương ứng - (H 4.1b) là mạch có ngã vào và tác động thấp Hoạt động tương tự mạch trên có mức tác động ngược lại (trong mô hình (H 4.1b) ký hiệu dấu o ngã để mức tác động thấp, còn ngã vào không có dấu o vì là mạch thật) Trong trường hợp ngã có mức tác động thấp, muốn đọc đúng số nhị phân ngã ra, ta phải đảo các bit để đọc (a) (b) (H 4.1) Dĩ nhiên, người ta có thể thiết kế theo kiểu ngã vào tác động thấp và ngã tác động cao hay ngược lại Trên thực tế, ta có thể có loại ngã vào hay tác động theo kiểu nào (mức cao hay thấp) Ngoài ra, để tránh trường hợp mạch cho mã sai người sử dụng vô tình (hay cố ý) tác động đồng thời vào hai hay nhiều ngã vào, người ta thiết kế các mạch mã hóa ưu tiên: là mạch cho mã có tính ưu tiên có nhiều ngã vào cùng tác động 4.1.1.1 Mã hóa ưu tiên đường sang đường Thiết kế mạch mã hóa đường sang đường, ưu tiên cho mã có trị cao, ngã vào và tác động cao Bảng thật và sơ đồ mạch (H 4.2) 1 A1 A0 _ Nguyễn Trung Lập KỸ THUẬT SỐ (64) Chương Mạch tổ hợp IV - x x x x x x 1 1 0 Bảng 4.1 Nhận thấy biến bảng thật không ảnh hưởng đến kết nên ta vẽ bảng Karnaugh cho biến 1, và Lưu ý là bảng thật có các trường hợp bất chấp biến nên ứng với trị riêng hàm ta có thể có đến số bảng Karnaugh Thí dụ với trị hàm A1 và A0 dòng cuối cùng đưa đến số các ô 001, 011, 101 và 111 biến 123 Từ bảng Karnaugh, ta có kết và mạch tương ứng Trong mạch không có ngã vào 0, điều này hiểu là mạch báo số không tác động vào ngã vào nào (H 4.2) 4.1.1.2 Mã hóa đường sang đường Chúng ta khảo sát IC mã hóa đường sang đường Trên thực tế chế tạo IC, ngoài các ngã vào/ra để thực chức chính nó, người ta thường dự trù thêm các ngã vào và cho số chức khác cho phép, nối mạch để mở rộng hoạt động IC IC 74148 là IC mã hóa ưu tiên đường sang đường, vào/ tác động thấp, có các ngã nối mạch để mở rộng mã hóa với số ngã vào nhiều Dưới đây là bảng thật IC 74148, đó Ei ngã vào nối mạch và cho phép, Eo là ngã nối mạch và Gs dùng để mở rộng cho số nhị phân Dựa vào bảng thật, ta thấy IC làm việc theo 10 trạng thái: - Các trạng thái từ đến 7: IC mã hóa cho số bit - Các trạng thái và 9: dùng cho việc mở rộng, giải thích rõ nối IC để mở rộng mã hóa cho số bit Trạng thái Ei x x 1 x 0 Ngã vào x x x x x x 1 1 1 x x x x x x A2 Ngã A1 A0 Gs Eo 1 0 0 1 0 1 1 0 0 1 1 1 1 _ Nguyễn Trung Lập KỸ THUẬT SỐ (65) Chương Mạch tổ hợp IV - 0 0 x x x x x x 1 x x x x x x x x x x x x 1 x x 1 x 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 Bảng 4.2 (H 4.3) là cách nối IC để thực mã hóa 16 đường sang đường (H 4.3) - IC2 có Ei = nên hoạt động theo các trạng thái từ đến 8, nghĩa là mã hóa từ đến cho các ngã A2A1A0 - IC1 có Ei nối với Eo IC2 nên IC1 hoạt động tất ngã vào liệu IC2 lên mức (IC2 hoạt động trạng thái 8) * Để mã hóa các số từ đến 7, cho các ngã vào đến 15 (tức các ngã vào liệu IC2) lên mức 1, IC2 hoạt động trạng thái Lúc đó Ei1 = Eo2 = 0: kết là IC1 hoạt động trạng thái từ đến 7, cho phép tạo mã các số từ đến (từ 111 đến 000) và IC2 hoạt động trạng thái nên các ngã (A2A1A0)2= 111, đây là điều kiện mở các cổng AND mã số là B2B1B0 = A2A1A0 IC1, lúc đó B3 = Gs2 = 1, ta kết từ 1111 đến 1000, tức từ đến (tác động thấp) Thí dụ để mã số , đưa ngã vào xuống mức 0, các ngã vào từ đến 15 lên mức 1, bất chấp các ngã vào từ đến 3, mã số là B3B2B1B0=Gs2B2B1B0=1011, tức số * Để mã hóa các số từ đến 15, cho IC2 hoạt động trạng thái từ đến (đưa ngã vào ứng với số muốn mã xuống thấp, các ngã vào cao lên mức và các ngã vào thấp xuống mức 0), bất chấp các ngã vào liệu IC1 (cho IC1 hoạt động trạng thái 9), nên các ngã (A2A1A0)1=111, đây là điều kiện mở các cổng AND mã số là B2B1B0= _ Nguyễn Trung Lập KỸ THUẬT SỐ (66) Chương Mạch tổ hợp IV - A2A1A0 IC2, , lúc đó B3 = Gs2 = 0, ta kết từ 0111 đến 0000, tức từ đến 15 Thí dụ để mã số 14, đưa ngã vào 14 xuống mức 0, đưa ngã vào 15 lên mức 1, bất chấp các ngã vào từ đến 13, mã số là B3B2B1B0 = Gs2B2B1B0 = 0001, tức số 14 Muốn có ngã số nhị phân đúng với ngã vào tác động mà không phải đảo các bit ta có thể thay các cổng AND cổng NAND 4.1.2 Mạch tạo mã BCD cho số thập phân Mạch gồm 10 ngã vào tượng trưng cho 10 số thập phân và ngã là bit số BCD Khi ngã vào (tượng trưng cho số thập phân) tác động cách đưa lên mức cao các ngã cho số BCD tương ứng Bảng thật mạch: Trạng thái các ngã vào 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 Mã số A3 A2 A1 A0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 Bảng 4.3 Không cần bảng Karnaugh ta có thể viết các hàm xác định các ngã ra: A0 = + + + + A1 = + + + A2 = + + + A3 = + Mạch cho (H 4.4) _ Nguyễn Trung Lập KỸ THUẬT SỐ (67) Chương Mạch tổ hợp IV - (H 4.4) Để tạo mã BCD ưu tiên cho số lớn, ta viết lại bảng thật và dùng phương pháp đại số để đơn giản các hàm xác định các ngã A3 , A2 , A1 , A0 Trạng thái các ngã vào 0 0 0 0 0 0 0 x 0 0 0 x x 0 0 0 x x 0 0 x x x 0 0 x x x x 0 x x x x x 0 x x x x x x x x x x x x x x x x x x x x x 0 x x x x x x x Mã số A3 A2 A1 A0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 Bảng 4.4 A = 9.8 + = + A = 7.8.9 + 6.7.8.9 + 5.6.7.8.9 + 4.5.6.7.8.9 = (7 + 6.7 + 5.6.7 + 4.5.6.7)8.9 A = (7 + + + 4)8.9 = (7 + + + 4)(8 + 9) A = 7.8.9 + 6.7.8.9 + 3.4.5.6.7.8.9 + 2.3.4.5.6.7.8.9 = (7 + 6.7 + 3.4.5.6.7 + 2.3.4.5.6.7)8.9 A = (7 + + 3.4.5 + 2.3.4.5)8.9 = (7 + + 3.4.5 + 2.4.5)( + 9) A = + 7.8.9 + 5.6.7.8.9 + 3.4.5.6.7.8.9 + 1.2.3.4.5.6.7.8.9 _ Nguyễn Trung Lập KỸ THUẬT SỐ (68) Chương Mạch tổ hợp IV - = + ( + 5.6.7 + 3.4.5.6.7 + 1.2.3.4.5.6.7)8.9 A = + (7 + 5.6 + 3.4.6 + 1.2.4.6)8.9 = + (7 + 5.6 + 3.4.6 + 1.2.4.6)( + 9) Mạch cho (H 4.5) (H 4.5) 4.1.3 Mạch chuyển mã Mạch chuyển từ mã này sang mã khác thuộc loại mã hóa DMạch chuyển mã nhị phân sang Gray Thử thiết kế mạch chuyển từ mã nhị phân sang mã Gray số bit Trước tiên viết bảng thật số nhị phân và số Gray tương ứng Các số nhị phân là các biến và các số Gray là hàm các biến đó _ Nguyễn Trung Lập KỸ THUẬT SỐ (69) Chương Mạch tổ hợp IV - A B C D → X Y Z T 0 0 → 0 → 0 1 → 0 → 1 → 1 → 1 → 0 → 1 0 → 1 → 1 1 → 1 → 1 → 1 → 0 → 0 → Bảng 4.5 Dùng bảng Karnaugh để xác định X, Y, Z, T theo A, B, C, D Quan sát bảng thật ta thấy ngay: X = A, Vậy cần lập bảng Karnaugh cho các biến Y, Z, T (H 4.6 a,b,c) và kết cho (H 4.6 d) 0 0 0 0 1 1 1 1 (a) 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 (b) (c) (H 4.6 ) (d) _ Nguyễn Trung Lập KỸ THUẬT SỐ (70) Chương Mạch tổ hợp IV - 4.2 MẠCH GIẢI Mà 4.2.1 Giải mã n đường sang 2n đường 4.2.1.1 Giải mã đường sang đường: Thiết kế mạch Giải mã đường sang đường có ngã vào cho phép (cũng dùng để nối mạch) Để đơn giản, ta xét mạch giải mã đường sang đường có các ngã vào và tác động cao Bảng thật, các hàm ngã và sơ đồ mạch: G Vào A1 A0 Y0 R a Y1 Y2 Y3 1 1 x 0 1 x 1 0 0 0 0 0 0 Y0 = G.A A Y1 = G.A 1A Y2 = G.A A Y3 = G.A 1A 00 (H 4.7) 4.2.1.2 Giải mã đường sang đường Dùng mạch giải mã đường sang đường để thực mạch giải mã đường sang đường (H 4.8) A2 Vào A1 A0 Y0 Y1 Y2 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 Y3 R a Y4 Y5 Y6 Y7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 _ Nguyễn Trung Lập KỸ THUẬT SỐ (71) Chương Mạch tổ hợp IV - 10 Quan sát bảng thật ta thấy: Trong các tổ hợp số bit có nhóm đó các bit thấp A1A0 hoàn toàn giống nhau, nhóm có bit A2 = và nhóm có A2 = Như ta có thể dùng ngã vào G cho bit A2 và mắc mạch sau (H 4.8) Khi A2=G=0, IC1 giải mã cho ngã thấp và A2=G=1, IC2 giải mã cho ngã cao Trên thị trường có các loại IC giải mã như: - 74139 là IC chứa mạch giải mã đường sang đường, có ngã vào tác động cao, các ngã tác động thấp, ngã vào cho phép tác động thấp - 74138 là IC giải mã đường sang đường có ngã vào tác động cao, các ngã tác động thấp, hai ngã vào cho phép G2A và G2B tác động thấp, G1 tác động cao - 74154 là IC giải mã đường sang 16 đường có ngã vào tác động cao, các ngã tác động thấp, ngã vào cho phép E1 và E2 tác động thấp Dưới đây là bảng thật IC 74138 và cách nối IC để mở rộng mạch giải mã lên đường sang 16 đường (H 4.9) Vào Ra Ch phép Dữ o liệu G1 G2 C B A Y0 Y1 Y2 Y3 H H H x x x H H x H H H x x x H x L H H H L L L L L H H H L L L H H L H H L H L H L H L H L H H L H H H L H H H H H L L H L H H H H H L H H L H H H H H H L H L H H H H H H H H L H Ghi chú G2 =G2A+G2B , H = 1, L =0, x: bất chấp Y4 H H H H H H L H H H Y5 H H H H H H H L H H Y6 H H H H H H H H L H Y7 H H H H H H H H H L _ Nguyễn Trung Lập KỸ THUẬT SỐ (72) Chương Mạch tổ hợp IV - 11 (H 4.9) Một ứng dụng quan trọng mạch giải mã là dùng giải mã địa cho nhớ bán dẫn Ngoài ra, mạch giải mã kết hợp với cổng OR có thể tạo hàm logic Thí dụ, thiết kế mạch tạo hàm Y=f(A,B,C)= A BC + A BC + A BC + ABC Với hàm biến, ta dùng mạch giải mã đường sang đường ngã mạch giải mã tương ứng với tổ hợp biến biến, các ngã tương ứng với các tổ hợp biến có hàm lên mức Với hàm đã viết dạng tổng chuẩn, ta cần dùng cổng OR có số ngã vào với số tổ hợp biến hàm nối vào các ngã tương ứng mạch giải mã để cộng các tổ hợp biến có hàm lại ta hàm cần tạo Như vậy, mạch tạo hàm trên có dạng (H 4.10) (H 4.10) Dĩ nhiên, với hàm chưa phải dạng tổng chuẩn, chúng ta phải chuẩn hóa Và bài toán có yêu cầu ta phải thực việc đổi cổng, cách dùng định lý De Morgan 4.2.2 Giải mã BCD sang đọan 4.2.2.1 Đèn đọan Đây là lọai đèn dùng hiển thị các số từ đến 9, đèn gồm đọan a, b, c, d, e, f, g, bên đọan là led (đèn nhỏ) nhóm led mắc song song (đèn lớn) Qui ước các đọan cho (H 4.11) (H 4.11) Khi tổ hợp các đọan cháy sáng tạo số thập phân từ - _ Nguyễn Trung Lập KỸ THUẬT SỐ (73) Chương Mạch tổ hợp IV - 12 (H 4.12) cho thấy các đoạn nào cháy để thể các số từ đến (H 4.12) Đèn đoạn hiển thị số chữ cái và số ký hiệu đặc biệt Có hai loại đèn đoạn: - Loại catod chung (H 4.13a), dùng cho mạch giải mã có ngã tác động cao - Loại anod chung (H 4.13b), dùng cho mạch giải mã có ngã tác động thấp (a) (H 4.13) (b) 4.2.2.2 Mạch giải mã BCD sang đoạn : Mạch có ngã vào cho số BCD và ngã thích ứng với các ngã vào a, b, c, d, e, f, g led đọan, cho các đọan cháy sáng tạo số thập phân đúng với mã BCD ngã vào Bảng thật mạch giải mã đoạn, có ngã tác động thấp: Số TP D 0 0 0 0 1 Ngã vào C B 0 0 1 0 1 1 1 0 0 A 1 1 a b 0 0 0 1 0 0 0 Bảng 4.6 c 0 0 0 0 Ngã d e 0 1 0 1 1 0 1 0 f 1 0 0 g 1 0 0 0 Dùng Bảng Karnaugh có thể đơn giản trực tiếp với các hàm chứa ít tổ hợp, ta có kết quả: _ Nguyễn Trung Lập KỸ THUẬT SỐ (74) Chương Mạch tổ hợp IV - 13 a = D B(CA + CA) b = CBA + CBA c = D CBA d = D CBA + CBA + CBA e = A + CB f = CB + BA + D CA g = D CB + CBA Từ các kết ta có thể vẽ mạch giải mã đoạn dùng các cổng logic Hai IC thông dụng dùng để giải mã BCD sang đọan là: - CD 4511 (loại CMOS, ngã tác động cao và có đệm) - 7447 (loại TTL, ngã tác động thấp, cực thu để hở) Chúng ta khảo sát IC giải mã BCD sang đoạn : IC 7447 Bảng thật 7447: Vào Sô / Hàm LT RB I x x x x x x x x x x x x x x x x x D Ra C B A BI (1) a b c d e f g RBO 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1 0 1 0 10 1 1 1 0 11 1 1 1 0 1 12 1 0 1 1 0 13 1 1 1 1 0 14 1 1 1 1 0 0 15 1 1 1 1 1 1 (2) x x x x x 1 1 1 (3) 0 0 1 1 1 (4) x x x x 0 0 0 Ghi chú: BI/RBO nối theo kiểu điểm AND bên IC và dùng ngã vào xóa (Blanking Input, BI) và/hoặc ngã xóa dợn sóng (Ripple Blanking Output, RBO) Ngã vào BI phải để hở hay giữ mức cao cần thực giải mã cho số Ngã vào xóa dợn sóng (Ripple Blanking Input, RBI) phải để hở hay mức cao muốn đọc số _ Nguyễn Trung Lập KỸ THUẬT SỐ (75) Chương Mạch tổ hợp IV - 14 Khi đưa ngã vào BI xuống thấp, ngã lên (không tác động) bất chấp các ngã vào còn lại Ta nói IC làm việc điều kiện bị ép buộc và đây là trường hợp BI giữ vai trò ngã vào Khi ngã vào RBI mức và A=B=C=D=0, tất các ngã kể RBO xuống Ta nói IC làm việc điều kiện đáp ứng Khi BI/RBO để hở hay giữ mức và ngã vào thử đèn (Lamp test, LT) xuống 0, tất các led cháy (ngã xuống 0) Dựa vào bảng thật và các ghi chú 7447 là IC giải mã BCD sang đọan có đầy đủ các chức khác : thử đèn, xóa số nó không có nghĩa Ta có thể hiểu rõ chức này với thí dụ mạch hiển thị kết có chữ số sau đây: (H 4.14) (H 4.14) Vận hành mạch có thể giải thích sau: - IC hàng đơn vị có ngã vào RBI đưa lên mức cao nên đèn số hàng đơn vị luôn luôn hiển thị (dòng bảng thật), điều này là cần thiết để xác nhận mạch chạy và kết giải mã là số - IC hàng chục có ngã vào RBI nối với ngã RBO IC hàng trăm nên số hàng chục hiển thị số hàng trăm khác (RBO=1) (dòng đến 15) - IC hàng trăm có ngã vào RBI đưa xuống mức thấp nên số hàng trăm luôn luôn tắt (dòng ghi chú 3) 4.2.2.3 Hiển thị đoạn tinh thể lỏng (liquid crystal displays, LCD) LCD gồm đoạn led thường và có chung cực (backplane) Khi có tín hiệu xoay chiều biên độ khoảng - 15 VRMS và tần số khoảng 25 - 60 Hz áp đoạn và cực nền, thì đoạn đó tác động và sáng lên Trên thực tế người ta tạo hai tín hiệu nghịch pha và đoạn để tác động cho đoạn đó cháy Để hiểu cách vận chuyển ta có thể dùng IC 4511 kết hợp với các cổng EX-OR để thúc LCD (H 4.15) Các ngã IC 4511 (Giải mã BCD sang đoạn, tác động cao) nối vào các ngã vào các cổng EX-OR, ngã vào còn lại nối với tín hiệu hình vuông tần số khoảng 40 Hz (tần số thấp có thể gây nhấp nháy), tín hiệu này đồng thời đưa vào Khi ngã mạch giải mã lên cao, ngã cổng EX-OR cho tín hiệu đảo pha với tín hiệu nền, đoạn tương ứng xem nhận tín hiệu có biên độ gấp đôi và sáng lên Với các ngã mạch giải mã mức thấp, ngã cổng EX-OR cho tín hiệu cùng pha với tín hiệu nên đoạn tương ứng không sáng _ Nguyễn Trung Lập KỸ THUẬT SỐ (76) Chương Mạch tổ hợp IV - 15 Người ta thường dùng IC CMOS để thúc LCD vì hai lý do: - CMOS tiêu thụ lượng thấp phù hợp với việc dùng pin cho các thiết bị dùng LCD - Mức thấp CMOS đạt trị và tín hiệu thúc LCD không chứa thành phần chiều, tuổi thọ LCD kéo dài (Mức thấp TTL khoảng 0,4 V, thành phần DC này làm giảm tuổi thọ LCD) (H 4.15) 4.3 MẠCH ĐA HỢP VÀ MẠCH GIẢI ĐA HỢP 4.3.1.Khái niệm Trong truyền liệu, để tiết kiệm đường truyền, người ta dùng đường dây để truyền nhiều kênh liệu, phải thực viêc chọn nguồn liệu nào các nguồn khác để truyền Mạch đa hợp hay còn gọi là mạch chọn liệu làm công việc này Ở nơi thu, liệu nhận phải chuyển tới các đích khác nhau, ta cần mạch phân bố liệu hay giải đa hợp (H 4.16) (H 4.16) 4.3.2 Mạch đa hợp Còn gọi là mạch chọn liệu, gồm 2n ngã vào liệu, n ngã vào địa (hay điều khiển) và ngã Khi có địa tác động liệu ngã vào tương ứng với địa đó chọn - Thiết kế mạch đa hợp 4→1 Mạch có ngã vào liệu D0 D3, ngã vào điều khiển AB và ngã Y _ Nguyễn Trung Lập KỸ THUẬT SỐ (77) Chương Mạch tổ hợp IV - 16 Bảng thật: A B 0 1 1 Tư bảng thật ta có hàm Y sau: Y = A BD + ABD + A BD + ABD Và mạch có dạng (H 4.17) Y D0 D1 D2 D3 (H 4.17) Nếu chịu khó quan sát ta thấy mạch đa hợp 4→1 có thể thiết kế từ mạch giải mã đường sang đường đó ngã vào cho phép G đã tách riêng để làm ngã vào liệu (D0 D3) và ngã vào liệu mạch giải mã đã trở thành ngã vào điều khiển mạch đa hợp (A, B) (H 4.18) là ký hiệu mạch đa hợp với ngã vào liệu, ngã vào điều khiển và ngã ra, ta gọi là đa hợp → Bảng thật: A B C 0 0 1 0 1 0 1 1 1 Y D0 D1 D2 D3 D4 D5 D6 D7 (H 4.18) Một đa hợp → có ngã Y quan hệ với các ngã vào liệu và điều khiển theo hàm : Y = A B.CD + A B.CD + ABCD + ABCD + A B.CD + A BCD + ABCD + ABCD 4.3.3 Ứng dung mạch đa hợp Ngoài chức chọn liệu mạch đa hợp còn dùng để: _ Nguyễn Trung Lập KỸ THUẬT SỐ (78) Chương Mạch tổ hợp IV - 17 4.3.3.1 Biến chuỗi liệu song song thành nối tiếp: Một mạch đa hợp kết hợp với mạch đếm biến chuỗi liệu song song ngã vào thành chuỗi liệu nối tiếp ngã (H 4.19) (H 4.19) 4.3.3.2 Tạo chuỗi xung tuần hoàn : Nếu cho liệu vào tuần hoàn, liệu nối tiếp tuần hoàn, cần đặt trước các ngã vào thay đổi theo chu kỳ nào đó ta chuỗi xung tuần hoàn ngã 4.3.3.3 Tạo hàm: Một đa hợp 2n → có thể tạo hàm n biến cách cho các biến vào ngã vào điều khiển và cho trị riêng hàm vào các ngã vào liệu Thí dụ: Để tạo hàm biến đa hợp 8→1 ta viết lại biểu thức đa hợp Y = A B.CD + A B.CD + ABCD + ABCD + A B.CD + A BCD + ABCD + ABCD So sánh với biểu thức hàm viết dạng triển khai theo định lý Shanon thứ f(A, B, C) = A.B.Cf(0,0,0) + A.B.Cf(0,0,1) + ABCf(0,1,0) + ABCf(0,1,1) + A B.Cf(1,0,0) + A BCf(1,0,1) + ABCf(1,1,0) + ABCf(1,1,1) Ta kết quả: D0 = f(0,0,0) ; D1 = f(0,0,1) , D6 = f(1,1,0) và D7 = f(1,1,1) Thí dụ: Tạo hàm: Y = f(A, B,C) = A B.C + A BC + A BC + A BC + ABC Ta thấy D0=D2=D3=D5=D7=1 nên các ngã vào này nối lên nguồn, các ngã vào còn lại D1=D4=D6=0 nên đưa xuống mass (H 4.20) (H 4.20) _ Nguyễn Trung Lập KỸ THUẬT SỐ (79) Chương Mạch tổ hợp IV - 18 Một đa hợp 2n → kết hợp với cổng NOT có thể tạo hàm (n+1) biến Thí dụ : Tạo hàm F1 = A B + ABC + BC + AC dùng đa hợp → và cổng NOT Giải Đa hợp sang thực hàm: Chuẩn hóa hàm F1 : Để Y = F1 ta phải có: Y = A BD + A BD + A BD + ABD F1 = A BC + ABC + A BC + A BC + ABC D = C;D = C; D = 1;D = C (H 4.21) Trên thực tế, ta có đủ các loại mạch đa hợp từ → (IC 74157), → (IC 74153), → (IC 74151) và 16 → (74150) Ngoài ra, để chọn liệu là các nguồn tín hiệu tương tự, ta có các đa hợp tương tự với tên gọi khóa tương tự (analog switch), chế tạo theo công nghệ MOS IC 4051 (8 kênh) IC 4053 (2 kênh) Cũng có loại khóa sử dụng cho tín hiệu tương tự và số (bilateral switches) IC 4016, IC 4066, mà sinh viên có thể tìm hiểu, sử dụng dễ dàng có bảng tra kỹ thuật 4.3.4 Mạch giải đa hợp Mạch giải đa hợp thực chất là mạch giải mã đó ngã vào cho phép trở thành ngã vào liệu và ngã vào tổ hợp số nhị phân trở thành ngã vào địa Trên thị trường, người ta chế tạo mạch giải mã và giải đa hợp chung IC, tùy theo điều kiện mà sử dụng Thí dụ IC 74138 là IC Giải mã sang đường đồng thời là mạch giải đa hợp → Khi sử dụng IC 74138 làm mạch giải đa hợp, người ta dùng ngã vào cho phép làm ngã vào liệu và các ngã vào số nhị phân làm ngã vào địa (H 4.22a) là IC 74138 dùng giải đa hợp với ngã vào liệu là G 2A (H 4.22b) là dạng liệu vào G 2A và Y0 (vì CBA=000), các ngã khác ( Y1 − Y7 ) mức cao (a) (H 4.22) (b) _ Nguyễn Trung Lập KỸ THUẬT SỐ (80) Chương Mạch tổ hợp IV - 19 4.4 MẠCH SO SÁNH 4.4.1 Mạch so sánh số bit Trước tiên ta thiết kế mạch so sánh hai số bit Bảng thật mạch so sánh bit có ngã vào cho phép (nối mạch) G : G 1 1 a x 0 1 b x 1 S (a>b) 0 Bảng 4.7 I (a<b) 0 0 E (a=b) 0 (H 4.23) Từ mạch so sánh bit ta có thể mở rộng để so sánh nhiều bit 4.4.2 Mạch so sánh số nhiều bit Để so sánh số nhiều bit, trước tiên người ta so sánh bit cao (MSB), kết lớn nhỏ bit này định, bit MSB người ta so sánh bit có trọng số thấp và kết định theo cách tương tự bit MSB Sự so sánh lặp lại bit LSB để kết cuối cùng Dưới đây là sơ đồ mạch so sánh bit (H 4.24) (H 4.24) _ Nguyễn Trung Lập KỸ THUẬT SỐ (81) Chương Mạch tổ hợp IV - 20 - IC so sánh bit cao (a3 & b3) nên ngã vào cho phép đưa lên mức cao, kết nhau, ngã E nó lên cao, cho phép IC so sánh, kết lại nhau, ngã E IC lên cao cho phép IC so sánh, kết cuối cùng ngã E IC - Các ngã vào cổng OR nhận tín hiệu từ các ngã S (hoặc I) cho kết lớn (hoặc nhỏ hơn) tùy vào kết so sánh bit nào Thật có kết lớn (hoặc nhỏ hơn) thì S (hoặc I) IC lên cao, các ngã E và I (hoặc S) các IC khác 0, đây là điều kiện mở cổng OR kết so sánh xuất các cổng OR này Trên thị trường có sẵn loại IC so sánh bit 7485 có ngã nối mạch để mở rộng việc so sánh cho số nhiều bit Bảng thật IC 7485 Trạng thái 10 11 Ngã vào so sánh Vào nối mạch A3,B3 A2,B2 A1,B1 A0,B0 A’>B’ A’<B’ A’=B’ A>B x A3>B3 x x x x x x x x x x x A3< x x A2>B2 x x x B3 x x x x x A3= A2< x x A1>B1 x x B3 B2 x x x x A3= A2= A1< x x A0>B0 x B3 B2 B1 x x x A3= A2= A1= A0< 0 B3 B2 B1 B0 0 A3= A2= A1= A0= 0 B3 B2 B1 B0 A3= A2= A1= A0= B3 B2 B1 B0 A3= A2= A1= A0= B3 B2 B1 B0 A3= A2= A1= B3 B2 B1 A3= A2= B3 B2 A3= B3 Bảng 4.8 A<B A=B 0 0 0 0 1 0 0 Dựa vào bảng thật, ta thấy: - Khi dùng IC 7485 để so sánh số bit ta phải giữ ngã vào nối mạch A’=B’ mức cao, hai ngã vào nối mạch còn lại mức thấp, IC thể kết trạng thái - Khi so sánh số nhiều bit ta phải dùng nhiều IC 7485 và nối ngã IC so sánh bit thấp vào ngã vào nối mạch tương ứng các IC so sánh các bit cao và IC so sánh các bit thấp có ngã vào nối mạch mắc dùng riêng lẻ Để đọc kết so sánh ta phải quan tâm tới các trạng thái 9, 10 và 11 bảng thật (H 4.25) cho ta cách mắc IC 7485 để so sánh số nhị phân bit: _ Nguyễn Trung Lập KỸ THUẬT SỐ (82) Chương Mạch tổ hợp IV - 21 (H 4.25) Thí dụ : a So sánh hai số A7 A0 = 10101111 và B7 B0 = 10110001 IC so sánh các bit cao A7 A4 = 1010 và B7 B4 =1011 có A7= B7 , A6= B6 , A5= B5 và A4<B4 cho ngã A<B = bất chấp trạng thái các ngã vào nối mạch (trạng thái 8) Điều này có nghĩa là IC so sánh bit cao thấy có kết khác số bit cao thì không quan tâm tới kết bit thấp b So sánh hai số A7 A0 = 10101111 và B7 B0 = 10101001 Trong trường hợp này kết hai số bit cao nên IC nhìn vào ngã vào nối mạch để xem kết so sánh IC1 (so sánh bit thấp), A3A2A1A0 =1111>B3B2B1B0 = 1001 nên ngã A>B = để kết so sánh số bit (trạng thái 10) 4.5 MẠCH KIỂM / PHÁT CHẴN LẺ Do yêu cầu kiểm sai truyền liệu, người ta có phương pháp kiểm tra chẵn lẻ Trong phương pháp này, ngoài các bit liệu, người ta thêm vào bit kiểm tra cho tổng số bit kể bit kiểm tra là số chẵn (KT chẵn) lẻ (KT lẻ) 1 0 1 ← Bit chẵn lẻ thêm vào (KT lẻ) 1 0 1 ← Bit chẵn lẻ thêm vào (KT chẵn) Ở nơi thu, mạch kiểm tra chẵn lẻ kiểm tra lại số số có trên tất các bit để biết dòng liệu nhận đúng hay sai Với phương pháp này máy thu có kết luận đúng số bit lỗi là số lẻ Như phương pháp cho kết đúng với xác suất 50%, nhiên vì xác suất để lỗi xảy là nhỏ nên phương pháp sử dụng phổ biến số hệ truyền thông 4.5.1 Mạch phát chẵn lẻ (Parity Generator, PG) Ta xét trường hợp mạch có bit liệu Mạch có ngã vào liệu A, B, C, D và ngã vào chọn chẵn lẻ S _ Nguyễn Trung Lập KỸ THUẬT SỐ (83) Chương Mạch tổ hợp IV - 22 - Giai đoạn 1: Thiết kế mạch ghi nhận số bit là chẵn hay lẻ Giả sử ta muốn có mạch báo kết Y=1 số bit là lẻ và Y=0 ngược lại Lợi dụng tính chất cổng EX-OR có ngã =1 số số ngã vào là lẻ Với ngã vào, ta dùng cổng EX-OR để thực mạch ghi nhận này: Y = (A ⊕ B) ⊕ (C ⊕ D) (H 4.26) - Giai đoạn 2: Thiết kế phần mạch tạo bit chẵn lẻ P theo điều khiển ngã vào S Giả sử ta muốn có Tổng số bit A, B, C, D, P là lẻ S = và chẵn S = S Số bít ABCD Y P 0 1 Lẻ Chẵn Lẻ Chẵn 1 0 Bảng 4.9 Bảng 4.9 cho kết quả: Vậy mạch có dạng P = S⊕ Y (H 4.27) 4.5.2 Mạch kiểm chẵn lẻ (Parity checker, PC) Nếu ta xem mạch phát (H 4.27) là mạch có ngã vào thì ngã P quan hệ với số lượng bit các ngã vào đó có thể suy từ bảng 4.9 _ Nguyễn Trung Lập KỸ THUẬT SỐ (84) Chương Mạch tổ hợp IV - 23 Số bít ABCDS P Lẻ Chẵn Bảng 4.9 Như vậy, ta có thể dùng mạch phát trên để làm mạch kiểm tra chẵn lẻ Tóm lại, hệ thống gồm mạch phát và kiểm chẵn lẽ mắc (H 4.28) Khi ngã vào S mạch phát đưa xuống mức 0, tin nhận đúng thì ngã P mạch kiểm xuống (H 4.28) Trên thị trường có các IC kiểm/phát chẵn lẻ 74180 (9 bit) 74280 (9 bit), loại CMOS có 40101 (9 bit), 4531 (13 bit) BÀI TẬP Thiết kế mạch mã hóa 32 đường sang đường dùng IC 74148 và cổng logic Thiết kế mạch giải mã đường sang 16 đường từ mạch giải mã đường sang đường có ngã vào cho phép Thiết kế mạch so sánh bit từ mạch so sánh bit Thiết kế mạch chuyển từ mã Gray sang mã nhị phân Thiết kế mạch chuyển từ mã BCD sang mã Excess-3 các số từ đến (Mã Excess-3 số có từ trị nhị phân tương ứng cộng thêm 3, thí dụ mã số là 0011, mã số là 1100) Dùng mạch giải mã sang đường, cổng NAND ngã vào và cổng AND ngã vào thực các hàm sau: F1 = Σ(1,2,3) ; F2 = Σ(4,5,7) ; F3 = Σ(1,2,3,4,5,7) _ Nguyễn Trung Lập KỸ THUẬT SỐ (85) Chương Mạch tổ hợp IV - 24 Cài đặt các hàm sau dùng dồn kênh (multiplexer) → (Dùng thêm cổng logic cần) F1 = A B + ABC + BC + AC F2 = A ⊕ (BC) F3 = ∏(1,3,6) Thiết kế mạch MUX → từ các MUX → Dùng MUX → để thực MUX → sau: AB = 00 chọn C AB = 01 chọn D AB =1X chọn E (Trường hợp này B không xac định) 10 Thực hàm Z= AB +BC + CA - Giải mã sang đường (dùng thêm cổng logic cần) - Đa hợp → (dùng thêm cổng logic cần) - Hai mạch cộng bán phần và cổng OR _ Nguyễn Trung Lập KỸ THUẬT SỐ (86) Chương Mạch V - CHƯƠNG MẠCH TUẦN TỰ ’ CHỐT RS ’ FLIPFLOP ♠ Chốt RS tác động mức cao ♠ Chốt RS tác động mức thấp ♠ FF RS ♠ FF JK ♠ FF T ♠ FF D ’ MẠCH GHI DỊCH ’ MẠCH ĐẾM ♠ Đồng ♠ Không đồng ♠ Đếm vòng Trong chương trước, chúng ta đã khảo sát các loại mạch tổ hợp, đó là các mạch mà ngã nó phụ thuộc vào các biến ngã vào mà không phụ thuộc vào trạng thái trước đó mạch Nói cách khác, đây là loại mạch không có khả nhớ, chức quan trọng các hệ thống logic Chương này bàn loại mạch thứ hai: mạch - Mạch là mạch có trạng thái ngã không phụ thuộc vào tổ hợp các ngã vào mà còn phụ thuộc trạng thái ngã trước đó Ta nói mạch có tính nhớ Ngã Q+ mạch là hàm logic các biến ngã vào A, B, C và ngã Q trước đó Q+ = f(Q,A,B,C ) - Mạch vận hành tác động xung đồng hồ và chia làm loại: Đồng và Không đồng Ở mạch đồng bộ, các phần tử mạch chịu tác động đồng thời xung đồng hồ (CK) và mạch không đồng thì không có điều kiện này Phần tử cấu thành mạch là các flipflop 5.1 FLIP FLOP Mạch flipflop (FF) là mạch dao động đa hài lưỡng ổn tức mạch tạo sóng vuông và có hai trạng thái ổn định Trạng thái FF thay đổi có xung đồng hồ tác động Một FF thường có: - Một hai ngã vào liệu, ngã vào xung CK và có thể có các ngã vào với các chức khác - Hai ngã ra, thường ký hiệu là Q (ngã chính) và Q (ngã phụ) Người ta thường dùng trạng thái ngã chính để trạng thái FF Nếu hai ngã có trạng thái giống ta nói FF trạng thái cấm Flipflop có thể tạo nên từ mạch chốt (latch) Điểm khác biệt mạch chốt và FF là: FF chịu tác động xung đồng hồ còn mạch chốt thì không Người ta gọi tên các FF khác cách dựa vào tên các ngã vào liệu chúng Nguyễn Trung Lập KỸ THUẬT SỐ (87) Chương Mạch V - 5.1.1 Chốt RS 5.1.1.1 Chốt RS tác động mức cao: (H 5.1) là chốt RS có các ngã vào R và S tác động mức cao (H 5.1) Các trạng thái logic mạch cho bảng 5.1: (Đối với mạch chốt vì không có tác động xung đồng hồ nên ta có thể hiểu trạng thái trước là trạng thái giả sử, còn trạng thái sau là trạng thái mạch ổn định) R 0 0 1 S 0 1 0 Q 1 1 1 Q+ 0⎫ Tác dụng nhớ 1⎭ Q+= Q 1⎫ Đặt (Set) 1⎭ Q+=1 0⎫ Đặt lại (Reset) 0⎭ Q+=0 ⎫ Q+= Q +=0 (Cấm) ⎭ R 0 1 S 1 Q+ Q Cấm Bảng 5.1 Bảng 5.2 Từ Bảng 5.1 thu gọn lại thành Bảng 5.2 và tính chất chốt RS tác động mức cao tóm tắt sau: - Khi R=S=0 (cả ngã vào không tác động), ngã không đổi trạng thái - Khi R=0 và S=1 (ngã vào S tác động), chốt Set (tức đặt Q+=1) - Khi R=1 và S=0 (ngã vào R tác động), chốt Reset (tức đặt lại Q+=0) - Khi R=S=1 (cả ngã vào tác động), chốt rơi vào trạng thái cấm 5.1.1.2 Chốt RS tác động mức thấp: (H 5.2) là chốt RS có các ngã vào R và S tác động mức thấp Các trạng thái logic cho Bảng 5.3 S 0 1 (H 5.2) Nguyễn Trung Lập R 1 Q+ Cấm Q Bảng 5.3 KỸ THUẬT SỐ (88) Chương Mạch V - Để có chốt RS tác động mức cao dùng cổng NAND, người ta thêm vào cổng đảo các ngã vào mạch (H 5.2) (H 5.3) (H 5.4a) là ký hiệu chốt RS tác động cao và (H 5.4b) là chốt RS tác động thấp (a) (b) (H 5.4) 5.1.2 Flip Flop RS Trong các phần đây, ta luôn sử dụng chốt RS tác động mức cao dùng cổng NAND Khi thêm ngã vào xung CK cho chốt RS ta FF RS (H 5.5a) là FF RS có các ngã vào R, S và xung đồng hồ CK tác động mức cao (a) (H 5.5) (b) Hoạt động FF (H 5.5a) cho Bảng thật: (Bảng 5.4) CK 1 1 Vào S x 0 1 R x 1 Ra Q+ Q Q Cấm Bảng 5.4 Để có FF RS có xung đồng hồ tác động thấp cần thêm cổng đảo cho ngã vào CK (H 5.5b) Ta có bảng thật giống Bảng 5.4, trừ ngã vào CK phải đảo lại Nguyễn Trung Lập KỸ THUẬT SỐ (89) Chương Mạch V - 5.1.2.1 Flipflop RS có ngã vào Preset và Clear: Tính chất FF là có trạng thái ngã mở máy Trong nhiều trường hợp, có thể cần đặt trước ngã Q=1 Q=0, muốn thế, người ta thêm vào FF các ngã vào Preset (đặt trước Q=1) và Clear (Xóa Q=0), mạch có dạng (H 5.6a) và (H 5.6b) là ký hiệu FF RS có ngã vào Preset và Clear tác động mức thấp (a) (H 5.6) (b) Thay cổng NAND cuối hai cổng NAND ngã vào, ta FF RS có ngã vào Preset (Pr) và Clear (Cl) - Khi ngã Pr xuống thấp (tác động) và ngã Cl lên cao ngã Q lên cao bất chấp các ngã vào còn lại - Khi ngã Cl xuống thấp (tác động) và ngã Pr lên cao ngã Q xuống thấp bất chấp các ngã vào còn lại - Ngoài ngã vào Pr và Cl còn đưa ngã vào cổng AND, nơi đưa tín hiệu CK vào, mục đích việc làm này là ngã vào Pr Cl tác động thì mức thấp tín hiệu này khóa cổng AND này, vô hiệu hóa tác dụng xung CK Bảng thật FF RS có Preset và Clear (tác động thấp) cho bảng 5.5 Pr 0 1 1 1 Cl 1 1 1 CK x x x 1 1 S R Q+ Cấm x x x x x x Q x x Q 0 1 Cấm 1 Bảng 5.5 Lưu ý: Trên bảng 5.5, dòng thứ tương ứng với trạng thái cấm vì hai ngã vào Pr và Cl đồng thời mức tác động, cổng NAND cuối cùng đóng, nên Q+=Q=1 5.1.2.2 Flipflop RS chủ tớ: Kết nối thành chuỗi hai FF RS với hai ngã vào xung CK hai FF có mức tác động trái ngược nhau, ta FF chủ tớ (H 5.7) Nguyễn Trung Lập KỸ THUẬT SỐ (90) Chương Mạch V - (H 5.7) Hoạt động FF giải thích sau: - Do CKS tầng tớ là đảo CKM = CK tầng chủ nên CK=1, tầng chủ giao hoán thì tầng tớ ngưng Trong khoảng thời gian này, liệu từ ngã vào R và S đưa và ổn định ngã R’ và S’ tầng chủ, thời điểm xung CK xuống thấp, R’ và S’ truyền đến ngã Q và Q (H 5.8) (H 5.8) - Đối với trường hợp R = S =1 CK=1 thì R’= S’ =1, CK xuống thấp thì hai ngã này xuống thấp, đó mạch thoát khỏi trạng thái cấm, S’ hay R’ xuống thấp trước thì không đoán trước nên mạch rơi vào trạng thái bất định, nghĩa là Q+ có thể =1 có thể =0, khác với Q + Ta có bảng thật: S R CK Q+ Q 0 ↓ 0 ↓ 1 1 ↓ Bất định ↓ Bảng 5.6 Tóm lại, FF RS chủ tớ đã thoát khỏi trạng thái cấm rơi vào trạng thái bất định, đồng thời ta FF có ngã vào xung đồng hồ tác động cạnh xuống tín hiệu CK Để có FF RS có ngã vào xung đồng hồ tác động cạnh lên tín hiệu CK ta có thể dời cổng NOT đến ngã vào FF chủ và cho tín hiệu CK vào thẳng FF tớ Mặc dù thoát khỏi trạng thái cấm FF RS chủ tớ còn trạng thái bất định nên người ta ít sử dụng FF RS trường hợp R=S 5.1.3 Flipflop JK FF JK tạo từ FF RS theo sơ đồ (H 5.9a) Nguyễn Trung Lập KỸ THUẬT SỐ (91) Chương Mạch V - (a) (H 5.9) (b) (H 5.9b) là ký hiệu FF JK có ngã vào Pr và Cl tác động thấp Bảng thật 5.7 (Để đơn giản, ta bỏ qua các ngã vào Pr và Cl) J K Q S=J Q 0 0 R=KQ CK Q+ J K CK Q+ 1 Q 1 0 0 0 1 0 ↓ ↓ ↓ ↓ Q Q Q=0 0 1 1 ↓ ↓ ↓ ↓ Q Q 1 1 0 1 1 1 1 0 0 ↓ ↓ ↓ ↓ Q=1 Bảng 5.8 Bảng 5.7 Bảng 5.8 là bảng rút gọn, suy từ bảng 5.7 Kết từ bảng 5.8 cho thấy: FF JK đã thoát khỏi trạng thái cấm và thay vào đó là trạng thái đảo (khi J=K=1 thì Q+= Q ) Người ta lợi dụng trạng thái đảo này để thiết kế mạch đếm 5.1.4 FlipFlop D Thiết kế từ FF RS (hoặc JK) cách nối cổng đảo từ S qua R (hoặc từ J qua K) Dữ liệu đưa vào ngã S (J) mà bây gọi là ngã vào D (H 5.10a&b) và bảng 5.9 cho thấy các trạng thái FF, cụ thể là có xung CK tác động liệu từ ngã vào xuất ngã (a) D (b) (H 5.10) CK Q+ ↓ ↓ Bảng 5.9 (c) T CK Q+ ↓ ↓ Q Q Bảng 5.10 5.1.5 FlipFlop T Nối chung hai ngã vào J và K FF JK ta FF T (H 5.10c) Tính chất FF T thể bảng thật 5.10: - Khi T=0, FF không đổi trạng thái dù có tác động CK - Khi T=1, FF đổi trạng thái lần có xung CK tác động Nguyễn Trung Lập KỸ THUẬT SỐ (92) Chương Mạch V - 5.1.6 Mạch chốt D Mạch chốt D hoạt động giống FF D, khác điểm ngã vào xung đồng hồ CK thay ngã vào cho phép G, và tác động mức không cạnh (H 5.11) và Bảng 5.11 (H 5.11) Bảng 5.11 5.2 MẠCH GHI DỊCH 5.2.1 Sơ đồ nguyên tắc và vận chuyển (H 5.12) (H 5.12) (H 5.12) là sơ đồ mạch ghi dịch bit đơn giản, mạch gồm FF D nối thành chuỗi (ngã Q FF trước nối vào ngã vào D FF sau) và các ngã vào CK nối chung lại (các FF chịu tác động đồng thời) Mạch ghi dịch này có khả dịch phải Ngã vào DA FF đầu tiên gọi là ngã vào liệu nối tiếp, các ngã QA, QB, QC, QD là các ngã song song, ngã FF cuối cùng (FF D) là ngã nối tiếp Trước cho mạch hoạt động, tác dụng xung xóa vào các ngã vào Cl (đưa các chân Cl đã nối chung xuống thấp lên cao) để các ngã QA = QB = QC = QD = Cho liệu vào DA, sau xung đồng hồ, liệu từ tầng trước truyền qua tầng sau (Giả sử DA là chuỗi liệu gồm bit cao, bit thấp cao và thấp), trạng thái các ngã các FF cho Bảng 5.12 Cl 1 1 1 Vào CK x ↓ ↓ ↓ ↓ ↓ ↓ ↓ DA x 1 0 QA 1 0 Ra QB 0 1 0 QC 0 1 0 QD 0 0 1 Bảng 5.12 Các mạch ghi dịch phân loại tùy vào số bit (số FF), chiều dịch (phải/trái), các ngã vào/ra (nối tiếp/song song) Nguyễn Trung Lập KỸ THUẬT SỐ (93) Chương Mạch V - Để có mạch dịch trái, liệu nối tiếp đưa vào ngã vào D FF cuối cùng và các ngã FF sau nối ngược trở lại ngã vào FF trước (H 5.13) (H 5.13) Cho liệu nối tiếp vào ngã vào D FF 4, sau xung đồng hồ, liệu truyền từ tầng sau tầng trước Giả sử chuỗi liệu giống trên, trạng thái các ngã các FF cho bảng 5.13 Cl 1 1 1 Vào CK x ↓ ↓ ↓ ↓ ↓ ↓ ↓ Ra D4 x 1 0 Q1 0 0 1 Q2 0 1 0 Q3 0 1 0 Q4 1 0 Bảng 5.13 5.2.2 Vài IC ghi dịch tiêu biểu Trên thị trường có khá nhiều loại IC ghi dịch, có đầy đủ các chức dịch phải trái, vào/ra nối tiếp, song song Sau đây, chúng ta khảo sát IC tiêu biểu: - IC 74164: dịch phải bit; - IC 7495: bit , dịch phải, trái, vào/ra nối tiếp/song song 5.2.2.1 IC 74164: (H 5.14) MR : Master Reset, đây là chân Clear mạch, tác động thấp CP: Clock pulse, ngã vào xung đồng hồ tác động cạnh lên Nguyễn Trung Lập KỸ THUẬT SỐ (94) Chương Mạch V - 5.2.2.2 IC 7495: Ý nghĩa các chân: (H 5.15) S: Mode control input Ds: Serial Data input P0 - P3 : Parrallel data inputs CP1 : Serial Clock CP2 : Parrallel clock Q0 - Q3 : Parrallel outputs Dươi đây là các bước thao tác để thực các chức IC ’ Nạp liệu song song - Chuẩn bị liệu các ngã vào P0 - P3 - Cho S = 1, liệu đưa vào các ngã vào các FF, CP1 bị khóa, CP2 là ngã vào CK, liệu xuất ngã Q0 - Q3 có cạnh xuống CK ’ Dịch phải - Sau đã nạp liệu song song - Chuẩn bị liệu nối tiếp - Cho S = - Đưa liệu nối tiếp vào ngã vào Ds, CP2 bị khóa, CP1 là ngã vào CK, CK tác động, liệu dịch phải bit trên các ngã Q0 - Q3 ’ Dịch trái - Nối ngã FF sau vào ngã vào song song FF trước - P3 là ngã vào nối tiếp - S = để cách ly ngã FF trước với ngã vào FF sau - CP2 là ngã vào xung CK, liệu dịch trái ứng với cạnh xuống CK Lưu ý: Mặc dù có ngã vào cho xung CK sử dụng chúng thường nối chung lại, lý là vì ứng với trạng thái tín hiệu điều khiển S có hai cổng AND mở tín hiệu CK qua 5.2.3 Ứng dụng ghi dịch Ghi dịch có khá nhiều ứng dụng: - Một số nhị phân dịch trái bit, giá trị nhân lên gấp đôi và chia hai dịch phải bit Thí dụ số 1010.00 = 1010 dịch trái thành 10100.0 = 2010 và dịch phải thành 101.000 = 510 Nguyễn Trung Lập KỸ THUẬT SỐ (95) Chương Mạch V - 10 - Trong máy tính ghi (tên thường gọi mạch ghi dịch) là nơi lưu tạm liệu để thực các phép tính, các lệnh quay, dịch - Ngoài ra, mạch ghi dịch còn ứng dụng khác như: tạo mạch đếm vòng, biến đổi liệu nối tiếp ↔ song song, dùng thiết kế các mạch đèn trang trí, quang báo 5.3 MẠCH ĐẾM Lợi dụng tính đảo trạng thái FF JK J=K=1, người ta thực các mạch đếm Chức mạch đếm là đếm số xung CK đưa vào ngã vào thể số trạng thái có thể có các ngã Nếu xét khía cạnh tần số tín hiệu thì mạch đếm có chức chia tần, nghĩa là tần số tín hiệu ngã là kết phép chia tần số tín hiệu CK ngã vào cho số đếm mạch Ta có các loại: mạch đếm đồng bộ, không đồng và đếm vòng 5.3.1 Mạch đếm đồng Trong mạch đếm đồng các FF chịu tác động đồng thời xung đếm CK 5.3.1.1 Mạch đếm đồng n tầng, đếm lên Để thiết kế mạch đếm đồng n tầng (lấy thí dụ n=4), trước tiên lập bảng trạng thái, quan sát bảng trạng thái suy cách mắc các ngã vào JK các FF cho mạch giao hoán tạo các ngã đúng bảng đã lập Giả sử ta dùng FF tác động cạnh xuống xung CK (Thật ra, kết thiết kế không phụ thuộc vào chiều tác động xung CK, nhiên điều này phải thể trên mạch nên ta cần lưu ý) Với FF mạch đếm 24=16 trạng thái và số đếm từ đến 15 Ta có bảng trạng thái: Ck QD QC QB QA Số đếm Xóa 1↓ 2↓ 3↓ 4↓ 5↓ 6↓ 7↓ 8↓ 9↓ 10↓ 11↓ 12↓ 13↓ 14↓ 15↓ 16↓ 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 1 1 1 1 0 10 11 12 13 14 15 Bảng 5.14 Nhận thấy: Nguyễn Trung Lập KỸ THUẬT SỐ (96) Chương Mạch V - 11 - FF A đổi trạng thái sau xung CK, vậy: TA = JA = KA = - FF B đổi trạng thái trước đó QA = 1, TB = JB = KB = QA - FF C đổi trạng thái trước đó QA = QB = 1, vậy: TC = JC = KC = QA.QB - FF D đổi trạng thái trước đó QA=QB=QC=1, vậy: TD = JD = KD = QA.QB.QC = TC.QC Ta kết (H 5.16) (H 5.16) 5.3.1.2 Mạch đếm đồng n tầng, đếm xuống Bảng trạng thái: Ck Xóa 1↓ 2↓ 3↓ 4↓ 5↓ 6↓ 7↓ 8↓ 9↓ 10↓ 11↓ 12↓ 13↓ 14↓ 15↓ 16↓ QD 0√ 1 1 1 1√ 0 0 0 0 QC 0√ 1 1√ 0 0√ 1 1√ 0 0 QB 0√ 1√ 0√ 1√ 0√ 1√ 0√ 1√ 0 QA 1 1 1 1 Số đếm 15 14 13 12 11 10 Bảng 5.15 Nhận thấy: - FF A đổi trạng thái sau xung CK, vậy: TA = JA = KA = - FF B đổi trạng thái trước đó QA = 0, vậy: TB = JB = KB = Q A - FF C đổi trạng thái trước đó QA=QB=0, vậy: TC = JC = KC = Q A Q B - FF D đổi trạng thái trước đó QA = QB = QC= 0, vậy: Nguyễn Trung Lập KỸ THUẬT SỐ (97) Chương Mạch V - 12 TD = JD = KD = Q A Q B Q C = TC Q C Ta kết (H 5.17) (H 5.17) 5.3.1.3 Mạch đếm đồng n tầng, đếm lên/ xuống Để có mạch đếm n tầng, đếm lên xuống ta dùng đa hợp 2→1 có ngã vào điều khiển C để chọn Q Q đưa vào tầng sau qua các cổng AND Trong mạch (H 5.18) đây C=1 mạch đếm lên và C=0 mạch đếm xuống (H 5.18) 5.3.1.4 Tần số hoạt động lớn mạch đếm đồng n tầng: Trong mạch (H 5.16) ta cần cổng AND Trong trường hợp tổng quát cho n tầng, số cổng AND là (n-2) thời gian tối thiểu để tín hiệu truyền qua mạch là: Tmin = TPFF + TP.AND(n-2) Tần số cực đại xác định bởi: f max = 1 = T t PFF + (n − 2)T PAND Để gia tăng tần số làm việc mạch, thay vì dùng các cổng AND ngã vào ta phải dùng cổng AND nhiều ngã vào và mắc theo kiểu: TA = JA = KA = TB = JB = KB = QA TC = JC = KC = QA.QB TD = JD = KD = QA.QB.QC Như tần số làm việc không phụ thuộc vào n và bằng: f max = Nguyễn Trung Lập T PFF + T PAND KỸ THUẬT SỐ (98) Chương Mạch V - 13 5.3.1.5 Mạch đếm đồng Modulo - N (N ≠ 2n) Để thiết kế mạch đếm modulo - N, trước ta phải chọn số tầng Số tầng n phải thỏa điều kiện: 2n-1 < N < 2n Thí dụ thiết kế mạch đếm 10 (N = 10) 24-1 < 10 < 24 Vậy số tầng là Có nhiều phương pháp thiết kế mạch đếm đồng modulo-N Sau đây ta khảo sát hai phương pháp : dùng hàm Chuyển và MARCUS ’ Phương pháp dùng hàm Chuyển (Transfer function) Hàm Chuyển là hàm cho thấy có thay đổi trạng thái FF Mỗi loại FF có hàm Chuyển riêng nó Hàm Chuyển định nghĩa sau: hàm có trị có thay đổi trạng thái FF (Q+ ≠ Q) và trị trạng thái FF không đổi (Q+ = Q) Chúng ta thiết kế mạch đếm dùng FF JK đó ta xác định hàm Chuyển loại FF này Bảng trạng thái FF JK (Bảng 5.16) CK ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ J K Q Q+ H 0 0 1 0 0 1 0 1 0 1 1 1 1 1 1 Bảng 5.16 Dùng Bảng Karnaugh ta suy biểu thức H: H = JQ + KQ Để thiết kế mạch đếm cụ thể ta xác định hàm H cho FF mạch, so sánh với biểu thức hàm H suy J, K các FF Dưới đây là thí dụ Thiết kế mạch đếm 10 đồng dùng FF JK Bảng trạng thái mạch đếm 10 và giá trị các hàm H tương ứng: CK QD QC QB QA QD + + + + 1↓ 2↓ 3↓ 4↓ 5↓ 6↓ 7↓ 8↓ 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1 Nguyễn Trung Lập QC QB QA HD HC HB HA 0 0 0 0 0 1 1 1 1 1 1 KỸ THUẬT SỐ (99) Chương Mạch V - 14 9↓ 10↓ 1 0 0 1 0 0 0 0 0 1 Bảng 5.17 Từ bảng 5.17, ta thấy: HA = 1= QA + QA ⇒ JA = KA = Để xác định HB, HC và HD ta phải vẽ bảng Karnaugh H B = QD QA QB + QD QA QB ⇒ JB = K B = Q D Q A H C = Q BQ A Q C + Q BQ A Q C H D = Q C Q BQ A Q D + Q A Q D ⇒ JD = Q C Q BQ A , K D = Q A ⇒ JC = K C = Q BQ A (H 5.19) Ghi chú: Trong kết hàm H ta muốn có chứa Q và Q tương ứng để suy các trị J và K nên ta đã chia bảng Karnaugh làm phần chứa Q và Q và nhóm riêng phần này Từ các kết này, ta vẽ mạch (H 5.20) (H 5.20) Bây ta có thể kiểm tra xem vì lý nào đó, số đếm rơi vào các trạng thái không sử dụng (tương ứng với số từ 10 đến 15) thì có xung đồng hồ trạng thái nào ? Mạch có quay để đếm tiếp ? Áp dụng các hàm chuyển có được, ứng với trạng thái Q FF các tổ hợp không sử dụng, ta tìm trị H tương ứng suy Q+, ta bảng kết sau: CK QD QC QB QA HD HC HB HA QD + + + + ↓ ↓ ↓ ↓ ↓ ↓ 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 1 1 Nguyễn Trung Lập QC QB QA KỸ THUẬT SỐ (100) Chương Mạch V - 15 Bảng 5.18 Từ bảng kết ta có kết luận: - Khi ngã rơi vào trạng thái 1010 (1010), nó nhảy tiếp vào trạng thái 1110 (1011) sau đó nhảy 610 (0110) (Dòng và 2) - Khi ngã rơi vào trạng thái 1210 (1100), nó nhảy tiếp vào trạng thái 1310 (11 01) sau đó nhảy 410 (0100) (Dòng và 4) - Khi ngã rơi vào trạng thái 1410 (1110), nó nhảy tiếp vào trạng thái 1510 (1111) sau đó nhảy 210 (0010) (Dòng và 6) Tóm lại, có cố xảy làm cho số đếm rơi vào các trạng thái không sử dụng thì sau số đếm nó tự động quay các số đếm từ đến tiếp tục đếm bình thường ’ Phương pháp MARCUS Phương pháp MARCUS cho phép xác định các biểu thức J và K dựa vào thay đổi Q+ so với Q Từ bảng trạng thái FF JK (Bảng 5.7) ta có thể viết lại Bảng 5.19: Q 0 1 Q+ 1 J x x K x x Bảng 5.19 Để thiết kế mạch, ta so sánh Q+ và Q để có bảng thật cho J, K FF, sau đó xác định J và K Thí dụ thiết kế lại mạch đếm 10 phương pháp MARCUS Bảng thật cho J, K FF CK 1↓ 2↓ 3↓ 4↓ 5↓ 6↓ 7↓ 8↓ 9↓ 10↓ QD 0 0 0 0 1 QC 0 0 1 1 0 QB 0 1 0 1 0 QA 1 1 JD 0 0 0 x x KD x x x x x x x x JC 0 x x x x 0 KC x x x x 0 x x JB x x x x 0 KB x x x x x x JA x x x x x KA x x x x x Bảng 5.20 Ghi chú: Trong bảng 5.20, không có các cột cho Q+, nhiên ta có thể thấy là dòng bên chính là Q+ dòng bên trên, kết có từ so sánh dòng trên và dòng nó Ta thấy JA = KA = Dùng bảng Karnaugh để xác định các hàm còn lại Nhận thấy các FF B và C có thể xác định chung cho J và K (cùng vị trí và x), FF D xác định J và K riêng Nguyễn Trung Lập KỸ THUẬT SỐ (101) Chương Mạch V - 16 JB = K B = Q D Q A JC=KC=QB.QA JD=QC.QB.QA (H 5.21) Ta lại kết trên Trên thị trường có khá nhiều IC đếm: - bit BCD: 74160, 74162, 74190, 74192, 4192, 4510, 4518 - bit nhị phân: 74161, 74163, 74191, 74193, 4193, 4516, 4520 - bit nhị phân: 74269, 74579, 74779 KD=QA 5.3.2 Mạch đếm không đồng Là các mạch đếm mà các FF không chịu tác động đồng thời xung CK Khi thiết kế mạch đếm không đồng ta phải quan tâm tới chiều tác động xung đồng hồ CK 5.3.2.1 Mạch đếm không đồng bộ, n tầng, đếm lên (n=4): Từ bảng trạng thái 5.14 mạch đếm bit, ta thấy dùng FF JK tác động cạnh xuống xung đồng hồ thì có thể lấy ngã tầng trước làm xung đồng hồ CK cho tầng sau, với điều kiện các ngã vào JK các FF đưa lên mức cao Ta mạch đếm không đồng bộ, bít, đếm lên (H 5.22) (H 5.22) (H 5.23) là dạng tín hiệu xung CK và các ngã các FF Nguyễn Trung Lập KỸ THUẬT SỐ (102) Chương Mạch V - 17 (H 5.23) Tổ hợp các số tạo các ngã các FF D, C, B, A là số nhị phân từ đến 15 5.3.2.2 Mạch đếm không đồng bộ, n tầng, đếm xuống (n=4): Để có mạch đếm xuống ta nối Q (thay vì Q) tầng trước vào ngã vào CK tầng sau (H 5.24) là mạch đếm xuống tầng Dạng sóng ngã các FF và số đếm tương ứng cho (H 5.25) (H 5.24) (H 5.25) Quan sát tín hiệu các Flipflop ta thấy sau FF tần số tín hiệu giảm nửa, nghĩa là: f fQ A = CK Nguyễn Trung Lập KỸ THUẬT SỐ (103) Chương Mạch V - 18 fQ A fCK fCK = 22 fQ A f f fQ C = = CK3 = CK fQ A f f fQ D = = CK4 = CK 16 Như xét khía cạnh tần số, ta còn gọi mạch đếm là mạch chia tần fQ B = = 5.3.2.3 Mạch đếm không đồng bộ, n tầng, đếm lên, xuống (n=4): Để có mạch đếm lên đếm xuống người ta dùng các mạch đa hợp 2→1 với ngã vào điều khiển C chung để chọn Q Q tầng trước nối vào CK tầng sau tùy theo yêu cầu cách đếm Trong (H 5.26) , C =1, Q nối vào CK , mạch đếm lên và C = 0, Q nối vào CK , mạch đếm xuống c = : đếm xuống c = : đếm lên (H 5.26) Trên thực tế , để đơn giản, ta có thể thay đa hợp 2→1 cổng EX-OR, ngã điều khiển C nối vào ngã vào cổng EX-OR, ngã vào còn lại nối với ngã Q FF và ngã cổng EX-OR nối vào ngã vào CK FF sau, mạch đếm lên/xuống tùy vào C=0 hay C=1 c = : đếm xuống c = : đếm lên (H 5.27) 5.3.2.4 Mạch đếm không đồng modulo - N (N=10) ’ Kiểu Reset: Để thiết kế mạch đếm kiểu Reset, trước người ta lập bảng trạng thái cho số đếm (Bảng 5.21) Nguyễn Trung Lập KỸ THUẬT SỐ (104) Chương Mạch V - 19 Quan sát bảng 5.21 ta thấy xung thứ 10, theo cách đếm tầng thì QD và QB phải lên Lợi dụng hai trạng thái này ta dùng cổng NAND ngã vào để đưa tín hiệu xóa các FF, ta mạch đếm (H 5.28) Số xung CK vào Số QD Xóa 10 0 0 0 0 1 0(1) Nhị QC Phân QB 0 0 1 0 1 1 1 0 0 0(1) Bảng 5.21 Ra QA Số thập phân tương ứng 1 1 0 10 (H 5.28) Mạch đếm kiểu Reset có khuyết điểm như: - Có trạng thái trung gian trước đạt số đếm cuối cùng - Ngã vào Cl không dùng cho chức xóa ban đầu ’ Kiểu Preset: Trong kiểu Preset các ngã vào các FF đặt trước nào để mạch đếm đến trạng thái thứ N thì tất các FF tự động quay không Để thiết kế mạch đếm không đồng kiểu Preset, thường người ta làm sau: - Phân tích số đếm N = 2n.N’ (N’<N) kết hợp hai mạch đếm n bit và N’ Việc thiết kế đơn giản số N' << N - Quan sát bảng trạng thái và kết hợp với phương pháp thiết kế mạch đếm đồng (MARCUS hay hàm chuyển) để xác định JK các FF Thí dụ, để thiết kế mạch đếm 10, ta phân tích 10=2x5 và ta cần thiết kế mạch đếm kết hợp với FF (đếm 2) Bảng trạng thái mạch đếm Số xung CK vào Xóa Nguyễn Trung Lập Số Nhị QD Phân QC Ra QB Số thập phân tương ứng KỸ THUẬT SỐ (105) Chương Mạch V - 20 1 1 0 0 Bảng 5.22 Giả sử dùng FF JK có xung CK tác động cạnh xuống Từ bảng 5.21, ta thấy có thể dùng tín hiệu ngã FF B làm xung đồng hồ cho FF C và đưa JC và KC lên mức cao: CKC= QB ; JC=KC=1 Các FF B và D dùng xung CK hệ thống và các ngã vào JK xác định nhờ hàm chuyển: 0 1 CK 1↓ 2↓ 3↓ 4↓ 5↓ QD 0 0 QC 0 1 0 QB 1 0 HD 0 1 HB 1 1 Bảng 5.23 Dùng bảng Karnaugh xác định HD và HB suy các trị J, K các FF H D = Q C Q B Q D + Q D H B = QD QB + QB ⇒ JB = Q D ; KB=1 (H 5.29) Có thể xác định J, K các FF B và D phương pháp MARCUS: ⇒ JD = Q C QB ; KD=1 CK 1↓ 2↓ 3↓ 4↓ 5↓ QD 0 0 QC 0 1 0 QB 1 0 JD 0 x KD x x x x JB x x KB x x x Bảng 5.24 Ta có KD=KB=1 Dùng bảng Karnaugh xác định JD và JB Nguyễn Trung Lập KỸ THUẬT SỐ (106) Chương Mạch V - 21 JD = Q C Q B JB = QD (H 5.30) (H 5.31) là mạch đếm 10 thiết kế theo kiểu đếm 2x5 với mạch đếm có từ kết trên (H 5.31) IC 7490 là IC đếm 10, có cấu tạo mạch (H 5.31) thêm các ngã vào Reset và Reset có sơ đồ mạch (H 5.32) (H 5.32) Bảng 5.25 là bảng thật cho các ngã vào Reset R0(1) 1 x x 0 x Reset Input s R0(2) R9(1) x 1 x x 0 x x x 0 Outputs R9(2) x 1 x x QD 0 1 Đếm nt nt nt QC 0 0 Đếm nt nt nt QB 0 0 Đếm nt nt nt QA 0 1 Đếm nt nt nt Bảng 5.25 Dùng IC 7490, có thể thực hai cách mắc: ’ Mạch đếm 2x5: Nối QA vào ngã vào B, xung đếm (CK) vào ngã vào A Nguyễn Trung Lập KỸ THUẬT SỐ (107) Chương Mạch V - 22 ’ Mạch đếm 5x2: Nối QD vào ngã vào A, xung đếm (CK) vào ngã vào B Hai cách mắc cho kết số đếm khác cùng chu kỳ đếm 10 Tần số tín hiệu ngã sau cùng 1/10 tần số xung CK (nhưng dạng tín hiệu khác nhau) Dưới đây là hai bảng trạng thái cho hai trường hợp nói trên QD 0 0 0 0 1 QC 0 0 1 1 0 QB 0 1 0 1 0 QA 1 1 QD 0 0 0 0 Bảng 5.26 : Đếm 2x5 QC 0 1 0 1 QB 1 0 1 QA 0 0 1 1 Bảng 5.27 : Đếm 5x2 (H 5.33) cho thấy dạng sóng các ngã hai mạch cùng đếm 10 hai kiểu đếm khác nhau: - Kiểu đếm 2x5 cho tín hiệu QD không đối xứng - Kiểu đếm 5x2 cho tín hiệu QA đối xứng (H 5.33) 5.3.3 Mạch đếm vòng Thực chất là mạch ghi dịch đó ta cho hồi tiếp từ ngã nào đó ngã vào để thực chu kỳ đếm Tùy đường hồi tiếp mà ta có các chu kỳ đếm khác Sau đây ta khảo sát vài loại mạch đếm vòng phổ biến 5.3.3.1 Hồi tiếp từ QD JA và Q D KA (H 5.34) Đối với mạch này, đếm vòng thấy có đặt trước ngã Nguyễn Trung Lập KỸ THUẬT SỐ (108) Chương Mạch V - 23 - Đặt trước QA =1, ta kết bảng 5.28 CK Preset 1↓ 2↓ 3↓ 4↓ : QD 0 : QC 0 0 : QB QA Số TP 1 0 0 1 : : : Bảng 5.28 Nếu đặt trước QA = QB = ta có bảng 5.29 CK Preset 1↓ 2↓ 3↓ 4↓ : QD 0 1 : QC 1 0 : QB QA Số TP 1 0 12 1 : : : Bảng 5.29 5.3.3.2 Hồi tiếp từ Q D JA và QD KA (H 5.35) (H 5.35) Mạch này còn có tên là mạch đếm Johnson Mạch có chu kỳ đếm mặc nhiên mà không cần đặt trước và có đặt trước, mạch cho các chu kỳ khác tùy vào tổ hợp đặt trước đó Bảng 5.30 là chu kỳ đếm mặc nhiên CK Preset 1↓ 2↓ 3↓ 4↓ 5↓ 6↓ 7↓ 8↓ QD 0 0 1 1 QC 0 1 1 0 QB 0 1 1 0 QA 1 1 0 0 Số TP 15 14 12 Bảng 5.30 Nguyễn Trung Lập KỸ THUẬT SỐ (109) Chương Mạch V - 24 5.3.3.3 Hồi tiếp từ Q D JA và QC KA (H 5.36) (H 5.36) CK QD Preset 1↓ 2↓ 3↓ 4↓ 5↓ 6↓ 7↓ 0 0 1 QC 0 1 0 Bảng 5.31 QB QA Số TP 0 1 0 0 1 0 0 14 12 Vài thí dụ thiết kế mạch đếm Dùng FF JK thiết kế mạch đếm 6, đồng Bảng trạng thái và hàm chuyển mạch đếm 6: N QA 0 0 1 QB 0 1 0 QC 1 QA+ 0 1 QB+ QC+ 0 1 0 0 Bảng 5.32 HA 0 1 HB 1 0 HC 1 1 1 HC = ⇒ JC =KC = Xác định JA, KA, JB, KB Bảng Karnaugh cho hai hàm chuyển HA & HB (H 5.37) HA = QBQC Q A +QCQA ⇒ JA = QBQC ; KA = QC Mạch: Nguyễn Trung Lập HB = Q A QC Q B +QCQB ⇒ JB = Q A QC ; KB = QC KỸ THUẬT SỐ (110) Chương Mạch V - 25 (H 5.38) Thiết kế mạch đếm không đồng bộ, dùng FF JK có ngã vào xung đồng hồ tác động cạnh lên CK Bảng trạng thái N 0↑ 1↑ 2↑ 3↑ 4↑ 5↑ 6↑ QA 0 0 1 QB 0 1 0 QC 1 0 JB x x x KB x x x x JC x x x KC x x x x Bảng 5.33 Nhận xét bảng trạng thái ta thấy lần QB thay đổi từ xuống thì QA đổi trạng thái, mà FF có xung đồng hồ tác động cạnh lên nên ta có thể lấy Q B làm xung đồng hồ cho FFA và JA=KA=1 FF B và FFC dùng xung đồng hồ hệ thống, dùng phương pháp MARCUS để xác định J & K các FF này Ta thấy KC=1 JB=QC (H 5.39) KB=QA+ QC JC = Q A + Q B (H 5.40) Nguyễn Trung Lập KỸ THUẬT SỐ (111) Chương Mạch V - 26 BÀI TẬP Thiết kế đếm đồng có dãy đếm sau: 000, 010, 101, 110 và lặp lại Làm lại bài Thêm điều kiện các trạng thái không sử dụng 001, 011, 100 và 111 phải luôn luôn nhảy 000 xung đồng hồ Thiết kế đếm đồng dùng FF-JK với dãy đếm sau: 000, 001, 011, 010, 110,111, 101, 100, 000 a Thiết kế mạch đếm đồng dùng FF-JK tác động cạnh xuống, có dãy đếm sau: 000, 001, 011, 111, 110, 100, 001 Những trạng thái không sử dụng đưa trạng thái 000 xung đồng hồ Vẽ sơ đồ mạch b Mắc nối tiếp đếm (Dùng FF-JK, tác động cạnh xuống) với đếm đã thiết kế câu a Vẽ dạng sóng các ngã đếm giả sử trạng thái ban đầu các ngã Xác định dãy đếm mạch Thiết kế mạch đếm đồng modulo-12 dùng FF JK Dùng ngã mạch đếm để điều khiển hệ thống đèn giao thông: - Đèn xanh cháy 40 s - Đèn vàng cháy 20s - Đèn đỏ cháy 40s - Đèn vàng và đỏ cùng cháy 20s Chu kỳ lặp lại Cho chu kỳ xung đồng hồ là 10s Thiết kế mạch đếm đồng dùng FF JK có ngã vào điều khiển X: - Khi X=0 mạch đếm theo thứ tự 0, 2, 4, trở - Khi X=1 mạch đếm 0, 6, 4, trở Các trạng thái không sử dụng hai lần đếm trở có xung đồng hồ Nguyễn Trung Lập KỸ THUẬT SỐ (112) _Chương Mạch làm toán VI -  CHƯƠNG 6: MẠCH LÀM TOÁN – SỐ BÙ – PHÉP TRỪ SỐ NHỊ PHÂN DÙNG SỐ BÙ – PHÉP TRỪ SỐ NHỊ PHÂN DÙNG SỐ BÙ – PHÉP TOÁN VỚI SỐ CÓ DẤU – MẠCH CỘNG ˜ Bán phần ˜ Toàn phần ˜ Cộng hai số nhiều bít – MẠCH TRỪ ˜ Bán phần ˜ Toàn phần ˜ Trừ hai số nhiều bit ˜ Cộng & trừ hai số nhiều bit mạch – MẠCH NHÂN ˜ Mạch nhân ˜ Mạch nhân nối tiếp - song song đơn giản – MẠCH CHIA ˜ Mạch chia phục hồi số bị chia ˜ Mạch chia không phục hồi số bị chia _ 6.1 Số bù Cho số dương N, n bit, các số bù N định nghĩa: Số bù 2: (N)2 = 2n - N (số 2n gồm bit và n bit theo sau) Số bù 1: (N)1 = (N)2 -1 = 2n - N - Thí dụ 1: N = 1010 Số bù N là (N)2 = là 10000 - 1010 = 0110 Và số bù N là (N)1 = 0110 - = 0101 Thí dụ 2: N = 110010101100 ⇒ (N)2 = 001101010100 và (N)1 = 001101010011 Nhận xét: - Để có số bù số, bit LSB (tận cùng bên phải) ngược bên trái, các bit giữ nguyên lúc gặp bit đầu tiên, sau đó đảo tất các bit còn lại - Để có số bù số, ta đảo tất các bit số đó Từ các nhận xét trên ta có thể thực mạch tạo số bù và sau đây: (H 6.1) - Khi C=1, B là số bù b (B1 và b1 là bit LSB) _ Nguyễn Trung Lập KỸ THUẬT SỐ (113) _Chương Mạch làm toán VI - - Khi C=0, B là số bù b Thật vậy, các biểu thức logic B theo b và C là: B1 = b ⊕ C B2 = b ⊕ ( C + b ) B3 = b ⊕ (C + b + b ) - Khi C=1 , các ngã cổng OR luôn 1, các cổng EX - OR luôn có ngã vào nên ngã là đảo ngã vào còn lại, ta được: B1 = b ⊕ = b B2 = b ⊕ (1 + b ) = b ⊕ = b B3 = b ⊕ (1 + b + b ) = b ⊕ = b - Khi C=0 B1 = b ⊕ = b B2 = b ⊕ ( + b ) = b ⊕ b = b2 b1=0 và b b1 = B3 = b ⊕ (0 + b + b ) = b ⊕ (b + b ) = b3 b1 và b2 =0 = b (b1 và/hoặc b2 = 1) Như tất các bit sau bit thứ tính từ bit LSB bị đảo và B chính là số bù b Chúng ta có thể thiết kế mạch tạo số bù hai cách dùng FF RS, có ngã vào R, S tác động mức cao, kết hợp với các cổng logic (H 6.2) Mạch này dùng khá tiện lợi cần thực bài toán cộng và trừ nhiều bit kiểu nối tiếp (H 6.2) Bắt đầu, Preset mạch để ngã Q = 1, cổng G3 đóng, G2 mở, cho số B qua mà không bị đảo có bit đầu tiên đến, cổng G1 mở cho xung đồng hồ qua, FF RS reset, Q = 0, Q = 1, G2 đóng, G3 mở, số B qua cổng G2 và bị đảo Ở ngã số bù B 6.2 Phép trừ số nhị phân dùng số bù 1: Cho hai số dương A và B có n bit (nếu số bit khác nhau, ta thêm số vào , mà không làm thay đổi trị, để hai có cùng số bit) a/ - A≤B _ Nguyễn Trung Lập KỸ THUẬT SỐ (114) _Chương Mạch làm toán VI - Kết A-B là số âm, phép tính thực sau: Tính A - B: A - B = A-B+2n-1-2n+1 = A+(2n -B -1 ) - 2n+1 = A+(B )1 - 2n+1 = - {2n - [A+(B )1] -1} = - [A+(B )1]1 Vậy A-B có cách cộng số bù B vào A lấy bù tổng và thêm dấu trừ Như để thực phép tính trừ ta cần dùng phép cộng và phép đảo Thí dụ : Tính 1001 - 11010 dùng số bù Ta có A = 01001 (thêm số vào để có bit số B B = 11010 ⇒ (B)1 = 00101 A-B = - [A+(B )1]1 = - (01001+00101) =- (01110)1 = - (10001) Trong hệ thập phân, đây là bài toán 910 - 2610 = -1710 Để thấy dấu trừ nhận nào, ta viết lại phép toán: Không có số tràn (hay số tràn =0) là dấu hiệu kết âm (hoặc =0) và ta phải lấy bù 1, thêm dấu trừ để đọc kết cuối cùng: (01110)1 = - 10001 Thí dụ 4: Tính 10110 - 10110 A = 10110 và B = 10110 ⇒ (B)1 = 01001 Trong phép cộng đầu tiên không có số tràn, kết xem số âm (hoặc =0) lấy bù kết ta A-B =00000 b/ - A >B Kết A-B là số dương, phép tính thực theo qui tắc sau: Cộng A với (B)1 thêm và không quan tâm tới số nhớ cuối cùng Thí dụ 5: Tính 110101 - 100110 dùng số bù A = 110101 và B = 100110 ⇒ (B)1 = 011001 Bỏ qua số nhớ cuối cùng, ta kết A-B =001111 Trong hệ thập phân đó là bài toán 5310 - 3810 = 1510 _ Nguyễn Trung Lập KỸ THUẬT SỐ (115) _Chương Mạch làm toán VI - Trong phép tính có số tràn chứng tỏ kết là số dương Số cộng thêm vào xem lấy từ số nhớ đem qua Tóm lại, để thực bài toán trừ, A-B, ta cộng A với bù B Dựa vào có mặt hay không số tràn mà có biện pháp xử lý kết quả: - Nếu số tràn =0, kết là số âm (hoặc =0) , ta phải lấy bù kết và thêm dấu - để đọc - Nếu số tràn =1, ta cộng thêm vào để có kết cuối cùng (bỏ qua bit tràn) là số dương 6.3 phép trừ số nhị phân dùng số bù 2: Phép toán dùng số bù có bất tiện là ta phải thêm bài toán cộng vào, để tránh việc này ta dùng phép toán với số bù Cho hai số dương A và B có n bit a/ - A<B Tính A-B: A-B = A-B+2n-2n = A+(2n - B ) - 2n = A+(B )2 - 2n = - {2n - [A+(B )2] } = - [A+(B )2]2 Vậy A-B có cách cộng số bù B vào A lấy bù tổng và thêm dấu trừ Như ta đã chuyển phép tính trừ thành phép cộng Thí dụ 6: Tính 1001 - 11010 dùng số bù Ta có A = 01001 (thêm số vào để có bit số B) B = 11010 ⇒ (N2)2 = 00110 A-B = - [A+(B )2]2 = - (01001+00110) =- (01111)2 = - (10001) Ta lại kết trên Để thấy dấu trừ nhận nào, ta viết lại phép toán: Không có số tràn là dấu hiệu kết âm và ta phải lấy bù 2, thêm dấu trừ để đọc kết cuối cùng: (01111)2 = - 10001 b/ - A ≥B Kết A-B là số dương, phép tính thực theo qui tắc sau: Cộng A với (B)2 và không quan tâm tới số nhớ vị trí 2n Thí dụ : Tính 110101 - 100110 dùng số bù A = 110101 và B = 100110 ⇒ (B)2 = 011010 Có số tràn, kết là số dương Bỏ qua số tràn và đọc kết mà không phải biến đổi: 001111 = 1510 _ Nguyễn Trung Lập KỸ THUẬT SỐ (116) _Chương Mạch làm toán VI - Thí dụ : Tính 10110 - 10110 A = 10110 và B = 10110 ⇒ (B)2 = 01010 Bỏ qua số tràn ta A-B =00000 6.4 Phép toán với số có dấu Cho tới chúng ta thực các phép toán với số không dấu và đôi xuất dấu trừ kết Trong máy tính, điều này có thể khắc phục cách dùng số có dấu Với qui ước số dương có bit dấu là và số âm có dấu là Thí dụ 9: +1010 = 01010 +1510 = 01111 +2310 = 010111 -1010 = 10110 - 1510 = 10001 - 2310 = 101001 Có thể thấy số âm số là số bù nó kể bit dấu Với cách biểu diễn số có dấu, phép toán trừ trở thành phép toán cộng: A-B = A+(-B ) Thí dụ 10: Tính A-B =01110 - 01001; B = 01001 = +910 ⇒ - 910 = 10111 Bit dấu =0 kết dương, bỏ bit tràn C’2 Vậy A-B = 00101 [(+1410 )-(+910)] = +510 Nếu A B dương âm , kết có thể cần thêm bit tràn số Trong trường hợp này bit tràn đầu tiên thuộc kết và C’2 là bit dấu Thí dụ 11: Tính A+B với A = 01110 (+1410) và B = 01001 (+910) Kết là 010111 = +2310 với C’2 = là bit dấu _ Nguyễn Trung Lập KỸ THUẬT SỐ (117) _Chương Mạch làm toán VI - Thí dụ 12: Tính A-B với A =10010 (-1410) và B =01001 (+910) Một lần C’2 bit dấu Kết là 101001 = -2310 (010111 = 2310) Từ các kết trên, ta rút qui tắc sau đây: Nếu C1 = C2 thì C’2 là bit tràn, bỏ và C1≠ C2 thì C’2 là bit dấu Thí dụ 13: Tính A-B với A =011101 (+2910) và B =0110 (+610) B = 000110 = +610 ⇒ - 610 = 111010 B Ghi chú: - Trong tất trường hợp, ta luôn luôn thực phép cộng đó có thể bỏ qua phép trừ - Khi cộng hai số hạng cùng dấu thì có thể xảy tượng tràn, lúc đó bit dấu dời bên trái bit Trong các trường hợp khác thì dấu kết cùng vị trí với dấu các số hạng - Ngoài kết còn xử lý tùy vào kết so sánh khác hai số nhớ C1 và C2 (nhờ cổng EX-OR) 6.5 Mạch cộng nhị phân: 6.5.1 Mạch cộng bán phần (Half adder, HA): Là mạch cộng hai số bit Bảng thật kết Mạch Ký hiệu (H 6.3) _ Nguyễn Trung Lập KỸ THUẬT SỐ (118) _Chương Mạch làm toán VI - 6.5.2 Mạch cộng toàn phần (Full adder,FA) : Là mạch cộng hai bit cùng vị trí hai số nhị phân nhiều bit, nói cách khác, đây là mạch cộng hai bit , giả sử thứ n, và bit nhớ có từ phép cộng hai bit thứ n-1 hai số nhị phân đó Ta có bảng thật Cn-1 0 0 1 1 Bn 0 1 0 1 B An 1 1 Sn 1 0 Cn 0 1 1 Dùng bảng Karnaugh ta xác định Sn và Cn sau: S n = C n − ⊕ (A n ⊕ Bn ) C n = A n B n + C n − (A n ⊕ Bn ) (H 6.4) Có thể thấy mạch cộng toàn phần gồm hai mạch cộng bán phần và cổng OR 6.6 Cộng hai số nhị phân nhiều bit: 6.6.1 Cộng nối tiếp Trong cách cộng nối tiếp, người ta dùng các ghi dịch để chuyển các bit vào mạch cộng toàn phần nhất, số nhớ từ ngã Cn làm trễ bit nhờ FF D và đưa vào ngã vào Cn-1 Như tốc độ phép cộng tùy thuộc vào tần số xung CK và số bit phải thực (H 6.5) _ Nguyễn Trung Lập KỸ THUẬT SỐ (119) _Chương Mạch làm toán VI - 6.6.2 Cộng song song Trong cách cộng song song, các bit đưa đồng thời vào các mạch cộng toàn phần và số nhớ kết bit thấp đưa lên bit cao (H 6.6) (H 6.6) Chính vì phải chờ số nhớ mà tốc độ cộng còn hạn chế Muốn nâng tốc độ cộng lên, người ta thực phép cộng song song định trước số nhớ 6.6.3 Mạch cộng song song định trước số nhớ Để tăng tốc độ mạch cộng song song, người ta tạo trước các số nhớ để đưa đồng thời vào mạch cộng Từ biểu thức xác định số nhớ Cn = AnBn + Cn−1(An ⊕Bn ) Đặt Pn = AnBn và Gn = An ⊕ Bn B Ta xác định C1, C2, C3 sau: _ Nguyễn Trung Lập KỸ THUẬT SỐ (120) _Chương Mạch làm toán VI - (H 6.7) Nhận thấy thời gian tính số nhớ giống các tầng và t1+t2 t1 là thời gian truyền đồng thời qua các cổng AND và t2 là thời gian truyền qua cổng OR Sơ đồ khối mạch cộng song song định trước số nhớ: (H 6.8) Trên thị trường có IC 7483 (tương đương 4008 CMOS) là IC cộng bit theo kiểu định trước số nhớ 6.6.4 Cộng hai số BCD Trên thị trường có các IC cộng số nhị phân, lúc trên thực tế nhiều chúng ta cần cộng các số BCD kết là số BCD Chúng ta tìm cách dùng IC 7483 (4008) để cộng hai số BCD Hai số BCD có trị từ 010 đến 910 cộng lại cho kết từ 010 đến 1810 Để đọc kết dạng BCD ta phải hiệu chỉnh kết có từ mạch cộng nhị phân Dưới đây là kết tương đương loại mã: thập phân, nhị phân và BCD Nhị Phân B C BCD đọc D TP S’=C’4 S’4 S’3 S’2 S’1 S =C4 S4 S3 S2 S1 10 11 12 13 14 15 16 17 0 0 0 0 0 0 0 0 1 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 1 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 1 1 1 1 theo NP 16 17 18 19 20 21 22 23 _ Nguyễn Trung Lập KỸ THUẬT SỐ (121) _Chương Mạch làm toán VI - 10 18 0 1 0 24 Nhận thấy: - Khi kết <10 mã nhị phân và BCD hoàn toàn giống - Khi kết ≥10 để có mã BCD ta phải cộng thêm cho mã nhị phân Để giải vấn đề hiệu chỉnh này trước tiên ta thực mạch phát kết trung gian mạch cộng hai số nhị phân bit Mạch này nhận vào kết trung gian phép cộng số nhị phân bit và cho ngã Y = kết này ≥10, ngược lại, Y=0 Bảng thật S’1 = TP C’4 S’4 S’3 S’2 Y 0-1 2-3 4-5 6-7 8-9 10-11 12-13 14-15 16-17 18 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 Ta không dùng ngã vào S’1 vì cặp trị có C’4 S’4 S’3 S’2 giống thì S’1 = và Dùng bảng Karnaugh xác định Y Y = C’4 + S’4 (S’3 + S’2) Và mạch cộng hai số BCD thực theo sơ đồ (H 6.9) (H 6.9) Vận hành: - IC thứ cho kết trung gian phép cộng hai số nhị phân - IC thứ hai dùng hiệu chỉnh để có kết là số BCD: - Khi kết < 10, IC nhận ngã vào B số 0000 (do Y=0) nên kết không thay đổi - Khi kết trung gian ≥ 10, IC nhận ngã vào B số 01102 = 610 (do Y=1) và kết hiệu chỉnh đã nói trên 6.6.5 Mạch cộng lưu số nhớ Nhắc lại, mạch cộng toàn phần (FA) nhận 3-bit ngã vào và cho ngã : - Một là tổng các bit có cùng trọng số với các bit ngã vào - Một là số nhớ có trọng số gấp đôi trọng số các bit ngã vào _ Nguyễn Trung Lập KỸ THUẬT SỐ (122) _Chương Mạch làm toán VI - 11 Để cộng chuỗi số, nhiều mạch cộng toàn phần sử dụng, số nhớ lưu lại để đưa vào mạch cộng bit cao Thí dụ 14 : Với số 3-bit X (X3X2X1), Y(Y3Y2Y1), Z (Z3Z2Z1) mạch cộng có dạng (H 6.10) Ngưòi ta dùng mạch cộng loại này để thực bài toán nhân Để có kết nhanh hơn, có thể dùng mạch (H 6.11) (H 6.11) 6.7 Mạch trừ nhị phân: 6.7.1 Mạch trừ bán phần Là mạch trừ hai số bit (H 6.12) (H 6.12) _ Nguyễn Trung Lập KỸ THUẬT SỐ (123) _Chương Mạch làm toán VI - 12 6.7.2 Mạch trừ có số nhớ (mạch trừ toàn phần) Là mạch trừ bit có quan tâm tới số nhớ mang từ bit trước Rn-1 An Bn Dn Rn 0 0 1 1 0 1 0 1 1 1 1 0 1 0 1 B Bảng thật Dùng bảng Karnaugh xác định các hàm Dn và Rn D n = Rn − ⊕ (A n ⊕ Bn ) Rn = A n Bn + Rn − (A n ⊕ Bn ) Và mạch (H 6.13) (H 6.13) Nhận thấy cấu tạo mạch trừ giống mạch cộng, khác mạch tạo số nhớ 6.7.3 Trừ số nhiều bit Ta có mạch trừ số nhiều bit cách mắc song song các mạch trừ bit (H 6.14) (H 6.14) 6.7.4 Cộng và trừ số nhiều bit mạch Nhắc lại để thực phép toán trừ, người ta cộng với số bù và cộng thêm (hoặc cộng với số bù 2), để thực phép trừ A - B ta tính A + (B)1 + Mạch (H 6.6) đưọc sửa đổi để có thực phép cộng và trừ tùy vào ngã điều khiển C (H 6.15) - Khi C=0, ta có mạch cộng - Khi C =1, ta có mạch trừ _ Nguyễn Trung Lập KỸ THUẬT SỐ (124) _Chương Mạch làm toán VI - 13 (H 6.15) Ta có thể thực mạch cộng trừ theo kiểu mắc nối tiếp (H 6.16) (H 6.16) Nếu hai số A, B là số bit, có dấu, kết xử lý mạch dò số tràn, thiết kế dựa vào biểu thức: OV = C7 ⊕ C8 Khi OV =1 nghĩa là có số tràn (tức C7≠C8), thì số tràn C8 là bit dấu, S8 là bit kết và OV = (tức C7=C8), thì S8 là bit dấu 6.8 Mạch nhân Lấy thí dụ bài toán nhân số bit S8 P44 S7 P34 P43 S6 P24 P33 P42 S5 Y4 X4 P14 P23 P32 P41 S4 Y3 X3 P13 P22 P31 Y2 X2 P12 P21 Y1 X1 P11 Số bị nhân Số nhân Tích phần S3 S2 S1 Kết 6.8.1 Mạch nhân Việc thực bài toán nhân có thể xem gồm hai bước: - Tính các tích phần: thực các cổng AND - Tính tổng các tích phần: Áp dụng bài toán tổng chuỗi số (H 6.17) _ Nguyễn Trung Lập KỸ THUẬT SỐ (125) _Chương Mạch làm toán VI - 14 (H 6.17) Dùng IC cộng bit (7483 4008) mạch nhân hai số bit có dạng (H 6.18) (H 6.18) 6.8.2 Mạch nhân nối tiếp - song song đơn giản (H 6.19) (H 6.19) Trong mạch này, hai số đưa nối tiếp vào mạch (trong trường hợp này là số bị nhân) và số còn lại đưa song song vào mạch - Số nhân (b4b3b2b1) đưa song song vào mạch qua các cổng AND đồng thời kiểm soát các cổng này: ứng với bit số bị nhân qua mạch để tới mạch cộng (cổng và 4); ứng với bit ngã cổng AND không (cổng và 3) _ Nguyễn Trung Lập KỸ THUẬT SỐ (126) _Chương Mạch làm toán VI - 15 - Số bị nhân đưa nối tiếp vào mạch theo thứ tự từ bit LSB Các FF D có tác dụng dịch kết phép nhân (là các tích phần) trước đưa vào mạch cộng để cộng các tích phần này Thí dụ 15 : Xem bài toán nhân 10x14 Số nhân là 1010 (1010) và số bị nhân là 1110 (1410) Quá trình nhân giải thích sau: P8 0 0 P7 0 P6 0 P5 1 P4 0 P3 0 P2 0 0 P1 0 0 A B C D Output 100011002 = 14010 Có thể thấy ngã A luôn luôn vì bit LSB số nhân = Ngã B có giá trị số bị nhân làm trễ bit (1 xung đồng hồ) Ngã C làm trễ bit và luôn (Giống A) Ngã D giống B trễ bit Điều này có thể so sánh với bài toán trên giấy Số bị nhân Số nhân A B C D Tích 1 0 1 1 0 1 0 0 1 0 0 0 0 0 0 Muốn không sử dụng mạch cộng số nhiều bit, người ta dùng mạch (H 6.20) (H 6.20) Mạch (H 6.20) cần (n-1) mạch cộng và mạch trễ (FF D) cho số nhân n bit Các cổng AND cho phép các bit số bị nhân qua số nhân là 1, số bị nhân (với số bit bất kỳ) cho vào mạch nối tiếp với bit LSB vào đầu tiên Ngã cổng sau xung Clock là 1110 Ngã cổng luôn luôn Mạch cộng A cộng số ngã và ngã bị trễ bit: 1 1 1 0 0 0 Tương tự mạch cộng B cộng số bị nhân với kết A làm trễ bit 1 1 1 1 0 _ Nguyễn Trung Lập KỸ THUẬT SỐ (127) _Chương Mạch làm toán VI - 16 và mạch cộng C 1 0 0 0 1 1 0 0 0 Lưu ý là mạch (H 6.20) kết cho ngã mạch cộng C với bit LSB đầu tiên, nhiên mạch này chưa quan tâm tới số nhớ Mạch (H 6.21) cho kết với số nhớ (H 6.21) Và (H 6.22) là mạch thực tế dùng ghi dịch bit có ngã vào/ra song song, mạch cộng bit và chip cổng AND ngã vào để thực bài toán nhân (H 6.22) 6.9 Mạch chia Nguyên tắc phép chia số nhị phân là thực phép so sánh phần số bị chia (số bit đầu tiên với số bit số chia) với số chia, số bị chia lớn số chia thì thương số =1, thực phép trừ, ngược lại thì thương số =0, sau đó dịch trái phần còn lại số bị chia bit (hoặc dịch phải số chia bit) tiếp tục thực bài toán so sánh giống trên Công việc lặp lại chấm dứt Sơ đồ (H 6.23) tóm tắt giải thuật thực bài toán chia _ Nguyễn Trung Lập KỸ THUẬT SỐ (128) _Chương Mạch làm toán VI - 17 Dịch Yes Số chia < Số bị chia ? No Thương số =0, Không trừ Thương số = 1, Trừ số bị chia cho số chia Chia xong ? Yes No Kết thúc (H 6.23) 6.9.1 Phép chia có phục hồi số bị chia Thay vì phải thực việc so sánh, người ta làm phép tính trừ phần số bị chia cho số chia, kết dương, thương số là 1, kết âm, thương số là 0, trường hợp này phải phục hồi lại số bị chia cách cộng số bị chia cho số chia trước dịch số bị chia sang trái bit (hoặc số chia sang phải) để tiếp tục lặp lại bài toán kết thúc (H 6.24) là sơ đồ giải thuật thực phép chia có phục hồi số bị chia _ Nguyễn Trung Lập KỸ THUẬT SỐ (129) _Chương Mạch làm toán VI - 18 Dịch số bị chia - số chia Yes Kết dương ? Thương sô = No Thương sô = số bị chia + số chia Yes Chia xong? No Kết thúc (H 6.24) Để thực phép chia theo sơ đồ trên, ngoài các ghi để chứa các số bị chia, số chia , số thương người ta phải dùng ghi chứa số bị chia phục hồi 6.9.2 Phép chia không phục hồi số bị chia Hệ thống đơn giản chúng ta dùng phép chia không cần phục hồi số bị chia theo nguyên tắc đây Quan sát giản đồ (H 6.24) ta thấy có trường hợp: _ Nguyễn Trung Lập KỸ THUẬT SỐ (130) _Chương Mạch làm toán VI - 19 ♦ Số chia lớn số bị chia (nhánh bên phải) Lưu ý là dịch số chia bên phải bit tương đương với chia số đó cho Nhánh bên phải sơ đồ trên gồm bài toán: - Cộng số bị chia với số chia - Trừ số bị chia cho 1/2 số chia (trừ bị chia cho số chia đã dịch phải) Hai bước này có thể gom lại thành bước sau: - Cộng số bị chia với số chia đã dịch phải ♦ Số chia nhỏ số bị chia (nhánh bên trái) Sau lấy kết =1, lệnh thực là trừ số chia đã dịch phải Từ các kết nhận xét trên có thể thay sơ đồ (H 6.24) sơ đồ giải thuật thực phép chia không cần phục hồi số bị chia (H 6.25) số bị chia - số chia Ye s Kết dương ? No Thương sô = Thương sô = Dịch Dịch số bị chia + số chia số bị chia - số chia Chia xong? No Kết thúc (H 6.25) Dựa vào sơ đồ (H 6.25), các bước thực bài toán chia sau: _ Nguyễn Trung Lập KỸ THUẬT SỐ (131) _Chương Mạch làm toán VI - 20 - Số chia (SC) lớn số bị chia (SBC) (SBC - SC < 0), thương số là 0, dịch phải số chia bit (thực tế ta mang thêm bit số bị chia xuống), thực bài toán cộng số chia và số bị chia - Số chia nhỏ số bị chia (SBC - SC > 0), thương số là 1, dịch phải số chia bit, thực bài toán trừ (cộng số bù 2) số bị chia cho số chia Để đơn giản, giả sử số chia và bị chia dương (MSB = 0), số bị chia gồm bit và số chia gồm bit Thí dụ 1: Thực bài toán chia 2110 = 0101012 cho 710 = 01112 Số bù 0111 là (0111)2 = 1001 Ghi chú: (1) Số trên mũi tên kết phép toán trừ là số âm, bước là dời và cộng số chia (2) Số trên mủi tên kết phép toán trừ là số dương, bước là dời và trừ số chia (cộng số bù 2) Thương số có từ các số tràn mà trên phép tính ta ghi vòng tròn Kết quả: thương là 011(=3) và số dư là 0000(=0) Bài toán trên cho kết với bước cộng/trừ Tuy nhiên ta chia 21 cho thì cần tới bước cộng trừ để có thương số bit Một cách tổng quát số bước bài toán với số bít số bị chia Ta có thể làm lại bài toán với bước cộng/trừ ((thêm bit cho số bị chia) _ Nguyễn Trung Lập KỸ THUẬT SỐ (132) _Chương Mạch làm toán VI - 21 Thí dụ và đây là bài toán bước Thí dụ : Chia 21 cho kết và số dư là Thí dụ : Chia 21 cho 5, kết và số dư là Tuy nhiên trên phép toán ta thấy phép cộng với số chia cuối cùng cho kết âm (số 1100) nên để điều chỉnh số dư ta phải cộng số chia vào và bỏ qua số tràn _ Nguyễn Trung Lập KỸ THUẬT SỐ (133) _Chương Mạch làm toán VI - 22 (1) Cộng số chia vào để điều chỉnh số dư Mạch thực các bài toán này cho (H 6.26) Trong (H 6.26) bước đầu tiên thực các cổng EX-OR trên cùng có ngã điều khiển = để thực bài toán trừ Sau bước thứ nhất, bit thứ tư mạch cộng (S4) định phép toán sau đó là cộng (S4=1) hay trừ (S4=0) số bị chia với số chia Số nhớ bài toán cuối cùng (bước 6) là bit LSB thương số Và mạch cộng cuối cùng thiết kế kết hợp với các cổng AND để xử lý kết số dư hai thí dụ và Nếu kết bài toán bước có S4 = thì cổng AND mở để thực bài toán cộng với số chia để điều chỉnh số dư _ Nguyễn Trung Lập KỸ THUẬT SỐ (134) _Chương Mạch làm toán VI - 23 (H 6.26) _ Nguyễn Trung Lập KỸ THUẬT SỐ (135) Chương Bộ nhớ bán dẫn VII -  CHƯƠNG 7: BỘ NHỚ BÁN DẪN – THUẬT NGỮ – ĐẠI CƯƠNG VỀ VẬN HÀNH CỦA BỘ NHỚ y Các tác vụ và các nhóm chân IC nhớ y Giao tiếp với CPU – CÁC LOẠI BỘ NHỚ BÁN DẪN y ROM y PLD y RAM – MỞ RỘNG BỘ NHỚ y Mở rộng độ dài từ y Mở rộng vị trí nhớ y Mở rộng dung lượng nhớ _ Tính ưu việt chủ yếu các hệ thống số so với hệ thống tương tự là khả lưu trữ lượng lớn thông tin số và liệu khoảng thời gian định Khả nhớ này là điều làm cho hệ thống số trở thành đa và có thể thích hợp với nhiều tình Thí dụ máy tính số, nhớ chứa lệnh mà theo đó máy tính có thể hoàn tất công việc mình với tham gia ít người Bộ nhớ bán dẫn sử dụng làm nhớ chính các máy tính nhờ vào khả thỏa mãn tốc độ truy xuất liệu xử lý trung tâm (CPU) Chúng ta đã quá quen thuộc với Fliflop, linh kiện điện tử có tính nhớ Chúng ta đã thấy nhóm các FF họp thành ghi để lưu trữ và dịch chuyển thông tin nào Các FF chính là các phần tử nhớ tốc độ cao dùng nhiều việc điều hành bên máy tính, nơi mà liệu dịch chuyển liên tục từ nơi này đến nơi khác Tiến công nghệ chế tạo LSI và VLSI cho phép kết hợp lượng lớn FF chip tạo thành các nhớ với các dạng khác Những nhớ bán dẫn với công nghệ chế tạo transistor lưỡng cực (BJT) và MOS là nhớ nhanh và giá thành nó liên tục giảm các công nghệ LSI và VLSI ngày càng cải tiến Dữ liệu số có thể lưu trữ dạng điện tích tụ điện, và loại phần tử nhớ bán dẫn quan trọng đã dùng nguyên tắc này để lưu trữ liệu với mật độ cao tiêu thụ nguồn điện thấp Bộ nhớ bán dẫn dùng là nhớ chính máy tính, nơi mà việc vận hành nhanh xem ưu tiên hàng đầu và là nơi mà tất liệu chương trình lưu chuyển liên tục quá trình thực tác vụ CPU yêu cầu Mặc dù nhớ bán dẫn có tốc độ làm việc cao, phù hợp cho nhớ trong, giá thành tính trên bit lưu trữ cao khiến cho nó không thể là loại thiết bị có tính chất lưu trữ khối (mass storage), là loại thiết bị có khả lưu trữ hàng tỉ bit mà không cần cung cấp lượng và dùng là nhớ ngoài (đĩa từ , băng từ , CD ROM ) Tốc độ xử lý liệu nhớ ngoài tương đối chậm nên máy tính làm việc thì liệu từ nhớ ngoài chuyển vào nhớ Băng từ và đĩa từ là các thiết bị lưu trữ khối mà giá thành tính trên bit tương đối thấp Một loại nhớ khối là nhớ bọt từ (magnetic bubble memory, MBM) là nhớ điện tử dựa trên nguyên tắc từ có khả lưu trữ hàng triệu bit chip Với tốc độ tương đối chậm nó không dùng nhớ Chương này nghiên cứu cấu tạo và tổ chức các nhớ bán dẫn _Nguyễn Trung Lập KỸ THUẬT SỐ (136) Chương Bộ nhớ bán dẫn VII - 7.1 Thuật ngữ liên quan đến nhớ Để tìm hiểu cấu tạo, hoạt động nhớ chúng ta bắt đầu với số thuật ngữ liên quan đến nhớ - Tế bào nhớ: là linh kiện hay mạch điện tử dùng để lưu trữ bit đơn (0 hay 1) Thí dụ tế bào nhớ bao gồm: mạch FF, tụ tích điện, điểm trên băng từ hay đĩa từ - Từ nhớ : là nhóm các bit (tế bào) nhớ dùng biểu diễn các lệnh hay liệu dạng số nhị phân Thí dụ ghi FF là phần tử nhớ lưu trữ từ bit Kích thước từ nhớ các máy tính đại có chiều dài từ đến 64 bit - Byte : từ bit, đây là kích thước thường dùng từ nhớ các máy vi tính - Dung lượng : số lượng bit có thể lưu trữ nhớ Thí dụ nhớ có khả lưu trữ 4.096 từ nhớ 20 bit, dung lượng nó là 4096 x 20, 1024 (=210) từ nhớ gọi là “1K”, 4096 x 20 = 4K x 20 Với dung lượng lớn ta dùng “1M” hay 1meg để 220 = 1.048.576 từ nhớ - Địa : là số nhị phân dùng xác định vị trí từ nhớ nhớ Mỗi từ nhớ lưu nhớ địa Địa luôn luôn biểu diễn số nhị phân, nhiên để thuận tiện người ta có thể dùng số hex hay thập phân, bát phân - Tác vụ đọc : (Read, còn gọi là fetch ), từ nhớ vị trí nào đó nhớ truy xuất và chuyển sang thiết bị khác - Tác vụ viết : (ghi, Write, còn gọi là store ), từ đặt vào vị trí nhớ, từ viết vào thì từ cũ - Thời gian truy xuất (access time) : số đo tốc độ hoạt động nhớ, ký hiệu tACC Đó là thời gian cần để hoàn tất tác vụ đọc Chính xác đó là thời gian từ nhớ nhận địa lúc liệu khả dụng ngã nhớ - Bộ nhớ không vĩnh cữu (volatile) : Bộ nhớ cần nguồn điện để lưu trữ thông tin Khi ngắt điện, thông tin lưu trữ bị Hầu hết nhớ bán dẫn là loại không vĩnh cữu, nhớ từ là loại vĩnh cữu (nonvolatile) - Bộ nhớ truy xuất ngẫu nhiên (Random-Access Memory, RAM) : Khi cần truy xuất địa ta tới địa đó Vậy thời gian đọc hay viết liệu vào các vị trí nhớ khác nhớ không tùy thuộc vào vị trí nhớ Nói cách khác, thời gian truy xuất vị trí nhớ Hầu hết nhớ bán dẫn và nhẫn từ (bộ nhớ máy tính trước nhớ bán dẫn đời) là loại truy xuất ngẫu nhiên - Bộ nhớ truy xuất (Sequential-Access Memory, SAM) : Khi cần truy xuất địa ta phải lướt qua các địa trước nó Như thời gian đọc và viết liệu vị trí khác thì khác Những thí dụ nhớ này là băng từ, đĩa từ Tốc độ làm việc loại nhớ này thường chậm so với nhớ truy xuất ngẫu nhiên - Bộ nhớ đọc/viết (Read/Write Memory, RWM) : Bộ nhớ có thể viết vào và đọc - Bộ nhớ đọc (Read-Only Memory, ROM): là nhớ mà tỉ lệ tác vụ đọc trên tác vụ ghi lớn Về mặt kỹ thuật, ROM có thể ghi lần nơi sản xuất và sau đó thông tin có thể đọc từ nhớ Có loại ROM có thể ghi nhiều lần tác vụ ghi khá phức tạp là tác vụ đọc ROM thuộc loại nhớ vĩnh cữu và liệu lưu giữ đã cắt nguồn điện - Bộ nhớ tĩnh (Static Memory Devices) : là nhớ bán dẫn đó liệu đã lưu trữ trì nào còn nguồn nuôi - Bộ nhớ động (Dynamic Memory Devices) : là nhớ bán dẫn đó liệu đã lưu trữ muốn tồn phải ghi lại theo chu kỳ Tác vụ ghi lại gọi là làm tươi (refresh) - Bộ nhớ (Internal Memory) : Chỉ nhớ chính máy tính Nó lưu trữ các lệnh và liệu mà CPU dùng thường xuyên hoạt động _Nguyễn Trung Lập KỸ THUẬT SỐ (137) Chương Bộ nhớ bán dẫn VII - - Bộ nhớ khối (Mass Memory): Còn gọi là nhớ phụ, nó chứa lượng thông tin lớn bên ngoài máy tính Tốc độ truy xuất trên nhớ này thường chậm và nó thuộc loại vĩnh cữu 7.2 Đại cương vận hành nhớ 7.2.1 Các tác vụ và các nhóm chân IC nhớ Mặc dù loại nhớ có hoạt động bên khác nhau, chúng có chung số nguyên tắc vận hành mà chúng ta có thể tìm hiểu sơ lược trước vào nghiên cứu loại nhớ Mỗi hệ thống nhớ luôn có số yêu cầu các ngã vào và để hoàn thành số tác vụ: - Chọn địa nhớ để truy xuất (đọc viết) - Chọn tác vụ đọc viết để thực - Cung cấp liệu để lưu vào nhớ tác vụ viết - Gửi liệu từ nhớ tác vụ đọc - Cho phép (Enable) (hay Không, Disable) nhớ đáp ứng (hay không) lệnh đọc/ghi địa đã gọi đến Từ các tác vụ kể trên, ta có thể hình dung IC nhớ có số ngã vào sau: - Ngã vào địa : vị trí nhớ xác định địa nhất, cần đọc liệu ghi liệu vào ta phải tác động vào chân địa vị trí nhớ đó Một IC có n chân địa có 2n vị trí nhớ Ký hiệu các chân địa là A0 đến An-1 Một IC có 10 chân địa có 1024 (1K) vị trí nhơ - Ngã vào/ra liệu: Các chân liệu là các ngã vào/ra, nghĩa là liệu luôn xử lý theo hai chiều Thường thì liệu vào/ra chung trên chân nên các ngã này thuộc loại ngã trạng thái Số chân địa và liệu IC xác định dung lượng nhớ IC đó Thí dụ IC nhớ có 10 chân địa và chân liệu thì dung lượng nhớ IC đó là 1Kx8 (8K bit 1K Byte) - Các ngã vào điều khiển: Mỗi IC nhớ chọn có yêu cầu xuất nhập liệu các chân tương ứng tác động Ta có thể kể số ngã vào điều khiển: * CS : Chip select - Chọn chip - Khi chân này xuống thấp IC chọn * CE : Chip Enable - Cho phép chip - Chức chân CS * OE : Output Enable - Cho phép xuất - Dùng đọc liệu * R/ W : Read/Write - Đọc/Viết - Cho phép Đọc liệu mức cao và Ghi liệu vào mức thấp * CAS : Column Address Strobe - Chốt địa cột * RAS : Row Address Strobe - Chốt địa hàng Trong trường hợp chip nhớ có dung lượng lớn, để giảm kích thước mạch giải mã địa bên IC, người ta chia số chân làm 2: địa hàng và địa cột Như phải dùng mạch giải mã địa mạch nhỏ nhiều Thí dụ với 10 chân địa chỉ, thay vì dùng mạch giải mã 10 đường sang 1024 đường, người ta dùng mạch giải mã đường sang 32 đường, hai mạch này đơn giản so với mạch Một vị trí nhớ bây có địa : hàng và cột, dĩ nhiên muốn truy xuất vị trí nhớ phải có đủ địa nhờ tín hiệu RAS và CAS (H 7.1) cho thấy cách vẽ các nhóm chân IC nhớ (m chân địa và n chân liệu) (H 7.1b) và (H 7.1c) vẽ các chân địa và liệu dạng các Bus (H 7.1b) dùng các sơ đồ chi tiết và (H 7.1c) dùng các sơ đồ khối _Nguyễn Trung Lập KỸ THUẬT SỐ (138) Chương Bộ nhớ bán dẫn VII - (a) (b) (H 7.1) (c) 7.2.2 Giao tiếp IC nhớ và xử lý trung tâm (CPU) Trong hệ thống hoạt động có liên quan đến IC nhớ xử lý trung tâm (Central Processing Unit, CPU) quản lý Giao tiếp IC nhớ và CPU mô tả (H 7.2) (H 7.2) Một tác vụ có liên quan đến nhớ CPU thực theo các bước: - Đặt địa quan hệ lên bus địa - Đặt tín hiệu điều khiển lên bus điều khiển - Dữ liệu khả dụng xuất trên bus liệu, sẵn sàng để ghi vào đọc Để hoạt động IC đồng bộ, các bước trên phải tuân thủ giản đồ thời gian IC nhớ (sẽ đề cập đến xét các loại nhớ) 7.3 Các loại nhớ bán dẫn Có loại nhớ bán dẫn : - Bộ nhớ bán dẫn đọc : (Read Only Memory, ROM) - Bộ nhớ truy xuất ngẫu nhiên : (Random Access Memory, RAM) Thật ROM và RAM là loại nhớ truy xuất ngẫu nhiên, RAM giữ tên gọi này Để phân biệt chính xác ROM và RAM ta có thể gọi ROM là nhớ chết (nonvolatile, vĩnh cữu) và RAM là nhớ sống (volatile, không vĩnh cữu) coi ROM là nhớ đọc thì RAM là nhớ đọc - viết (Read-Write Memory) - Thiết bị logic lập trình : (Programmable Logic Devices, PLD) có thể nói điểm khác biệt PLD với ROM và RAM là qui mô tích hợp PLD thường không lớn ROM và RAM và các tác vụ PLD thì có phần hạn chế 7.3.1 ROM (Read Only Memory) Mặc dù có tên gọi chúng ta phải hiểu là sử dụng ROM, tác vụ đọc thực nhiều lần so với tác vụ ghi Thậm chí có loại ROM ghi lần xuất xưởng Các tế bào nhớ từ nhớ ROM xếp theo dạng ma trận mà phần tử chiếm vị trí xác định địa cụ thể và nối với ngã mạch giải mã địa _Nguyễn Trung Lập KỸ THUẬT SỐ (139) Chương Bộ nhớ bán dẫn VII - bên IC Nếu vị trí chứa tế bào nhớ ta nói ROM có tổ chức bit và vị trí là từ nhớ ta có tổ chức từ Ngoài ra, để giảm mức độ cồng kềnh mạch giải mã, vị trí nhớ có thể xác định đường địa : đường địa hàng và đường địa cột và nhớ có mạch giải mã mạch có số ngã vào 1/2 số đường địa nhớ 7.3.1.1 ROM mặt nạ (Mask Programmed ROM, MROM) Đây là loại ROM chế tạo để thực công việc cụ thể các bảng tính, bảng lượng giác , bảng logarit sau xuất xưởng Nói cách khác, các tế bào nhớ ma trận nhớ đã tạo theo chương trình đã xác định trước phương pháp mặt nạ: đưa vào các linh kiện điện tử nối từ đường từ qua đường bít để tạo giá trị bit và để trống cho giá trị bit ngược lại - (H 7.3) là mô hình MROM đó các ô vuông là nơi chứa (hay không) linh kiện (diod, transistor BJT hay MOSFET) để tạo bit Mỗi ngã mạch giải mã địa gọi là đường từ và đường nối tế bào nhớ ngoài gọi là đường bit Khi đường từ lên mức cao thì tế bào nhớ từ nhớ chọn (H 7.3) Nếu tế bào nhớ là Diod BJT thì diện linh kiện tương ứng với bit (lúc này đường từ lên cao, Transsisstor diod dẫn, dòng điện qua điện trở tạo điện cao hai đầu điện trở) còn vị trí nhớ trống tương ứng với bit Đối với loại linh kiện MOSFET thì ngược lại, nghĩa là diện linh kiện tương ứng với bit còn vị trí nhớ trống tương ứng với bit (muốn có kết loại BJT thì thêm ngã các cổng đảo) (H 7.4) là thí dụ nhớ MROM có dung lượng 16x1 với các mạch giải mã hàng và cột (các mạch giải mã đường sang đường hàng và cột dùng Transistor MOS và có cùng cấu trúc) _Nguyễn Trung Lập KỸ THUẬT SỐ (140) Chương Bộ nhớ bán dẫn VII - (H 7.4) Trong thực tế, để đơn giản cho việc thực hiện, vị trí nhớ người ta cho vào transistor MOS Nhưng vị trí ứng với bit các transistor MOS chế tạo với lớp SiO2 dầy làm tăng điện ngưỡng nó lên, kết là transistor MOS này luôn luôn không dẫn điện (H 7.5), Các transistor khác dẫn điện bình thường (H 7.5) 7.3.1.2 ROM lập trình (Programmable ROM, PROM) Có cấu tạo giống MROM vị trí nhớ có linh kiện nối với cầu chì Như xuất xưởng các ROM này chứa cùng loại bit (gọi là ROM trắng), lúc sử dụng người lập trình thay đổi các bit mong muốn cách phá vỡ cầu chì các vị trí tương ứng với bit đó Một cầu chì đã bị phá vỡ thì không thể nối lại đó loại ROM này cho phép lập trình lần để sử dụng, bị lỗi không thể sửa chữa (H 7.6) (H 7.6) Người ta có thể dùng diod mắc ngược chiều nhau, mạch không dẫn điện, để tạo bit 0, lập trình thì diod bị phá hỏng tạo mạch nối tắt, diod còn lại dẫn điện cho bit _Nguyễn Trung Lập KỸ THUẬT SỐ (141) Chương Bộ nhớ bán dẫn VII - 7.3.1.3 ROM lập trình được, xóa tia U.V (Ultra Violet Erasable Programmable ROM, U.V EPROM) Đây là loại ROM tiện cho người sử dụng vì có thể dùng nhiều lần cách xóa và nạp lại Cấu tạo tế bào nhớ U.V EPROM dựa vào transistor MOS có cấu tạo đặc biệt gọi là FAMOS (Floating Gate Avalanche Injection MOS) (H 7.7) Trên chất bán dẫn N pha loãng, tạo vùng P pha đậm (P+) nối ngoài cho cực S (Source) và D (Drain) Trong lớp cách điện SiO2 cực người ta cho vào thỏi Silicon không nối với bên ngoài và gọi là cổng Khi nguồn VDD, phân cực ngược cực và Drain còn nhỏ, transistor không dẫn, tăng VDD đủ lớn, tượng thác đổ (avalanche) xảy ra, electron đủ lượng chui qua lớp cách điện tới bám vào cổng Do tượng cảm ứng, điện lộ P hình thành nối hai vùng bán dẫn P+ , transistor trở nên dẫn điện Khi cắt nguồn, transistor tiếp tục dẫn điện vì electron không thể trở để tái hợp với lỗ trống Để xóa EPROM, người ta chiếu tia U.V vào các tế bào khoảng thời gian xác định để electron trên cổng nhận đủ lượng vượt qua lớp cách điện trở vùng tái hợp với lỗ trống xóa điện lộ P và transistor trở trạng thái không dẫn ban đầu (H 7.8) Mỗi tế bào nhớ EPROM gồm transistor FAMOS nối tiếp với transistor MOS khác mà ta gọi là transistor chọn, vai trò FAMOS giống là cầu chì có thể phục hồi Để loại bỏ transistor chọn người ta dùng transistor SAMOS (Stacked Gate Avalanche Injection MOS) có cấu tạo tương tự transistor MOS có đến cổng nằm chồng lên nhau, nối cực Gate và để Khi cổng tích điện làm gia tăng điện thềm khiến transistor trở nên khó dẫn điện Như ta chọn điện Vc khoảng VT1 và VT2 là giá trị điện thềm tương ứng với trạng thái transistor (VT1<Vc<VT2) thì các transistor không lập trình (không có lớp electron cổng nổi) dẫn còn các transistor lập trình không dẫn _Nguyễn Trung Lập KỸ THUẬT SỐ (142) Chương Bộ nhớ bán dẫn VII - (H 7.9) Điểm bất tiện U.V EPROM là cần thiết bị xóa đặc biệt phát tia U.V và lần xóa tất tế bào nhớ IC nhớ bị xóa Như người sử dụng phải nạp lại toàn chương trình 7.3.1.4 ROM lập trình và xóa xung điện (Electrically Erasable PROM, EEPROM hay Electrically Alterable PROM, EAPROM) Đây là loại ROM lập trình và xóa nhờ xung điện và đặc biệt là có thể xóa để sửa trên byte Các tế bào nhớ EEPROM sử dụng transistor MNOS (Metal Nitride Oxide Semiconductor) có cấu tạo (H 7.10) (H 7.10) Giữa lớp kim loại nối các cực và lớp SiO2 là lớp mỏng chất Nitrua Silic (Si3N4) - từ 40nm đến 650nm - Dữ liệu nạp cách áp điện dương cực G và S (khoảng 20 đến 25V 100ms) Do khác biệt độ dẫn điện, electron tích trên bề mặt lớp SiO2 và Si3N4 , các electron này tồn đã ngắt nguồn và làm thay đổi trạng thái dẫn điện transistor Bây áp điện âm cực G và S ta lớp điện tích trái dấu với trường hợp trước Như hai trạng thái khác Transistor có thể thiêt lập hai điện ngược chiều và các tế bào nhớ ghi và xóa với xung điện trái dấu 7.3.1.5 FLASH ROM EPROM là loại nonvolatile, có tốc độ truy xuất nhanh (khoảng 120ns), mật độ tích hợp cao, giá thành rẻ nhiên để xóa và nạp lại phải dùng thiết bị đặc biệt và lấy khỏi mạch EEPROM nonvolatile, có tốc độ truy xuất nhanh, cho phép xóa và nạp lại mạch trên byte có mật độ tích hợp thấp và giá thành cao EPROM Bộ nhớ FLASH ROM tận dụng các ưu điểm hai loại ROM nói trên, nghĩa là có tốc độ truy xuất nhanh, có mật độ tích hợp cao giá thành thấp Hầu hết các FLASH ROM sử dụng cách xóa đồng thời khối liệu nhanh (hàng trăm ms so với 20 U.V EPROM) Những FLASH ROM hệ cho phép xóa sector (512 byte) chí vị trí nhớ mà không cần lấy IC khỏi mạch FLASH ROM có thời gian ghi khoảng 10μs/byte so với 100 μs EPROM và ms EEPROM _Nguyễn Trung Lập KỸ THUẬT SỐ (143) Chương Bộ nhớ bán dẫn VII - 7.3.1.6 Giản đồ thời gian ROM Ngoại trừ MROM dùng chế độ đọc, các loại ROM khác sử dụng hai chế độ đọc và nạp chương trình Như ta có hai loại giản đồ thời gian: Giản đồ thời gian đọc và giản đồ thời gian nạp trình (H 7.11) là giản đồ thời gian tiêu biểu cho chu kỳ đọc ROM Các giá trị địa chỉ, các tín hiệu R/ W và CS cấp từ CPU cần thực tác vụ đọc liệu địa nào đó Thời gian để thực tác vụ đọc gọi là chu kỳ đọc tRC Trong chu kỳ đọc có thể kể số thời gian sau: (H 7.11) - tACC: Address Access time: Thời gian truy xuất địa chỉ: Thời gian tối đa từ lúc CPU đặt địa lên bus địa đến lúc liệu có giá trị trên bus liệu Đối với ROM dùng BJT thời gian này khoảng từ 30 ns đến 90 ns, còn loại MOS thì từ 200 ns đến 900 ns - tACS (tACE): Chip select (enable) access time: Thời gian thâm nhập chọn chip: Thời gian tối đa từ lúc tín hiệu CS đặt lên bus điều khiển đến lúc liệu có giá trị trên bus liệu ROM BJT khoảng 20 ns , MOS 100 ns - tH (Hold time): Thời gian liệu còn tồn trên bus liệu kê từ lúc tín hiệu CS hết hiệu lực (H 7.12) là giản đồ thời gian chu kỳ nạp liệu cho EPROM Một chu kỳ nạp liệu bao gồm thời gian nạp (Programmed) và thời gian kiểm tra kết (Verify) (H 7.12) 7.3.2 Thiết bị logic lập trình (Programmable logic devices, PLD) Là tên gọi chung các thiết bị có tính chất nhớ và có thể lập trình để thực công việc cụ thể nào đó Trong công việc thiết kế các hệ thống, đôi người ta cần số mạch tổ hợp để thực hàm logic nào đó Việc sử dụng mạch này có thể lặp lại thường xuyên và thay đổi tham số hàm có thể phải thực để thỏa mãn yêu cầu việc thiết kế Nếu phải thiết kế từ các cổng logic thì mạch cồng kềnh, tốn kém mạch in, _Nguyễn Trung Lập KỸ THUẬT SỐ (144) Chương Bộ nhớ bán dẫn VII - 10 dây nối nhiều, kết là độ tin cậy không cao Như vậy, tiện lợi các mạch này chế tạo sẵn và người sử dụng có thể tác động vào để làm thay đổi phần nào chức mạch cách lập trình Đó là ý tưởng sở cho đời thiết bị logic lập trình Các thiết bị này có thể xếp loại nhớ và gồm các loại: PROM, PAL (Programmable Array Logic) và PLA (Programmable Logic Array) Trước nhất, chúng ta xét qua số qui ước cách biểu diễn các phần tử PLD Một biến các hàm thường xuất dạng nguyên và đảo nó nên chúng ta dùng ký hiêu đệm và đảo chung cổng có ngã Một nối chết, còn gọi là nối cứng (không thay đổi được) vẽ chấm đậm (.) và nối sống, còn gọi là nối mềm (dùng lập trình) dấu (x) Nối sống thực chất là cầu chì, lập trình thì phá bỏ Một cổng nhiều ngã vào thay ngã vào với nhiều mối nối (H 7.13) (H 7.13) Chúng ta lấy thí dụ với mạch tương đối đơn giản để thấy cấu tạo các PLD, đó là các PLD thực hàm hàm gồm biến, mạch gồm ngã vào và ngã Trên thực tế số hàm và biến PLD lớn 7.3.2.1 PROM (H 7.14 ) là cấu tạo PROM có ngã vào và ngã Có tất 16 cổng AND có ngã vào nối chết với các ngã đảo và không đảo các biến vào, ngã các cổng AND là 16 tổ hợp biến (Gọi là đường tích) Các cổng OR có 16 ngã vào nối sống để thực hàm tổng (đường tổng) Như với PROM việc lập trình thực các đường tổng Thí dụ dùng PROM này để tạo các hàm sau: O = A + DB + DC O = D CBA + DC BA O = CBA O = BA + D C Ta phải chuẩn hóa các hàm chưa chuẩn O = DCBA + DCBA + D CBA + D CBA + DC BA + DCBA + D CBA + D CBA + DCBA + DCBA + D CBA O = CBA = DCBA + DCBA O = BA + D C = D CBA + DCBA + D CBA + DCBA + D CBA + D CBA + D CBA Mạch cho (H 7.14b) _Nguyễn Trung Lập KỸ THUẬT SỐ (145) Chương Bộ nhớ bán dẫn VII - 11 (a) (b) (H 7.14) 7.3.2.2 PAL Mạch tương tự với IC PROM, PAL có các cổng AND ngã vào nối sống và cổng OR cổng có ngã vào nối chết với đường tích Như việc lập trình thực trên các đường tích (H 7.15b) là IC PAL đã lập trình để thực các hàm thí dụ trên: O = A + DB + DC O = D CBA + DC BA (a) O = CBA O = BA + D C (b) (H 7.15) _Nguyễn Trung Lập KỸ THUẬT SỐ (146) Chương Bộ nhớ bán dẫn VII - 12 7.3.2.3 PLA PLA có cấu tạo tương tự PROM và PAL, các ngã vào cổng AND và cổng OR nối sống (H 7.16) Như khả lập trình PLA bao gồm hai cách lập trình loại IC kể trên (H 7.16) 7.3.3 RAM (Random Acess Memory) Có hai loại RAM : RAM tĩnh và RAM động RAM tĩnh cấu tạo các tế bào nhớ là các FF, RAM động lợi dụng các điện dung ký sinh các cực transistor MOS, trạng thái tích điện hay không tụ tương ứng với hai bit và Do RAM động có mật độ tích hợp cao, dung lượng nhớ thường lớn nên để định vị các phần tử nhớ người ta dùng phương pháp đa hợp địa chỉ, từ nhớ chọn có đủ hai địa hàng và cột tác động Phương pháp này cho phép n đường địa truy xuất 22n vị trí nhớ Như giản đồ thời gian RAM động thường khác với giản đồ thời gian RAM tĩnh và ROM 7.3.3.1 RAM tĩnh (Static RAM, SRAM) Mỗi tế bào RAM tĩnh là mạch FlipFlop dùng Transistor BJT hay MOS (H 7.17) _Nguyễn Trung Lập KỸ THUẬT SỐ (147) Chương Bộ nhớ bán dẫn VII - 13 (a) (H 7.17) (b) (H 7.17a) là tế bào nhớ RAM tĩnh dùng transistor BJT với đường địa hàng và cột Khi hai đường địa hàng cột mức thấp các tế bào không chọn vì cực E có điện thấp hai Transistor dẫn, mạch không hoạt động FF Khi hai địa hàng và cột lên cao, mạch hoạt động FF, hai trạng thái và tế bào nhớ đặc trưng hai trạng thái khác đường bit và bit Giả sử T1 dẫn thì T2 ngưng, đường bit có dòng điện chạy qua, tạo điện cao R3 đó đường bit không có dòng chạy qua nên R4 có điện thấp Nếu ta qui ước trạng thái này tương ứng với bit thì trạng thái ngược lại, là trạng thái T1 ngưng và T2 dẫn, hiệu điện trở R3 thấp và R4 cao, là bit R3 và R4 có tác dụng biến đổi dòng điện điện Đối với tế bào nhớ dùng MOS, hai đường từ nối với T5, T6 và T7, T8 nên hai đường từ mức thấp T1 và T2 bị cô lập khỏi mạch, tế bào nhớ không chọn Khi hai lên cao mạch hoạt động tương tự trên Trong mạch này R1 và R2 thay T3 và T4 và không cần R3 và R4 mạch dùng BJT (H 7.18) là mạch điều khiển chọn chip và thực tác vụ đọc/viết vào tế bào nhớ (H 7.18) OPAMP giữ vai trò mạch so sánh điện hai đường bit và bit cho ngã mức cao thấp tùy kết so sánh này (tương ứng với trạng thái tế bào nhớ) và liệu đọc cổng đệm thứ mở ( R/ W lên cao) Khi cổng đệm thứ mở ( R/ W xuống thấp) liệu ghi vào tế bào nhớ qua cổng đệm Cổng tạo hai tín hiệu ngược pha từ liệu vào Nếu hai tín hiệu này cùng trạng thái với hai đường bit và bit mạch trước đó, mạch không đổi trạng thái nghĩa là _Nguyễn Trung Lập KỸ THUẬT SỐ (148) Chương Bộ nhớ bán dẫn VII - 14 tế bào nhớ lưu bit giống bit muốn ghi vào thì mạch không thay đổi Bây giờ, liệu cần ghi khác với liệu lưu trữ thì mạch FF thay đổi trạng thái cho phù hợp với tín hiệu ngược pha tạo từ liệu Bit đã ghi vào - Chu kỳ đọc SRAM Giản đồ thời gian chu kỳ đọc SRAM tương tự giản đồ thời gian chu kỳ đọc ROM (H 7.11) thêm điều kiện tín hiệu R/ W lên mức cao - Chu kỳ viết SRAM (H 7.19) là giản đồ thời gian chu kỳ viết SRAM Một chu kỳ viết tWC bao gồm: - tAS (Address Setup time): Thời gian thiết lập địa : Thời gian để giá trị địa ổn định trên bus địa lúc tín hiệu CS tác động - tW (Write time): Thời gian từ lúc tín hiệu CS tác động đến lúc liệu có giá trị trên bus liệu - tDS và tDH: Khoảng thời gian liệu tồn trên bus liệu bao gồm thời gian trước (tDS) và sau (tDH) tín hiệu CS không còn tác động - tAH (Address Hold time): Thời gian giữ địa chỉ: từ lúc tín hiệu CS không còn tác động đến lúc xuất địa (H 7.19) 7.3.3.2 RAM động (Dynamic RAM, DRAM) (H 7.20a) là tế bào nhớ DRAM (a) (H 7.20) (b) (H 7.20b) là cách biểu diễn tế bào nhớ DRAM đó đơn giản số chi tiết dùng để mô tả các tác vụ viết và đọc tế bào nhớ này Các khóa từ S1 đến S4 là các transistor MOS điều khiển các tín hiệu từ mạch giải mã địa và tín hiệu R/ W _Nguyễn Trung Lập KỸ THUẬT SỐ (149) Chương Bộ nhớ bán dẫn VII - 15 Để ghi liệu vào tế bào, các khóa S1 và S2 đóng S3 và S4 mở Bit thực việc nạp điện cho tụ C và bit làm tụ C phóng điện Sau đó các khóa mở để cô lập C với phần mạch còn lại Một cách lý tưởng thì C trì trạng thái nó vĩnh viễn thực tế luôn luôn có rỉ điện qua các khóa chúng mở đó C bị dần điện tích Để đọc liệu các khóa S2 , S3 , S4 đóng và S1 mở, tụ C nối với mạch so sánh với điện tham chiếu để xác định trạng thái logic nó Điện mạch so sánh chính là liệu đọc Do S2 và S4 đóng, liệu nối ngược lại tụ C để làm tươi nó Nói cách khác, bit liệu tế bào nhớ làm tươi nó đọc Sử dụng DRAM, thuận lợi là dung lượng nhớ khá lớn phải có số mạch phụ trợ: - Mạch đa hợp địa vì DRAM luôn sử dụng địa hàng và cột - Mạch làm tươi để phục hồi liệu có thể bị sau khoảng thời gian ngắn nào đó a Đa hợp địa Như đã nói trên, dung lượng DRAM lớn nên phải dùng phương pháp đa hợp để chọn vị trí nhớ DRAM Mỗi vị trí nhớ chọn địa hàng và cột xuất ngã vào địa Thí dụ với DRAM có dung lượng 16Kx1, thay vì phải dùng 14 đường địa ta cần dùng đường và mạch đa hợp 14 → (7 đa hợp 2→1) để chọn 14 đường địa từ CPU (H 7.21) Bộ nhớ có cấu trúc là ma trận 128x128 tế bào nhớ, xếp thành 128 hàng và 128 cột, có ngã vào và ngã liệu, ngã vào R/ W Hai mạch chốt địa (hàng và cột) là các ghi bit có ngã vào nối với ngã mạch đa hợp và ngã nối với các mạch giải mã hàng và cột Các tín hiệu RA S và CA S dùng làm xung đồng hồ cho mạch chốt và tín hiệu Enable cho mạch giải mã Như 14 bit địa từ CPU chốt vào các ghi hàng và cột các tín hiệu RA S và CA S giải mã để chọn tế bào nhớ Vận hành hệ thống thấy rõ xét các giản đồ thời gian DRAM (H 7.21) b Giản đồ thời gian DRAM (H 7.22) là giản đồ thời gian đọc và viết tiêu biểu DRAM (Hai giản đồ này khác thời lượng có chung dạng nên ta vẽ một) _Nguyễn Trung Lập KỸ THUẬT SỐ (150) Chương Bộ nhớ bán dẫn VII - 16 (H 7.22) Giản đồ cho thấy tác động tín hiệu MU X và các tín hiệu RA S và CA S Khi MU X mức thấp mạch đa hợp cho địa hàng (A0 A6) và chốt vào ghi tín hiệu RA S xuống thấp Khi MU X mức cao mạch đa hợp cho địa cột (A7 A13) và chốt vào ghi tín hiệu CA S xuống thấp Khi địa hàng và cột đã giải mã, liệu địa đó xuất trên bus liệu để đọc ghi vào ( khả dụng) c Làm tươi DRAM DRAM phải làm tươi với chu kỳ khoảng 2ms để trì liệu Trong phần trước ta đã thấy tế bào nhớ DRAM làm tươi tác vụ đọc thực Lấy thí dụ với DRAM có dung lượng 16Kx1 (16.384 tế bào) nói trên, chu kỳ làm tươi là ms cho 16.384 tế bào nhớ nên thời gian đọc tế bào nhớ phải là ms/16.384 = 122 ns Đây là thời gian nhỏ không đủ để đọc tế bào nhớ điều kiện vận hành bình thường Vì lý này các hãng chế tạo đã thiết kế các chip DRAM cho tác vụ đọc thực tế bào nhớ, tất các tế bào nhớ trên cùng hàng làm tươi Điều này làm giảm lượng lớn tác vụ đọc phải thực để làm tươi tế bào nhớ Trở lại thí dụ trên, tác vụ đọc để làm tươi phải thực cho 128 hàng ms Tuy nhiên để vừa vận hành điều kiện bình thường vừa phải thực chức làm tươi người ta phải dùng thêm mạch phụ trợ, gọi là điều khiển DRAM (DRAM controller) IC 3242 hảng Intel thiết kế để sử dụng cho DRAM 16K (H 7.23) Ngã 3242 là địa bit đã đa hợp và nối vào ngã vào địa DRAM Một mạch đếm bit kích xung đồng hồ riêng để cấp địa hàng cho DRAM suốt thời gian làm tươi 3242 lấy địa 14 bit từ CPU đa hợp nó với địa hàng và cột đã dùng CPU thực tác vụ đọc hay viết Mức logic áp dụng cho các ngã REFRESH ENABLE và ROW ENABLE xác định bit nào địa xuất ngã mạch controller cho bảng REFRESH ENABLE HIGH LOW LOW ROW ENABLE X HIGH LOW Controller output Refresh address (từ mạch đếm) Địa hàng (A0 A6 từ CPU) Địa cột (A7 A13 từ CPU) _Nguyễn Trung Lập KỸ THUẬT SỐ (151) Chương Bộ nhớ bán dẫn VII - 17 (H 7.23) 7.4 MỞ RỘNG BỘ NHỚ Các IC nhớ thường chế tạo với dung lượng nhớ có giới hạn, nhiều trường hợp không thể thỏa mãn yêu cầu người thiết kế Do đó mở rộng nhớ là việc làm cần thiết Có trường hợp phải mở rộng nhớ 7.4.1 Mở rộng độ dài từ Đây là trường hợp số vị trí nhớ đủ cho yêu cầu liệu cho vị trí nhớ thì không đủ Có thể hiểu cách mở rộng độ dài từ qua thí dụ Thí dụ: Mở rộng nhớ từ 1Kx1 lên 1Kx8 : Chúng ta phải dùng IC nhớ 1Kx1, các IC nhớ này nối chung bus địa và các đường tín hiệu điều khiển và IC quản lý đường bit IC vận hành cùng lúc từ nhớ bit (H 7.24) (H 7.24) 7.4.2 Mở rộng vị trí nhớ Số bit cho vị trí nhớ đủ theo yêu cầu số vị trí nhớ không đủ Thí dụ: Có IC nhớ dung lượng 1Kx8 Mở rộng lên 4Kx8 Cần IC Để chọn IC nhớ cần mạch giải mã đường sang đường, ngã mạch giải mã nối vào các ngã CS các IC nhớ, địa các IC nhớ khác (H 7.25) Trong thí dụ này IC1 chiếm địa từ 000H đến 3FFH, IC2 từ 400H đến 7FFH, IC3 từ 800H đến BFFH và IC4 từ C00H đến FFFH _Nguyễn Trung Lập KỸ THUẬT SỐ (152) Chương Bộ nhớ bán dẫn VII - 18 (H 7.25) 7.4.3 Mở rộng dung lượng nhớ Cả vị trí nhớ và độ dài từ các IC không đủ để thiết kế Để mở rộng dung lượng nhớ ta phải kết hợp hai cách nói trên Thí dụ: Mở rộng nhớ từ 4Kx4 lên 24Kx8 Cần cặp IC mắc song song, cặp IC có chung địa và chọn mạch giải mã sang đường (H 7.26) Ta dùng ngã từ Y0 đến Y5 mạch giải mã _Nguyễn Trung Lập KỸ THUẬT SỐ (153) Chương Bộ nhớ bán dẫn VII - 19 (H 7.26) - Địa IC (1&2): 0000H - 0FFFH, IC (3&4) : 1000H - 1FFFH, IC (5&6): 2000H 2FFFH và IC (7&8) : 3000H - 3FFFH IC (9&10): 4000H - 4FFFH và IC (11&12) : 5000H - 5FFFH _Nguyễn Trung Lập KỸ THUẬT SỐ (154) Chương Bộ nhớ bán dẫn VII - 20 BÀI TẬP Dùng IC PROM ngã vào và ngã thiết kế mạch chuyển mã từ Gray sang nhị phân số bit Dùng IC PAL ngã vào và ngã thiết kế mạch chuyển từ mã Excess-3 sang mã Aiken các số từ đến Dưới đây là bảng mã Excess-3 N A 0 0 1 1 B 1 1 0 0 Aiken C 0 1 0 1 D 1 1 A 0 0 1 1 B 0 0 1 1 C 0 1 0 1 D 1 1 Thiết kế mạch để mở rộng nhớ từ 2Kx4 lên 2Kx8 Thiết kế mạch để mở rộng nhớ từ 1Kx4 lên 8Kx4 Cho biết địa cụ thể các IC Thiết kế mạch để mở rộng nhớ từ 2Kx4 lên 16Kx8 Cho biết địa cụ thể các IC _Nguyễn Trung Lập KỸ THUẬT SỐ (155) _ Chương Biến đổi AD & DA VIII - Ò CHƯƠNG : BIẾN ĐỔI AD & DA – BẾN ĐỔI SỐ - TƯƠNG TỰ (DAC) ♦ DAC dùng mạng điện trở có trọng lượng khác ♦ DAC dùng mạng điện trở hình thang ♦ DAC dùng nguồn dòng có trọng lượng khác ♦ Đặc tính kỹ thuật DAC – BIẾN ĐỔI TƯƠNG TỰ - SỐ (ADC) ♦ Mạch lấy mẫu và giữ ♦ Nguyên tắc mạch ADC ♦ ADC dùng điện tham chiếu nấc thang ♦ ADC gần đúng ♦ ADC dốc đơn ♦ ADC tích phân ♦ ADC lưỡng cực ♦ ADC song song _ _ Có thể nói biến đổi qua lại các tín hiệu từ dạng tương tự sang dạng số là cần thiết vì: - Hệ thống số xử lý tín hiệu số mà tín hiệu tự nhiên là tín hiệu tương tự: cần thiết có mạch đổi tương tự sang số - Kết từ các hệ thống số là các đại lượng số: cần thiết phải đổi thành tín hiệu tương tự để có thể tác động vào các hệ thống vật lý và thể bên ngoài (thí dụ tái tạo âm hay hình ảnh) hay dùng vào việc điều khiển sau đó (thí dụ dùng điện tương tự để điều khiển vận tốc động cơ) 8.1 Biến đổi số - tương tự (digital to analog converter, ADC) 8.1.1 Mạch biến đổi DAC dùng mạng điện trở có trọng lượng khác (Weighted resistor network) (H 8.1) _ Nguyễn Trung Lập KỸ THUẬT SỐ (156) _ Chương Biến đổi AD & DA VIII - Trong mạch trên, thay OP-AMP điện trở tải, ta có tín hiệu là dòng điện Như OP-AMP giữ vai trò biến dòng điện thành điện ra, đồng thời nó là mạch cộng Ta có v0 = -RF.I = -(23b3 + 22b2 + 2b1+b0)Vr.RF/23R = -(2n-1 bn-1 + 2n-2 bn-2 + + 2b1 + b0)Vr.RF /2n-1.R Nếu RF = R thì: v0 =-(2n-1 bn-1 + 2n-2 bn-2 + + 2b1 + b0)Vr /2n-1 Thí dụ: 1/ Khi số nhị phân là 0000 thì v0 = 1111 thì v0 = -15Vr / 2/ Với Vr = 5V ; R = RF = 1kΩ Ta có kết chuyển đổi sau: b3 0 0 0 0 1 1 1 1 b2 0 0 1 1 0 0 1 1 b1 0 1 0 1 0 1 0 1 b0 1 1 1 1 v0 (V) -0,625 ← LSB -1,250 -1,875 -2.500 -3,125 -3,750 -4,375 -5,000 -5,625 -6,250 -6,875 -7,500 -8,125 -8,750 -9,375 ← Full Scale (VFS) Mạch có số hạn chế: - Sự chính xác tùy thuộc vào điện trở và mức độ ổn định nguồn tham chiếu Vr - Với số nhị phân nhiều bit thì cần các điện trở có giá trị lớn, khó thực 8.1.2 Mạch đổi DAC dùng mạng điện trở hình thang (H 8.2) Cho RF = 2R và Cho b3 = các bit khác = 0, ta được: v0 = -8(Vr /24) _ Nguyễn Trung Lập KỸ THUẬT SỐ (157) _ Chương Biến đổi AD & DA VIII - Cho b2 = các bit khác = 0, ta được: v0 = -4(Vr /24) Cho b1 = các bit khác = 0, ta được: v0 = -2(Vr /24) Cho b0 = các bit khác = 0, ta được: v0 = - (Vr /24) Ta thấy v0 tỉ lệ với giá trị B tổ hợp bit B = (b3 b2 b1 b0 )2 ⇒ v0 = -B(Vr /24) 8.1.3 Mạch đổi DAC dùng nguồn dòng có trọng lượng khác (H 8.3) 8.1.4 Đặc tính kỹ thuật mạch đổi DAC 8.1.4.1 Bit có ý nghĩa thấp (LSB) và bit có ý nghĩa cao (MSB) Qua các mạch biến đổi DAC kể trên ta thấy vị trí khác các bit số nhị phân cho giá trị biến đổi khác nhau, nói cách khác trị biến đổi bit tùy thuộc vào trọng lượng bit đó Nếu ta gọi trị toàn giai là VFS thì bit LSB có giá trị là: LSB = VFS / (2n - 1) và bit MSB = VFS 2n-1/ (2n - 1) Điều này thể kết thí dụ trên (H 8.4) là đặc tuyến chuyển đổi số nhị phân bit (a) (b) (H 8.4) (H 8.4a) là đặc tuyến lý tưởng, nhiên, thực tế để đường trung bình đặc tính chuyển đổi qua điểm điện tương tự làm lệch (1/2)LSB (H 8.4b) Như điện tương tự xem thay đổi hai mã số nhị phân vào kế Thí _ Nguyễn Trung Lập KỸ THUẬT SỐ (158) _ Chương Biến đổi AD & DA VIII - dụ mã số nhị phân vào là 000 thì điện tương tự là và điện tương tự lên nấc kế 000+(1/2)LSB nấc 001+(1/2)LSB.v.v Trị tương tự ứng với 001 gọi tắt là 1LSB và trị toàn giai VFS = 7LSB tương ứng với số 111 8.1.4.2 Sai số nguyên lượng hóa (quantization error) Trong biến đổi, ta thấy ứng với giá trị nhị phân vào, ta có khoảng điện tương tự Như có sai số biến đổi gọi là sai số nguyên lượng hóa và =(1/2)LSB 8.1.4.3 Độ phân giải (resolution) Độ phân giải hiểu là giá trị thay đổi nhỏ tín hiệu tương tự có thể có số nhị phân vào thay đổi Độ phân giải còn gọi là trị bước (step size) và trọng lượng bit LSB Số nhị phân n bit có 2n giá trị và 2n - bước Hiệu tương tự xác định v0 = k.(B)2 Trong đó k chính là độ phân giải và (B)2 là số nhị phân Người ta thường tính phần trăm phân giải: %res = (k / VFS)100 % Với số nhị phân n bit %res = [1 / (2n - 1)]100 % Các nhà sản xuất thường dùng số bit số nhị phân có thể biến đổi để độ phân giải Số bit càng lớn thì độ phân giải càng cao (finer resolution) 8.1.4.4 Độ tuyến tính (linearity) Khi điện tương tự thay đổi với số nhị phân vào ta nói mạch biến đổi có tính tuyến tính 8.1.4.5 Độ đúng (accuracy) Độ đúng (còn gọi là độ chính xác) tuyệt đối DAC là hiệu số điện tương tự và điện lý thuyết tương ứng với mã số nhị phân vào Hai số nhị phân kế phải cho hai điện tương tự khác đúng 1LSB, không mạch có thể tuyến tính không đúng (H 8.5) a/ Tuyến tính b/ Tuyến tính không đúng (H 8.5) _ Nguyễn Trung Lập KỸ THUẬT SỐ (159) _ Chương Biến đổi AD & DA VIII - 8.2 Biến đổi tương tự - số (analog to digital converter, ADC) 8.2.1 Mạch lấy mẫu và giữ (sample anh hold) Để biến đổi tín hiệu tương tự sang tín hiệu số, người ta không thể biến đổi giá trị tín hiệu tương tự mà có thể biến đổi số gía trị cụ thể cách lấy mẫu tín hiệu đó theo chu kỳ xác định nhờ tín hiệu có dạng xung Ngoài ra, mạch biến đổi cần khoảng thời gian cụ thể (khoảng 1µs - 1ms) đó cần giữ mức tín hiệu biến đổi khoảng thời gian này để mạch có thể thực việc biến đổi chính xác Đó là nhiệm vụ mạch lấy mẫu và giữ (H 8.6) là dạng mạch lấy mẫu và giữ bản: Điện tương tự cần biến đổi lấy mẫu thời gian ngắn tụ nạp điện nhanh qua tổng trở thấp OP-AMP các transistor dẫn và giữ giá trị này khoảng thời gian transistor ngưng (tụ phóng chậm qua tổng trở vào lớn OP-AMP) (H 8.6) 8.2.2 Nguyên tắc mạch biến đổi ADC Mạch biến đổi ADC gồm phận trung tâm là mạch so sánh (H 8.7) Điện tương tự chưa biết va áp vào ngã vào mạch so sánh, còn ngã vào nối đến điện tham chiếu thay đổi theo thời gian Vr(t) Khi chuyển đổi điện tham chiếu tăng theo thời gian gần với điện tương tự (với sai số nguyên lượng hóa) Lúc đó mạch tạo mã số có giá trị ứng với điện vào chưa biết Vậy nhiệm vụ mạch tạo mã số là thử số nhị phân cho hiệu số va và trị nguyên lượng hóa sau cùng nhỏ 1/2 LSB |va - (VFS / 2n - 1)(B)2 | < 1/2 LSB (H 8.7) _ Nguyễn Trung Lập KỸ THUẬT SỐ (160) _ Chương Biến đổi AD & DA VIII - 8.2.3 Mạch đổi dùng điện tham chiếu nấc thang (a) (H 8.8) (b) Một cách đơn giản để tạo điện tham chiếu có dạng nấc thang là dùng mạch DAC mà số nhị phân vào lấy từ mạch đếm lên (H 8.8) Khi có xung bắt đầu FlipFlop và mạch đếm đặt nên ngã Q FF lên 1, mở cổng AND cho xung CK vào mạch đếm Ngã mạch đếm tăng dần theo dạng nấc thang (VDAC), đây chính là điện tham chiếu, Vr còn nhỏ va, ngã mạch so sánh còn mức thấp và Q tiếp tục mức cao, Vr vùa vượt va ngã mạch so sánh lên cao khiến Q xuống thấp, đóng cổng AND không cho xung CK qua và mạch đếm ngưng Đồng thời ngã Q lên cao báo kết thúc chuyển đổi Số đếm mạch đếm chính là số nhị phân tương ứng với điện vào Gọi thời gian chuyển đổi là tc Thời gian chuyển đổi tùy thuộc điện cần chuyển đổi Thời gian lâu ứng với điện vào trị toàn giai: tc(max) = 2n / fCK=2n TCK Mạch đổi này có tốc độ chậm Một cách cải tiến là thay mạch đếm lên mạch đếm lên/xuống (H 8.9) Nếu ngã mạch so sánh cho thấy Vr nhỏ va, mạch Logic điều khiển đếm lên và ngược lai thì mạch đếm xuống Nếu va không đổi Vr dao động quanh trị va với hai trị số khác LSB (H 8.9) _ Nguyễn Trung Lập KỸ THUẬT SỐ (161) _ Chương Biến đổi AD & DA VIII - 8.2.4 Mạch đổi lấy gần đúng (sucessive approximation converter) (H 8.10) Mạch đổi lấy gần đúng dùng cách tạo điện tham chiếu cách có hiệu khiến việc chuyển đổi mã số n bit tốn n chu kỳ xung CK Mạch này bao gồm: mạch so sánh, mạch ghi dịch đặc biệt (SAR) và mạch DAC (H 8.11) (H 8.11) Mạch SAR (H 8.11) là mạch ghi dịch có kết hợp điều khiển Logic Mạch gồm FF D mắc thành chuỗi, ngã FF cuối (F) hồi tiếp FF đầu (A) , khối điều khiển gồm cổng AND và FF RS có ngã vào tác động mức cao, các ngã Q các FF RS đưa vào mạch DAC để tạo điện tương tự Vr (dùng so sánh với điện từ mạch lấy mẫu và giữ va), đồng thới đây là mã số biến đổi đã kết thúc _ Nguyễn Trung Lập KỸ THUẬT SỐ (162) _ Chương Biến đổi AD & DA VIII - Vận hành: Lúc có xung bắt đầu, mạch SAR đặt Ngã DAC làm lệch 1/2 LSB để tạo đặc tính chuyển đổi đã nói phần trước, kế đó SAR đưa bit MSB lên cao (bằng cách preset FF A), các bit khác 0, số này đưa vào mạch DAC để tạo điện tham chiếu Vr để so sánh với va Tùy theo kết so sánh, Vr > va thì ngã mạch so sánh mức cao khiến SAR bỏ bit MSB có xung CK xuất hiện, còn Vr < va thì ngã mạch so sánh mức thấp, khiến SAR giữ bit MSB lại (FF RS giữ nguyên trạng thái) đồng thời đưa bit có nghĩa lên cao (do FF set từ giá trị ngã FF B, trị này chuyển từ FF A sang) Mạch so sánh tiếp tục làm việc và kết định theo cùng cách thức bit MSB Tiếp tục bit cuối cùng SAR, lúc đó va gần Vr và ta kết chuyển đổi thời gian tối đa là n chu kỳ xung đồng hồ Mạch chuyển đổi chấm dứt ngã FF F lên mức cao cho phép mở các đệm mã số 8.2.5 Mạch đổi dùng tín hiệu dốc đơn (single ramp converter) Điện chuẩn nấc tạo mạch DAC có thể thay điện tham chiếu có dốc lên liên tục tạo mạch tạo tín hiệu dốc lên (thường là mạch tích phân) (H 8.12) Xung bắt đầu đặt mạch đếm n bit và khởi động mạch tạo dốc lên để tạo Vr, từ trị âm, Vr cắt trục ngã mạch so sánh lên cao mở cổng AND cho xung CK vào mạch đếm Khi đường dốc đạt trị số trị tương tự cần biến đổi ngã mạch so sánh lên cao đưa ngã Q FF xuống thấp, cổng AND đóng và kết thúc chuyển đổi Số đếm mạch đếm tỷ lệ với điện tương tự vào Mạch có khuyết điểm là độ dốc Vr tùy thuộc thông số RC mạch tích phân nên không chính xác _ Nguyễn Trung Lập KỸ THUẬT SỐ (163) _ Chương Biến đổi AD & DA VIII - (H 8.13) 8.2.6 Mạch đổi lấy tích phân (Integrating Converter) (H 8.14) Mạch này giải khuyết điểm mạch biến đổi dùng tín hiệu dốc đơn, nghĩa là độ chính xác không tùy thuộc RC Xung bắt đầu đưa mạch đếm 0, mạch điều khiển mở khóa S3 mạch tích phân, đóng khóa S1 để đưa tín hiệu tương tự va (giả sử âm) vào mạch tích phân đồng thời mở khóa S2 Ngã mạch tích phân có trị âm nhỏ ban đầu Tín hiệu tương tự vào lấy tích phân, độ dốc -va /RC Khi ngã mạch tích phân vượt trục 0, ngã mạch so sánh lên cao mở cổng _ Nguyễn Trung Lập KỸ THUẬT SỐ (164) _ Chương Biến đổi AD & DA VIII - 10 AND đưa xung CK vào mạch đếm Không kể lượng lệch âm ban đầu, hiệu ngã mạch tích phân là: VI(t) = ∫ − va dt RC Giả sử va không đổi thời gian chuyển đổi VI(t) = -(va.t /RC) Nếu va âm thì ngã mạch tích phân là đường dốc lên Khi mạch đếm tràn (tức đếm hết dung lượng và tự động quay 0) mạch Logic điều khiển mở khóa S1 và đóng khóa S2 đưa điện tham chiếu Vr (dương) đến mạch lấy tích phân Ngã mạch tích phân bây là đường dốc xuống với độ dốc là -Vr /RC Khi VI xuống 0, mạch so sánh xuống thấp đóng cổng AND và kết thúc quá trình biến đổi Số đếm sau cùng mạch đếm tỷ lệ với điện tương tự vào Giả sử RC không đổi quá trình biến đổi, tích phân thời gian t1 tích phân thời gian t2 nên ta có: | va | t1 = Vr.t2 t1 là thời gian đếm từ tràn nên t1 = 2n / fCK và t2 = N / fCK N là số đếm sau cùng Tóm lại ta thấy số đếm không phụ thuộc RC (H 8.15) 8.2.7 Mạch đổi lưỡng cực Một cách đơn giản để thực chuyển đổi tín hiệu tương tự lưỡng cực là dùng mạch đảo tương tự và mạch so sánh để xác định va âm hay dương để đảo hay không trước đưa vào mạch ADC đơn cực (H 8.16) _ Nguyễn Trung Lập KỸ THUẬT SỐ (165) _ Chương Biến đổi AD & DA VIII - 11 (H 8.16) 8.2.8 Mạch đổi song song (parallel hay flash conversion) Đây là mạch đổi có tốc độ chuyển đổi nhanh, có thể đạt vài triệu lần giây, áp dụng vào việc chuyển đổi tín hiệu hình kỹ thuật video Thí dụ để có mạch đổi bit, người ta dùng mạch so sánh ngã vào và mạch mã hóa ưu tiên để tạo mã số nhị phân ngã (H 8.17) - Khi va < Vr /10, các ngã mạch so sánh lên cao khiến mã số là 000 - Khi Vr /10 <va < 2Vr /10, ngã mạch so sánh xuống thấp khiến mã số là 001 - Khi 2Vr /10 <va < 3Vr /10, ngã mạch so sánh xuống thấp khiến mã số là 010 Cứ thế, ta thấy mã số tỷ lệ với điện tương tự vào (H 8.17) _ Nguyễn Trung Lập KỸ THUẬT SỐ (166)

Ngày đăng: 06/10/2021, 21:48

HÌNH ẢNH LIÊN QUAN

KĨ THUẬT SỐ - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
KĨ THUẬT SỐ (Trang 12)
Như vậy, trước khi xét các trường hợp cụ thể ta xem qua bảng kê các thơng số của hai họ IC  - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
h ư vậy, trước khi xét các trường hợp cụ thể ta xem qua bảng kê các thơng số của hai họ IC (Trang 57)
Bảng sự thật và sơ đồ mạch (H 4.2) - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
Bảng s ự thật và sơ đồ mạch (H 4.2) (Trang 63)
KỸ THUẬT SỐ - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
KỸ THUẬT SỐ (Trang 65)
Bảng 4.2 - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
Bảng 4.2 (Trang 65)
Dùng bảng Karnaugh để xác định X,Y,Z,T theo A,B,C,D Quan sát bảng sự thật ta thấy ngay:             X = A,   - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
ng bảng Karnaugh để xác định X,Y,Z,T theo A,B,C,D Quan sát bảng sự thật ta thấy ngay: X = A, (Trang 69)
Vậy chỉ cần lập 3 bảng Karnaugh cho các biến Y,Z,T (H 4.6 a,b,c) và kết quả cho ở (H 4.6 d)  - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
y chỉ cần lập 3 bảng Karnaugh cho các biến Y,Z,T (H 4.6 a,b,c) và kết quả cho ở (H 4.6 d) (Trang 69)
Bảng sự thật, các hàm ngã ra và sơ đồ mạch: - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
Bảng s ự thật, các hàm ngã ra và sơ đồ mạch: (Trang 70)
KỸ THUẬT SỐ - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
KỸ THUẬT SỐ (Trang 71)
4.4 MẠCH SO SÁNH 4.4.1 Mạch so sánh 2 số  1 bit  - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
4.4 MẠCH SO SÁNH 4.4.1 Mạch so sánh 2 số 1 bit (Trang 80)
Bảng sự thật của mạch so sánh một bit cĩ ngã vào cho phép (nối mạch) G: G a b S (a&gt;b) I (a&lt;b) E (a=b)  - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
Bảng s ự thật của mạch so sánh một bit cĩ ngã vào cho phép (nối mạch) G: G a b S (a&gt;b) I (a&lt;b) E (a=b) (Trang 80)
Bảng sự thật của IC 7485 Trạng  - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
Bảng s ự thật của IC 7485 Trạng (Trang 81)
Bảng sự thật của FF RS cĩ Preset và Clear (tác động thấp) cho ở bảng 5.5           - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
Bảng s ự thật của FF RS cĩ Preset và Clear (tác động thấp) cho ở bảng 5.5 (Trang 89)
Q=1 Bảng 5.8 - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
1 Bảng 5.8 (Trang 91)
Bảng 5.7  Bả ng 5.8 là b ả ng rút g ọ n, suy ra t ừ  b ả ng 5.7  Kết quả từ bảng 5.8 cho thấy:  - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
Bảng 5.7 Bả ng 5.8 là b ả ng rút g ọ n, suy ra t ừ b ả ng 5.7 Kết quả từ bảng 5.8 cho thấy: (Trang 91)
Để thiết kế mạch đếm đồng bộ nt ầng (lấy thí dụ n=4), trước tiên lập bảng trạng thái, quan sát bảng trạng thái suy ra cách mắc các ngã vào JK của các FF sao cho mạ ch giao hốn  tạo các  ngã ra đúng như bảng đã lập - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
thi ết kế mạch đếm đồng bộ nt ầng (lấy thí dụ n=4), trước tiên lập bảng trạng thái, quan sát bảng trạng thái suy ra cách mắc các ngã vào JK của các FF sao cho mạ ch giao hốn tạo các ngã ra đúng như bảng đã lập (Trang 95)
Bảng 5.15 Nhận thấ y:  - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
Bảng 5.15 Nhận thấ y: (Trang 96)
Từ bảng trạng thái của FF JK (Bảng 5.7) ta cĩ thể viết lại Bảng 5.19: - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
b ảng trạng thái của FF JK (Bảng 5.7) ta cĩ thể viết lại Bảng 5.19: (Trang 100)
Từ bảng trạng thái 5.14 của mạch đếm 4 bit, ta thấy nếu dùng FF JK tác động bởi - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
b ảng trạng thái 5.14 của mạch đếm 4 bit, ta thấy nếu dùng FF JK tác động bởi (Trang 101)
5.3.2 Mạch đếm khơng đồng bộ - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
5.3.2 Mạch đếm khơng đồng bộ (Trang 101)
Để thiết kế mạch đếm kiểu Reset, trước nhất người tal ập bảng trạng thái cho số đếm (Bảng 5.21)  - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
thi ết kế mạch đếm kiểu Reset, trước nhất người tal ập bảng trạng thái cho số đếm (Bảng 5.21) (Trang 103)
Bảng trạng thái và hàm chuyển mạch đếm 6: - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
Bảng tr ạng thái và hàm chuyển mạch đếm 6: (Trang 109)
2. Thiết kế mạch đếm7 khơng đồng bộ, dùng FF JK cĩ ngã vào xung đồng hồ tác - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
2. Thiết kế mạch đếm7 khơng đồng bộ, dùng FF JK cĩ ngã vào xung đồng hồ tác (Trang 110)
Dùng bảng Karnaugh xác định đượ cY - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
ng bảng Karnaugh xác định đượ cY (Trang 121)
Dùng bảng Karnaugh xác định được các hàm Dn và Rn - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
ng bảng Karnaugh xác định được các hàm Dn và Rn (Trang 123)
Đây là loại ROM được chết ạo để thực hiện một cơng việc cụ thể như các bảng tính, - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
y là loại ROM được chết ạo để thực hiện một cơng việc cụ thể như các bảng tính, (Trang 139)
♦ DAC dùng mạng điện trở hình thang - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
d ùng mạng điện trở hình thang (Trang 155)
8.1.2 Mạch đổi DAC dùng mạng điện trở hình thang - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
8.1.2 Mạch đổi DAC dùng mạng điện trở hình thang (Trang 156)
8.1.2 Mạch đổi DAC dùng mạng điện trở hình thang - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
8.1.2 Mạch đổi DAC dùng mạng điện trở hình thang (Trang 156)
8.2.8 Mạch đổi song song (parallel hay flash conversion) - CNTT Giao trinh Ki thuat So Nguyen Trung Lap
8.2.8 Mạch đổi song song (parallel hay flash conversion) (Trang 165)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w