এনকোডার হলো একটি কম্বিনেশনাল লজিক সার্কিট যা একাধিক ইনপুট সিগন্যালকে সংকুচিত করে কম সংখ্যক আউটপুটে রূপান্তরিত করে। এর মূল কাজ হলো কোন ইনপুট সক্রিয় আছে তা সনাক্ত করে সেটিকে Binary Code আকারে আউটপুট হিসেবে প্রদর্শন করা। এনকোডার ডিজিটাল ইলেকট্রনিক্সে অত্যন্ত গুরুত্বপূর্ণ।
কারণ এটি তথ্য সংকোচন, দ্রুত ডেটা প্রসেসিং এবং লজিক ডিজাইনের সরলীকরণে সহায়ক। বিভিন্ন ধরনের এনকোডার যেমন Simple Encoder, Priority Encoder এবং Decimal-to-BCD Encoder ব্যবহার করে কীবোর্ড, রোবটিক্স, সেন্সর সিস্টেম এবং কমিউনিকেশন ডিভাইসে কার্যকর সিগন্যাল হ্যান্ডলিং সম্ভব।
পোস্ট সূচিপত্র
এনকোডার (Encoder): সংজ্ঞা, কাজ, ধরন, সার্কিট, প্রয়োগ
ডিজিটাল ইলেকট্রনিক্সে Encoder হলো একটি অত্যন্ত গুরুত্বপূর্ণ কম্বিনেশনাল লজিক সার্কিট, যা একাধিক ইনপুট সিগন্যালকে সংকুচিত করে কম সংখ্যক আউটপুট বিটে রূপান্তরিত করতে সক্ষম। সহজভাবে বলতে গেলে, Encoder ইনপুটগুলোর মধ্যে কোনটি সক্রিয় (Active) আছে তা সনাক্ত করে এবং সেটিকে Binary Code আকারে আউটপুট প্রদান করে। এই বৈশিষ্ট্যের কারণে আজকের আধুনিক ডিজিটাল ডিভাইস। যেমন কম্পিউটার, রোবট, কমিউনিকেশন সিস্টেম, কন্ট্রোলার এবং সেন্সর সবক্ষেত্রেই Encoder অপরিহার্য। এটি ইনপুট সংকোচন, দ্রুত তথ্য প্রক্রিয়াকরণ এবং নির্ভরযোগ্য সিগন্যাল শনাক্তকরণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
এনকোডার (Encoder) কী?
এনকোডার হলো একটি কম্বিনেশনাল সার্কিট, যার ২ⁿ ইনপুট থাকে এবং আউটপুট থাকে n-বিট, যেখানে ইনপুটগুলোর মধ্যে যেটি সক্রিয় থাকে সেটিকে Binary কোডে আউটপুট দেখানো হয়। যেমন—
কেন এনকোডার গুরুত্বপূর্ণ?
এনকোডার ব্যবহার করা হয় যেখানে অনেক সিগন্যাল বা ডিভাইসের মধ্যে একটি বা একাধিককে সনাক্ত করতে হয়। কম সংখ্যক তার, কম রিসোর্স এবং দ্রুত ডেটা প্রসেসিংয়ের জন্য Encoder অত্যন্ত কার্যকর।
ব্যবহার হয় যেমনঃ
-
Microprocessor interrupt system
-
Keyboard input system
-
Sensor systems
-
Robotics
-
Digital communication
-
Control automation
এনকোডারের কাজ (Working Principle)
Encoder ইনপুট লাইনের মধ্যে একটি সক্রিয় ইনপুট ধরে নিয়ে সেটির অবস্থান অনুযায়ী বাইনারি কোড তৈরি করে।
উদাহরণঃ
ধরা যাক 8-to-3 Encoder-এর ইনপুটগুলো D0–D7।
-
D0 = 000
-
D1 = 001
-
D2 = 010
-
D3 = 011
-
D4 = 100
-
D5 = 101
-
D6 = 110
-
D7 = 111
অর্থাৎ যেটি সক্রিয় থাকবে, Encoder সেটির বাইনারি কোড আউটপুট করবে।
এনকোডারের ধরন (Types of Encoder)
ডিজিটাল সিস্টেমে Encoder সাধারণত তিন ধরনের—
১. Simple Encoder
একটি সাধারণ Encoder, যেখানে একবারে শুধু একটি ইনপুট ACTIVE থাকতে পারে।
২. Priority Encoder (প্রায়োরিটি এনকোডার)
যদি একাধিক ইনপুট সক্রিয় হয়, তাহলে সর্বোচ্চ প্রায়োরিটির ইনপুটটিকে বেছে নেয়। বাস্তব প্রয়োগে এটি বেশি ব্যবহৃত।
৩. Decimal to BCD Encoder
যেখানে দশমিক ইনপুটকে BCD কোডে রূপান্তর করা হয়।
8-to-3 Encoder Truth Table
| Input | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | Output (A2 A1 A0) |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 000 |
| 2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 001 |
| 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 010 |
| 4 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 011 |
| 5 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 100 |
| 6 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 101 |
| 7 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 110 |
| 8 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 111 |
8-to-3 Encoder Logic Diagram
৮টি ইনপুট থেকে ৩টি আউটপুট তৈরি করতে OR Gate এর মাধ্যমে প্রতিটি বিটের আউটপুট তৈরি হয়।
আউটপুট সমীকরণসমূহঃ
এই সমীকরণগুলো বাস্তব সার্কিটে OR Gate দিয়ে তৈরি করা হয়।
প্রায়োরিটি এনকোডার (Priority Encoder)
যখন একাধিক ইনপুট সক্রিয় থাকতে পারে, তখন সাধারণ Encoder কাজ করে না। এজন্য ব্যবহৃত হয় Priority Encoder, যা সর্বোচ্চ প্রায়োরিটির (সর্বোচ্চ ইনপুট নম্বর) ইনপুটটিকে বেছে নেয়।
সুবিধাঃ
-
একাধিক active input থাকলেও সমস্যা নেই
-
বাস্তব সিস্টেমে সবচেয়ে বেশি ব্যবহৃত
উদাহরণঃ
ইনপুটঃ D0–D7
সর্বোচ্চ প্রায়োরিটিঃ D7
সর্বনিম্নঃ D0
যদি D2 এবং D6 উভয়ই সক্রিয় থাকে → Encoder আউটপুট দেবে D6।
প্রায়োরিটি এনকোডারের Truth Table
| Inputs | Output | Valid Bit |
|---|---|---|
| D7=1 | 111 | 1 |
| D6=1 | 110 | 1 |
| D5=1 | 101 | 1 |
| D4=1 | 100 | 1 |
| D3=1 | 011 | 1 |
| D2=1 | 010 | 1 |
| D1=1 | 001 | 1 |
| D0=1 | 000 | 1 |
| None | --- | 0 |
Valid bit নির্দেশ করে কোনো ইনপুট সক্রিয় আছে কিনা।
Encoder vs Decoder
| Encoder | Decoder |
|---|---|
| Many-to-few (২ⁿ → n) | Few-to-many (n → ২ⁿ) |
| ইনপুট সংকুচিত করে | আউটপুট বিস্তৃত করে |
| Binary code তৈরি করে | Binary code বিশ্লেষণ করে |
| উদাহরণ: Keyboard encoder | উদাহরণ: 7-segment decoder |
এনকোডারের প্রয়োগ (Applications of Encoder)
১. কীবোর্ড এনকোডার
Keyboard-এর প্রতিটি কী একটি ইউনিক ইনপুট। Encoder এটি Binary কোডে রূপান্তর করে CPU-তে পাঠায়।
২. অটোমেশন ও রোবোটিক্স
মোটরের ঘূর্ণন পরিমাপ করতে Rotary Encoder ব্যবহৃত হয়।
৩. ডিজিটাল কমিউনিকেশন
Signal compression এবং channel optimization এ Encoder অপরিহার্য।
৪. Microprocessor Interrupt System
Interrupt lines সংকুচিত করতে Priority Encoder ব্যবহৃত হয়।
৫. সেন্সর প্রযুক্তি
Optical encoder, magnetic encoder, rotary encoder সবই বিভিন্ন সেন্সর সিস্টেমে।
৬. সিকিউরিটি ও ডাটা এনকোডিং
ডাটাকে বাইনারি রূপে রূপান্তর করে নিরাপদ ট্রান্সমিশনে সহায়তা করে।
এনকোডারের সুবিধা (Advantages)
Encoder এর অন্যতম বড় সুবিধা হলো এর সংকোচন ক্ষমতা অত্যন্ত বেশি, যার মাধ্যমে বহু ইনপুটকে কম সংখ্যক আউটপুটে রূপান্তর করা যায়। এই সংকোচনের ফলে সার্কিটে প্রয়োজনীয় তারের সংখ্যা ও কনেকশন উল্লেখযোগ্যভাবে কমে যায়, যা ডিজাইনের জটিলতা হ্রাস করে এবং সার্কিটকে আরও সাশ্রয়ী করে তোলে। Encoder দ্রুত সিগন্যাল শনাক্ত করে বাইনারি কোডে রূপান্তর করতে সক্ষম হওয়ায় দ্রুত প্রসেসিং নিশ্চিত হয়, যা আধুনিক ডিজিটাল ডিভাইসগুলোর জন্য অত্যন্ত গুরুত্বপূর্ণ। একইসঙ্গে Encoder এর লজিক অত্যন্ত সরল হওয়ায় লজিক ডিজাইন সহজ এবং বাস্তবায়নও সহজ হয়। অটোমেশন, সেন্সর সিস্টেম বা রোবোটিক্সের মতো বিভিন্ন ক্ষেত্রে Encoder অত্যন্ত নির্ভরযোগ্যভাবে কাজ করে, কারণ এটি সিগন্যাল শনাক্তকরণ ও ডেটা প্রসেসিংয়ের স্থিরতা বজায় রাখে।
এনকোডারের সীমাবদ্ধতা (Disadvantages)
সাধারণ Encoder-এর প্রধান সীমাবদ্ধতা হলো এটি একাধিক active input হ্যান্ডল করতে পারে না। অর্থাৎ যদি একই সময়ে একের বেশি ইনপুট লাইন সক্রিয় থাকে, তাহলে Encoder ভুল আউটপুট দিতে পারে বা আউটপুট অস্পষ্ট হয়ে যেতে পারে। এর ফলে সার্কিটে glitch বা error তৈরি হওয়ার সম্ভাবনা থাকে, যা ডিজিটাল সিস্টেমের কার্যক্রমে অনিশ্চয়তা সৃষ্টি করতে পারে। এছাড়া Priority Encoder না থাকলে বাস্তব প্রয়োগে সাধারণ Encoder-এর ব্যবহার অনেকটাই সীমিত হয়ে যায়, কারণ বাস্তব সার্কিটে অনেক সময় একাধিক সিগন্যাল একসঙ্গে সক্রিয় থাকার সম্ভাবনা থাকে। তাই নির্ভরযোগ্য এবং স্থিতিশীল আউটপুট পেতে সাধারণ Encoder-এর চেয়ে Priority Encoder অধিক ব্যবহারযোগ্য।
উপসংহার
Encoder হলো ডিজিটাল ইলেকট্রনিক্সের একটি গুরুত্বপূর্ণ কম্বিনেশনাল সার্কিট যা অনেক ইনপুটকে সংকুচিত করে কম সংখ্যক আউটপুটে রূপান্তরিত করে। এটি তথ্য সংকোচন, সিগন্যাল সনাক্তকরণ এবং ডেটা কোডিং এর জন্য অপরিহার্য। Simple Encoder থেকে Priority Encoder পর্যন্ত বিভিন্ন ধরনের Encoder আজকের প্রযুক্তি জগতে কীবোর্ড, রোবোটিক্স, মাইক্রোপ্রসেসর, সেন্সর এবং কমিউনিকেশন সিস্টেমে ব্যাপকভাবে ব্যবহৃত হয়।