Bài giảng Kỹ thuật số - Trần Thị Thúy Hà

pdf 147 trang ngocly 920
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ thuật số - Trần Thị Thúy Hà", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_ky_thuat_so_tran_thi_thuy_ha.pdf

Nội dung text: Bài giảng Kỹ thuật số - Trần Thị Thúy Hà

  1. HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TRẦN THỊ THÚY HÀ BÀI GIẢNG KỸ THUẬT SỐ PTIT HÀ NỘI – 12.2013
  2. LỜI NÓI ĐẦU Cùng với sự tiến bộ của khoa học và công nghệ, các thiết bị điện tử đang và sẽ tiếp tục được ứng dụng ngày càng rộng rãi và mang lại hiệu quả cao trong hầu hết các lĩnh vực kinh tế kỹ thuật cũng như đời sống xã hội. Việc xử lý tín hiệu trong các thiết bị điện tử hiện đại đều dựa trên cơ sở nguyên lý số. Bởi vậy việc hiểu sâu sắc về điện tử số là điều không thể thiếu được đối với kỹ sư ngành Điện - Điện tử, Điện tử - Viễn thông, cũng như CNTT. Nhu cầu hiểu biết về Điện tử số không phải chỉ riêng đối với các kỹ sư các ngành nói trên mà còn cần thiết đối với nhiều cán bộ kỹ thuật các chuyên ngành khác có ứng dụng điện tử. Bài giảng này giới thiệu một cách hệ thống các phần tử cơ bản trong các mạch điện tử số kết hợp với các mạch điển hình, giải thích các khái niệm cơ bản về cổng điện tử số, các phương pháp phân tích và thiết kế mạch logic cơ bản. Bài giảng bao gồm các kiến thức cơ bản về mạch cổng logic, cơ sở đại số logic, mạch logic tổ hợp, các trigơ, mạch logic tuần tự, các mạch phát xung và tạo dạng xung, các bộ nhớ thông dụng. Bài giảng gồm 4chương, trước và sau mỗi chương đều có phần giới thiệu và phần tóm tắt để giúp người học dễ nắm bắt kiến thức. Ngoài ra bài giảng còn có các câu hỏi ôn tập để người học kiểm tra mức độ nắm kiến thức sau khi học mỗi chương. Trên cơ sở các kiến thức căn bản, bài giảng đã cố gắng tiếp cận các vấn đề hiện đại, đồng thời liên hệ với thực tế kỹ thuật. Bài giảng gồm có 4 chương được bố cục như sau: Chương 1: Hệ đếm. Chương 2: Cổng logic Chương 3: Mạch logic tổ hợp. Chương 4: Mạch logic tuần tự. Do thời gian có hạn nên bài giảng này không tránh khỏi thiếu sót, rất mong bạn đọc góp ý. Các ý kiến xin gửi về Bộ môn Kỹ thuật điện tử - Khoa Kỹ thuật Điện tử 1- Học viện Công nghệ Bưu chính viễn thông. PTIT Xin trân trọng cảm ơn! Tác giả. i
  3. THUẬT NGỮ VIẾT TẮT ALU Arthmetic Logic Unit Đơn vị tính logic và số học ANSI American National Standards Viện tiêu chuẩn Quốc gia Hoa kỳ Institude BCD Binary Coded Decimal Số thập phân mã hóa theo nhị phân Bit Binary Digit Cột số nhị phân (Đơn vị thông tin nhỏ nhất) Bus Một số đường dây dẫn mắc song song dùng cho việc truyền các tín hiệu địa chỉ, dữ liệu và điều khiển Byte Một nhóm gồm 8 bit C, CLK Clock Xung đồng hồ (Xung nhịp) Cache Bộ nhớ trung gian CAS Column Address Select Chọn địa chỉ cột CLR Clear Xóa CMOS Complementary Metal Oxide Vật liệu bán dẫn gồm hai linh kiện Semiconductor NMOS và PMOS mắc tổ hợp với nhau CPU Central Processing Unit Đơn vị xử lý trung tâm Crumb 2 bit CS Chip Select Chọn chíp DDL Diode-Diode Logic Cổng logic chứa các diode Deckle 10 bit DLL Delay_Locked Loop Vòng khoá pha trễ DEMUX DeMultiplexer Bộ phân kênh DRAM Dynamic RAM RAM động DTL Diode Transistor Logic Cổng logic chứa các diode và transistor Dynner 32 bit ECL Emitter Couple Logic Cổng logic ghép cực Emitter EEPROM Electrically Erasable ROM ROM lập trình được và xóa được bằng điện EPROM Erasable ROM ROM lập trình được và xóa được bằng PTITtia cực tím FET Field Effect Transistor Transistor hiệu ứng trường H High Mức logic cao IC Integrated Circuit Mạch tích hợp IEEE Institude of Electrical and Viện kĩ thuật Điện và điện tử Electronics Engineers ISP In- System Programming Lập trình trên hệ thống L Low Mức logic thấp Latch Bộ chốt LCD Liquid Crystal Display Hiển thị tinh thể lỏng LED Light Emitting Diode Điốt phát quang LSB Least Significant Bit Bit có ý nghĩa bé nhất Maxterm Thừa số lớn nhất Minterm Số hạng nhỏ nhất ii
  4. MOSFET Metal Oxide Semiconductor FET có cực cửa cách ly bằng lớp ooxxit FET kim loại MROM Mask ROM ROM được chế tạo bằng phương pháp che mặt nạ MSB Most Significant Bit Bit có ý nghĩa lớn nhất MSI Medium Scale Integrated Mức độ tích hợp trung bình MUX Multiplexer Bộ ghép kênh Nibble 4 bit NMOS N – chanel MOS Transistor trường kênh dẫn N PMOS P – chanel MOS Transistor trường kênh dẫn P PRE Preset Tái lập RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên RAS Row Address Select Chọn địa chỉ hàng RBI Riple Blanking Input Đầu vào xóa nối tiếp RBO Riple Blanking Output Đầu ra xóa nối tiếp ROM Read Only Memory Bộ nhớ chỉ đọc RTL Resistance Transistor Logic Cổng logic dùng điện trở và transistor SRAM Static RAM RAM tĩnh SSI Small Scale Integrated Mức độ tích hợp trung bình TTL Transistor – Transistor Logic Cổng logic dùng Transistor VLSI Very Large Scale Integrated Mức độ tích hợp rất lớn PTIT iii
  5. MỤC LỤC LỜI NÓI ĐẦU i THUẬT NGỮ VIẾT TẮT ii MỤC LỤC iv CHƯƠNG 1: HỆ ĐẾM 1 GIỚI THIỆU 1 1.1. BIỂU DIỄN SỐ 1 1.1.1 Hệ thập phân 1 1.1.2 Hệ nhị phân 2 1.1.3 Hệ 8 (bát phân) và hệ 16 (thập lục phân) 4 1.2. CHUYỂN ĐỔI CƠ SỐ GIỮA CÁC HỆ ĐẾM 6 1.2.1. Chuyển đổi từ hệ cơ số 10 sang các hệ khác 6 1.2.2. Đổi một biểu diễn trong hệ bất kì sang hệ thập phân 8 1.2.3. Đổi các số từ hệ nhị phân sang hệ cơ số 8 và 16 8 1.3 MỘT SỐ PHÉP TOÁN 9 1.3.1. Số nhị phân có dấu 9 1.3.2 Các phép cộng và trừ số nhị phân có dấu 10 1.3.3 Phép nhân. 12 TÓM TẮT 12 CÂU HỎI ÔN TẬP 12 CHƯƠNG 2. CỔNG LOGIC 15 GIỚI THIỆU CHUNG 15 2.1 . CÁC HÀM CHUYỂN MẠCH CƠ BẢN 15 2.1.1. Hàm AND. 15 2.1.2. Hàm OR. 16 2.1.3. Hàm NOT. 16 2.2. MỘT SỐ ĐỊNH LÝ CƠ BẢN TRONG ĐẠI SỐ BOOLE 17 2.2.1. Các định lý cơ bản. 17 2.2.2 Các định luật cơ bản: 17 2.2.3. Ba quy tắc về đẳng thứcPTIT : 17 2.3 CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE 18 2.3.1 Bảng trạng thái 18 2.3.2 Phương pháp đại số 19 2.3.3 Phương pháp bảng Các nô (bảng Karnaugh hay phương pháp hình học). 21 2.3. CÁC PHƯƠNG PHÁP TỐI THIỂU HÓA (RÚT GỌN HÀM ) 23 2.3.1. Phương pháp đại số 23 2.3.2 Phương pháp bảng Các nô 23 2.3.3. Rút gọn hàm logic hàm tùy chọn 26 2.4 CỔNG LOGIC 27 2.4.1 Cổng logic cơ bản 27 2.4.2. Logic dương và logic âm 29 2.4.3. Một số cổng ghép thông dụng 30 iv
  6. 2.4.4 Tính đa chức năng của cổng NAND, NOR. 33 TÓM TẮT 35 CÂU HỎI ÔN TẬP 36 CHƯƠNG 3: MẠCH LOGIC TỔ HỢP 40 GIỚI THIỆU CHUNG 40 3.1 KHÁI NIỆM CHUNG 40 3.1.1. Đặc điểm cơ bản của mạch tổ hợp 40 3.1.2. Phương pháp biểu diễn chức năng logic 40 3.2 PHÂN TÍCH MẠCH LOGIC TỔ HỢP 41 3.3 THIẾT KẾ MẠCH LOGIC TỔ HỢP 42 3.4. MẠCH MÃ HOÁ VÀ GIẢI MÃ 44 3.4.1 .Một số loại mã thông dụng 44 3.4.2. Các mạch mã hoá: 46 3.4.3. Các bộ giải mã 50 3.4.4. Các bộ biến mã 54 3.5. BỘ HỢP KÊNH VÀ PHÂN KÊNH 56 3.5.1 Bộ hợp kênh (MUX-Multiplexer) 56 3.5.2. Bộ phân kênh (Demultiplexer: DMUX) 59 3.5.3. Một số ứng dụng của bộ ghép kênh và phân kênh 61 3.6. MẠCH SỐ HỌC. 63 3.6.1. Mạch cộng. 63 3.6.2. Mạch trừ. 66 3.6.3. Mạch cộng, trừ theo bù 1 và bù 2. 68 3.6.4. Mạch so sánh. 69 3.7. MẠCH PHÁT HIỆN SAI 71 3.7.1. Mạch tạo và kiểm tra chẵn lẻ. 71 3.7.2 Mạch tạo mã và giải mã Hamming 73 3.8. ĐƠN VỊ SỐ HỌC VÀ LOGIC (ALU). 76 TÓM TẮT 77 CÂU HỎI ÔN TẬP 77 CHƯƠNG 4. MẠCH LOGIC TUẦN TỰ 79 GIỚI THIỆU. 79 NỘI DUNG PTIT 79 4.1. KHÁI NIỆM CHUNG VÀ MÔ HÌNH TOÁN HỌC 79 4.1.1. Khái niệm chung 79 4.1.2. Mô hình toán học 79 4.2. PHẦN TỬ NHỚ CỦA MẠCH TUẦN TỰ 80 4.2.1. Các loại Trigơ 80 4.2.2. Đầu vào không đồng bộ của trigơ. 90 4.2.3. Chuyển đổi giữa các loại trigơ. 90 4.3. PHÂN TÍCH MẠCH TUẦN TỰ. 97 4.3.1. Các bước phân tích mạch tuần tự đồng bộ 97 4.3.2. Các bước phân tích mạch tuần tự không đồng bộ 98 4.4. BỘ ĐẾM 98 4.4.1. Phân tích bộ đếm. 98 4.4.2. Thiết kế bộ đếm 117 v
  7. 4.4.3. Giới thiệu một số IC đếm 124 4.5. Bộ ghi dịch (Shift Register) 127 4.5.1. Giới thiệu chung: 127 4.5.2. Bộ ghi song song 128 4.5.3. Bộ ghi dịch nối tiếp 129 4.5.4. Ứng dụng của bộ ghi dịch 130 4.6. Thanh chốt dữ liệu (Latch) 135 TÓM TẮT 137 CÂU HỎI ÔN TẬP CHƯƠNG 4 137 TÀI LIỆU THAM KHẢO 140 PTIT vi
  8. CHƯƠNG 1: HỆ ĐẾM GIỚI THIỆU Khi nói đến số đếm, người ta thường nghĩ ngay đến hệ thập phân với 10 chữ số được ký hiệu từ 0 đến 9. Hệ thập phân là một trong nhiều hệ đếm. Thông thường người ta quen lấy số 10 làm gốc nhưng trên thực tế một số nguyên dương bất kỳ nào cũng có thể lấy làm gốc cho hệ đếm. Máy tính hiện đại thường không sử dụng số thập phân, mà hay sử dụng số nhị phân với hai ký hiệu là 0 và 1. Khi biểu diễn các số nhị phân rất lớn, người ta thay nó bằng các số bát phân (Octal) và thập lục phân (HexaDecimal). Trong chương này không chỉ trình bày các hệ thập phân, hệ nhị phân, hệ bát phân, hệ thập lục phân và còn nghiên cứu cách chuyển đổi giữa các hệ đếm, số nhị phân có dấu. 1.1. BIỂU DIỄN SỐ Tính chất quan trọng nhất của một hệ thống số là sử dụng một dãy các ký tự để thể hiện một con số trong hệ. Giá trị của một số được thể hiện thông qua giá trị và vị trí của mỗi ký tự, vị trí này có trọng số tăng dần tính từ phải qua trái. Số ký tự được dùng gọi là cơ số của hệ và ký hiệu là r. Trọng số của một hệ đếm bất kỳ sẽ bằng ri, với i là một số nguyên dương hoặc âm. Trong kỹ thuật số có bốn hệ thống số quan trọng được sử dụng: hệ thập phân, hệ nhị phân, hệ bát phân (hệ tám) và hệ thập lục phân (hệ mười sáu). Trong toán học, người ta gọi hệ đếm theo cơ số của chúng. Ví dụ: Hệ nhị phân = Hệ cơ số 2, Hệ thập phân = Hệ cơ số 10 Dưới đây, trình bày một số hệ đếm thông dụng. 1.1.1 Hệ thập phân Hệ thập phân có 10 ký hiệu từ 0 đến 9 nên còn gọi là hệ cơ số 10. Khi ghép các ký hiệu với nhau sẽ được một biểu diễn số. Ví dụ: 1265,34 là biểu diễnPTIT số trong hệ thập phân: 1265,34 1 103 2 10 2 6 10 1 5 10 0 3 10 1 4 10 2 Trong đó: 10n là trọng số của hệ; các hệ số nhân (1, 2, 6 ) chính là ký hiệu của hệ. Một số dương N bất kỳ trong hệ thập phân có thể khai triển thành: i N10  a i 10 (1.1) trong đó, N10 : biểu diễn bất kì theo hệ 10, ai hệ số nhân có giá trị từ 0 đến 9. Nếu phần nguyên có n chữ số thì i = (n-1)  0; Nếu phần phân số có m chữ số thì i = -1  -m; Nếu dùng r thay cho cơ số 10 thì biểu thức (1.1) có dạng tổng quát cho mọi hệ đếm. 1
  9. Biểu diễn số tổng quát: n 1 i N10  a i r (1.2) i m Ưu điểm của hệ thập phân là tính tiện dụng nên nó được sử dụng trong đời sống hàng ngày. Đây là hệ mà con người dễ nhận biết nhất. Ngoài ra, nhờ có nhiều ký hiệu nên khả năng biểu diễn của hệ rất lớn, cách biểu diễn gọn, tốn ít thời gian viết và đọc. Nhược điểm chính của hệ là do có nhiều ký hiệu nên việc thể hiện bằng thiết bị kỹ thuật sẽ khó khăn và phức tạp. 1.1.2 Hệ nhị phân 1.1.2.1. Tổ chức hệ nhị phân Hệ nhị phân (Binary number systems) còn gọi là hệ cơ số hai, chỉ gồm hai ký hiệu 0 và 1, cơ số của hệ là 2, trọng số của hệ là 2n. Hệ đếm này được sử dụng rộng rãi trong mạch số. Trong hệ nhị phân, mỗi chữ số chỉ lấy 2 giá trị hoặc 0 hoặc 1 và được gọi tắt là "bit"(Binary digit). Như vậy, bit là số nhị phân 1 chữ số. Số bit tạo thành độ dài biểu diễn của một số nhị phân. Crumb, Tydbit, hoặc Tayste: 2 bit. Nibble, hoặc Nybble: 4 bit. Byte: 8 bit. Word: (phụ thuộc vào từng hệ thống) Các giá trị 210 = 1024 được gọi là 1Kbit, 220 = 1048576 - Mêga Bit Bit tận cùng bên phải gọi là bit có trọng số bé nhất (LSB – Least Significant Bit) và bit tận cùng bên trái gọi là bit có trọng số lớn nhất (MSB - Most Significant Bit). Biểu diễn nhị phân dạng tổng quát : n 1 i N2  a i 2 (1.3) i m Trong đó, a là hệ số nhânPTIT của hệ có giá trị bằng 0 hoặc 1. Các chỉ số của hệ số đồng thời cũng bằng lũy thừa của trọng số tương ứng. Ví dụ : 1 1 0. 0 0 số nhị phân phân số 22 2 1 2 0 2 1 2 2 trọng số tương ứng. Ưu điểm chính của hệ nhị phân là chỉ có hai ký hiệu nên rất dễ thể hiện bằng các thiết bị cơ, điện. Các máy vi tính và các hệ thống số đều dựa trên cơ sở hoạt động nhị phân (2 trạng thái). Do đó, hệ nhị phân được xem là ngôn ngữ của các mạch logic, các thiết bị tính toán hiện đại - ngôn ngữ máy. Nhược điểm của hệ là biểu diễn dài, do đó thời gian viết, đọc dài. 2
  10. 1.1.2.2. Các phép tính trong hệ nhị phân a. Phép cộng Qui tắc cộng hai số nhị phân giống như phép cộng trong hệ thập phân, tức là cộng các bit có cùng trọng số theo quy tắc sau. Nguyên tắc cộng nhị phân là : 0 + 0 = 0, 1 + 0 = 1, 1 + 1 = 10 (102 = 210). Ví dụ: 1 0 12 (510) (1310) 1 1 0 12 (4,37510) 1 0 0, 0 1 12 + 1 0 02 (410) (1110) + 1 0 1 12 (3,75010) + 1 1, 1 1 02 10 0 12 (910) (2410) 1 1 0 0 02 (8,12510) 1 0 0 0, 0 0 12 b. Phép trừ Qui tắc trừ hai bit nhị phân cho nhau như sau : 0 - 0 = 0 ; 1 - 1 = 0 ; 1 - 0 = 1 ; 10 - 1 = 1 (mượn 1) Ví dụ: 1 1 0 12 (1310) 2510) 1 1 0 0 12 (5,312510) 1 0 1, 0 1 0 1 2 - 1 1 02 (610) (1110) - 1 0 1 12 (2,812510) - 1 0, 1 1 0 12 0 1 1 12 (710) (1410) 0 1 1 1 02 (2,500010) 0 1 0, 1 0 0 02 c. Phép nhân Qui tắc nhân hai bit nhị phân như sau: 0 x 0 = 0 , 0 x 1 = 0 , 1 x 0 = 0 , 1 x 1 = 1 Phép nhân hai số nhị phân cũng được thực hiện giống như trong hệ thập phân. Chú ý : Phép nhân có thể thay bằng phép dịch trái và cộng liên tiếp. Ví dụ: 1 0 0 12 (910) (5, 510) 1 0 1, 1 2 x 1 1 2 (310) (210) x 1 0 2 1 0 0 1 PTIT 0 0 0 0 + 1 0 0 1 + 1 0 1 1 1 1 0 1 12 (2710) (1110) 1 0 1 1, 0 d. Phép chia Phép chia nhị phân cũng tương tự như phép chia số thập phân. Ví dụ: 1 0 0’ 12 1 12 - 1 1 1 1 0 0 1 1 - 1 1 0 0 0 0 3
  11. Trong trường hợp số bị chia nhỏ hơn số chia, cách thực hiện giống như ví dụ trên, kết quả thương số chỉ có phần lẻ sau dấu phẩy, mỗi lần thêm một số 0 vào số bị chia cần ghi một số 0 vào thương số phía sau dấu phẩy cho tới khi số bị chia “lớn hơn” số chia. Phép tính này tương tự như trong hệ thập phân. 1.1.3 Hệ 8 (bát phân) và hệ 16 (thập lục phân) 1.1.3.1 Hệ 8 (Octal number systems) a. Tổ chức của hệ. Hệ 8 gồm 8 ký hiệu: 0, 1, 2, 3, 4, 5, 6 và 7 nên cơ số của hệ là 8. Hệ cơ số 8 có thể được biểu diễn thành 23. Do đó, mỗi ký hiệu trong hệ 8 có thể thay thế bằng 3 bit trong hệ nhị phân. Dạng biểu diễn tổng quát của hệ bát phân như sau: n 1 i N8  a i 8 (1.4) i m Trong đó, a là hệ số nhân lấy các giá trị từ 0 đến 7. b. Các phép tính trong hệ 8. Phép cộng. Phép cộng trong hệ bát phân được thực hiện tương tự như trong hệ thập phân. Khi kết quả của việc cộng hai hoặc nhiều chữ số cùng trọng số lớn hơn hoặc bằng 8 phải nhớ lên chữ số có trọng số lớn hơn kế tiếp. Ví dụ: a) 1278 b) 6328 + 3758 + 5438 5248 14058 Trong ví dụ a) tiến hành cộng như sau: 7 + 5 = 1210; trong hệ 8 không có số 12 nên phải chia 12 cho 8, số dư viết xuống tổng tương ứng với trọng số đó, thương số nhớ lên trọng số kế tiếp; tức là 12 : 8 = 1 dư 4, số 4 được viết xuống tổng; tại trọng số kế tiếp 2 + 7 + 1(nhớ) = 10; sau đó lấy 10: 8 = 1 dư 2, viết 2 xuống tổng và số 1 được nhớ lên trọng số kế tiếp; cuối cùng, lấy 1 + 3 + 1 (nhớ) = 5. PTIT Phép trừ. Phép trừ cũng được tiến hành như trong hệ thập phân. Khi mượn 1 ở có trọng số lớn hơn kế tiếp thì chỉ cần cộng thêm 810. a) 6238 b) 452, 58 - 3758 - 343, 78 2268 1046, 68 Trong ví dụ a) tiến hành trừ như sau: 3 + 8 (mượn ở trọng số kế tiếp) - 5 = 6; tại trọng số kế tiếp 2 - 7 - 1 + 8 (mượn) = 2; cuối cùng lấy 6 - 3 - 1 = 2. Thông thường, các phép tính trong hệ 8 ít được sử dụng. 4
  12. 1.1.3.2. Hệ 16 a. Tổ chức của hệ. Hệ 16 hay hệ thập lục phân hay hệ Hexa (Hexadecimal number systems). Hệ gồm 16 ký hiệu là 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F nên còn gọi là hệ cơ số 16. Trong đó, A = 1010 , B = 1110 , C = 1210 , D = 1310 , E = 1410 , F = 1510 . Cơ số của hệ là 16, số 16 có thể được biểu diễn bằng 24. Do vậy, có thể dùng một từ nhị phân 4 bit (từ 0000 đến 1111) để biểu thị các ký hiệu thập lục phân. Dạng biểu diễn tổng quát: n 1 i N16  a i 16 (1.5) i m Trong đó, a là hệ số nhân lấy các giá trị từ 0 đến F. b. Các phép tính trong hệ cơ số 16. Phép cộng. Khi tổng hai chữ số lớn hơn 15, lấy tổng chia cho 16. Số dư được viết xuống chữ số tổng và thương số được nhớ lên chữ số có trọng số lớn hơn kế tiếp. Nếu các chữ số là A, B, C, D, E, F thì trước hết, phải đổi chúng về giá trị thập phân tương ứng rồi mới tiến hành cộng. Ví dụ: a) 6 9 516 b) 4 A, 516 + 8 7 516 + 3 B, 716 F 0 A16 8 5, C16 Trong ví dụ a) tiến hành cộng như sau: 5 + 5 = 1010 = A16; sau đó : 9 + 7 = 16 , trong hệ 16 không có số 16 nên phải chia 16 cho 16, số dư viết xuống tổng tương ứng với trọng số đó, thương số nhớ lên trọng số kế tiếp; tức là 16 : 16 = 1 dư 0, số 0 được viết xuống tổng, số 1 được cộng vào trọng số kế tiếp; tại trọng số kế tiếp 6 + 8 + 1(nhớ) = 1510 = F16; Phép trừ: Khi trừ một số bé hơn cho một số lớn hơn cũng mượn 1 ở cột kế tiếp bên trái, nghĩa là cộng thêm 16 rồi mới trừ. a) PTITE 9 516 b) 4 A, 516 - 8 7 C16 - 3 B, 716 6 1 916 0 E, E16 Trong ví dụ a) tiến hành trừ như sau: 5 + 16 (mượn ở trọng số kế tiếp) – 12 (C16) = 9; tại trọng số kế tiếp 9 - 7 - 1 = 1; cuối cùng lấy 14 (E16) - 8 = 6. Phép nhân. Muốn thực hiện phép nhân trong hệ 16 phải đổi các số trong mỗi thừa số về thập phân, nhân hai số với nhau. Sau đó, đổi kết quả về hệ 16. Bảng 1-2 biểu diễn 16 số đầu tiên trong các hệ số đếm. 5
  13. Hệ thập phân Hệ nhị phân Hệ bát phân Hệ thập lục phân 0 0 0 0 0 0 0 1 0 0 0 1 1 1 2 0 0 1 0 2 2 3 0 0 1 1 3 3 4 0 1 0 0 4 4 5 0 1 0 1 5 5 6 0 1 1 0 6 6 7 0 1 1 1 7 7 8 1 0 0 0 10 8 9 1 0 0 1 11 9 10 1 0 1 0 12 A 11 1 0 1 1 13 B 12 1 1 0 0 14 C 13 1 1 0 1 15 D 14 1 1 1 0 16 E 15 1 1 1 1 17 F Bảng 1-2. Biểu diễn số của 4 hệ đếm thường dùng. 1.2. CHUYỂN ĐỔI CƠ SỐ GIỮA CÁC HỆ ĐẾM 1.2.1. Chuyển đổi từ hệ cơ số 10 sang các hệ khác Để thực hiện việc đổi một số thập phân đầy đủ sang các hệ khác phải chia ra hai phần: phần nguyên và phân số. Đối với phần nguyên: Ví dụ, đổi từ hệ thập phân sang hệ nhị phân: Trong đẳng thức sau, vế trái là số thập phân, vế phải là số nhị phân: N a2n a2 n 1 a2 1 a 10 n n 1 1 0 (1.6) 2(a2n 1 a 2 n 2 a)a PTITn n 1 1 0 Do ai có giá trị bằng 0 hoặc 1, nên có: N a 10 0 a 2n 1 a 2 n 2 a 2 n n 1 1 (1.7) n 2 n 3 2(a2n a n 1 2 a)a 2 1 Từ biểu thức (1.6) và (1.7) nhận thấy: Bit đầu tiên của số nhị phân là a0 bằng số dư khi chia N10 cho 2. Bit tiếp theo của số nhị phân là a1 bằng số dư khi chia thương số của phép chia trước cho 2. Tương tự như vậy để tìm toàn bộ các bit của số nhị phân. Đối với việc đổi từ hệ thập phân sang hệ 8 và 16 cũng thực hiện tương tự như vậy. 6
  14. Tóm lại, để chuyển từ hệ 10 sang các hệ khác, chia liên tiếp phần nguyên của số thập phân cho cơ số của hệ cần chuyển đến, số dư sau mỗi lần chia viết đảo ngược trật tự là kết quả cần tìm. Phép chia dừng lại khi kết quả lần chia cuối cùng bằng 0. Ví dụ 1: Đổi số 3510 sang số nhị phân. 35 2 =17 Dư1 a0 17 2 =8 Dư 1 a1 8 2 =4 Dư 0 a2 4 2 =2 Dư 0 a3 2 2 =1 Dư 0 a4 1 2 =0 Dư 1 a5 Vậy : 3510 = 1000112 Ví dụ 2: Đổi số 3510 sang hệ 8. 35 8 =4 Dư 3 a0 4 8 =0 Dư 4 a1 Vậy : 3510 = 438 Ví dụ 3: Đổi số 3510 sang hệ 16. 35 16 =2 Dư 3 a0 2 16 =0 Dư 2 a1 Vậy : 3510 = 2316 Đối với phần phân số : Ví dụ, đổi từ hệ thập phân sang hệ nhị phân: Trong đẳng thức sau, vế trái là số thập phân, vế phải là số nhị phân: 1 2 m N10 a 1 2 a 2 2 a m 2 (1.8) Nhân 2 vế với 2, được: 2N a (a2 1 a2 2 a2 m 1 (1.9) PTIT10 1 2 3 m a-1 trở thành phần nguyên của phần nguyên của vế phải. Phần phân số còn lại là: 1 2 m 2 2N10 a 1 a 2 (a2 3 a2 4 a2 m ) (1.10) Nếu tiếp tục nhân 2 vế với 2, được a-2 là phần nguyên của vế phải (của tích số lần thứ 2): 1 2 m 2 2[2N10 a]a 1 2 (a2 3 a2 4 a m 2 ) (1.11) Tương tự như vậy, tìm được toàn bộ các bit của số nhị phân. Đối với việc đổi từ phần phân số của hệ thập phân sang hệ 8 và 16 cũng thực hiện tương tự như vậy. Tóm lại, khi chuyển phần phân số, thực hiện như sau: nhân liên tiếp phần phân số của số thập phân với cơ số của hệ cần chuyển đến, phần nguyên thu được sau mỗi lần nhân, viết 7
  15. tuần tự là kết quả cần tìm. Phép nhân dừng lại khi phần phân số triệt tiêu hoặc cho đến khi đạt được số bit nằm sau dấu phẩy theo yêu cầu (trong trường hợp phép nhân không hội tụ về 0). Ví dụ 1: Đổi số 35,37510 sang số nhị phân. Phần nguyên vừa thực hiện ở ví dụ a), do đó chỉ cần đổi phần phân số 0,375. 0,375 x 2 = 0,75 Phần nguyên = 0 a-1 0,75 x 2 = 1,5 Phần nguyên = 1 a-2 0,5 x 2 = 1,0 Phần nguyên = 1 a-3 0,0 x 2 = 0 Phần nguyên = 0 a-4 Kết quả : 0,37510 = 0,01102 Sử dụng phần nguyên đã có ở ví dụ 1) được : 35,37510 = 100011,01102 Ví dụ 2: Đổi số 0,37510 sang hệ 8. 0,375 x 8 = 3,0 Phần nguyên = 3 a-1 0,0 x 8 = 0 Phần nguyên =0 a-2 Kết quả : 0,37510 = 0,38 Ví dụ 3: Đổi số 0,37510 sang hệ 16. 0,375 x 16 = 6,0 Phần nguyên = 6 a-1 0,0 x 16 = 0 Phần nguyên =0 a-2 Kết quả : 0,37510 = 0,616 1.2.2. Đổi một biểu diễn trong hệ bất kì sang hệ thập phân Muốn thực hiện phép biến đổi, dùng công thức : n 1 0 1 m N10 a n 1 r a 0 r a 1 r a m r (1.12) Thực hiện lấy tổng vế phải sẽ có kết quả cần tìm. Trong biểu thức trên, ai và r là hệ số và cơ số hệ có biểu diễn. 4 3 2 1 0 Ví dụ: 101102 = 1 x 2 + 0 x 2 + 1 x 2 + 1 x 2 + 0 x 2 = 2210 2 1 0 2158 = 2 x 8 + 1 x 8 +PTIT 5 x 8 = 14110 2 1 0 76A16 = 7 x 16 + 6 x 16 + 10 x 16 = 189810 1.2.3. Đổi các số từ hệ nhị phân sang hệ cơ số 8 và 16 3 4 Vì 8 = 2 và 16 = 2 nên chỉ cần dùng một số nhị phân 3 bit là đủ ghi 8 ký hiệu của hệ cơ số 8 và từ nhị phân 4 bit cho hệ cơ số 16. Do đó, muốn đổi một số nhị phân sang hệ cơ số 8 và 16 chia số nhị phân cần đổi, kể từ dấu phân số sang trái và phải thành từng nhóm 3 bit hoặc 4 bit. Sau đó, thay các nhóm bit đã phân bằng ký hiệu tương ứng của hệ cần đổi tới. Ví dụ: a. Đổi số 110111,01112 sang số hệ cơ số 8 Tính từ dấu phân số, chia số này thành các nhóm 3 bit như sau : 8
  16. 110 111 , 011 100     6 7 3 4 Kết quả: 110111,01112 = 67,348 ( đã thêm 2 số 0 phía sau dấu phẩy để tiện biến đổi). b. Đổi số nhị phân 111110110,011012 sang số hệ cơ số 16 Phân nhóm và thay thế như sau : 0001 1111 0110 0110 1000      1 F 6 6 8 Kết quả: 111110110,011012 = 1F6,6816 1.3 MỘT SỐ PHÉP TOÁN 1.3.1. Số nhị phân có dấu 1.3.1.1 Biểu diễn số nhị phân có dấu Có ba phương pháp thể hiện số nhị phân có dấu. Số thập phân Biểu diễn theo bit dấu Biểu diễn theo bù 1 Biểu diễn theo bù 2 -7 1. 1 1 1 1. 0 0 0 1. 0 0 1 -6 1. 1 1 0 1. 0 0 1 1. 0 1 0 -5 1. 1 0 1 1. 0 1 0 1. 0 1 1 -4 1. 1 0 0 1. 0 1 1 1. 1 0 0 -3 1. 0 1 1 1. 1 0 0 1. 1 0 1 -2 1. 0 1 0 1. 1 0 1 1. 1 1 0 -1 1. 0 0 1 1. 1 1 0 1. 1 1 1 0 0 0 0 0 +1 0. 0 0 1 0. 0 0 1 0. 0 0 1 +2 0. 0 1 0 0. 0 1 0 0. 0 1 0 +3 PTIT0. 0 1 1 0. 0 1 1 0. 0 1 1 +4 0. 1 0 0 0. 1 0 0 0. 1 0 0 +5 0. 1 0 1 0. 1 0 1 0. 1 0 1 +6 0. 1 1 0 0. 1 1 0 0. 1 1 0 +7 0. 1 1 1 0. 1 1 1 0. 1 1 1 Bảng 1-3 là biểu diễn các số nhị phân có dấu. a. Sử dụng một bit dấu. Trong phương pháp này dùng một bit phụ, đứng trước các bit trị số để biểu diễn dấu, ‘0’ chỉ dấu dương (+), ‘1’ chỉ dấu âm (-). Ví dụ: + 910 = 0.000 10012 - 910 = 1.000 10012 9
  17. b. Sử dụng phép bù 1. Số dương giữ nguyên trị số, bit dấu là 0; số âm: bit dấu là 1 và lấy bù 1 các bit trị số. Bù 1 được thực hiện bằng cách lấy đảo của các bit cần được lấy bù. Ví dụ: + 910 = 0.000 10012 - 910 = 1.111 01102 (bù 1) c. Sử dụng phép bù 2 Là phương pháp phổ biến nhất. Số dương thể hiện bằng số nhị phân không bù (bit dấu bằng 0), còn số âm được biểu diễn qua bù 2 (bit dấu bằng 1). Bù 2 được thực hiện bằng cách lấy bù 1 cộng 1. Có thể biểu diễn số âm theo phương pháp bù 2 xen kẽ: bắt đầu từ bit LSB, dịch về bên trái, giữ nguyên các bit cho đến gặp bit 1 đầu tiên và lấy bù các bit còn lại. Bit dấu giữ nguyên. Ví dụ: + 910 = 0.000 10012 ; - 910 = 1.111 01112 (bù 2) . Bảng 1-3 biểu diễn các số nhị phân có dấu. 1.3.2 Các phép cộng và trừ số nhị phân có dấu Như đã nói ở trên, phép bù 1 và bù 2 thường được áp dụng để thực hiện các phép tính nhị phân với số có dấu. 1. Cộng và trừ các số theo biểu diễn bù 1 a. Phép cộng. Hai số dương: cộng như cộng nhị phân thông thường, kể cả bit dấu. 0 0 0 0 0 1 0 12 (510) + 0 0 0 0 0 1 1 12 (710) 0 0 0 0 1 1 0 02 (1210) Hai số âm: biểu diễn chúng ở dạng bù 1 và cộng như cộng nhị phân, kể cả bit dấu. Bit tràn cộng vào kết quả. Chú ý,PTIT kết quả được viết dưới dạng bù 1. 1 1 1 1 1 0 1 02 (-510) + 1 1 1 1 1 0 0 02 (-710) 1 1 1 1 1 0 0 1 02  Bit tràn + 1 1 1 1 1 0 0 1 1 (-1210) Hai số khác dấu và số âm lớn hơn: cộng số dương với bù 1 của số âm. Kết quả không có bit tràn và ở dạng bù 1. 1 1 1 1 0 1 0 12 (-1010) + 0 0 0 0 0 1 0 12 (+510) 1 1 1 1 1 0 1 0 (-510) 10
  18. Hai số khác dấu và số dương lớn hơn: cộng số dương với bù 1 của số âm. Bit tràn được cộng vào kết quả. 0 0 0 0 1 0 1 02 (+1010) + 1 1 1 1 1 0 1 02 (-510) 1 0 0 0 0 0 1 0 02  Bit tràn + 1 0 0 0 0 0 1 0 1 (+510) b. Phép trừ. Để thực hiện phép trừ, lấy bù 1 của số trừ, sau đó thực hiện các bước như phép cộng. 2. Cộng và trừ nhị phân theo biểu diễn bù 2 a. Phép cộng. Hai số dương: cộng như cộng nhị phân thông thường. Kết quả là dương. 0 0 0 0 1 0 1 12 (1110) + 0 0 0 0 0 1 1 12 (710) 0 0 0 1 0 0 1 02 (1810) Hai số âm: lấy bù 2 cả hai số hạng và cộng, kết quả ở dạng bù 2. 1 1 1 1 0 1 0 12 (-1110) + 1 1 1 1 1 0 0 12 (-710) 1 1 1 1 0 1 1 1 02  Bit tràn bỏ 1 1 1 0 1 1 1 0 (-1810) Hai số khác dấu và số dương lớn hơn: lấy số dương cộng với bù 2 của số âm. Kết quả bao gồm cả bit dấu, bit tràn bỏ đi. 0 0 0 0 1 0 1 12 (+1110) + 1 1 1PTIT 1 1 0 0 12 (-710) 1 0 0 0 0 0 1 0 02  Bit tràn bỏ 0 0 0 0 0 1 0 0 (+410) Hai số khác dấu và số âm lớn hơn: số dương được cộng với bù 2 của số âm, kết quả ở dạng bù 2 của số dương tương ứng. Bit dấu là 1. 1 1 1 1 0 1 0 12 (-1110) + 0 0 0 0 0 1 1 12 (+710) 1 1 1 1 1 1 0 02 (-310) 11
  19. b. Phép trừ. Phép trừ hai số có dấu là các trường hợp riêng của phép cộng. Ví dụ, khi lấy +9 trừ đi +6 là tương ứng với +9 cộng với -6. 1.3.3 Phép nhân. Nhân hai số nhị phân có dấu cũng giống như nhân hai số nhị phân thông thường với quy tắc nhân là: 0 x 0 = 1 x 0 = 0 x 1 = 0; 1 x 1 = 1. Dấu trong phép nhân được xác định như sau: - Tích của hai số cùng dấu sẽ mang dấu dương. - Tích của hai số khác dấu sẽ mang dấu âm. Trong quá trình nhân, bit dấu của hai số được kiểm tra và dấu của kết quả được lưu lại trước khi thực hiện phép tính. Thông thường, trong hệ thống số phép nhân nhị phân được thực hiện thông qua phép cộng và phép dịch trái liên tiếp. Ví dụ: 1 1 02 ( 610) x 1 12 (x 310) 1 1 0 1 1 0 1 0 0 1 02 (1810) TÓM TẮT Trong chương này chúng ta giới thiệu về một số hệ đếm thường được sử dụng trong hệ thống số: hệ nhị phân, hệ bát phân, hệ thập lục phân. Và phương pháp chuyển đổi giữa các hệ đếm đó. Trong chương 1 chúng ta cần nắm vững tổ chức của các hệ đếm và các phép tính số học trong các hệ đếm. PTIT CÂU HỎI ÔN TẬP 1. Phân biệt các hệ đếm nhị phân, hệ thập phân, hệ 8 và hệ 16. 2. Hãy viết lại 16 trạng thái đầu tiên của hệ đếm nhị phân. 3. Đổi các số thập phân sau sang các hệ khác: a) N10 = 75; b) N10 = 157; c) N10 = 1976; d) N10 = 2711; 4. Đổi các số nhị phân sau sang hệ thập phân: 12
  20. a) N2 = 1011010; b) N2 = 111000111; c) N2 = 100001111; d) N2 = 101010101; 5. Đổi số nhị phân sau sang dạng bát phân: a) 0101 1111 0100 1110 b) 1010 1100 1001 1000 c) 1111 1010 1101 1001 d) 1000 1101 1100 0011 6. Thực hiện phép tính hai số hệ 16 sau: a) 132,4416 + 215,0216. b) 13E16 + 2FD16. a) 3B916 + 7A316. a) 9B516 + 6D816. 7. Thực hiện phép tính hai số hệ 8 phân sau: a) 132,448 + 215,028. b) 6378 + 2458. c) 4108 + 7238. d) 2158 + 6548. 8. Thực hiện phép cộng hai số có dấu sau theo phương pháp bù 1: a) 0.101 11112 + 0.100 11102 b) 1.010 11002 + 1.001 10002 c) 1.111 10102 + 1.101PTIT 10012 d) 1.000 11012 + 1.100 00112 9. Thực hiện phép cộng hai số có dấu sau theo phương pháp bù 2: a) 0.101 11112 + 0.100 11102 b) 1.010 11002 + 1.001 10002 c) 1.111 10102 + 1.101 10012 d) 1.000 11012 + 1.100 00112 10. Hãy viết 4 số kế tiếp trong các dãy số sau: a) 110012 110102 110112 . . . . b) 6248 6258 6268 . . . . 13
  21. c) 9D16 9E16 9F16 . . . . 11. Hãy chuyển đổi các số sau sang biểu diễn tương đương khác: a) Z16 = 24AE16 A10 A2 b) Z16 = A6F216 A10 A2 c) A10 = 311810 Z16 A2 d) A10 = 978510 Z16 A2 12. Hãy tính hiệu hai số nhị phân sau và kiểm tra lại kết quả ở dạng thập phân: a) 11 0101 – 10 0101 b) 1001 0110 - 10 0110 PTIT 14
  22. CHƯƠNG 2. CỔNG LOGIC GIỚI THIỆU CHUNG Đại số Boole (đại số logic) là một tập hợp các đối tượng có hai trạng thái: có hoặc không, mệnh đề đúng hoặc sai; các đối tượng này được biểu diễn bằng biến logic. Thông thường, khi trạng thái đối tượng là tồn tại thì biến logic biểu diễn có giá trị là 1 và ký hiệu là A, ngược lại biến logic của nó có giá trị là 0 và ký hiệu là A . Giữa các biến logic, người ta định nghĩa 3 phép toán cơ sở: Phép phủ định logic đối với một biến A hay còn gọi là phép đảo. Khi nhận tác động của phép toán này, A sẽ nhận giá trị đảo với giá trị ban đầu và ký hiệu là A Phép cộng logic (phép hoặc) được ký hiệu bằng dấu “+”. Ví dụ, (A + B), mỗi biến được gọi là một số hạng và kết quả gọi là tổng. Phép nhân logic (phép và) được ký hiệu bằng dấu “.”. Ví dụ, (A . B), mỗi biến được gọi là một thừa số và kết quả gọi là tích. Có thể dùng giản đồ Venn trong lý thuyết tập hợp để biểu diễn 3 phép toán logic trên. Một trạng thái của đối tượng nào đó luôn có thì biến logic biểu diễn nó luôn có giá trị 1 ngược là thì nhận giá trị 0. Nhận được trong tập hợp này hai hằng số 0 và 1. A Hình 2-1. Đồ thị Venn mô tả ba phép tính cơ bản Sau đây, sẽ thảo luận chi tiết các vấn đề này. 2.1 . CÁC HÀM CHUYỂN MẠCH CƠ BẢN Đại số chuyển mạch hayPTIT còn được gọi là đại số Boole do nhà toán học Anh George Boole sáng lập và ông Shannon phát triển. Bắt nguồn từ các bài toán có mối quan hệ nhân quả, ông Boole đã đưa hệ nhị phân vào bài toán này để đưa hai giá trị 1 và 0 thay cho trạng thái đóng và ngắt của một chuyển mạch và được thể hiện bằng hàm toán học và được gọi là hàm chuyển mạch. Một hệ thống gồm các chuyển mạch được mắc song song hay nối tiếp sẽ biểu diễn được các hàm logic. Sau đây, sẽ đề cập đến một số hàm chuyển mạch cơ bản. 2.1.1. Hàm AND. Hình 2-2 mô tả hàm AND. Hai chuyển mạch đấu nối tiếp với nhau và nối tiếp với điện trở R và LED. Khi có dòng chạy qua mạch thì LED sáng, vậy LED chỉ sáng khi cả hai chuyển mạch A, B cùng đóng. Hai chuyển mạch A và B là biến của hàm AND, trạng thái của LED là giá trị của hàm AND được ký hiệu là F. Biểu thức sau mô tả mối quan hệ giữa hàm và biến của hàm AND. 15
  23. F (A,B) = A AND B = A.B = AB +5V A B R LED Hình 2-2. Mạch điện mô tả hàm AND Đối với hàm nhiều biến có biểu thức sau: F (A,B,C,D ) = A.B.C.D 2.1.2. Hàm OR. Hình 2-3 mô tả hàm OR. Hai chuyển mạch đấu song song với nhau và nối tiếp với điện trở R và LED. Khi có dòng chạy qua mạch thì LED sáng, vậy LED chỉ tắt khi cả hai chuyển mạch A, B cùng mở. Hai chuyển mạch A và B là biến của hàm OR, trạng thái của LED là giá trị của hàm OR được ký hiệu là F. Biểu thức sau mô tả mối quan hệ giữa hàm và biến của hàm OR. F (A,B) = A OR B = A+B +5V A B R PTITLED Hình 2-3. Mạch điện mô tả hàm OR Đối với hàm nhiều biến có biểu thức sau: F (A,B,C,D ) = A+B+C+D+ 2.1.3. Hàm NOT. Hình 2-4 mô tả hàm NOT. Chuyển mạch A đấu song song với LED. Khi có dòng chạy qua mạch thì LED sáng, vậy LED chỉ sáng khi chuyển mạch A ở trạng thái mở. Chuyển mạch A là biến của hàm NOT, trạng thái của LED là giá trị của hàm NOT được ký hiệu là F. Biểu thức sau mô tả mối quan hệ giữa hàm và biến của hàm NOT. 16
  24. F(A) NOT A A +5V R A LED Hình 2-4. Mạch điện mô tả hàm NOT Đối với hàm nhiều biến có biểu thức sau: F(A, B,C ) A.B.C 2.2. MỘT SỐ ĐỊNH LÝ CƠ BẢN TRONG ĐẠI SỐ BOOLE 2.2.1. Các định lý cơ bản. Vì trong đại số logic chỉ có thể có hai hằng số 0 và 1 nên các biến logic cũng chỉ lấy một trong hai giá trị đó. Do đó, xuất hiện các định lý cơ bản sau: STT Tên gọi Dạng tích Dạng tổng 1 Đồng nhất A.1 = A A + 0 = A 2 Phần tử 0, 1 A.0 = 0 A + 1 = 1 3 Bù A.A 0 A A 1 4 Bất biến A.A = A A + A = A 5 Hấp thụ A + A.B = A A.(A + B) = A 6 Hoàn nguyên AA 7 Định lý A.B.C A B C A B C A.B.C DeMorgan Bảng 2.1. Một số định lý cơ bản trong đại số Boole 2.2.2 Các định luật cơ bản: PTIT + Hoán vị: A.B = B.A, A+B = B+A + Kết hợp: A.(B.C)=(A.B).C, A+(B+C)=(A+B)+C + Phân phối: A.(B+C)=A.B+A.C; (A+B).(A+C)=A+B.C + Nhất quán: nếu A + B = B thì A.B = A 2.2.3. Ba quy tắc về đẳng thức : 2.2.3.1. Quy tắc thay thế: Trong bất kỳ đẳng thức logic nào nếu muốn thay một biến nào đó bằng một hàm số thì đẳng thức vẫn được thiết lập. 17
  25. Quy tắc này có ứng dụng rất lớn trong việc biến đổi công thức đã biết để tạo ra công thức mới, mở rộng phạm vi ứng dụng của công thức đã biết. Ví dụ: Có công thức ABA.B . Dùng F = A+C thay vào biến A: (A C) B A C.B A.C.B hay A B C A .B. C 2.2.3.2. Quy tắc tìm đảo của hàm số: Phép đảo của hàm số được thực hiện bằng cách đổi dấu nhân thành dấu cộng và ngược lại; đổi 0 thành 1 và ngược lại; đổi biến nguyên thành biến đảo và ngược lại. Ngoài ra, những dấu đảo nào của hàm nhiều biến vẫn phải giữ nguyên, và tuân thủ theo quy tắc đổi “nhân trước, cộng sau ”. Ví dụ: F A.B.C D.E hàm đảo tương ứng là FABCDE 2.2.3.3. Quy tắc đối ngẫu: Hàm F và F’ là đối ngẫu với nhau khi các dấu cộng và dấu nhân; số ‘0’ và số ‘1’ đổi chỗ cho nhau một cách tương ứng. Ví dụ: F = A . (B + C) thì F’ = A + B . C Do quy tắc đối ngẫu nên các định lý cơ bản có thể viết dưới 2 dạng đối ngẫu nhau là dạng tích và dạng tổng. 2.3 CÁC PHƯƠNG PHÁP BIỂU DIỄN HÀM BOOLE Như đã nói ở trên, hàm logic được thể hiện bằng những biểu thức đại số như các môn toán học khác. Đây là phương pháp tổng quát nhất để biểu diễn hàm logic. Ngoài ra, một số phương pháp khác cũng được dùng để biểu diễn loại hàm này. Mỗi phương pháp đều có ưu điểm và ứng dụng riêng của nó. Dưới đây là nội dung của một số phương pháp thông dụng. 2.3.1 Bảng trạng thái Bảng trạng thái liệt kê giá trị (trạng thái) mỗi biến theo từng cột và giá trị hàm theo một cột riêng (thường là bên phải bảng). Bảng trạng thái còn được gọi là bảng sự thật hay bảng chân lý. PTIT m A B C f m0 0 0 0 0 m1 0 0 1 1 m2 0 1 0 1 m3 0 1 1 0 m4 1 0 0 1 m5 1 0 1 0 m6 1 1 0 0 m7 1 1 1 1 Bảng 2-2. Bảng trạng thái hàm 3 biến 18
  26. n Đối với hàm n biến sẽ có 2 tổ hợp độc lập. Các tổ hợp này được kí hiệu bằng chữ mi, với i = 0 đến 2n -1 (xem bảng 2-2) và có tên gọi là các hạng tích hay còn gọi là minterm. Đặc điểm của bảng trạng thái: + Rõ ràng, trực quan. Sau khi xác định các giá trị biến vào thì có thể tìm được giá trị đầu ra nhờ bảng trạng thái. + Để giải quyết bài toán ở dạng logic thì sử dụng bảng trạng thái là hữu ích nhất. Nên trong quá trình thiết kế mạch số việc đầu tiên nên làm là lập bảng trạng thái. Nhược điểm chủ yếu của bảng trạng thái là sẽ phức tạp nếu số biến quá nhiều, không thể dùng các công thức và định lý để tính toán. 2.3.2 Phương pháp đại số Có 2 dạng biểu diễn là dạng tuyển (tổng các tích) và dạng hội (tích các tổng). + Dạng tuyển: Mỗi số hạng của tổng được gọi là một hạng tích hay minterm (đủ biến), và thường kí hiệu bằng chữ "mi" (chỉ số i được tính trong hệ thập phân). + Dạng hội: Mỗi thừa số là hạng tổng hay maxterm (đủ biến), thường được kí hiệu bằng chữ "Mi". Nếu trong tất cả mỗi hạng tích hay hạng tổng có đủ mặt các biến, thì dạng tổng các tích hay tích các tổng tương ứng được gọi là dạng chuẩn. Dạng chuẩn là duy nhất. Bảng 2-3 là các mi và Mi của hàm 2 biến và 3 biến. Biến Minterm Maxterm Biến Minterm Maxterm A B (mi) (Mi) A B C (mi) (Mi) 0 0 ABM 0 0 0 ABCM A B m0 1 A B C m0 0 0 1 0 0 1 A B m1 ABM 1 A B C m1 ABCM 1 1 0 0 1 0 A B m2 ABM 2 A BC m2 ABCM 2 1 1 A B = m3 0 1 1 ABM 3 A BC m3 ABCM 3 a) 1 0 0 A B C m4 ABCM 4 1 0 1 A B C m5 ABCM 5 PTIT 1 1 0 A B C m6 ABCM 6 b) 1 1 1 A B C m 7 ABCM 7 Bảng 2-3. Cấu trúc của minterm và Maxterm 3 biến Tổng quát, hàm logic n biến có thể biểu diễn chỉ bằng một dạng tổng các tích: 2n 1 f Xn 1 , ,X 0  a i m i (2.1) i 0 hoặc bằng chỉ một dạng tích các tổng: 2n 1 f Xn 1 , ,X 0  a i M i (2.2) i 0 19
  27. Ở đây, ai chỉ lấy hai giá trị 0 hoặc 1. Đối với một hàm thì minterm và maxterm là bù của nhau. a) Biểu diễn hàm sau theo dạng minterm: Ví dụ cho hàm F(A, B,C) A BC Đây là dạng minterm không đầy đủ. Muốn đưa về dạng chuẩn tắc (đủ biến) sử dụng một số định lý đã nêu để biến đổi. F(A,B,C) A BC A(B B)(C C) (A A)BC ABC ABC ABC ABC ABC ABC ABC ABC ABC ABC ABC Đây là dạng chuẩn minterm. Tuy nhiên, biểu diễn này khá dài nên mỗi một hạng tích được thay thế bằng ký hiệu mi tương ứng (xem bảng 2-3). Lưu ý, nguyên biến (biến không đảo) được thay bằng số “12” và đảo biến được thay bằng số “02”. Như vậy, biểu thức có dạng: F(A,B,C) ABC ABC ABC ABC ABC      1112 110 2 101 2 100 2 011 2 710 6 10 5 10 4 10 3 10 F(A,B,C) m7 m 6 m 5 m 4 m 3  (3,4,5,6,7) b) Biểu diễn hàm sau theo dạng Maxterm: Ví dụ, cho hàm F(A, B,C) A BC (A B)(A C) Đây là dạng Maxterm không đầy đủ. Muốn đưa về dạng chuẩn (đủ biến) sử dụng một số định lý đã nêu để biến đổi. F(A,B,C) A BC (A B)(A C) (A B CC)(A C BB) (A B C)(A B C)(A C B)(A C B) (A B C)(A B C)(A B C) Giống như minterm, ngPTITười ta cũng biểu diễn hàm logic theo ký hiệu Mi. Trong đó nguyên biến được thay thế bằng số “02” và đảo biến thay bằng số “12”. Do đó, viết biểu thức thành dạng sau: F(A,B,C) (A B C)(A B C)(A B C)          (0 0 0)(02 0 1)(0 2 1 0) 2 010 1 10 2 10 F(A,B,C) M0 .M.M 1 2  (0,1,2) Từ các ví dụ trên có một số nhận xét sau: 20
  28. Đối với dạng minterm: mi được gọi là số hạng nhỏ nhất. Số hạng nhỏ nhất có các tính chất sau: + đều bao gồm tất cả các biến của hàm trong một thừa số; mỗi biến số chỉ xuất hiện một lần dưới dạng thừa số hoặc là nguyên biến hoặc là đảo biến. + tích của hai số hạng nhỏ nhất bất kỳ luôn bằng 0 + tổng của tất cả các số hạng nhỏ nhất luôn bằng 1 Đối với dạng Maxterm: Mi được gọi là thừa số lớn nhất. Thừa số lớn nhất có các tính chất sau: + đều bao gồm tất cả các biến của hàm; + mỗi biến số chỉ xuất hiện một lần dưới dạng tổng của thừa số hoặc là nguyên biến hoặc là đảo biến. + tổng của hai thừa số lớn nhất bất kỳ luôn bằng 1 + tích của tất cả các thừa số luôn bằng 0 Ưu điểm của phương pháp đại số: + Dùng các ký hiệu logic biểu diễn mối quan hệ logic giữa các biến làm cho cách viết gọn, cách viết này có tính khái quát và trừu tượng cao. + Rất tiện sử dụng các công thức và định lý của đại số Boole để biến đổi. + Tiện cho việc sử dụng sơ đồ logic để thực hiện hàm số. Chỉ dùng các ký hiệu logic của mạch điện cổng tương ứng thay thế phép toán xét trong biểu thức hàm số thì được một sơ đồ logic. Nhược điểm chính của phương pháp này là khó xác định giá trị hàm ứng với tổ hợp biến một cách trực tiếp đối với các hàm phức tạp (không trực quan như bảng trạng thái). 2.3.3 Phương pháp bảng Các nô (bảng Karnaugh hay phương pháp hình học). Tổ chức của bảng Các nô: n Một hàm logic có n biến sẽ có 2 ô (mỗi ô tương ứng với một minterm mi của hàm). Các tổ hợp biến phải xếp theo thứPTIT tự mã Gray nghĩa là các hạng tích trong hai ô kế cận chỉ khác nhau một biến. Các tổ hợp biến được viết theo một dòng (thường là phía trên) và một cột (thường là bên trái). Tính tuần hoàn của bảng Các nô: Không những các ô kế cận khác nhau một biến mà các ô đầu dòng và cuối dòng, đầu cột và cuối cột cũng chỉ khác nhau một biến (kể cả 4 góc vuông của bảng) nên các ô này cũng gọi là ô kế cận. Cách ghi giá trị hàm trên bảng Cácnô: Muốn thiết lập bảng Các nô của một hàm đã cho dưới dạng chuẩn tổng các tích (minterm), chỉ việc ghi giá trị 1 vào các ô ứng với hạng tích có mặt trong biểu diễn (ứng với ai = 1), các ô còn lại sẽ lấy giá trị 0 hoặc được bỏ trống. Nếu hàm cho dưới dạng tích các tổng (Maxterm), cách làm cũng tương tự, các ô ứng với hạng tổng có trong biểu diễn lại lấy giá trị 0 (ứng với ai = 0), và các ô khác lấy giá trị 1. 21
  29. Cấu tạo bảng Các nô cho hàm 3 biến, 4 biến và 5 biến được cho tại bảng 2-4. CD AB 00 01 11 10 m m m m 00 0 1 3 2 ABCD ABCD ABCD A BCD m m m m 01 4 5 7 6 ABCD ABCD A BCD ABCD m m m3 m m m 0 1 2 11 m12 13 15 m14 ABC ABC ABC ABC ABCD ABCD ABCD ABCD m m m m m m m 4 5 m7 6 10 8 9 11 10 ABC ABC A BC ABC ABCD ABCD ABCD ABCD CDE AB 000 001 011 010 110 111 101 100 m m m m m m m m 00 0 1 3 2 6 7 5 4 ABCDE ABCDE ABCDE ABCDE ABCDE A BCDE ABCDE ABCDE m m m m m m m m 01 8 9 11 10 14 15 13 12 ABCDE ABCDE A BCDE ABCDE ABCDE ABCDE ABCDE ABCDE m m m m m m m m 11 24 25 27 26 30 31 29 28 ABCDE ABCDE ABCDE ABCDE ABCDE A BC DE ABCDE ABCDE m m m m m m m m 10 16 17 19 18 22 23 21 20 ABCDE ABCDE ABCDE ABCDE ABCDE ABCDE ABCDE ABCDE Bảng 2-4. Bảng Các nô cho hàm 3, 4, 5 biến Ví dụ: Xây dựng bảng Các nô cho hàm logic sau: F(A, B, C, D) = (0, 1, 5, 7, 10,PTIT 14, 15) Bảng 2-5. Bảng Các nô Ưu điểm nổi bật nhất của bảng Các nô là tính kề nhau về logic của các số hạng nhỏ nhất (minterm), nó biểu thị rõ ràng thành sự liền kề hình học của các ô trong bảng. Do vậy, rất dễ dàng tối thiểu hóa hàm. Nhược điểm là do có quá nhiều ô nên trong trường hợp nhiều biết việc tổ chức bảng rất phức tạp. Do đó, chỉ nên dùng bảng Các nô cho trường hợp hàm logic có số biến nhỏ hơn 6. 22
  30. 2.3. CÁC PHƯƠNG PHÁP TỐI THIỂU HÓA (RÚT GỌN HÀM ) 2.3.1. Phương pháp đại số Dựa vào các định lý đã học để đưa biểu thức về dạng tối giản. Ví dụ: Hãy đưa hàm logic về dạng tối giản: f AB AC BC Lời giải: Áp dụng định lý, A A 1, A A.B A được: f AB AC BC A A AB ABC AC ABC AB AC Nhận xét: Từ ví dụ trên nhận thấy: nếu trong tổng các tích, xuất hiện một biến và đảo của biến đó trong hai số hạng khác nhau, các thừa số còn lại trong hai số hạng đó tạo thành thừa số của một số hạng thứ ba thì số hạng thứ ba đó là thừa và có thể bỏ đi. 2.3.2 Phương pháp bảng Các nô Phương pháp này thường được dùng để rút gọn các hàm có số biến không vượt quá 5. Các bước tối thiểu hóa: Đối với minterm: 1. Gộp các ô kế cận có giá trị ‘1’ (hoặc ‘0’) lại thành từng nhóm 2, 4, , 2i ô. Số ô trong mỗi nhóm càng lớn kết quả thu được càng tối giản tức là nếu gộp được 2n ô thì tối giản được n biến. Một ô có thể được gộp nhiều lần trong các nhóm khác nhau. Nếu gộp theo các ô có giá trị ‘0’ sẽ thu được biểu thức bù của hàm. 2. Thay mỗi nhóm bằng một hạng tích mới, trong đó giữ lại các biến giống nhau theo dòng và cột. PTIT 3. Cộng các hạng tích mới lại, có hàm đã tối giản. Đối với Maxterm: 1. Gộp các ô kế cận có giá trị ‘0’ (hoặc ‘1’) lại thành từng nhóm 2, 4, , 2i ô. Số ô trong mỗi nhóm càng lớn kết quả thu được càng tối giản. Một ô có thể được gộp nhiều lần trong các nhóm khác nhau. Nếu gộp theo các ô có giá trị ‘1’ sẽ thu được biểu thức bù của hàm. 2. Thay mỗi nhóm bằng một hạng tổng mới, trong đó giữ lại các biến giống nhau theo dòng và cột. 3. Nhân các hạng tổng mới lại, có hàm đã tối giản. Ví dụ: Hãy dùng bảng Các nô để tối giản hàm : f A,B,C  0, 1, 3, 4, 5 23
  31. Lời giải: AC B Bảng 2-6. Bảng Các nô + Xây dựng bảng Các nô tương ứng với hàm đã cho. Rút gọn theo minterm + Gộp các ô có giá trị 1 kế cận lại với nhau thành hai nhóm (bảng 2-6) Lời giải phải tìm : f(A,B,C) B AC Nếu gộp các ô có giá trị 0 lại theo hai nhóm, thu được biểu thức hàm bù f : f (A,B,C) AB BC Rút gọn theo Maxterm BC AB Bảng 2-7. Bảng Các nô PTITf(A,B,C) A B B C B AC Nếu gộp các ô có giá trị 1 lại theo hai nhóm, thu được biểu thức hàm bù f : f(A,B,C) B(A C) Bảng 2-8 trình bày một số cách gộp và giá trị của hàm theo minterm. a) B.D b) A.B 24
  32. c) B.D d) B f) A.BA.B e) C Bảng 2-8. Bảng Cácnô có 2n ô được gộp. Một số vấn đề cần lưu ý khi tiến hành rút gọn bằng bảng Các nô: - Vòng gộp càng to càng tốt vì số biến được rút gọn càng nhiều. - Mỗi vòng gộp bao gộp ít nhất một số hạng nhỏ nhất – minterm (hoặc một thừa số lớn nhất - Maxterm) không có trong vòng khác. Vòng nào bao gồm các số hạng đã có trong các vòng khác thì vòng đó là vòng thừa. Tuy nhiên, một số hạng có thể có mặt trong nhiều vòng khác nhau. - Phải khoanh vòng sao cho toàn bộ số hạng nhỏ nhất - minterm (hoặc một thừa số lớn nhất - Maxterm) của hàm số đều nằm trong các vòng, không được để sót. Ví dụ: Hãy dùng bảng Các nô để tối giản hàm : f A,B,C  1, 4, 5,6,8,12,13,15 Lời giải: PTIT Lập bảng Các nô ở bảng 2-9. Nhận thấy vòng (m4 + m5 + m12 + m13) là lớn nhất nhưng các vòng khác đều đã chứa m4, m5 , m12 , m13 nên vòng này là vòng thừa. CD AB 00 01 11 10 00 0 1 0 0 01 1 1 0 1 11 1 1 1 0 10 1 0 0 0 25
  33. Sau khi rút gọn, biểu thức hàm có dạng: f(A,B,C,D) ACD ABD ACD ABD 2.3.3. Rút gọn hàm logic hàm tùy chọn Khái niệm hàm tùy chọn Trên thực tế, tồn tại một số tổ hợp biến có giá trị không ảnh hưởng đến kết quả của hàm. Ví dụ: số BCD là số mã hóa 10 ký hiệu thập phân thành nhị phân 4 bit. Với 4 bit nhị phân có thể biểu diễn được mã Hexa, nhưng các ký hiệu A16(1010), B16(1011), C16(1100), D16(1101), E16(1110), E16(1111) lại không phù hợp với mã BCD. Do vậy, khi lập bảng Các nô không quan tâm đến các giá trị này. Sáu giá trị này được gọi là các trạng thái tùy chọn (don’t care). Các trạng thái này có thể có giá trị 1 hoặc 0, tùy thuộc vào mục đích người sử dụng và thông thường chúng được ký hiệu bằng chữ “ x ”. Khi tiến hành tối thiểu bằng bảng Các nô: tùy theo yêu cầu, có thể tùy ý khoanh vòng qua điều kiện tùy chọn để hàm tối giản hơn. Từ đó, có thể viết dạng tổng quát của hàm logic như sau: Dạng chuẩn minterm: fA, B, C m m ; (2.3) i d j d là ký hiệu của điều kiện tùy chọn; Dạng chuẩn Maxterm: F(A,B,C ) M M (2.4) i  d j là ký hiệu của điều kiện tùy chọn; d Ví dụ: Tối thiểu hóa hàm F(A,B,C,D) = (0,1,2,3,6,8) + d(10,11,12,13,14,15) Lời giải: CD ABPTIT00 01 11 10 00 1 1 1 1 01 0 0 0 1 11 x x x x 10 1 0 x x Bảng 2-13. Bảng Các nô tìm hàm F Lập bảng Các nô 2-13. 26
  34. Từ đó, tìm được hàm tối giản sau: F(A,B,C,D) A.B A.D C.D 2.4 CỔNG LOGIC 2.4.1 Cổng logic cơ bản 2.4.1.1 Cổng AND Cổng AND thực hiện hàm logic f f A,B A.B AB (2.5) hoặc nhiều biến: f A,B,C,D, A.B.C.D ABCD (2.6) Hình 2-5. Ký hiệu cổng AND theo tiêu chuẩn ANSI (American National Standards Institude), Viện tiêu chuẩn Quốc gia Hoa kỳ Bảng trạng thái 2-14a, b là nguyên lí hoạt động của cổng AND (2 đầu vào). A B F = AB A B F= AB 0 0 0 L L L 0 1 0 L H L 1 0 0 H L L 1 1 1 H H H a) Ghi theo giá trị logicPTIT b) Ghi theo mức logic Bảng 2-14a,b. Bảng trạng thái mô tả hoạt động của cổng AND 2 đầu vào. Các cổng logic được thực hiện bằng các cấu kiện bán dẫn như: diode, transistor, FET, Để các phần tử này đóng mở được, tín hiệu tác động tới đầu vào của chúng phải có một mức điện áp thỏa mãn trong một dải giá trị nào đấy. Trong trường hợp này, chính xác hơn ta thay các giá trị logic bằng các mức điện áp tương ứng hay còn gọi là mức logic. Theo qui ước, logic 1 được thay bằng mức điện thế cao, viết tắt là H (High) còn logic 0 được thay bằng mức điện thế thấp, viết tắt là L (Low) (bảng 2-14b). Cổng AND có n đầu vào sẽ có 2n hạng tích (dòng) trong bảng trạng thái. Thông qua định lý DeMorgan có thể biến đổi hàm ra của cổng NAND để tìm sự tương đương giữa cổng NAND và cổng OR f A.B A B (2.7) 27
  35. hoặc đối với cổng nhiều đầu vào f A.B.C.D A B C D (2.8) Nói cách khác, nếu tác động tới các đầu vào một cổng OR logic âm thì hàm ra của nó trùng với hàm ra của cổng NAND. Hình 2-6 trình bày sự tương đương trên. AB AB Hình 2-6. Sơ đồ tương đương giữa cổng NAND và cổng OR logic âm 2.4.1.2. Cổng OR Cổng OR thực hiện hàm logic: f A,B A B (2.9) hoặc với hàm nhiều biến: f A,B,C,D A B C D (2.10) Ký hiệu của cổng OR được biểu diễn ở hình 2-7. A F B A B F C D E Hình 2-7 . Ký hiệu của cổng OR theo tiêu chuẩn ANSI Tương tự như cổng AND, nguyên lý hoạt động của cổng OR có thể được giải thích thông qua bảng trạng thái (Bảng 2-15a, b). Một cổng OR có n đầu PTITvào sẽ có 2n hạng tích trong bảng trạng thái của nó. A B f A B f 0 0 0 L L L 0 1 1 L H H 1 0 1 H L H 1 1 1 H H H a) Theo giá trị logic b) Theo mức điện thế Bảng 2-15 a, b. Bảng trạng thái của cổng OR. Cũng trên sơ đồ, định lý DeMorgan có thể tìm được mối quan hệ giữa cổng NOR và cổng AND. f A B A.B (2.11) 28
  36. Khi tác động tới đầu vào cổng AND logic âm, thì hàm ra của nó tương đương với hàm ra của cổng NOR với logic dương. Hình 2-8 mô tả sự tương đương đã trình bày trên đây: A AB AB B Hình 2-8. Sơ đồ tương đương giữa cổng NOR và cổng AND 2.4.1.3. Cổng NOT Cổng NOT thực hiện hàm logic: f A (2.12) Ký hiệu của cổng NOT được chỉ ra trên hình 2-9. A A Hình 2-9. Ký hiệu của cổng NOT theo tiêu chuẩn ANSI. A Hình 2-10. Nguyên lý hoạt động của cổng NOT Hoạt động của cổng NOT khá đơn giản, nếu đầu vào: A 0 thì A 1, nếu A 1 thì A 0 Hoạt động của cổng NOT được tóm tắt ở bảng 2-16a, b. A PTIT f A f 0 1 L H 1 0 H L a) Theo giá trị logic b) Theo mức logic Bảng 2-16a, b. Bảng trạng thái của cổng NOT. 2.4.2. Logic dương và logic âm Đối với cổng NOT đã khảo sát ở phần trên, việc đảo tín hiệu trước hay sau là như nhau: Dấu “tròn” ở đầu vào hoặc đầu ra của cổng chỉ ra là giá trị tác động có tích cực thấp. Khi không có dấu “tròn” này mức logic tương ứng sẽ là tích cực cao hay còn gọi là logic dương. Logic dương là logic có điện thế mức 1 luôn lớn hơn điện thế mức 0. Logic âm là đảo của logic dương. Trong logic dương mức 1 có điện thế cao hơn mức 0. Đối với logic âm, ngược lại mức 0 có điện thế cao hơn mức 1. 29
  37. 2.4.3. Một số cổng ghép thông dụng Khi ghép ba loại cổng logic cơ bản nhất sẽ thu được các mạch logic từ đơn giản đến phức tạp. Ở đây, chỉ xét một vài mạch ghép đơn giản nhưng rất thông dụng. 2.4.3.1. Cổng NAND Ghép nối tiếp một cổng AND với một cổng NOT, được cổng NAND (Hình 2-11). A.B Hình 2-11. Sơ đồ cấu tạo cổng NAND Hàm ra của cổng NAND 2 và nhiều biến vào như sau: f A.B AB (2.13) f A.B.C.D ABCD Ký hiệu cổng NAND (hình 2-12) và bảng trạng thái (bảng 2-17). A F B A F B C Hình 2-12. Ký hiệu của cổng NAND theo tiêu chuẩn ANSI A B F A B F 0 0 1 L L H 0 1 1 L H H 1 0 1 H L H 1 1 0 H H L BảngPTIT 2-17a,b. Bảng trạng thái của cổng NAND 3.1.3.2 Cổng NOR Cổng NOR được thiết lập bằng cách nối tiếp một cổng OR với một cổng NOT. Từ hình 2-9, có thể viết được hàm ra của cổng NOR 2 và nhiều đầu vào như sau: f A Bhayf ABC (2.14) AB Hình 2-9. Sơ đồ cấu tạo cổng NOR Ký hiệu của cổng NOR 2 đầu vào như chỉ ở hình 2-10a,b. 30
  38. AB Hình 2-10. Ký hiệu cổng NOR theo tiêu chuẩn ANSI. Hoạt động của cổng NOR được giải thích bằng bảng trạng thái như chỉ ở bảng 2-18a,b. A B f A B f 0 0 1 L L H 0 1 0 L H L 1 0 0 H L L 1 1 0 H H L Bảng 2-18a, b. Bảng trạng thái của cổng NOR 2 đầu vào. 2.4.3.3 Cổng XOR AB FABABAB  AB Hình 2-11 Sơ đồ của cổng XOR 2 đầu vào Cổng XOR (Exelusive OR) còn có một số tên gọi khác, cổng khác dấu, cổng cộng modun 2. Đây là một loại cổng ghép phức tạp hơn NAND và NOR. Biểu thức logic đầu ra của cổng là: f A.B A.B A  B (2.15) Từ biểu thức đầu của (2.15) có mạch logic của cổng XOR như hình 2-12. Phần tử hợp thành của cổng XOR gồm cả ba loại cổng lôgic cơ sở AND, OR, NOT. Ký hiệu của cổng XOR 2 đầu vào được trình bày trên hình 2-16. A f B PTIT Hình 2-16. Ký hiệu của cổng XOR 2 đầu vào theo tiêu chuẩn ANSI Bảng 2-19 là bảng trạng thái và bảng chức năng của cổng XOR 2 đầu vào. A B f A B f 0 0 0 L L L 0 1 1 L H H 1 0 1 H L H 1 1 0 H H L a) Bảng trạng thái b) Bảng chức năng Bảng 2-19. Bảng trạng thái và chức năng của cổng XOR 31
  39. Hoạt động của cổng XOR nhiều đầu vào cũng tương tự như cổng 2 đầu vào, nghĩa là số bit 1 trên tất cả các đầu vào là một số lẻ, thì hàm ra có logic 1, ngược lại nếu cổng có số bit 1 trên tất cả các đầu vào là một số chẵn, thì hàm ra có logic 0. Có thể sử dụng cổng XOR 2 đầu vào để thực hiện hàm XOR nhiều đầu vào như hình 2-13. Hình 2-13. Sơ đồ thực hiện hàm XOR 3 đầu vào Từ biểu thức và bảng trạng thái của cổng XOR, có thể suy ra một số tính chất của hàm XOR như sau: 1. Luật giao hoán: ABBA  (2.16) 2. Luật kết hợp: (A B)  C A  (B  C) (2.17) 3. Luật phân phối: A(B C) A.B  A.C (2.18) 4. Các phép toán của biến và hằng số: A 1 A (2.19) A 0 A (2.20) A A 0 (2.21) A A 1 (2.22) 5. Luật đổi chỗ nhân quả Nếu ABC thì A C B và B  C A (2.23) 2.4.3.4 Cổng XNOR Cổng không hoặc tuyệtPTIT đối còn có tên gọi là cổng đồng dấu. Cổng XNOR được tạo thành khi mắc nối tiếp cổng XOR và cổng NOT. Biểu thức logic đầu ra: f AB ABhayf A  B A~B (2.24) Ký hiệu của cổng XNOR 2 đầu vào được trình bày trên hình 2-14. A f B Hình 2-14. Ký hiệu của cổng XNOR 2 đầu vào theo tiêu chuẩn ANSI Hoạt động của cổng XNOR 2 đầu vào được mô tả ở bảng trạng thái 2-20. 32
  40. Có thể xây dựng XNOR nhiều đầu vào bằng cách tương tự như xây dựng XOR nhiều đầu vào Bảng 2-20. Bảng trạng thái và trạng thái của cổng XNOR 2 đầu vào A B f A B f 0 0 1 L L H 0 1 0 L H L 1 0 0 H L L 1 1 1 H H H a) Bảng trạng thái b) Bảng chức năng XOR và XNOR là hai loại cổng có rất nhiều ứng dụng trong kỹ thuật số. Chúng là phần tử chính hợp thành bộ cộng, trừ, so sánh hai số nhị phân v.v 2.4.4 Tính đa chức năng của cổng NAND, NOR. Theo tính chất của các cổng logic cơ bản, mọi hàm logic đều có thể thực hiện được nhờ cách kết hợp 3 hàm cơ sở AND, OR và NOT, tức là mọi cấu trúc mạch phức tạp đều có thể tổng hợp được từ các hệ hàm này. Tuy nhiên, do công nghệ chế tạo các cổng AND, OR và NOT có nhiều điểm khác nhau nên khó có thể thực hiện được trong các mạch tích hợp số. Do vậy, để khắc phục được nhược điểm này phải tìm ra cổng có thể tạo ra hệ hàm đầy đủ. Cổng NAND và cổng NOR có thể thỏa mãn điều kiện này. Điều này có nghĩa là từ cổng NAND hoặc cổng NOR có thể tạo ra các cổng logic cơ bản khác. Tính đa chức năng của cổng NAND: Từ cổng NAND có thể tạo ra các cổng NOT, AND, OR và NOR. Để tạo được các cổng logic này dùng các định lý Boole để biến đổi. A.A PTIT A A A.B A.B A.B A A.B A B B A A.B A B AB AB B Hình 2-15. Tính đa chức năng của cổng NAND 33
  41. Tính đa chức năng của cổng NOR: AAA A AB ABAB AB A ABA.B B A ABA.B A.B A.B B Hình 2-16. Tính đa chức năng của cổng NOR Từ hình 2-15 và 2-16, có thể kết luận là mọi mạch logic tổ hợp có thể xây dựng chỉ từ một loại cổng cơ bản là cổng NAND hoặc cổng NOR. Đây là một đặc điểm quan trọng trên quan điểm tính đồng nhất của công nghệ chế tạo, do vậy, giá thành chi phí giảm, độ tin cậy cao. Ví dụ 1 : Cho hàm logic FABAB , hãy xây dựng mạch về dạng toàn NAND. Giải: F AB AB AB AA AB BB A(A B) B(A B) AAB BAB A AB BAB A AB . B AB Từ biểu thức biến đổi trên vẽ được sơ đồ logic hình 2-17. PTITA A.B A A.B B A.B F A.B FAB  B A.B Hình 2-17. Mạch logic thể hiện hàm XOR toàn NAND Ví dụ 2 : Cho hàm logic FABAB , hãy xây dựng mạch về dạng toàn NOR. Giải: 34
  42. F AB AB AB AB AB BB AB AA A(A B) B(A B) A(A B) B(A B) A (A B) B (A B) A (A B) B (A B) Từ biểu thức biến đổi trên vẽ được sơ đồ logic trên hình 3-18: AAB AABBABF A + B FAB  BAB Hình 2-18. Mạch logic thể hiện hàm XNOR toàn NOR TÓM TẮT Phép toán logic của Leibniz được George Boole bổ sung và thực hiện trong thế kỷ 19 và được gọi là đại số Boole. Hiện nay đại số Boole có giá trị kỹ thuật trong nhiều lĩnh vực như: + Các mạch điều khiển điện tử; + Các mạch số điện tử; + Điều khiển cơ khí; + Thiết bị thủy lực Shanon đã chứng minh rằng đại số Boole phù hợp để giải quyết các vấn đề kỹ thuật mạch. Từ đó, có thể xây dựng được các hàm logic cơ bản, làm tiền đề cho việc thiết kế các vi mạch cỡ lớn. Đối với bất kỳ mạch thiết kế logic nào điều căn bản là phải thiết kế một sản phẩm đáp ứng các yêu cầu: giá thấp nhất, yêu cầu không gian thấp nhất, tốc độ hoạt động tối đa, các linh kiện có sẵn, dễ dàng kết nối PTITcác linh kiện, dễ dàng thiết kế. Để đạt được các yêu cầu đó cần phải có một vài công cụ để tối thiểu hóa các biểu thức logic. Một số phương pháp được sử dụng phổ biến là phương pháp đại số Boole, bảng Các nô. Chương 2 cũng đã trình bày cấu trúc, nguyên lý và đặc điểm của cổng logic thường dùng. Xuất phát từ thực tế mạch điện đã vi mạch hoá, nên trọng tâm chú ý nghiên cứu của chúng ta là các cổng được vi mạch hoá. 35
  43. CÂU HỎI ÔN TẬP 1. Chuyển các hàm logic sau sang dạng chuẩn của minterm? a) A.B.(CD A.B) b) A.(B A.C).(A B.C) c) A.B.A.C.A.D B.C.B.C C.D d) (A B).(B C).(C D) 2. Chuyển các hàm logic sau sang dạng chuẩn của maxterm? a) A.B.(CD A.B) b) A.(B A.C).(A B.C) c) A.B.A.C.A.D B.C.B.C C.D d) (A B).(B C).(C D) 3. Rút gọn hàm sau theo phương pháp dùng bảng Cácnô? a) F (A, B, C, D) =  (1, 4, 6, 9, 10, 11, 14, 15). b) F (A, B, C, D) =  (3, 7, 8, 9, 10, 12). 4. Rút gọn hàm sau theo phương pháp dùng bảng Cácnô? a) F (A, B, C, D) =  (3, 6, 8, 9, 11, 12)+ d (0, 1, 2, 13, 14, 15). b) F (A, B, C, D) =  (0, 1, 4, 9, 12, 13) + d (2, 3, 6, 10, 11, 14). 5. Rút gọn biểu thức sau bằng phương pháp đại số: a) A B BD CDE D A b) ( A B C)(A B C)(A B C)(A B C) 6. Rút gọn hàm sau theo phương pháp đại số? a) CDCD.ACD PTIT b) ABC.ABBCCA 7. Phân tích ý nghĩa của việc tối ưu hoá mạch điện của các họ cổng logic? Cho ví dụ minh hoạ? 8. Chứng minh các đẳng thức: a. A B A B AB b. AB (A  B  C) = ABC c. A  B  C = A B C 9. Rút gọn: a) ABAB 36
  44. b) ABAB c) ABAB d) A + AB 10. Chứng minh đẳng thức a) A (B  C) = A.B.C A.B.C b) ABAB  c) ABAB  d) ABAB  11. Chứng minh đẳng thức a) A BC A BC ABC ABC = AB + AC + BC b) AB AC BC= AB AC 12. Rút gọn a) AB BCD AC BC b) CDCD.ACD c) ABC.ABBCCA d) AC AB BC BCDE 13. Rút gọn biểu thức sau bằng phương pháp đại số: a) AB(A B  C) b) A B AB A B AB c) AB AC BC BCD BCE BCF 14. Thể hiện hàm sau bPTITằng mạch cổng NAND 2 lối vào? F A, B, C, D, E A.B C D.E 15. Thể hiện hàm sau bằng mạch cổng NOR 2 lối vào? F A, B, C, D, E (A B).C D E 16. Cho hàm 3 biến : F A, B, C A.B.C A.B.C A.B.C A.B.C 1 F2 A, B, C A.B.C A.B.C A.B.C A.B.C a) Lập bảng trạng thái và bảng Cácnô cho từng hàm? b) Tìm mối quan hệ nếu có giữa hai hàm? c) Xác định hàm F(A,B,C) F.F1 2 F.F 1 2 37
  45. 17. Cho hàm logic sau: F (A, B, C, D) =  (0, 3, 5, 6, 9, 10, 12, 15) a) Lập bảng Cácnô và rút gọn hàm F? b) Lập bảng Cácnô và rút gọn hàm F ? 18. Cho hàm logic sau: F A, B, C, D =(A B).(C D) a) Đưa hàm F về dạng chuẩn tắc b) Lập bảng Cácnô và rút gọn hàm F? c) Lập bảng Cácnô và rút gọn hàm F ? 19. Cho mạch điện như hình vẽ: a) Thiết lập bảng trạng thái mô tả hoạt động của mạch? b) Vẽ đồ thị dạng xung tại đầu ra khi dạng xung vào cho tuỳ chọn? 20. Cho hàm logic: f (A, B, C, D) =  (0, 2, 5, 6, 7, 8, 10, 13, 15) a) Viết biểu thức tối giản của hàm b) Thực hiện hàm bằng 1 mạch tối ưu toàn NOR 2 lối vào 21. Hãy chứng minh tính chất sau của hàm XOR: a) ABBA  b) (A B)  C A  (B  C) c) A(B C) A.B PTIT A.C d) Nếu ABC thì A C B và B  C A 22. + Hãy chứng minh: F (A  B)(C  D) A.B A.B C.D C.D + Hãy vẽ sơ đồ logic của hàm FABCD    23. Cho hình vẽ sau 38
  46. a) Viết biểu thức hàm ra F. b) Xây dựng bảng trạng thái. c) Tối ưu hóa mạch. 24. Cho hàm logic F = A.B + B.C + A.C a) Viết lại biểu thức F theo cấu trúc toàn NAND. b) Viết lại biểu thức F theo cấu trúc toàn NOR. c) Vẽ mạch logic hàm F theo cấu trúc toàn NAND và toàn NOR. 25. Viết biểu thức hàm ra F của mạch điện sau và lập bảng trạng thái tương ứng: 26. Cho hình vẽ sau: PTIT a) Viết biểu thức hàm F. b) Lập bảng trạng thái. c) Tối ưu mạch về dạng toàn NAND. 39
  47. CHƯƠNG 3: MẠCH LOGIC TỔ HỢP GIỚI THIỆU CHUNG Các hàm logic được thực hiện nhờ các hệ vật lý gọi là các hệ logic hay là các mạch logic. Trong chương 3 chúng ta đề cập đến các mạch logic tổ hợp, tức là các mạch mà tín hiệu ở đầu ra chỉ phụ thuộc vào tín hiệu ở đầu vào của mạch tại thời điểm đang xét. Nói cách khác, các tín hiệu ra không phụ thuộc vào "lịch sử " của tín hiệu vào trước đó, nghĩa là các hệ này làm việc theo nguyên tắc không có nhớ. Hoạt động của các mạch tổ hợp được mô tả bằng các bảng trạng thái hoặc bằng các hàm chuyển mạch logic đặc trưng cho quan hệ giữa các đại lượng vào và ra của hệ thống. Về mặt cấu trúc, các mạch tổ hợp không chứa một thiết bị hoặc một phần tử nhớ thông tin nào cả. Trong chương này đề cập đến các mạch điện cụ thể thực hiện các chức năng khác nhau của hệ thống số. Các mạch điện này được thiết kế dựa trên các cổng logic tổ hợp. Các cổng logic này được tích hợp trong một IC cỡ vừa (MSI) có chứa khoảng vài chục tới vài trăm các các cổng logic cơ sở. Những linh kiện này được chế tạo nhằm thực hiện một số các hoạt động thu nhận, truyền tải, biến đổi các dữ liệu thông qua tín hiệu nhị phân, xử lý chúng theo một phương thức nào đó. Phần đầu của chương giới thiệu cách phân tích và thiết kế các mạch logic tổ hợp đơn giản. Phần tiếp theo giới thiệu một số mạch tổ hợp thông dụng trong các hệ thống số: - Mã hoá và giải mã các luồng dữ liệu nhị phân. - Ghép kênh và phân kênh để chọn hoặc chia tách các luồng số nhị phân theo những yêu cầu nhất định để định tuyến cho chúng trong việc truyền dẫn thông tin. - Các mạch cộng, trừ, so sánh số nhị phân để đánh giá định tính và định lượng trọng số của các số nhị phân. - Mạch tạo và kiểm tra tính chẵn lẻ, mạch tạo và giải mã Hamming. - Đơn vị số học và logic (ALU). 3.1 KHÁI NIỆM CHUNG PTIT Căn cứ vào đặc điểm và chức năng logic, các mạch số được chia thành 2 loại chính: mạch tổ hợp và mạch tuần tự (mạch tuần tự được trình bày ở chương sau). 3.1.1. Đặc điểm cơ bản của mạch tổ hợp Trong mạch số, mạch tổ hợp là mạch mà trị số ổn định của tín hiệu đầu ra ở thời điểm đang xét chỉ phụ thuộc vào tổ hợp các giá trị tín hiệu đầu vào. Đặc điểm cấu trúc mạch tổ hợp là được cấu trúc nên từ các cổng logic. Vậy các mạch điện cổng ở chương 2 và các mạch logic ở chương 3 đều là các mạch tổ hợp. 3.1.2. Phương pháp biểu diễn chức năng logic Các phương pháp thường dùng để biểu diễn chức năng logic của mạch tổ hợp là hàm số logic, bảng trạng thái, sử dụng logic, bảng Cac nô (Karnaugh), cũng có khi biểu thị bằng đồ thị thời gian dạng xung. 40
  48. Đối với vi mạch cỡ nhỏ (SSI) thường biểu diễn bằng hàm logic. Đối với vi mạch cỡ vừa (MSI) thường biểu diễn bằng bảng trạng thái. 3.2 PHÂN TÍCH MẠCH LOGIC TỔ HỢP Phân tích mạch logic tổ hợp là đánh giá một mạch điện. Trên cơ sở đó, có thể rút gọn, chuyển đổi dạng thực hiện của mạch điện để có được lời giải tối ưu theo một nghĩa nào đấy. Mạch tổ hợp có thể bao gồm hai hay nhiều tầng, mức độ phức tạp của của mạch cũng rất khác nhau. Nếu mạch đơn giản thì tiến hành lập bảng trạng thái, viết biểu thức, rút gọn, tối ưu (nếu cần) và cuối cùng vẽ lại mạch điện. Nếu mạch phức tạp thì tiến hành phân đoạn mạch để viết biểu thức, sau đó rút gọn, tối ưu (nếu cần) và cuối cùng vẽ lại mạch điện. Ví dụ: Phân tích mạch logic sau và tối ưu mạch: Hình 3. 1. Sơ đồ mạch logic Viết biểu thức hàm và thực hiện rút gọn: F ABC ABC ABC ABC F ABC ABC ABC ABC ABC ABC BC(A A) AC(BPTIT B) AB(C C) BC AC AB Từ đó vẽ được mạch sau: Hình 3. 2. Sơ đồ mạch logic sau khi rút gọn 41
  49. Thực hiện tối ưu về dạng toàn NAND: F AB AC BC AB.AC.BC Từ đó vẽ được mạch sau: Hình 3. 3. Sơ đồ mạch logic sau khi tối ưu. Sơ đồ hình 3.3 chưa thực sự tối ưu vì vẫn sử dụng hai loại cổng NAND (NAND 2 lối vào và NAND 3 lối vào), do vậy phải tối ưu về dạng NAND 2 lối vào: F AB AC BC A(B C) BC A(B C) BC A.B.C.BC Từ đó vẽ được mạch sau: Hình 3. 4. Sơ đồ mạch logic sử dụng cổng NAND 2 lối vào. 3.3 THIẾT KẾ MẠCH LOGIC TỔ HỢP Quá trình thiết kế nói chung của mạch tổ hợp gồm các bước được mô tả trên hình 3.5. Phương pháp thiết kế logicPTIT các mạch tổ hợp là các bước cơ bản tìm ra sơ đồ mạch điện logic từ các yêu cầu nhiệm vụ đã cho. Các bước của quá trình thiết kế có thể rút gọn trong bốn bước chính: + Phân tích yêu cầu Yêu cầu nhiệm vụ thiết kế của vấn đề logic thực có thể là những yêu cầu trình bày dưới dạng văn bản, cũng có thể là một bài toán logic cụ thể. Nhiệm vụ phân tích là xác định cái nào là biến số đầu vào, cái nào là hàm số đầu ra và mối quan hệ logic giữa hàm và biến. 42
  50. Hình 3. 5. Các bước thiết kế mạch logic tổ hợp + Bảng trạng thái: Đầu tiên, từ các yêu cầu cụ thể liệt kê thành bảng biểu diễn quan hệ tương ứng giữa trạng thái tín hiệu đầu vào và trạng thái hàm số đầu ra. Đó là bảng kê chức năng logic gọi tắt là bảng chức năng (hay là bảng trạng thái). Tiếp theo thay các giá trị logic cho trạng thái, tức là dùng các ký hiệu 0 và 1 thay cho các trạng thái tương ứng của đầu vào và đầu ra. Kết quả được bảng trạng thái. Ví dụ : Một ngôi nhà hai tầng. Người ta lắp hai chuyển mạch hai chiều tại hai tầng, sao cho ở tầng nào cũng có thể bật hoặc tắt đèn. Hãy thiết kế một mạch logic mô phỏng hệ thống đó? Lời giải: + Nếu ký hiệu hai công tắc là hai biến A, B. Khi ở tầng 1 bật đèn và lên tầng 2 thì tắt đèn đi và ngược lại. Như vậy đèn chỉ có thể sáng ứng với hai tổ hợp chuyển mạch ở vị trí ngược nhau. Còn đèn tắt khi ở vị trí giống nhau. Hệ thống chiếu sáng trong có sơ đồ như hình 3.6. PTIT Hình 3. 6. Mạch điện của hệ chiếu sáng Bảng trạng thái mô tả hoạt động của hệ như chỉ ở bảng 3-3. A B F = A  B 0 0 0 0 1 1 1 0 1 1 1 0 Bảng 3-3. Bảng trạng thái mô tả hoạt động của hệ chiếu sáng 43
  51. Hình 3. 7. Sơ đồ logic thể hiện hàm F Biểu thức của hàm là: F A B A B = A  B hoặc F AB A AB B Đây là hàm XOR. Hàm này có thể được thể hiện bằng nhiều kiểu mạch khác nhau. Hình 3.7 là một dạng sơ đồ thể hiện hàm F. 3.4. MẠCH MÃ HOÁ VÀ GIẢI MÃ 3.4.1 .Một số loại mã thông dụng 3.4.1.1 Các dạng mã nhị thập phân (BCD-Binary Coded Decimal) Số BCD có vai trò rất quan trọng trong máy tính. Khi đưa số thập phân vào máy tính thì phải chuyển số thập phân đó thành số nhị phân và khi hiển thị phải chuyển số nhị phân thành thập phân. Số BCD thực hiện nhiệm vụ chuyển 10 ký hiệu thập phân thành cụm số nhị phân 4 bit (1 đềcat). Từ số 10 trở lên thì mỗi ký hiệu số được biểu thị ít nhất bằng 2 đềcat nhị phân. Ví dụ: 9 = 1001; 10 = 0001 0000. Có rất nhiều cách mã hóa 10 ký hiệu thập phân thành 4 bit nhị phân, nhưng trong phần này chỉ giới thiệu một số mã BCD thông dụng. Mã BCD tự nhiên (N-BCD: Nature BCD) hay gọi là mã BCD 8421. Trong mã N-BCD, các chữ số thập phân được nhị phân hoá theo trọng số như nhau 23, 22, 21, 20 nên có 6 tổ hợp dư,PTIT ứng với các số thập phân 10, 11, 12, 13, 14 và 15. Sự xuất hiện các tổ hợp này trong bản tin được gọi là lỗi dư. Ngoài mã NBCD còn có rất nhiều loại mã BCD với các trọng số khác nhau. Bảng 1-4 giới thiệu một số loại mã BCD thường gặp với các chỉ số đi theo mã là các trọng số BCD ở các vị trí tương ứng. a) Mã BCD 7421. b) Mã BCD 5121. c) Mã BCD 2421 (mã Aiken). Mã Aiken được sắp xếp đối xứng, tức là sự phủ định của tất cả các vị trí của một từ mã nhị phân ở một vị trí nào đó sẽ có một từ mã nằm đối xứng có phần bù tương ứng. Ví dụ: 3 2 1 0 710 = 0 1 1 12 = 0 x 2 + 1 x 2 + 1 x 2 + 1 x 2 với BCD 8421 44
  52. = 1 0 0 02 = 1 x 7 + 0 x 4 + 0 x 2 + 0 x 1 với BCD 7421 = 1 0 1 02 = 1 x 5 + 0 x 1 + 1 x 2 + 0 x 1 với BCD 5121 = 1 1 0 12 = 1 x 2 + 1 x 4 + 0 x 2 + 1 x 1 với BCD 2421 Ưu điểm: - Mã BCD có trọng số không thay đổi; - Được sắp xếp theo quy luật. - Dễ nhớ. Nhược điểm: - Xuất hiện từ mã 0000 và 1111. Tổ hợp này dễ dàng được tạo thành do các nhiễu gây ra nên dễ xuất hiện lỗi kỹ thuật. Số Trọng số của mã BCD thập phân 8421 7421 5121 2421 4221 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0001 2 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0010 3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0011 4 0 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0 1000 5 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1 0111 6 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0 1100 7 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1101 8 1 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 1110 9 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1111 Bảng 3-4. Cấu tạo mã BCD với các trọng số khác nhau. 3.4.1.2. Các dạng mã nhị phân khác a. Mã dư 3 Do trọng số nhị phân của mỗi vị trí biểu diễn thập phân là tự nhiên nên máy tính có thể thực hiện trực tiếp các phép tínhPTIT cộng, trừ, nhân, chia theo mã NBCD. Tuy nhiên nhược điểm chính của mã là tồn tại tổ hợp toàn Zero (0), gây khó khăn trong việc đồng bộ khi truyền dẫn tín hiệu. Vì vậy, người ta sử dụng mã Dư-3 được hình thành từ mã NBCD bằng cách cộng thêm 310 vào mỗi tổ hợp mã. Như vậy, mã không bao gồm tổ hợp toàn Zero. Mã Dư-3 chủ yếu được dùng để truyền dẫn tín hiệu mà không dùng cho việc tính toán trực tiếp. b. Mã Gray. Mã Gray còn được gọi là mã cách 1, là loại mã mà các tổ hợp mã kế nhau chỉ khác nhau duy nhất 1 bit. Loại mã này không có tính trọng số. Do đó, giá trị thập phân đã được mã hóa chỉ được giải mã thông qua bảng mã mà không thể tính theo tổng trọng số như đối với mã BCD. Mã Gray có thể được tổ chức theo nhiều bit. Bởi vậy, có thể đếm theo mã Gray. 45
  53. Cũng tương tự như mã BCD, ngoài mã Gray chính còn có mã Gray dư-3. c. Mã Johnson (vòng xoắn). Mã Johnson sử dụng 5 bit nhị phân để biểu diễn 10 ký hiệu thập phân. Mã này có số bit 1 tăng dần từ trái qua phải cho đến khi đầy, sau đó giảm dần bit 1. d. Mã vòng Mã vòng sử dụng 10 bit nhị phân để biểu diễn 10 ký hiệu thập phân với các trọng số 9876543210. Mỗi tổ hợp mã chỉ bao gồm một bit 1 chạy vòng từ phải qua trái. Số Số nhị Mã dư 3 Mã Mã Gray Mã Mã vòng thập phân phân Gray Dư 3 Johnson 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 1 0 0 1 0 1 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 3 0 0 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 4 0 1 0 0 0 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 0 0 5 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 6 0 1 1 0 1 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 0 0 0 1 0 0 0 0 0 0 7 0 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 8 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 9 1 0 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 Bảng 3-5. Cấu tạo của một số mã nhị phân thông dụng. 3.4.2. Các mạch mã hoá: Nói một cách tổng quát, mã hoá là dùng văn tự, ký hiệu hay mã để biểu thị một đối tượng xác định. Các hệ thống điện tử số (như máy tính) chỉ tiếp nhận thông tin dưới dạng nhị phân, mã nhị phân có hai chữ số 0 và 1, vì vậy các số liệu, các lệnh cho máy tính thực hiện đều phải được biểu diễn dưới dạng nhị phân. Sau khi đã được máy tính xử lý cần thiết phải giải mã để đưa thông tin cho con người (hệ thập phân). Mã nhị phân n bit có 2n trạng thái, có thể biểu thị 2n tín hiệu. Vậy để tiến hành mã hoá N tín hiệu, cần sử dụng n bit sao cho 2n ≥ N. Bộ mã hoá là mạch điệnPTIT thao tác mã hoá, có nhiều bộ mã hoá khác nhau, bộ mã hoá nhị phân, bộ mã hoá nhị - thập phân, bộ mã hoá ưu tiên v.v. 3.4.2.1. Bộ mã hoá thập phân sang BCD8421: Hình 3. 8. Sơ đồ khối mạch mã hóa 46
  54. Bộ mã hoá nhị - thập phân là mạch điện chuyển mã hệ thập phân bao gồm 10 chữ số, đầu ra là nhóm mã số nhị phân gọi là mã nhị phân BCD (Binary Coded Decimal). Căn cứ vào công thức 2n ≥ N = 10 nên chọn n = 3. Mã nhị phân 4 bit có 16 tổ hợp (từ mã). Chỉ cần chọn 10 từ mã tuỳ ý trong số đó là đủ biểu thị 10 tín hiệu đầu vào, vậy có rất nhiều phương án tạo ra bộ mã hóa BCD. Dưới đây là bảng mã hoá BCD – 8421 rất thường dùng: Số thập phân D C B A 0 (Y0) 0 0 0 0 1 (Y1) 0 0 0 1 2 (Y2) 0 0 1 0 3 (Y3) 0 0 1 1 4 (Y4) 0 1 0 0 5 (Y5) 0 1 0 1 6 (Y6) 0 1 1 0 7 (Y7) 0 1 1 1 8 (Y8) 1 0 0 0 9 (Y9) 1 0 0 1 Bảng 3-3. Bảng mã hoá BCD – 8421: Từ bảng trạng thái 3-4, tìm được biểu thức đầu ra sau D Y Y Y .Y  8 9 8 9 CY 4 Y 5 Y 6 Y 7 Y.Y.Y.Y 4 5 6 7  (3.1) B Y2 Y 3 Y 6 Y 7 Y.Y.Y.Y 2 3 6 7 A Y1 Y 3 Y 5 Y 7 Y 8 Y.Y.Y.Y.Y 1 3 5 7 8  Sơ đồ logic của bộ mã hoáPTIT BCD – 8421 được trình bày trên hình 3.9. Hình 3. 9. Sơ đồ logic của bộ mã hoá nhị - thập phân. 47
  55. Từ hệ phương trình trên có thể viết lại như sau (dùng định lý DeMorgan) và dùng ma trận diode (cổng AND) để xây dựng mạch (hình 3.10). D Y8 Y 9 Y 8 .Y 9 C Y Y Y Y Y.Y.Y.Y 4 5 6 7 4 5 6 7 B Y2 Y 3 Y 6 Y 7 Y.Y.Y.Y 2 3 6 7 A Y1 Y 3 Y 5 Y 7 Y 9 Y.Y.Y.Y.Y 1 3 5 7 9 Hình 3. 10. Mạch mã hóa dùng diode 3.4.2.2. Bộ mã hoá ưu tiên Trong các bộ mã hoá thông thường, tín hiệu đầu vào tồn tại độc lập (không có tình huống có 2 tín hiệu trở lên đồng thời tác động). Bộ mã hoá ưu tiên thì khác, có thể có nhiều tín hiệu đồng thời đưa đến, nhPTITưng mạch điện chỉ tiến hành mã hoá tín hiệu điện đầu vào nào có mức ưu tiên cao nhất ở thời điểm đó. Chúng ta xem xét nguyên lý hoạt động và quá trình thiết kế bộ mã hoá ưu tiên qua ví dụ sau: Hãy thiết kế một mạch logic để mã hoá nhị phân đối với 10 tín hiệu vào Y0, Y1, , Y9 sao cho mức độ ưu tiên cao nhất giảm dần từ Y9 đến Y0. Nếu có nhiều tín hiệu đồng thời xuất hiện ở đầu vào thì tín hiệu nào có mức ưu tiên cao nhất trong số đó mới được mã hoá, giả thiết cả tín hiệu đầu vào và tín hiệu đầu ra đều tích cực ở mức thấp. Theo yêu cầu trên, căn cứ công thức 2n ≥ N = 10, vậy dùng mã nhị phân n = 4 bit. Bảng 3-5 bảng trạng thái bộ mã hoá ưu tiên. 48
  56. Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 D C B A 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 x 1 1 1 0 1 1 1 1 1 1 1 0 x x 1 1 0 1 1 1 1 1 1 1 0 x x x 1 1 0 0 1 1 1 1 1 0 x x x x 1 0 1 1 1 1 1 1 0 x x x x x 1 0 1 0 1 1 1 0 x x x x x x 1 0 0 1 1 1 0 x x x x x x x 1 0 0 0 1 0 x x x x x x x x 0 1 1 1 0 x x x x x x x x x 0 1 1 0 Bảng 3-5- Bảng trạng thái bộ mã hoá ưu tiên. DYYYYYDYY  9 9 8 9 8 9 8 CYYYYYYYYYYYYCYYYYYYYYYYYY 987 986 985 984 987 986 985 984 BYYYYYYYYYYYYYYYY 987 986 98543 98542  (3.2) BYYYYYYYYYYYYYYYY 987 986 98543 98542 AYYYYYYYYYYYYYYYYYYY 9 987 98765 9876543 98 7YYYYYY 6 5 4 3 2 1 AYYYYYYYYYYYYYYYYYYYYYYYYY 9 987 98765 9876543 987654321  Theo bảng 3-5, khi có nhiều tín hiệu cùng tác động, thì tín hiệu có mức ưu tiên cao nhất được mã hoá, các tín hiệu khác tương ứng x (dù là 1 hay 0) cũng không có tác dụng. Kết quả được các hàm logic đầu ra dưới dạng NORAND công thức (3.2). Sơ đồ logic hình 3.11 thoPTITả mãn yêu cầu trên Hình 3. 11. Bộ mã hoá ưu tiên 49
  57. 3.4.3. Các bộ giải mã Giải mã là một quá trình phiên dịch hàm đã được gán bằng một từ mã. Mạch điện thực hiện giải mã gọi là bộ giải mã. Bộ giải mã biến đổi từ mã thành tín hiệu ở đầu ra. Có nhiều bộ giải mã, nhưng chúng đều có nguyên tắc hoạt động và phương pháp thiết kế tương tự nhau. Sau đây chỉ xét các bộ giải mã thông dụng. 3.4.3.1. Bộ giải mã nhị phân Bộ giải mã nhị phân còn có tên là bộ giải mã "1 từ n", bộ giải mã địa chỉ hoặc bộ chọn địa chỉ nhị phân. Hình 3. 12. Sơ đồ khối bộ giải mã nhị phân Chức năng của bộ giải mã nhị phân là lựa chọn duy nhất một đầu ra (lấy giá trị 1 hoặc 0), khi tác động tới đầu vào một số nhị phân. Như vậy, nếu số nhị phân là n bit (n đầu vào) sẽ nhận diện được 2n địa chỉ khác nhau (trên 2n đầu ra). Nói khác đi, mạch chọn địa chỉ nhị phân là một mạch logic tổ hợp có n đầu vào và 2n đầu ra, nếu tác động tới đầu vào một số nhị phân thì chỉ duy nhất một đầu ra được lựa chọn, lấy giá trị 1 (tích cực cao) hoặc 0 (tích cực thấp), các đầu ra còn lại đều không được lựa chọn, lấy giá trị 0 hoặc 1. Sơ đồ khối tổng quát của bộ chọn địa chỉ nhị phân như chỉ ở hình 3.12. Ví dụ: Xây dựng mạch giải mã nhị phân 2 vào 4 ra và một đầu vào điều khiển E. Lời giải: Lập bảng trạng thái 3-6. E A1 A0 D0 D1 D2 D3 0 x x 0 0 0 0 1 0 0 PTIT1 0 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 Bảng 3-6. Bảng trạng thái Từ bảng trạng thái viết được biểu thức hàm ra như sau: D E.A .A  0 1 0 D E.A .A 1 1 0  (3.3) D2 E.A 1 .A 0 D3 E.A 1 .A 0  Từ biểu thức (3.3) vẽ được sơ đồ logic như hình 3.13. 50
  58. E D0 D1 D2 D3 A0 A1 Hình 3. 13. Sơ đồ logic mạch giải mã địa chỉ 2 vào – 4 ra. IC 74154 là một bộ chọn địa chỉ nhị phân 4 vào 16 ra. Ký hiệu logic của nó được chỉ ra ở hình 3.14. Các đầu vào E1, E2, hoạt động theo tích cực thấp thường được sử dụng để mở rộng dung lượng hoặc thay đổi chức năng logic của bộ chọn địa chỉ. Có thể mở rộng dung lượng bộ chọn địa chỉ nhị phân bằng cách ghép các IC có dung lượng nhỏ lại với nhau. PTITHình 3. 14. Sơ đồ chân của IC 74154 3.4.3.2. Mạch giải mã 7 đoạn Mã nhị phân BCD được chuyển sang thập phân và hiển thị các số thập phân bằng 7 đoạn sáng. 7 đoạn sáng có thể là LED hoặc tinh thể lỏng (LCD), ứng với mỗi tổ hợp xác định các thanh sáng sẽ hiển thị một chữ số ở hệ đếm thập phân. Đối với LED, mỗi đoạn là một diode phát quang, khi có dòng điện đi qua đủ lớn (từ 5mA đến 30mA) thì đoạn tương ứng sẽ sáng. Ngoài 7 đoạn sáng chính, mỗi LED có thêm một diode để biểu thị dấu phân số khi cần thiết. LED có 2 loại chính: LED anốt chung và LED catôt chung. Hình 3.15 mô tả cấu trúc của đèn hiển thị số 7 đoạn sáng dùng diode phát quang, cách ký hiệu các đoạn bằng các chữ cái a, b, c, d, e, f, g. Bảy đoạn là 7 diode phát quang. 51
  59. Đối với LED catốt chung, catốt được nối với nhau và nối đất. Còn LED anốt chung thì anốt được nối với nhau và nối với + 5V. Hình 3. 15. a) Cấu trúc của chỉ thị số 7 đoạn, b) LED catốt chung, c) LED anốt chung Các bộ giải mã có các đầu ra tích cực thấp, sử dụng LED anốt chung, đầu ra của bộ giải mã được nối với các catôt qua các điện trở hạn chế dòng. Dụng cụ hiển thị bằng tinh thể lỏng, gọi tắt là LCD (Liquid Crystal Display). Hình 3. 16. Màn hình LCD và phương pháp kích thích sáng số 3 thập phân LCD chỉ hoạt động khi có ánh sáng phân cực chiếu vào. Để đạt được mục đích này, phía trước các đoạn cần có một kínhPTIT phân cực ánh sáng. Các đoạn không hoạt động sẽ phản xạ đối với luồng ánh sáng phân cực này và do đó không nhìn thấy chúng. Ngược lại các đoạn hoạt động không phản xạ nên bị đen lại. Ưu điểm nổi bật của LCD là công suất tiêu thụ rất nhỏ. Đây là ưu điểm quan trọng đặc biệt với các thiết bị bằng pin nhỏ (như máy tính bấm, máy tính xách tay ). Tuy nhiên, nhược điểm là độ sáng yếu vì LCD tận dụng ánh sáng có sẵn (nguồn tự nhiên của môi trường hay nguồn sáng nhỏ chiếu hậu) và điều khiển phản xạ của ánh sáng này. LCD được bố trí kiểu 7 đoạn như LED làm việc với điện thế xoay chiều (25Hz đến 60Hz) với dòng tiêu thụ rất nhỏ. 52
  60. 3.4.3.3. Thiết kế bộ giải mã BCD sang 7 đoạn Các đầu vào D,C,B, A là mã BCD 8421. Trong đó 6 trạng thái từ 1010 ÷ 1111 không được sử dụng, đánh dấu chéo “X” để xử lý tối thiểu hoá. Tín hiệu đầu ra a  g dùng để kích sáng LED tương ứng của hiển thị 7 thanh. Ở đây xét mạch giải mã có các đầu ra tích cực ở mức thấp, dùng LED anốt chung. Bảng 3-7 là bảng trạng thái bộ giải mã BCD sang bảy đoạn. A B C D a b c d e f g Số được hiển thị 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 2 0 0 1 1 0 0 0 0 1 1 0 3 0 1 0 0 1 0 0 1 1 0 0 4 0 1 0 1 0 1 0 0 1 0 0 5 0 1 1 0 0 1 0 0 0 0 0 6 0 1 1 1 0 0 0 1 1 1 1 7 1 0 0 0 0 0 0 0 0 0 0 8 1 0 0 1 0 0 0 0 1 0 0 9 Bảng 3-7. Bảng trạng thái bộ giải mã Hình 3.17 trình bày các bảng Karnaugh. Các ô “x” có thể tuỳ chọn, trong khi tối thiểu hoá. Tối thiểu hoá dạng minterm, đối với các ô trong bảng Karnaugh có giá trị 0 để xác định hàm đảo: PTIT Hình 3. 17. Bảng Karnaugh hàm logic đầu ra của các LED hiển thị a, b, c, d, e, f, g (a) a A C BD B.D (dạng OR-AND) a A C BD B.D (dạng NOR-AND) (b) b B C.D C.D 53
  61. b B C.D C.D (c) c B C D c B C D (d) d A B.D B.C B.C.D C.D d A B.D B.C B.C.D C.D (e) e B.D C.D e B.D C.D (f) f A B.D B.C C.D f A B.D B.C C.D (g) g A C.D B.C B.C g A C.D B.C B.C Xuất phát từ các hàm logic tối thiểu hoá sơ đồ logic được trình bày trên hình 3.18. PTIT Hình 3. 18. Bộ giải mã BCD sang 7 đoạn. Xoá các số 0 không có nghĩa và xoá các số không cần thiết của LED hiển thị. Việc hiển thị có thể cần nhiều chữ số, dẫn đến trường hợp phần lớn số chữ số không có tín hiệu trên đầu vào, lúc này chúng hiển thị giá trị 0. Điều này gây khó khăn cho người đọc và tiêu tốn năng lượng của nguồn nuôi. Hoặc đôi khi không cần hiển thị các số 0 cần thiết. Để thực hiện các mục đích trên, trong thiết kế người ta đưa vào các chân điều khiển LED ở trạng thái tắt. Ví dụ đối với IC 7447 người ta thiết kế có 2 chân RBO (Riple Blanking Output – Đầu ra xoá nối tiếp) và RBI (Riple Blanking Intput – đầu vào xóa nối tiếp). 54
  62. Khi RBO = 0 thì LED tắt. Khi DCBA = 0000 tương ứng hiển thị số 0. Nếu RBI = 0 thì LED tắt, còn các đầu vào ở giá trị khác, đầu ra hiển thị các chữ số khác 0 vẫn sáng bình thường. 3.4.4. Các bộ biến mã Có nhiều loại mã nhị phân được dùng trong các hệ thống kỹ thuật số. Một vài mã này là nhị phân được tạo mã sang BCD, BCD dư 3, Gray, Gray dư 3, bát phân hoặc thập lục phân Thông thường người ta yêu cầu đổi từ mã này sang mã khác. Ví dụ đầu vào của hệ thống kỹ thuật số có thể là mã NBCD, đầu ra có thể là LED 7 đoạn, hệ thống này xử lý dữ liệu theo dạng nhị phân nên dữ liệu phải chuyển từ mã NBCD sang mã nhị phân. Các bộ biến mã có thể được thiết kế bằng cách sử dụng các cổng logic, các bộ ghép kênh và phân kênh. Tuy nhiên trên thực tế có một số loại IC có sẵn để thực hiện chức năng này. 3.4.4.1. Bộ biến mã từ nhị phân sang Gray Bảng 3-9 là bảng trạng thái mô tả mối quan hệ giữa mã nhị phân và mã Gray 3 bit. Thập phân Nhị phân Gray B2 B1 B0 G2 G1 G0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 2 0 1 0 0 1 1 3 0 1 1 0 1 0 4 1 0 0 1 1 0 5 1 0 1 1 1 1 6 1 1 0 1 0 1 7 1 1 1 1 0 0 Bảng 3-9. BPTITảng trạng thái mạch biến mã Hình 3. 19. Mạch điện thực hiện bộ biến mã từ nhị phân sang Gray Từ bảng trạng thái 3-9 viết được biểu thức của hàm ra như sau: GB2 2  GBB1 2  1  (3.4) GBB0 1  0  Từ đó, vẽ được sơ đồ logic như trên hình 3.19. 55
  63. 3.4.4.2. Bộ biến mã từ Gray sang nhị phân Bảng 3-10 là bảng trạng thái mô tả mối quan hệ giữa mã nhị phân và mã Gray 3 bit. Thập phân Gray Nhị phân G2 G1 G0 B2 B1 B0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 2 0 1 1 0 1 0 3 0 1 0 0 1 1 4 1 1 0 1 0 0 5 1 1 1 1 0 1 6 1 0 1 1 1 0 7 1 0 0 1 1 1 Bảng 3-10. Bảng trạng thái mạch biến mã Từ bảng trạng thái 3-10, viết được biểu thức của hàm ra như sau: BG2 2  BBG1 2  1  (3.5) BBG0 1  0  Từ đó, vẽ được sơ đồ logic như trên hình 3.20 Hình 3. 20. Mạch điện thực hiện bộ biến mã từ Gray sang nhị phân 3.5. BỘ HỢP KÊNH VÀ PHÂNPTIT KÊNH 3.5.1 Bộ hợp kênh (MUX-Multiplexer) Bộ hợp kênh còn gọi là bộ dồn kênh (hay bộ ghép kênh), nó cũng được gọi là bộ chọn dữ liệu (Data Selector). Bộ ghép kênh thực hiện dưới dạng một mạng các cổng NORAND (hay ORAND). Chức năng logic cơ bản của bộ ghép kênh là dưới sự điều khiển của tín hiệu chọn (n đầu vào điều khiển) thực hiện chọn ra kênh nào đó (trong số 2n kênh đầu vào) để nối thông tín hiệu đầu vào được chọn đến đầu ra. Để người dùng không bị nhầm lẫn trong việc xác định địa chỉ kênh, các nhà sản xuất vi mạch đã dùng các chỉ số kênh 0, 1, 2, trùng với giá trị thập phân của tổ hợp nhị phân tương ứng của các đầu vào điều khiển. Hình 3.21 trình bày sơ đồ khối của bộ hợp kênh 4 đầu vào và 1 đầu ra dữ liệu. 56
  64. Hình 3. 21. Bộ hợp kênh 4 vào – 1 ra Từ sơ đồ khối, xây dựng bảng trạng thái của MUX 4:1. A1 A0 Y 0 0 D0 0 1 D1 1 0 D2 1 1 D3 Bảng 3-11. Bảng chức năng của bộ hợp kênh 4:1. Từ bảng trạng thái, viết được biểu thức hàm ra: Y D.A.A010 D.A.A 110 D.A.A 210 D.A.A 310 Mạch điện hình 3.22 thể hiện hàm Y. PTIT Hình 3. 22. Sơ đồ logic mạch hợp kênh 4:1 Trong thực tế người ta chế tạo các bộ ghép kênh có 4, 8 hoặc 16 đầu vào dữ liệu. Hình 3.23 trình bày sơ đồ logic của vi mạch 74LS153. Trong vi mạch gồm 2 bộ ghép kênh có 4 đường vào dữ liệu, kí hiệu là C0, C1, C2, C3 và một đường ra Y. Cả hai bộ ghép kênh đều có chung 2 đầu vào điều khiển A, B, mỗi bộ ghép kênh đều có đầu vào cho phép G riêng. Mạch thuộc họ logic TTL, chân 16 là nguồn nuôi VCC: + 5V, chân 8 là đất (GND): 0V. 57
  65. Hình 3. 23. Sơ đồ logic của bộ ghép kênh (4:1) Vi mạch 74150 có ký hiệu logic trên hình 3.24 là bộ ghép kênh có 16 đường vào dữ liệu và 4 đường vào điều khiển chọn kênh A, B, C, D và một đầu vào cho phép G . Đầu ra dữ liệu ký hiệu là W. IC 74151 là bộ ghép kênh 8 đường có hai đầu ra Y và W là đảo của Y (hình 3.25). PTIT Hình 3. 24. Ký hiệu logic của bộ ghép kênh 74150 74LS151 12I7 E 7 13I6 S29 14I5 S110 15I4 S011 1I3 2I2 3I1 Y5 4I0 YN 6 Hình 3. 25. Ký hiệu logic của bộ ghép kênh 74151 58
  66. Đầu vào điều khiển Cho phép Đầu ra Đầu ra C B A G Y WY L L L L D0 D0 L L H L D1 D1 L H L L D2 D2 L H H L D3 D3 H L L L D4 D4 H L H L D5 D5 H H L L D6 D6 H H H L D7 D7 x x x H L H Bảng 3-12. Bảng chức năng của bộ ghép kênh 74151. Từ bảng chức năng 3-12, suy ra bảng trạng thái với cách chọn mức thấp L là 0, mức cao H là 1 và có thể suy ra biểu thức logic sau: A.B.C.D A.B.C.D A.B.C.D A.B.C.D YG. 0 1 2 3 A.B.C.D4 A.B.C.D 5 A.B.C.D 6 A.B.C.D 7 (3.6) WY Từ biểu thức logic (3.6) có sơ đồ logic của bộ ghép kênh trên hình 3.26. PTIT Hình 3. 26. Sơ đồ logic của bộ ghép kênh 8 đường 74151 3.5.2. Bộ phân kênh (Demultiplexer: DMUX) Bộ phân kênh là một mạch logic tổ hợp có một đường vào và nhiều đường ra dữ liệu. Khác với bộ ghép kênh, bộ phân kênh làm chức năng chọn, truyền dữ liệu từ một đường vào 59
  67. dữ liệu đến các đường ra riêng biệt. Cũng giống bộ ghép kênh, bộ phân kênh cũng có các đường vào điều khiển (n đường) chọn đầu ra (2n đầu ra). Hình 3. 27. a) Sơ đồ khối và b) Sơ đồ logic của bộ phân kênh 1 đầu vào và 4 đầu ra dữ liệu Đầu vào được nối với đầu ra nào là tuỳ theo tổ hợp giá trị của các đầu vào điều khiển. Sơ đồ khối mô tả chức năng của bộ phân kênh một đầu vào, 4 đầu ra được trình bày trên hình 3.27a. Từ sơ đồ khối hình 3.27a, bộ phân kênh này có hai đầu vào điều khiển là A, B một đầu vào dữ liệu D và 4 đầu ra dữ liệu được ký hiệu là Y0, Y1, Y2, Y3. B A Y0 Y1 Y2 Y3 0 0 D 0 0 0 0 1 0 D 0 0 1 0 0 0 D 0 1 1 PTIT0 0 0 D Bảng 3-13. Bảng trạng thái của bộ phân kênh 1 vào 4 ra. Có thể lập bảng trạng thái biểu diễn sự hoạt động của bộ phân kênh trên như bảng 3- 13. Từ bảng trạng thái 3-13, viết được biểu thức logic của bộ phân kênh như sau: Y0 A.B.D Y A.B.D 1 (3.7) Y2 A.B.D Y3 A.B.D Từ biểu thức logic, có thể xây dựng sơ đồ logic của bộ phân kênh như hình 3.27b. Hình 3.28 là các ký hiệu của các vi mạch phân kênh thường gặp trong thực tế. 60
  68. 74LS155 1Ea 3a 4 2 Ea 2a 5 1a 6 74LS154 3 7 15 17 13A1 0a 12 14 16 A0 3b 15 2b 11 13 14 10 12 14 Eb 1b 13 15 Eb 0b 9 11 19 E1 10 11 18 E0 9 10 8 9 7 8 74LS138 20A3 6 7 21A2 5 6 3A2 Q7 7 22A1 4 5 2A1 Q6 9 23A0 3 4 1A0 Q5 10 2 3 Q4 11 1 2 Q3 12 0 1 6E3 Q2 13 5 E2 Q1 14 4 E1 Q0 15 Hình 3. 28. Ký hiệu logic của các bộ phân kênh IC 74LS155 gồm 2 bộ phân kênh một đầu vào, 4 đầu ra dữ liệu. Hai đầu vào điều khiển chọn kênh A, B được dùng chung cho cả hai bộ phân kênh. IC 74LS154 là bộ giải mã địa chỉ 4 bit nhị phân. IC 74LS138 là bộ giải mã địa chỉ, đồng thời có thể dùng làm bộ phân kênh một đường vào, 8 đường ra dữ liệu. Hình 3.29 trình bày sơ đồ logic của bộ phân kênh 74LS138. Mạch có thể dùng như bộ phân kênh một đường vào, 8 đường ra dữ liệu Y0, Y1, , Y7. Khi dùng IC 74LS138 làm bộ phân kênh thì các đầu vào cho phép G1, G2A, G2B dùng làm đầu vào dữ liệu. PTIT Hình 3. 29. Sơ đồ logic của mạch giải mã, phân kênh 74LS138 3.5.3. Một số ứng dụng của bộ ghép kênh và phân kênh 3.5.3.1. Định tuyến dữ liệu Có nhiều dữ liệu được định hướng tới một đích duy nhất, khi đó sử dụng bộ ghép kênh sẽ cho phép chọn dữ liệu nào (định tuyến đầu vào) hướng tới đích, các dữ liệu không được chọn sẽ bị cấm không tới được đích. 61
  69. 3.5.3.2. Chuyển đổi luồng dữ liệu từ song song sang nối tiếp và ngược lại Một luồng dữ liệu số song song có tính chất mọi bit của nó xuất hiện đồng thời, luôn có ưu thế về tốc độ xử lý nhanh nhưng khi truyền trên khoảng cách xa sẽ tốn nhiều đường truyền nên thông thường nó được chuyển đổi thành dữ liệu kiểu nối tiếp (với tính chất các bit xuất hiện tuần tự) trước khi đi đến đường truyền nhờ bộ ghép kênh-MUX. Ví dụ: Hình 3.30 cho phép thực hiện biến đổi 8 bit dữ liệu 8 bit song song thành một dãy nối tiếp theo trật tự xác định nhờ các tín hiệu chọn A2A1A0 luân chuyển tuần tự từ trạng thái 000 đến trạng thái theo một chu kỳ xác định nhờ khối tạo xung nhịp (clock) tạo ra xung có chu kỳ là TB. Hình 3. 30. Chuyển dữ liệu song song 8 bit sang dãy nối tiếp 8 bit sau 8 xung nhịp 3.5.3.3. Tạo hàm logic Sử dụng MUX tạo hàm logic trực tiếp từ bảng trạng thái không cần rút gọn, với mục đích này các đầu vào chọn (đầu vào địa chỉ) là các biến logic, mỗi đầu vào dữ liệu được nối thường xuyên với mức cao (logic 1) hay mức thấp (logic 0) tùy theo bảng trạng thái. Ví dụ: F (A, B, C) =  (1, 2, 6, 7). Từ biểu thức trên, lập được bảng trạng thái 3-15. ĐầuPTIT vào chọn Đầu ra A (A2) B(A1) C(A0) F 0 0 0 0 D0 0 0 1 1 D1 0 1 0 1 D2 0 1 1 0 D3 1 0 0 0 D4 1 0 1 0 D5 1 1 0 1 D6 1 1 1 1 D7 Bảng 3-15. Bảng trạng thái 62
  70. Hình 3. 31. Sơ đồ logic thực hiện hàm F Có nhiều cách chọn đầu vào địa chỉ và đầu vào dữ liệu: Nếu chọn A, B là đầu vào địa chỉ thì C sẽ là đầu vào dữ liệu, hoặc ta chọn B, C là đầu vào địa chỉ thì A sẽ là đầu vào dữ liệu, hoặc ta chọn A, C là đầu vào địa chỉ thì B sẽ là đầu vào dữ liệu (tùy theo người sử dụng). Ví dụ ở đây chọn A, B là đầu vào địa chỉ và C là đầu vào dữ liệu thì được: + AB = 00 thì F = C; + AB = 01 thì FC ; + AB = 10 thì F = 0; + AB = 11 thì F = 1; Từ các biểu thức trên, vẽ được sơ đồ mạch thực hiện như hình 3.31. 3.6. MẠCH SỐ HỌC. 3.6.1. Mạch cộng. Giả sử có hai số nhị phân n bit A và B, trong đó: A An 1 A n 2 A 0 và B Bn 1 B n 2 B 0 Để xây dựng mạch thực hiện phép cộng hai số cần nắm vững nguyên tắc bộ cộng đầy đủ 1 bit, trên cơ sở đó xây dựngPTIT bộ cộng song song n bit. Cụ thể trong phần này sẽ giới thiệu phương pháp xây dựng bộ cộng song song 4 bit từ bộ cộng toàn phần (đầy đủ) 1 bit. 3.6.1.1. Mạch cộng 1 bit. a. Mạch cộng bán phần (Half Adder – HA) Mạch bán tổng có 2 đầu vào: a0 là bit có trọng số nhỏ nhất của số A. b0 là bit có trọng số nhỏ nhất của số B. Mạch có 2 đầu ra: S0 là kết quả phép cộng ở cột có trọng số nhỏ nhất. C0 là giá trị nhớ sang cột có trọng số cao hơn kế tiếp. Nguyên tắc hoạt động của mạch bán tổng được diễn tả bởi bảng trạng thái 3-16. 63
  71. a0 b0 S0 C0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Bảng 3-16. Bảng trạng thái của mạch HA Hình 3. 32. a) Sơ đồ khối của HA, b) Sơ đồ logic Từ bảng trạng thái, suy ra biểu thức logic của HA: S a  b 0 0 0 (3.8) C0 a 0 .b 0 Sơ đồ khối và sơ đồ logic của HA được trình bày trên hình 3.32. b. Mạch cộng toàn phần (Full Adder - FA) Mạch có 3 đầu vào: ai là chữ số cột thứ i của số A. bi là chữ số cột thứ i của số B. Ci là bit nhớ của trọng số nhỏ hơn liền kề chuyển đến Mạch có 2 đầu ra: S0 là kết quả phép cộng ở cột thứ i. C0 là bit nhớ sang trọng số lớn hơn kế tiếp. Bảng trạng thái của FAPTIT được trình bày ở bảng 3-17. ai bi Ci S0 C0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Bảng 3-17. Bảng trạng thái của bộ FA Từ bảng trạng thái suy ra hàm logic của FA: 64
  72. S a  b  C 0 i i i (3.9) C0 a i .b i a i C i b i C i Sơ đồ khối và mạch logic trình bày trên hình 3.33. Hình 3. 33. a) Sơ đồ khối của FA, b) Mạch logic. Từ bảng trạng thái của FA dễ dàng suy ra biểu thức logic bằng cách lấy tổng chuẩn của các tích, tức là lấy tổng các Mintex mà hàm bằng 1. S0 a.bC iii a.b.C iii a.b.C iii a.b.C iii ai bC i i b.C i i a i b.C i i .b.C i i (3.10) ai  b i  C i C0 a iii .b .C a iii .b .C a iii .b C a iii .b .C Có thể tính C0 theo cách khác: C0 a iii .b .C a iii .b .C a iii .b .C a iii .b .C Ciiiii a.b a.b a.b ii C(a ii  b) i a.b ii (3.11) C0 C i (a i  b i ) a i .b i Từ công thức (3.11) vàPTIT (3.12) có thể xây dựng mạch FA từ hai mạch HA. Sơ đồ logic của FA từ hai HA được trình bày trên hình 3.34. Hình 3. 34. Sơ đồ mạch FA. Nếu Ci = 0 thì FA trở thành HA. 65
  73. 3.6.1.2. Mạch cộng song song 4 bit. Giả sử có hai số nhị phân 4 bit A và B. Trong đó: AA.A.A.A 3 2 1 0 BB.B.B.B 3 2 1 0 0 Với A0, B0 là cột có trọng số bé nhất của 2 số A và B (2 ). A3, B3 là cột có trọng số lớn nhất của 2 số A và B (23). Từ bộ cộng nhị phân 1 bit có thể đưa ra mạch của bộ cộng song song 4 bit thực hiện phép cộng hai số A và B như hình 3.35. Hình 3. 35. Bộ cộng song song 4 bit. Ví dụ: Có hai số A và B với A = 1111, B = 1001. Phép cộng hai số được thực hiện như sau: A = 1 1 1 1 B = 1 0 0 1 C = 1 1 1 1 = C3 C2 C1 C0 C-1  = 1 1 0 0 0 Nhược điểm: Tín hiệu nhớ ở đầu ra (Carry Out) được tạo thành sau khi đi qua bốn bộ cộng FA0 , , FA3. Nếu mỗi bộ cộng FA là PTIT hai mạch cộng bán phần thì Carry Out sẽ xuất hiện ở đầu ra sau một thời gian T = 8 lần thời gian quá độ với thời gian quá độ là thời gian trễ chuyển mạch của một tầng logic. Do vậy thời gian trễ rất lớn, đặc biệt khi số bit của mỗi số hạng tăng lên đủ lớn. Để khắc phục nhược điểm đó người ta dùng bộ cộng nhớ nhanh hay bộ cộng nhớ nhìn trước (Fast carry hay Carry look Ahead). 3.6.2. Mạch trừ. 2.6.2.1. Mạch bán hiệu (HS-Half Subtractor) Mạch bán hiệu có 2 đầu vào: a0 là bit có trọng số nhỏ nhất của số A. b0 là bit có trọng số nhỏ nhất của số B. Mạch có 2 đầu ra: 66
  74. S0 (Subtract Output) là kết quả phép trừ ở cột có trọng số nhỏ nhất. B0 (Borrow Out) là giá trị “mượn” của cột có trọng số cao hơn kế tiếp. Nguyên tắc hoạt động của mạch bán hiệu được diễn tả bởi bảng trạng thái 3-18. a0 b0 S0 B0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Bảng 3-18. Bảng trạng thái của mạch HS Từ bảng trạng thái, suy ra biểu thức logic của HS: S0 a 0  b 0 (3.12) B0 a 0 .b 0 Sơ đồ khối và sơ đồ logic của HS được trình bày trên hình 3.36. Error! Objects cannot be created from editing field codes. Hình 3. 36. Sơ đồ mạch HS. 3.6.2.2. Mạch trừ toàn phần (Full Subtractor-FS) ai bi Bi S0 B0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 BPTITảng 3-19. Bảng trạng thái của mạch trừ. Mạch trừ toàn phần có 3 đầu vào: ai là chữ số cột thứ i của số A. bi là chữ số cột thứ i của số B. Bi là bit “mượn”nhớ từ cột trước đưa tới Mạch có 2 đầu ra: S0 (Subtract Output) kết quả phép trừ ở cột thứ i. B0 (Borrow Out) là đầu ra “mượn”. Bảng 3-19 là bảng trạng thái của bộ trừ đầy đủ. Hàm logic: 67
  75. S a  b  B 0 i i i (3.13) B0 a i .b i a i .B i b i .B i Sơ đồ khối và sơ đồ logic được trình bày trên hình 3.37. Nếu Bi = 0, có mạch trừ bán phần. Hình 3. 37. Sơ đồ của FS: a) Sơ đồ khối; b) Sơ đồ logic. 3.6.3. Mạch cộng, trừ theo bù 1 và bù 2. Trong chương 1 đã đề cập đến cộng/ trừ theo bù 1 và bù 2. Cộng/ trừ theo bù 1 có nghĩa là số dấu trừ biến thành dấu cộng thông qua phép bù 1. Khi thực hiện cộng, nếu xuất hiện bit tràn thì phải cộng vào kết quả đề được đáp số chính xác. Cộng/ trừ theo bù 2 có nghĩa là số dấu trừ biến thành dấu cộng thông qua phép bù 2. Khi thực hiện cộng, nếu xuất hiện bit tràn thì phải bỏ bit đó đi. Hình 3.38 và 3.39 giới thiệu mạch cộng/trừ theo bù 1 và 2 sử dụng IC 7483 (cộng 2 số nhị phân 4 bit) và IC 7486 (XOR). A3 A2 A1PTITA0 B3 B2 B1 B0 Điều khiển M M = 0: thực hiện cộng M = 1: thực hiện trừ B’3 B’2 B’1 B’0 Cout 7483 Cin S3 S2 S1 S0 Hình 3. 38. Mạch cộng/trừ theo bù 1 68
  76. Hình 3. 39. Mạch cộng/trừ theo bù 2 3.6.4. Mạch so sánh. Trong các hệ thống số, đặc biệt là trong máy tính, thường thực hiện việc so sánh hai số. Hai số cần so sánh có thể là các số nhị phân, có thể là các ký tự đã mã hoá nhị phân. Mạch so sánh có thể hoạt động theo kiểu nối tiếp hoặc theo kiểu song song. Trong phần này, sẽ nghiên cứu bộ so sánh theo kiểu song song. 3.6.4.1. Mạch so sánh bằng nhau. a. Mạch so sánh bằng nhau 1 bit. ai bi gi 0 0 1 0 1 0 1 0 0 1 1 1 Bảng 3-20 Xét 2 bit ai và bi, gọi gi là kết quả so sánh. Từ đó là có bảng trạng thái 3-20. Từ bảng trạng thái 3-20, viết được biểu thức hàm ra: g a .b a .b a  b (3.14) i i i i i iPTIT i Error! Objects cannot be created from editing field codes. Hình 3. 40. Sơ đồ logic hàm ra của bộ so sánh bằng 1 bit b. Mạch so sánh bằng nhau 4 bit. So sánh hai số nhị phân 4 bit A = a3a2a1a0 với B = b3b2b1b0. Vậy hai số A và B bằng nhau khi a3 = b3, a2 = b2, a1 = b1, a0 = b0. Biểu thức đầu ra tương ứng là: G g3 .g 2 . g 1 . g 0 (3.15) 69
  77. g3 a3  b3 g a  b với 2 2 2 g1 a1  b1 g0 a 0  b0 3.6.4.2. Mạch so sánh lớn hơn a. Mạch so sánh lớn hơn 1 bit. ai bi f 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 1 0 Bảng 3-21. Bảng trạng thái của mạch so sánh Từ bảng trạng thái 3-21, có biểu thức ra: f ai .b i f ai  b i (3.16) f ai .b i Hình 3. 41. Mạch điện bộ so sánh 1 bit b. Mạch so sánh 4 bit (So sánh lớn hơn). So sánh hai số nhị phânPTIT 4 bit A = a3a2a1a0 với B = b3b2b1b0. Số A lớn hơn số B khi: a3 > b3 hoặc a3 = b3 và a2 > b2 hoặc a3 = b3 và a2 = b2 và a1 > b1 hoặc a3 = b3 và a2 = b2 và a1 = b1 và a0 >b0. Từ đó, có biểu thức hàm ra là: f a3.b3 a3  b3 .a 2 .b2 a3  b3 .a 2  b2 .a1.b1 a3  b3 .a 2  b2 .a1  b1 .a0 .b0 Từ biểu thức trên, vẽ được sơ đồ logic 3.42. 70
  78. a3 b3 a2 b2 f> a1 b1 a0 b0 Hình 3. 42. Mạch điện bộ so sánh lớn hơn 4 bit Một trong những bộ so sánh thông dụng hiện nay là 7485, 74LS85, 74HC85 - IC này so sánh 2 số nhị phân 4 bit. 3.7. MẠCH PHÁT HIỆN SAI 3.7.1. Mạch tạo và kiểm tra chẵn lẻ. Có nhiều phương pháp mã hoá dữ liệu để phát hiện lỗi và sửa lỗi khi truyền dữ liệu. Phương pháp đơn giản nhất là thêm một bit vào dữ liệu được truyền đi sao cho số chữ số 1 trong dữ liệu luôn là chẵn hoặc lẻ. Bit thêm vào đó được gọi là bit chẵn/lẻ. Để thực hiện được việc truyền dữ liệu theo kiểu đưa thêm bit chẵn, lẻ vào dữ liệu phải: Xây dựng sơ đồ tạo được bit chẵn, lẻ để thêm vào n bit dữ liệu. Xây dựng sơ đồ kiểm tra hệ xem đó là hệ chẵn hay lẻ với (n + 1) bit ở đầu vào (n bit dữ liệu, 1 bit chẵn/lẻ). 3.7.1.1 Mã chẵn, lẻ. Mã chẵn và mã lẻ là hai loại mã có khả năng phát hiện lỗi hay dùng nhất. Để thiết lập loại mã này, chỉ cần thêm một bit chẵn/ lẻ (bit parity) vào tổ hợp mã đã cho, nếu tổng số bit 1 trong từ mã (bit tin tức + bit chẵn/lẻ)PTIT là chẵn thì được mã chẵn và ngược lại được mã lẻ. Bảng 3-23 là một ví dụ về mã chẵn/lẻ. BCD 8421 BCD 8421 chẵn BCD 8421 lẻ PC PL 0000 0000 0 0000 1 0001 0001 1 0001 0 0010 0010 1 0010 0 0011 0011 0 0011 1 0100 0100 1 0100 0 0101 0101 0 0101 1 0110 0110 0 0110 1 0111 0111 1 0111 0 71
  79. BCD 8421 BCD 8421 chẵn BCD 8421 lẻ PC PL 1000 1000 1 1000 0 1001 1001 0 1001 1 Bảng 3-23. Mã BCD 8421 chẵn / lẻ 3.7.1.2. Mạch tạo và kiểm tra chẵn/lẻ. Hình 3. 43. Sơ đồ khối của mạch tạo bit chẵn/lẻ Hình 3.43 mô tả sơ đồ khối của mạch tạo bit chẵn/lẻ. Biểu thức kiểm tra tính chẵn: PC  d 1  d 2   d n 0 (3.17) Biểu thức kiểm tra tính lẻ: PL  d 1  d 2   d n 1 (3.18) Từ đó, xây dựng được mạch kiểm tra tính chẵn/lẻ: PTIT Hình 3. 44. Sơ đồ khối của mạch kiểm tra chẵn/lẻ Do công dụng phổ biến của mạch tạo và kiểm tra chẵn/lẻ nên người ta đã thiết kế sẵn trên một chip MSI (74180) (hình 3.45). 72
  80. I6 1 14 VCC I7 2 13 I5 EI 3 12 I4 OI 4 54/74180 11 I3 5 10 I2 6 9 I1 GND 7 8 I0 Hình 3. 45. Sơ đồ chân và ký hiệu của IC 54/74180 3.7.2 Mạch tạo mã và giải mã Hamming Mã Hamming là loại mã tuyến tính, mã này được R.W.Hamming đưa ra và sử dụng trong một số hệ thống thông tin. Mã này có khả năng sửa sai một lỗi. Mã Hamming có sơ đồ tạo mã và giải mã đơn giản. Số bit kiểm tra P và số bit tin tức D phải thỏa mãn biểu thức D P 1 2P (3.19) Khi số bit tin tức tăng thì số bit kiểm tra cũng tăng, tuy nhiên tốc độ của số bit tin tức nhanh hơn nhiều so với sự tăng của số bit kiểm tra. Do vậy, khi số bit tin tức càng lớn thì hiệu quả sử dụng bit chẵn/lẻ càng cao, điều này dẫn đến việc sử dụng mã Hamming trở nên phổ biến. 3.7.2.1. Tạo mã Để tạo mã Hamming, cần xác định giá trị các bit kiểm tra tính chẵn hoặc lẻ của từ mã. Vị trí các bit kiểm tra chẵn/lẻ là các bit có thứ tự 2i tính từ bit có trọng số nhỏ nhất. Ví dụ: với số bit tin tức là 5, áp dụng công thức (3.19) thì số bit kiểm tra chẵn/lẻ là 4. Cách sắp xếp vị trí các bit như sau: 9 8 7 PTIT6 5 4 3 2 1 D5 P8 D4 D3 D2 P4 D1 P2 P1 (*) Các bit chẵn/lẻ có nhiệm vụ kiểm tra tính chẵn hoặc lẻ (tùy theo yêu cầu) của một số bit kể cả bản thân chúng trong tổ hợp mã. Bit chẵn/lẻ P có nhiệm vụ kiểm tra tính chẵn lẻ tại các vị trí nó chiếm giữ có giá trị 1(theo bảng nhị phân). Hệ thập phân Hệ nhị phân P8P4P2P1 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 73