Nói chung, bộ mã hóa kỹ thuật số tạo ra đầu ra là mã 2 bit, 3 bit hoặc 4 bit tùy thuộc vào số lượng dòng đầu vào dữ liệu. Bộ mã hóa nhị phân “n-bit” có 2 dòng đầu vào n và dòng đầu ra n bit với các loại phổ biến bao gồm các cấu hình dòng 4 đến 2, 8 đến 3 và 16 đến 4.
Các dòng đầu ra của bộ mã hóa kỹ thuật số tạo ra dòng tương đương nhị phân của dòng đầu vào có giá trị bằng “1” và có sẵn để mã hóa mẫu đầu vào thập phân hoặc thập lục phân thành mã đầu ra thường là nhị phân hoặc “BCD” (thập phân được mã hóa nhị phân) .
Bộ mã hóa nhị phân 4 đến 2 bit
Một trong những nhược điểm chính của bộ mã hóa kỹ thuật số tiêu chuẩn là chúng có thể tạo ra mã đầu ra sai khi có nhiều hơn một đầu vào ở mức logic “1”. Ví dụ: nếu chúng ta tạo cả hai đầu vào D 1 và D 2 CAO ở mức logic “1” cùng một lúc, thì kết quả đầu ra không phải ở “01” hoặc ở “10” mà sẽ ở “11” là đầu ra nhị phân số khác với đầu vào thực tế hiện tại. Ngoài ra, một mã đầu ra của tất cả các logic “0” có thể được tạo ra khi tất cả các đầu vào của nó ở “0” HOẶC khi đầu vào D 0 bằng một.
Một cách đơn giản để khắc phục vấn đề này là “Ưu tiên” mức của mỗi chân đầu vào. Vì vậy, nếu có nhiều hơn một đầu vào ở mức logic “1” cùng một lúc, thì mã đầu ra thực tế sẽ chỉ tương ứng với đầu vào có mức ưu tiên được chỉ định cao nhất. Sau đó, loại bộ mã hóa kỹ thuật số này thường được gọi là Bộ mã hóa ưu tiên hoặc viết tắt là P-encoder .
Mạch mã hóa ưu tiên
Bộ mã hóa ưu tiên giải quyết các vấn đề được đề cập ở trên bằng cách phân bổ mức độ ưu tiên cho mỗi đầu vào. Đầu ra của bộ mã hóa ưu tiên tương ứng với đầu vào hiện đang hoạt động có mức ưu tiên cao nhất. Vì vậy, khi một đầu vào có mức ưu tiên cao hơn xuất hiện, tất cả các đầu vào khác có mức ưu tiên thấp hơn sẽ bị bỏ qua.
Bộ mã hóa ưu tiên có nhiều dạng khác nhau với ví dụ về bộ mã hóa ưu tiên 8 đầu vào cùng với bảng chân trị của nó được hiển thị bên dưới.
Mạch mã hóa ưu tiên 8-3
Bộ mã hóa ưu tiên có sẵn ở dạng vi mạch tiêu chuẩn và TTL 74LS148 là bộ mã hóa ưu tiên 8 đến 3 bit có tám đầu vào LOW (logic “0”) hoạt động và cung cấp mã 3 bit của đầu vào được xếp hạng cao nhất ở đầu ra của nó.
Bộ mã hóa ưu tiên xuất ra đầu vào có thứ tự cao nhất trước, ví dụ: nếu các dòng đầu vào “ D2 ”, “ D3 ” và “ D5 ” được áp dụng đồng thời, mã đầu ra sẽ dành cho đầu vào “ D5 ” (“101”) vì đầu vào này có thứ tự cao nhất của 3 đầu vào. Sau khi đầu vào “ D5 ” đã bị loại bỏ, mã đầu ra cao nhất tiếp theo sẽ dành cho đầu vào “ D3 ” (“011”), v.v.
Bảng sự thật cho bộ mã hóa ưu tiên 8 đến 3 bit được đưa ra như sau:
Đầu vào kỹ thuật số | Đầu ra nhị phân | |||||||||
D 7 | D 6 | D 5 | D 4 | D 3 | D 2 | 500 1 | D 0 | Q 2 | Q 1 | Q 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | X | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 1 | X | X | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | X | X | X | 0 | 1 | 1 |
0 | 0 | 0 | 1 | X | X | X | X | 1 | 0 | 0 |
0 | 0 | 1 | X | X | X | X | X | 1 | 0 | 1 |
0 | 1 | X | X | X | X | X | X | 1 | 1 | 0 |
1 | X | X | X | X | X | X | X | 1 | 1 | 1 |
Trong đó X bằng “dont care”, đó là logic “0” hoặc logic “1”.
Từ bảng sự thật này, biểu thức Boolean cho bộ mã hóa ở trên với đầu vào dữ liệu D 0 đến D 7 và đầu ra Q 0 , Q 1 , Q 2 được cho là:
Đầu ra Q 0
Đầu ra Q 1
Đầu ra Q 2
Sau đó, biểu thức Boolean cuối cùng cho bộ mã hóa ưu tiên bao gồm các đầu vào 0 được định nghĩa là:
Biểu thức đầu ra bộ mã hóa ưu tiên
Trong thực tế, các đầu vào 0 này sẽ bị bỏ qua cho phép triển khai biểu thức Boolean cuối cùng cho các đầu ra của bộ mã hóa ưu tiên 8 đến 3 . Chúng ta có thể xây dựng một bộ mã hóa đơn giản từ biểu thức ở trên bằng cách sử dụng các cổng OR riêng lẻ như sau.
Bộ mã hóa kỹ thuật số sử dụng Cổng logic
Ứng dụng mã hóa kỹ thuật số
Bộ mã hóa bàn phím
Bộ mã hóa ưu tiên có thể được sử dụng để giảm số lượng dây cần thiết trong một mạch hoặc ứng dụng cụ thể có nhiều đầu vào. Ví dụ: giả sử rằng một máy tính vi mô cần đọc 104 phím của bàn phím QWERTY tiêu chuẩn trong đó chỉ có một phím được nhấn “CAO” hoặc “THẤP” cùng một lúc.
Một cách sẽ là kết nối tất cả 104 dây từ các phím riêng lẻ trên bàn phím trực tiếp với đầu vào của máy tính nhưng điều này sẽ không thực tế đối với một PC gia đình nhỏ. Một cách khác và tốt hơn là giao diện bàn phím với PC bằng bộ mã hóa ưu tiên.
104 nút hoặc phím riêng lẻ có thể được mã hóa thành mã ASCII tiêu chuẩn chỉ 7 bit (0 đến 127 thập phân) để đại diện cho từng phím hoặc ký tự của bàn phím và sau đó nhập trực tiếp dưới dạng mã BCD 7 bit nhỏ hơn nhiều vào máy tính . Các bộ mã hóa bàn phím chẳng hạn như bộ mã hóa 74C923 20 phím có sẵn để làm điều đó.
Bộ mã hóa vị trí
Một ứng dụng khác phổ biến hơn là trong điều khiển vị trí từ tính như được sử dụng trên điều hướng tàu thủy hoặc định vị cánh tay robot, v.v. Ở đây, ví dụ: vị trí góc hoặc góc quay của la bàn được chuyển đổi thành mã số bởi bộ mã hóa ưu tiên dòng 74LS148 8 đến 3 và đầu vào cho máy tính hệ thống để cung cấp dữ liệu điều hướng và ví dụ về bộ mã hóa la bàn đầu ra từ 8 vị trí đến 3 bit đơn giản được hiển thị bên dưới. Nam châm và công tắc sậy có thể được sử dụng tại mỗi điểm la bàn để chỉ ra vị trí góc của kim.
Điều hướng bộ mã hóa ưu tiên
Hướng la bàn | Đầu ra nhị phân | ||
Q 0 | Q 1 | Q 2 | |
Bắc | 0 | 0 | 0 |
Đông bắc | 0 | 0 | 1 |
phía đông | 0 | 1 | 0 |
Đông Nam | 0 | 1 | 1 |
miền Nam | 1 | 0 | 0 |
Tây nam | 1 | 0 | 1 |
hướng Tây | 1 | 1 | 0 |
Tây Bắc | 1 | 1 | 1 |
Yêu cầu ngắt
Các ứng dụng khác đặc biệt dành cho Bộ mã hóa ưu tiên có thể bao gồm việc phát hiện các ngắt trong các ứng dụng vi xử lý. Ở đây bộ vi xử lý sử dụng các ngắt để cho phép các thiết bị ngoại vi như ổ đĩa, máy quét, chuột hoặc máy in, v.v. giao tiếp với nó, nhưng bộ vi xử lý chỉ có thể “nói chuyện” với một thiết bị ngoại vi tại một thời điểm nên cần một số cách để biết khi nào một thiết bị ngoại vi cụ thể muốn giao tiếp với nó.
Bộ xử lý thực hiện việc này bằng cách sử dụng các tín hiệu “Yêu cầu ngắt” hoặc “IRQ” để gán mức ưu tiên cho tất cả các thiết bị ngoại vi nhằm đảm bảo rằng thiết bị ngoại vi quan trọng nhất được bảo dưỡng trước. Thứ tự tầm quan trọng của các thiết bị sẽ phụ thuộc vào kết nối của chúng với bộ mã hóa ưu tiên.
Số IRQ | Sử dụng điển hình | Sự miêu tả |
IRQ 0 | Hệ thống hẹn giờ | Hẹn giờ hệ thống nội bộ. |
IRQ 1 | Bàn phím | Bộ điều khiển bàn phím. |
IRQ 3 | COM2 & COM4 | Cổng nối tiếp thứ hai và thứ tư. |
IRQ 4 | COM1 & COM3 | Cổng nối tiếp thứ nhất và thứ ba. |
IRQ 5 | Âm thanh | Card âm thanh. |
IRQ 6 | Đĩa mềm | Bộ điều khiển đĩa mềm. |
IRQ 7 | Cổng song song | Máy in song song. |
IRQ 12 | Chuột | Chuột PS / 2. |
IRQ 14 | IDE chính | Bộ điều khiển đĩa cứng chính. |
IRQ 15 | IDE phụ | Bộ điều khiển đĩa cứng thứ cấp. |
Bởi vì việc triển khai một hệ thống như vậy bằng cách sử dụng các bộ mã hóa ưu tiên như IC mã hóa ưu tiên 74LS148 tiêu chuẩn liên quan đến các mạch logic bổ sung, các mạch tích hợp được xây dựng có mục đích như Bộ điều khiển ngắt ưu tiên có thể lập trình 8259 có sẵn.
Tóm tắt bộ mã hóa kỹ thuật số
Tóm lại, Bộ mã hóa kỹ thuật số là một mạch tổ hợp tạo ra một mã cụ thể tại các đầu ra của nó như nhị phân hoặc BCD để đáp ứng với một hoặc nhiều đầu vào hoạt động. Có hai loại bộ mã hóa kỹ thuật số chính. Bộ mã hóa nhị phân và bộ mã hóa ưu tiên .
Chúng ta đã thấy rằng Bộ mã hóa nhị phân chuyển đổi một trong 2 n đầu vào thành đầu ra n bit . Sau đó, một bộ mã hóa nhị phân có ít bit đầu ra hơn mã đầu vào. Bộ mã hóa nhị phân rất hữu ích cho việc nén dữ liệu và có thể được xây dựng từ các cổng VÀ hoặc OR đơn giản . Để khắc phục vấn đề này, các bộ mã hóa ưu tiên đã được phát triển.
Bộ mã hóa ưu tiên là một loại mạch tổ hợp khác tương tự như bộ mã hóa nhị phân, ngoại trừ việc nó tạo mã đầu ra dựa trên đầu vào được ưu tiên cao nhất. Bộ mã hóa ưu tiên được sử dụng rộng rãi trong các hệ thống máy tính và kỹ thuật số làm bộ điều khiển ngắt bộ vi xử lý nơi chúng phát hiện đầu vào có mức ưu tiên cao nhất.
Trong hướng dẫn tiếp theo về các thiết bị logic tổ hợp, chúng ta sẽ xem xét chức năng bổ sung của bộ mã hóa được gọi là Bộ giải mã chuyển đổi mã đầu vào n-bit thành một trong 2 n dòng đầu ra của nó .