Mạch tổ hợp MSI (Medium Scale Integration)

🎯 MỤC TIÊU BÀI HỌC

  • Hiểu và vận dụng được các mạch tích hợp MSI: MUX, DEMUX, ENCODER, DECODER, ADDER.
  • Biết cách mô tả và biểu diễn hàm logic bằng khối MUX.
  • Thiết kế các hệ thống thực tế từ các khối MSI như điều khiển thiết bị, xử lý dữ liệu, giải mã tín hiệu
  • Thực hành mô phỏng và kiểm chứng mạch bằng Logisim/CircuitVerse.

5.1. GIỚI THIỆU CHUNG VỀ MSI

MSI (Medium Scale Integration) là các vi mạch logic tích hợp từ 10 đến vài trăm cổng logic. MSI phổ biến gồm:

Tên khốiChức năng chính
MUX (Multiplexer)Chọn một trong nhiều đầu vào
DEMUXTách tín hiệu đến nhiều đầu ra
DecoderGiải mã nhị phân
EncoderMã hóa ngược lại từ nhiều ngõ vào
AdderCộng nhị phân

5.2. MULTIPLEXER (MUX)

📌 Khái niệm:

MUX là bộ chọn dữ liệu: cho phép chọn 1 trong n đầu vào để đưa ra đầu ra duy nhất dựa vào các bit chọn (select).

  • MUX 4:1 có 4 đầu vào dữ liệu D0–D3, 2 đầu vào chọn S1–S0, 1 đầu ra Y.
S1S0Y
00D0
01D1
10D2
11D3

🧠 Ứng dụng:

  • Truyền tín hiệu điều khiển.
  • Xây dựng các hàm logic bất kỳ từ MUX.

🧪 Ví dụ thực tế 1: Bật đèn theo chế độ chọn

Yêu cầu: Đèn có 4 chế độ (sáng trắng, sáng vàng, chớp, tắt). Mỗi chế độ điều khiển bằng tổ hợp 2 bit S1S0.

S1S0DĐèn
001sáng trắng
011sáng vàng
101chớp
110tắt

➡ Gán: D0 = 1, D1 = 1, D2 = 1, D3 = 0

Thiết kế:

  • Dùng MUX 4:1
  • Nối công tắc chế độ vào S1, S0
  • LED đầu ra thể hiện trạng thái đèn

5.3. DEMULTIPLEXER (DEMUX)

📌 Khái niệm:

  • DEMUX là khối logic có 1 đầu vào và nhiều đầu ra. Dựa vào tín hiệu chọn, DEMUX đưa tín hiệu đầu vào đến đúng đầu ra.

🧠 Ứng dụng:

  • Điều khiển bật/tắt thiết bị từ trung tâm.
  • Tạo mạch điều phối tín hiệu.

🧪 Bài tập thực tế 2: Hệ thống tưới cây tự động

Mô tả: Một tín hiệu Water=1 được gửi, chọn S1S0 để tưới đúng khu vực (Zone 0–3).

S1S0Vùng được tưới
00Z0
01Z1
10Z2
11Z3

➡ Dùng DEMUX 1:4

  • D = Water
  • Select = S1S0
  • Y0–Y3 → nối van tưới

5.4. DECODER

📌 Khái niệm:

  • Decoder chuyển mã nhị phân thành một tín hiệu kích hoạt tương ứng.

Ví dụ: Decoder 2→4

A1A0Y3 Y2 Y1 Y0
000 0 0 1
010 0 1 0
100 1 0 0
111 0 0 0

🧠 Ứng dụng:

  • Giải mã địa chỉ trong vi xử lý
  • Bật đèn, lựa chọn menu, mở khóa

🧪 Bài tập thực tế 3: Giải mã mở cửa phòng học

Yêu cầu: Có 4 phòng học (P0–P3). Nhân viên nhập mã nhị phân (2 bit) để mở cửa đúng phòng.

Thiết kế:

  • Dùng Decoder 2→4
  • A1, A0 là đầu vào bàn phím số
  • Y0–Y3 → nối đến chốt mở cửa

5.5. ENCODER

📌 Khái niệm:

Encoder thực hiện mã hóa ngược: từ tín hiệu tại 1 trong nhiều đầu vào, tạo ra mã nhị phân đầu ra.

Ví dụ: Encoder 4→2

InputOutput
Y0=100
Y1=101
Y2=110
Y3=111

🧠 Ứng dụng:

  • Bàn phím ma trận, mã hóa vị trí trong điều khiển công nghiệp.

5.6. BỘ CỘNG (ADDER)

🔸 Half Adder:

  • Cộng A, B → Sum, Carry
  • Cộng 2 bit: A, B → cho ra SumCarry.
ABSumCarry
0000
0110
1010
1101

Sum = A ⊕ B, Carry = A · B

Sum = A XOR B  
Carry = A AND B

🔸 Full Adder:

  • Cộng A, B, Carry-in
  • Đầu vào:
    A, B – hai bit cần cộng
    Cin – bit nhớ từ phép cộng trước đó (carry-in)
  • Đầu ra:
    Sum – kết quả của phép cộng tại bit hiện tại
    Cout – bit nhớ chuyển sang bit bên trái (carry-out)

📊 Bảng chân trị đầy đủ:

ABCinA ⊕ BSum = A ⊕ B ⊕ CinCout = AB + ACin + BCin
000000
001010
010110
011101
100110
101101
110001
111011

📌 Giải thích công thức:

  • A ⊕ B ⊕ Cin là phép cộng nhị phân không nhớ (dùng XOR)
  • Cout = AB + ACin + BCin biểu diễn khi có 2 trong 3 đầu vào bằng 1 thì sinh ra nhớ (carry)

🛠 Ứng dụng:

  • Full Adder là khối cơ bản để xây dựng bộ cộng 4-bit, 8-bit hoặc ALU trong vi xử lý.
Sum = A XOR B XOR Cin  
Cout = AB + ACin + BCin

🧪 Bài tập thực tế 4: Tính tổng số người lên/xuống thang máy

  • Mỗi tầng có cảm biến A (người vào), B (người ra)
  • Full Adder cộng A + B + tổng tạm (Cin)

Thiết kế:

  • Dùng Full Adder 1 bit
  • Dùng LED hiển thị tổng tại mỗi tầng

5.7. BIỂU DIỄN HÀM LOGIC BẰNG MUX

✍️ Cách làm:

  1. Viết bảng chân trị
  2. Chọn biến điều khiển
  3. Gán các Di theo đầu ra F

🧪 Bài tập thực tế 5: Hàm phát hiện lỗi

  • F = 1 nếu chỉ có một trong ba thiết bị A, B, C hoạt động. → F = A·B̅·C̅ + A̅·B·C̅ + A̅·B̅·C

➡ Dùng MUX 8:1 để biểu diễn hàm


📚 BÀI TẬP TỔNG HỢP & THỰC HÀNH


Bài 1:

Thiết kế hệ thống chọn quạt chạy ở 1 trong 4 chế độ (MUX 4:1)

Bài 2:

Dựng Decoder 3→8 điều khiển mở đèn LED tương ứng với số nhập

Bài 3:

Mô phỏng Encoder 8→3: mã hóa phím từ bàn phím nhấn

Bài 4:

Tạo mạch Full Adder 1 bit dùng XOR, AND, OR

Bài 5:

Viết hàm F = Σ(2,3,6,7) bằng MUX 4:1. Chỉ ra cách gán D0–D3


❓ CÂU HỎI KIỂM TRA – ĐÁNH GIÁ

  1. MUX là gì? Cho ví dụ ứng dụng điều khiển thực tế.
  2. So sánh MUX và DEMUX về cấu trúc và ứng dụng.
  3. Một Decoder 3–8 có bao nhiêu đầu ra? Nó dùng để làm gì?
  4. Tại sao Full Adder quan trọng trong ALU?
  5. Biểu diễn hàm F(A,B) = A XOR B bằng MUX 4:1.