Encoder

 

The process of converting any data from human readable code to machine readable code i.e. binary is known as encoding. An encoder is a combinational circuit that converts numbers, symbols or character into binary code. An encoder has a number of input lines but only one of them is activated at a time representing a digit or character and produces a binary code depending on which input is activated. Given below is the logic symbol of encoder with ‘m’ inputs and ‘n’ outputs. 


An encoder has ‘m’ number of input lines and ‘n’ number of output lines. The numbers of outputs (n) are always less than number of inputs (m). Here the number of inputs can have following relation:

m <= 2ⁿ 

Some of the most commonly used encoders are – (i) Linear encoders are octal to binary, Decimal to BCD and Hexadecimal to binary where normal encoding is implemented and (ii) Priority encoders.


Linear Encoders 

Linear(normal) encoders accept m inputs from which only one is activated at a given time and produces n-bit output code. As the numbers of output lines are ‘n’, it is possible to encode maximum up to 2n inputs. In many digital systems, octal, decimal or hexadecimal numbers are used as inputs and converted to binary number then. Let us discuss the working principal and designing of octal to binary (8-3) encoders.

Octal to Binary (8-3) Encoder

An octal to binary encoder, also known as 8-line to 3-line encoder, accepts 8- inputs and produces a 3-bit output corresponding to the activated octal input. Below given digram represents the logic symbol of Octal to binary encoder.
The truth table of octal to binary encoder is given below:



There are eight inputs corresponding 8 octal inputs (D0, D1, D2, D3, D4, D5, D6, D7) and 3 Outputs (Q0, Q1, Q2). Note that in encoders only one input is activated (logic 1) and other inputs are not activated (i.e. at logic 0).

Boolean expression can be directly obtained from the truth table. Let us obtain the Boolean expression for each output.



From these Boolean expressions, the Octal to Binary Encoder can be implemented by simply using Or gates.


Disadvantages

The octal to binary encoder has few drawbacks. 
  • In the encoder, at a time only one input must be active.
  • If number of active inputs is greater than one then the output is incorrect.
  • Similarly, when no inputs are active then all outputs are low which is also similar to the output generated by active input D0.

Priority Encoders

Linear encoders generate wrong output code when there is more than one input present at logic 1 which is one of the major disadvantages. One of the simplest ways to overcome this problem is to prioritize the inputs. That is what a priority encoder does. When more than one input are present, Priority encoders prioritize all the inputs. The input with the highest priority is produced first while the others with lower priority are ignored.



Above given is the block diagram of priority encoder. Priorities are given to the input lines. In this case input D3 is having highest priority than other inputs, D2 has second highest priority as compare to D1 and D0 and so on.
Now we will see the truth table that contains X (do not care conditions) as  we have set different priorities for inputs. So, if any input = 1 its output will be irrespective of other inputs.



As we have got the truth table, by using K-Map, we can easily obtain the boolean expressions.



Using the Boolean expressions, we can design the logic circuit for the priority encoder. 

 


Applications of Encoders

  • Keyboard Encoders for computers
  • Positional Encoders for ship navigation
  • Priority Navigation Encoders
  • Interrupt Requests for microprocessors
  • Optical Encoders - linear or rotatory

Post a Comment

0 Comments