- Nguyên tắc cơ bản của bộ mã hóa:
- Xây dựng bộ mã hóa bằng cách sử dụng thiết kế logic kết hợp
- Bộ mã hóa 8: 3:
- Hạn chế của bộ mã hóa thông thường:
- Bộ mã hóa ưu tiên:
Bộ mã hóa, như tên gợi ý, mã hóa một bit thông tin lớn hơn thành một giá trị bit nhỏ hơn. Có nhiều loại bộ mã hóa dựa trên số lượng đầu vào và đầu ra và dựa trên cách nó hoạt động. Nhưng mỗi Bộ mã hóa đều có một quy tắc cơ bản, số dòng đầu ra trên Bộ mã hóa sẽ luôn ít hơn số dòng đầu vào. Chúng ta sẽ tìm hiểu thêm về bộ mã hóa, bộ mã hóa là gì, làm thế nào và tại sao chúng được sử dụng trong các mạch kỹ thuật số trong bài viết này.
Nguyên tắc cơ bản của bộ mã hóa:
Chúng ta hãy tưởng tượng Bộ mã hóa là một hộp đen như hình dưới đây, một cách kỳ diệu giúp giảm số lượng Dòng đầu vào từ 4 xuống chỉ còn 2 dòng đầu ra, nhưng vẫn cung cấp cùng một thông tin mà không bị mất dữ liệu.
Trước tiên, hãy xác định tên của Bộ mã hóa này sẽ là gì. Nó có bốn đầu vào và hai đầu ra nên tên của Bộ mã hóa này sẽ là Bộ mã hóa 4: 2. Nếu một Bộ mã hóa có số dòng đầu ra là " n " thì số dòng đầu vào sẽ là 2 n, trong trường hợp của chúng ta, số dòng đầu ra là hai (n = 2) do đó số dòng đầu vào phải là (2 2 = 4) bốn, điều này hoàn toàn chính xác. Bốn chân đầu vào được gắn nhãn từ I0 đến I3 và hai chân đầu ra được gắn nhãn từ O0 đến O1
Vì vậy, làm thế nào để Encoder chuyển đổi bốn tín hiệu thành hai, nó có thể được hiểu bằng cách xem bảng sự thật dưới đây. Cũng cần biết rằng một Bộ mã hóa thông thường như hình minh họa ở đây có quy tắc là tại thời điểm nhất định chỉ có một chân đầu vào là cao, do đó trong bảng chân trị sau chỉ có một đầu vào là cao.
Mọi điều kiện có thể của đầu vào, đầu ra được hiển thị trong bảng chân lý trên. Ví dụ khi chỉ có O1 ở mức cao (1) và tất cả các đầu vào khác ở mức thấp (0) thì cả hai chân đầu ra sẽ ở mức thấp (0). Tương tự đối với mỗi trường hợp các chân đầu ra cũng sẽ thay đổi trạng thái của nó. Bằng cách sử dụng trạng thái bit Đầu ra này, người dùng sẽ có thể theo dõi trở lại tín hiệu đầu vào nào sẽ được cấp cho Bộ mã hóa.
Được rồi, điều thú vị là chuyển đổi 4 dòng thành 2 dòng tại sao chúng ta cần nó?
Để hiểu rõ, chúng tôi đã giải thích về Bộ mã hóa 4: 2, nhưng có những bộ mã hóa khác có thể lấy số lượng đầu vào cao hơn và chuyển đổi chúng thành số lượng đầu ra thấp hơn như Bộ mã hóa 8: 3, Bộ mã hóa 16: 4, v.v. Những loại này Bộ mã hóa rất hữu ích khi chúng ta phải giảm số lượng chân được sử dụng trên MCU / MPU hoặc giảm số lượng dây mang tín hiệu trong PLC và các hệ thống khác có mảng công tắc hoặc đèn LED. Nó cũng được sử dụng để truyền dữ liệu hiệu quả bằng cách sử dụng dây nhỏ hơn. Trong một số ứng dụng, chúng tôi có thể gặp trường hợp nhiều hơn một đầu vào có thể cao (1) trong trường hợp đó, chúng tôi sẽ gọi một thứ gọi là Bộ mã hóa ưu tiên mà chúng tôi sẽ thảo luận thêm trong bài viết này.
Xây dựng bộ mã hóa bằng cách sử dụng thiết kế logic kết hợp
Bây giờ chúng ta đã biết cách hoạt động của Bộ mã hóa và nơi nó được sử dụng. Hãy để chúng tôi tìm hiểu cách xây dựng một cổng logic đơn giản. Mặc dù Bộ mã hóa như 8: 3 có sẵn dưới dạng IC gói đơn gọn như SN74LS148, điều quan trọng là phải biết cách chúng được xây dựng để chúng tôi có thể tạo bộ mã hóa tùy chỉnh cho các dự án của mình dựa trên bảng sự thật được yêu cầu.
Biểu thức Boolean:
Việc đầu tiên trong việc thiết kế thiết bị Logic tổ hợp là tìm Biểu thức Boolean cho bảng chân trị. Nó rất dễ dàng và có thể được xác định dễ dàng chỉ bằng cách nhìn vào bảng sự thật. Bảng sự thật tương tự mà chúng ta đã thấy trước đó được đưa ra dưới đây với một số hình ảnh minh họa để bạn hiểu rõ hơn.
Số lượng biểu thức sẽ bằng số dòng đầu ra, ở đây chúng ta có hai đầu ra và do đó chúng ta có hai Biểu thức. Đối với đầu ra đầu tiên O0, chỉ cần kiểm tra ở điều kiện nào nó cao (1) và theo dõi số chân đầu vào tương ứng cũng vẫn ở mức cao (1). Tương tự với tất cả các giá trị cao của O0, lưu ý số chân đầu vào nào cao và thêm các chân vào. Các chân đầu vào tương ứng với chân Đầu ra O0 được tô màu đỏ ở trên và đối với O1 được tô màu Xanh lam. Vì vậy, Biểu thức cho O0 và O1 sẽ là
O 1 = I 3 + I 2 O 0 = I 3 + I 1
Sơ đồ mạch mã hóa 4: 2:
Khi chúng ta có được Biểu thức Boolean, chúng ta chỉ cần vẽ nó ở dạng Gates. Ở đây vì chúng ta có phép toán cộng (+), chúng ta sẽ sử dụng các cổng OR để xây dựng các mạch của chúng ta. Bạn cũng có thể đơn giản hóa hoặc sửa đổi biểu thức Boolean theo nhu cầu của mình. Sơ đồ mạch cho biểu thức trên được hiển thị bên dưới
Mạch có thể dễ dàng xây dựng bằng cách sử dụng một IC cổng 7432 OR. Tôi đã xây dựng mạch mã hóa của mình trên một breadboard như hình dưới đây
Bốn đường vào (I0, I1, I2 và I3) được cung cấp bởi bốn nút nhấn, khi nhấn nút, nó liên kết + 5V với chân làm cho nó ở mức logic 1 và khi không nhấn nút, chân sẽ được giữ ở mức tiếp đất thông qua một điện trở kéo xuống 10k để làm cho nó logic bằng không. Các đầu ra (O0 và O1) được biểu diễn bằng một cặp đèn LED màu đỏ. Nếu đèn LED phát sáng thì có nghĩa là logic đầu ra là 1 và nếu chúng bị tắt thì có nghĩa là logic đầu ra 0. Hoạt động hoàn chỉnh của Mạch mã hóa được hiển thị trong video dưới đây
Như bạn có thể thấy khi nhấn nút đầu tiên, đầu vào I0 được nâng cao và do đó cả hai đầu ra vẫn ở mức thấp. Khi nhấn nút thứ hai, đầu vào I1 được bật và do đó một đèn LED đi lên cao để cho biết O0 ở mức cao. Cuối cùng khi nhấn nút thứ tư, đầu vào I3 được nâng cao và do đó cả hai đèn LED đều tăng cao. Đây là một mạch rất đơn giản do đó chúng tôi có thể xây dựng nó dễ dàng trên một breadboard, nhưng đối với các bộ mã hóa thực tế, mạch sẽ phức tạp hơn một chút. Tuy nhiên Bộ mã hóa cũng có sẵn dưới dạng gói IC có thể được mua nếu nó phù hợp với dự án của bạn.
Bộ mã hóa 8: 3:
Cách làm việc và sử dụng của Encoder 8: 3 cũng tương tự như Encoder 4: 2 ngoại trừ số lượng chân đầu vào và đầu ra. Bộ mã hóa 8: 3 còn được gọi là Bộ mã hóa bát phân sang nhị phân, sơ đồ khối của Bộ mã hóa 8: 3 được hiển thị bên dưới
Ở đây Bộ mã hóa có 8 đầu vào và 3 đầu ra, một lần nữa, chỉ một đầu vào nên ở mức cao (1) tại bất kỳ thời điểm nào. Vì có 8 đầu vào nên nó được gọi là đầu vào bát phân và vì có ba đầu ra nên nó cũng được gọi là đầu ra nhị phân. Bảng sự thật của Encoder được hiển thị bên dưới.
Bảng sự thật của bộ mã hóa 8: 3:
Biểu thức Boolean:
Vì chúng ta có kết quả đầu ra, chúng ta sẽ có ba biểu thức như hình dưới đây
O 2 = I 7 + I 6 + I 5 + I 4 O 1 = I 7 + I 6 + I 3 + I 2 O 0 = I 7 + I 5 + I 3 + I 1
Sơ đồ mạch mã hóa 8: 3:
Khi biểu thức Boolean thu được như mọi khi, chúng ta có thể xây dựng Sơ đồ mạch bằng cách sử dụng các cổng OR như hình dưới đây.
Mạch sử dụng IC cổng OR 4 đầu vào, bạn cũng có thể đơn giản hóa Biểu thức Boolean để sử dụng IC cổng 2 đầu vào bình thường khác.
Hạn chế của bộ mã hóa thông thường:
Các loại mã hóa này mắc phải những nhược điểm lớn sau đây
- Khi không có đầu vào nào cao, Đầu ra sẽ bằng tất cả 0, nhưng điều kiện này cũng xung đột với bit đầu tiên là cao (MSB). Do đó, cần luôn chú ý rằng ít nhất một bit bất kỳ luôn luôn BẬT
- Khi nhiều hơn một đầu vào cao, đầu ra sẽ bị thu gọn và có thể cho kết quả cho một trong hai đầu vào dẫn đến nhầm lẫn.
Để khắc phục những khó khăn này, chúng tôi sử dụng một loại bộ mã hóa khác được gọi là Bộ mã hóa ưu tiên sử dụng một đầu ra bổ sung để xác định xem đầu ra có hợp lệ hay không và khi có nhiều đầu vào trợ giúp thì đầu vào tăng cao bắt đầu từ LSD chỉ được xem xét trong khi bỏ qua các đầu vào khác.
Bộ mã hóa ưu tiên:
Hãy để chúng tôi phân tích Bộ mã hóa ưu tiên 4: 2 làm ví dụ để hiểu nó khác với Bộ mã hóa thông thường như thế nào và nó có thể khắc phục hai nhược điểm đã đề cập ở trên. Sơ đồ khối của Bộ mã hóa ưu tiên 4: 2 được hiển thị bên dưới
Bộ mã hóa ưu tiên 4: 2 cũng có 4 đầu vào và 2 đầu ra, nhưng chúng tôi sẽ thêm một đầu ra khác gọi là V, viết tắt của bit hợp lệ. Bit hợp lệ này sẽ kiểm tra xem tất cả bốn chân đầu vào có ở mức thấp hay không (0) nếu ở mức thấp thì bit cũng sẽ tự làm thấp thông báo rằng đầu ra không hợp lệ, do đó chúng ta có thể khắc phục nhược điểm đầu tiên đã nêu ở trên.
Bảng sự thật bộ mã hóa ưu tiên 4: 2:
Hạn chế tiếp theo có thể tránh được bằng cách ưu tiên các bit MSB, Bộ mã hóa sẽ kiểm tra từ MSB và khi nó tìm thấy bit đầu tiên cao (1), nó sẽ tạo ra đầu ra tương ứng. Vì vậy, nó không quan trọng nếu các chân khác cao hay thấp. Do đó, trong bảng sự thật bên dưới khi đạt đến 1, các giá trị không quan tâm được trình bày bởi "X".
Biểu thức Boolean:
Bây giờ chúng ta phải suy ra ba Biểu thức cho O0, O1 và V. Vì bảng chân trị không có các mục không quan tâm, chúng ta phải sử dụng phương pháp bản đồ K để lấy Biểu thức Boolean cho điều này. Chúng tôi sẽ không trình bày cách giải với K-maps vì nó nằm ngoài phạm vi của bài viết này. Nhưng Bản đồ được hiển thị bên dưới để bạn có thể can thiệp và tự tìm hiểu.
Trong các bản đồ trên, bản đồ bên trái dành cho O1 và bản đồ bên phải dành cho O0. Các dòng đầu ra được đề cập bởi y và các dòng đầu vào được đề cập bởi x. Vì vậy, sắp xếp phương trình cho phù hợp chúng ta sẽ nhận được như sau.
O 1 = I 3 + I 2 O 0 = I 2 I 1 '+ I 3
Tương tự, đối với bit hợp lệ “V”, biểu thức Boolean có thể được đưa ra dưới dạng
V = I 3 + I 2 + I 1 + I 0
Sơ đồ mạch:
Sơ đồ mạch cho dự án này có thể được xây dựng bằng cách sử dụng các biểu thức Boolean.
Mạch có thể được xây dựng bằng cách sử dụng các cổng NOT, AND và OR cơ bản. Ở đây các bit O0 và O1 được coi là đầu ra trong khi bit V được sử dụng để xác nhận đầu ra. Chỉ khi bit V cao, đầu ra sẽ được xem xét nếu giá trị của V thấp (0) thì đầu ra sẽ được bỏ qua, vì nó ngụ ý rằng tất cả các chân đầu vào đều bằng không.