Mạch kỹ thuật số - Bộ mã hóa
An Encoderlà mạch tổ hợp thực hiện hoạt động ngược lại của Bộ giải mã. Nó có tối đa 2 n dòng đầu vào và 'n' dòng đầu ra. Nó sẽ tạo ra một mã nhị phân tương đương với đầu vào, là giá trị Cao đang hoạt động. Do đó, bộ mã hóa mã hóa 2 n dòng đầu vào với 'n' bit. Nó là tùy chọn để biểu diễn tín hiệu cho phép trong bộ mã hóa.
4 đến 2 bộ mã hóa
Cho 4 đến 2 Bộ mã hóa có bốn đầu vào Y 3 , Y 2 , Y 1 & Y 0 và hai đầu ra A 1 & A 0 . Cácblock diagram của 4 đến 2 Bộ mã hóa được hiển thị trong hình sau.
Tại bất kỳ thời điểm nào, chỉ một trong 4 đầu vào này có thể là '1' để nhận mã nhị phân tương ứng ở đầu ra. CácTruth table của 4 đến 2 bộ mã hóa được hiển thị bên dưới.
Đầu vào | Kết quả đầu ra | ||||
---|---|---|---|---|---|
Y3 | Y2 | Y1 | Y0 | A1 | A0 |
0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 1 | 0 |
1 | 0 | 0 | 0 | 1 | 1 |
Từ bảng Truth, chúng ta có thể viết Boolean functions cho mỗi đầu ra như
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$$ A_ {0} = Y_ {3} + Y_ {1} $$
Chúng ta có thể thực hiện hai hàm Boolean trên bằng cách sử dụng hai cổng OR đầu vào. Cáccircuit diagram của 4 đến 2 bộ mã hóa được hiển thị trong hình sau.
Sơ đồ mạch trên chứa hai cổng OR. Các cổng OR này mã hóa bốn đầu vào bằng hai bit
Bộ mã hóa bát phân sang nhị phân
Bộ mã hóa bát phân sang nhị phân có tám đầu vào, Y 7 đến Y 0 và ba đầu ra A 2 , A 1 & A 0 . Bộ mã hóa bát phân sang nhị phân không là gì ngoài bộ mã hóa 8 đến 3. Cácblock diagram của Bộ mã hóa bát phân sang nhị phân được hiển thị trong hình sau.
Tại bất kỳ thời điểm nào, chỉ một trong tám đầu vào này có thể là '1' để nhận được mã nhị phân tương ứng. CácTruth table của bộ mã hóa bát phân sang nhị phân được hiển thị bên dưới.
Đầu vào | Kết quả đầu ra | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Y7 | Y6 | Y5 | Y4 | Y3 | Y2 | Y1 | Y0 | A2 | A1 | A0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
Từ bảng Truth, chúng ta có thể viết Boolean functions cho mỗi đầu ra như
$$ A_ {2} = Y_ {7} + Y_ {6} + Y_ {5} + Y_ {4} $$
$$ A_ {1} = Y_ {7} + Y_ {6} + Y_ {3} + Y_ {2} $$
$$ A_ {0} = Y_ {7} + Y_ {5} + Y_ {3} + Y_ {1} $$
Chúng ta có thể triển khai các hàm Boolean ở trên bằng cách sử dụng bốn cổng OR đầu vào. Cáccircuit diagram của bộ mã hóa bát phân sang nhị phân được hiển thị trong hình sau.
Sơ đồ mạch trên chứa ba cổng OR 4 đầu vào. Các cổng OR này mã hóa tám đầu vào bằng ba bit.
Hạn chế của bộ mã hóa
Sau đây là những hạn chế của bộ mã hóa thông thường.
Có một sự không rõ ràng, khi tất cả các đầu ra của bộ mã hóa đều bằng không. Bởi vì, nó có thể là mã tương ứng với các đầu vào, khi chỉ có đầu vào ít quan trọng nhất là một hoặc khi tất cả các đầu vào bằng 0.
Nếu nhiều đầu vào đang hoạt động Cao, thì bộ mã hóa tạo ra một đầu ra, có thể không phải là mã chính xác. Đối vớiexample, nếu cả Y 3 và Y 6 đều là '1', thì bộ mã hóa tạo ra 111 ở đầu ra. Đây không phải là mã tương đương tương ứng với Y 3 , khi nó là '1' và mã tương đương tương ứng với Y 6 , khi nó là '1'.
Vì vậy, để khắc phục những khó khăn này, chúng ta nên phân công ưu tiên cho từng đầu vào của bộ mã hóa. Khi đó, đầu ra của bộ mã hóa sẽ là mã (nhị phân) tương ứng với (các) đầu vào Cao đang hoạt động, có mức ưu tiên cao hơn. Bộ mã hóa này được gọi làpriority encoder.
Bộ mã hóa ưu tiên
Bộ mã hóa ưu tiên 4 đến 2 có bốn đầu vào Y 3 , Y 2 , Y 1 & Y 0 và hai đầu ra A 1 & A 0 . Ở đây, đầu vào, Y 3 có mức ưu tiên cao nhất, trong khi đầu vào, Y 0 có mức ưu tiên thấp nhất. Trong trường hợp này, ngay cả khi nhiều hơn một đầu vào là '1' cùng một lúc, đầu ra sẽ là mã (nhị phân) tương ứng với đầu vào, đang cóhigher priority.
Chúng tôi đã xem xét thêm một output, V để biết mã có sẵn ở đầu ra có hợp lệ hay không.
Nếu ít nhất một đầu vào của bộ mã hóa là '1', thì mã có sẵn ở đầu ra là mã hợp lệ. Trong trường hợp này, đầu ra, V sẽ bằng 1.
Nếu tất cả các đầu vào của bộ mã hóa là '0', thì mã có sẵn ở các đầu ra không phải là mã hợp lệ. Trong trường hợp này, đầu ra, V sẽ bằng 0.
Các Truth table của 4 đến 2 bộ mã hóa ưu tiên được hiển thị bên dưới.
Đầu vào | Kết quả đầu ra | |||||
---|---|---|---|---|---|---|
Y3 | Y2 | Y1 | Y0 | A1 | A0 | V |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 1 |
0 | 0 | 1 | x | 0 | 1 | 1 |
0 | 1 | x | x | 1 | 0 | 1 |
1 | x | x | x | 1 | 1 | 1 |
Sử dụng 4 variable K-maps để nhận được các biểu thức đơn giản hóa cho mỗi đầu ra.
Đơn giản hóa Boolean functions Chúng tôi
$$ A_ {1} = Y_ {3} + Y_ {2} $$
$ A_ {0} = Y_ {3} + {Y_ {2}} 'Y_ {1} $
Tương tự, chúng ta sẽ nhận được hàm Boolean của đầu ra, V là
$$ V = Y_ {3} + Y_ {2} + Y_ {1} + Y_ {0} $$
Chúng ta có thể thực hiện các hàm Boolean ở trên bằng cách sử dụng các cổng logic. Cáccircuit diagram của 4 đến 2 bộ mã hóa ưu tiên được hiển thị trong hình sau.
Sơ đồ mạch trên chứa hai cổng OR 2 đầu vào, một cổng OR 4 đầu vào, một cổng AND 2 đầu vào & một biến tần. Ở đây tổ hợp cổng AND và biến tần được sử dụng để tạo ra mã hợp lệ ở các đầu ra, ngay cả khi nhiều đầu vào bằng '1' cùng một lúc. Do đó, mạch này mã hóa bốn đầu vào với hai bit dựa trênpriority được gán cho mỗi đầu vào.