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ối | Chức năng chính |
|---|---|
| MUX (Multiplexer) | Chọn một trong nhiều đầu vào |
| DEMUX | Tách tín hiệu đến nhiều đầu ra |
| Decoder | Giải mã nhị phân |
| Encoder | Mã hóa ngược lại từ nhiều ngõ vào |
| Adder | Cộ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.
| S1 | S0 | Y |
|---|---|---|
| 0 | 0 | D0 |
| 0 | 1 | D1 |
| 1 | 0 | D2 |
| 1 | 1 | D3 |
🧠 Ứ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.
| S1 | S0 | D | Đèn |
|---|---|---|---|
| 0 | 0 | 1 | sáng trắng |
| 0 | 1 | 1 | sáng vàng |
| 1 | 0 | 1 | chớp |
| 1 | 1 | 0 | tắ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).
| S1 | S0 | Vùng được tưới |
|---|---|---|
| 0 | 0 | Z0 |
| 0 | 1 | Z1 |
| 1 | 0 | Z2 |
| 1 | 1 | Z3 |
➡ 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
| A1 | A0 | Y3 Y2 Y1 Y0 |
|---|---|---|
| 0 | 0 | 0 0 0 1 |
| 0 | 1 | 0 0 1 0 |
| 1 | 0 | 0 1 0 0 |
| 1 | 1 | 1 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
| Input | Output |
|---|---|
| Y0=1 | 00 |
| Y1=1 | 01 |
| Y2=1 | 10 |
| Y3=1 | 11 |
🧠 Ứ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
SumvàCarry.
| A | B | Sum | Carry |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 |
→ 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ộngCin– 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ạiCout– bit nhớ chuyển sang bit bên trái (carry-out)
📊 Bảng chân trị đầy đủ:
| A | B | Cin | A ⊕ B | Sum = A ⊕ B ⊕ Cin | Cout = AB + ACin + BCin |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 |
| 0 | 1 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 1 | 0 | 1 |
| 1 | 1 | 0 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 | 1 | 1 |
📌 Giải thích công thức:
A ⊕ B ⊕ Cinlà phép cộng nhị phân không nhớ (dùng XOR)Cout = AB + ACin + BCinbiể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:
- Viết bảng chân trị
- Chọn biến điều khiển
- Gán các
Ditheo đầu raF
🧪 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Á
- MUX là gì? Cho ví dụ ứng dụng điều khiển thực tế.
- So sánh MUX và DEMUX về cấu trúc và ứng dụng.
- Một Decoder 3–8 có bao nhiêu đầu ra? Nó dùng để làm gì?
- Tại sao Full Adder quan trọng trong ALU?
- Biểu diễn hàm F(A,B) = A XOR B bằng MUX 4:1.
