کنکور کامپیوتر
0
ورود | ثبت نام
نظرات
اشتراک
بالا
علاقه‌مندی

اشتراک
 

انکودر در مدار منطقی چیست - آموزش 0 تا 100 انکودر مدار منطقی

در این صفحه به بررسی موارد زیر پرداخته شده است : تعریف انکودر، سخت افزار انکودر، جدول درستی انکودر، انواع انکورد و کاربردهای انکودر پرداخته شده است

رمزگذارها (Encoder) و رمزگشاها (Decoder) در بسیاری از پروژه‌های الکترونیکی برای فشرده‌سازی تعداد ورودی‌های متعدد به تعداد کمتری خروجی استفاده می‌شوند. انکدر یا رمزنگار، یک مدار ترکیبی است که حداکثر 2n ورودی و n خروجی دارد. کار این مدار این است که عدد متناظر پایه‌ی ورودی را در خروجی تولید ‌کند یا به عبارت دیگر می‌توان گفت که انکدر، داده ورودی را گرفته و در خروجی، کد باینری معادل آن را تولید می‌کند (یا به اصطلاح دیگر Encode می‌کند).

به فرآیند تبدیل نمادها (Symbols) یا اعداد به فرمت کد شده، Encoding می‌گویند.

انکدر برعکس دیکدر است، دیکدر در هر لحظه از زمان یک ورودی فعال دارد، در حالی که در انکدر امکان داشتن بیش از یک ورودی فعال وجود دارد. اما داشتن بیش از یک ورودی فعال به منزله مزیت آن نیست، در ادامه به این موضوع خواهیم پرداخت.

بررسی انکدر 4 به 2

برای درک هر چه بهتر این موضوع، مثالی را با استفاده از انکدر حل می‌کنیم، فرض کنید ما یک DP (Dip Switch) داریم که روی آن ۴ کلید وجود دارد، ما با متصل کردن پایه‌های این DP به یک انکدر 4 به 2 می‌خواهیم شماره کلیدی که فعال شده است را در خروجی نشان دهیم:

یک دیپ سوئیچ همانند یک انکودر می‌تواند عمل کند

یک انکدر 4 به 2 به‌شکل زیر است :

این شکل، یک انکودر 4 به 2 رو نشان می‌دهد که بسته به ورودی، خروجی آن نیز تغییر می‌کند

جدول صحت یک انکدر 4 به 2

OutputsInputs
Y0 Y1 I0 I1 I2 I3
0 0 1 0 0 0
1 0 0 1 0 0
0 1 0 0 1 0
1 1 0 0 0 1

 

اگر بخواهیم معادله (SOP) Y1 و  Y0 را بنویسیم، به صورت زیر است:

Y0 = I3 + I1

Y1 = I3 + I2

مدار انکدر 4 به 2

مدار انکودر 4 به 2، تشکیل شده از دو گیت OR می‌باشد

حال با متصل شدن پایه‌های ورودی انکدر به پایه‌های کلید DP، هر کلیدی که روشن شود، عدد متناظر آن در خروجی تولید می‌شود. اما مشکلی در میان است، به نظرتان مشکل در کجاست؟

به این فکر کنید که اگر دو کلید و یا سه کلید، یا اصلا تمامی کلید‌ها فعال شوند چه اتفاقی می‌افتد؟ در این حالت خروجی ما‌، خروجی صحیحی نخواهد داشت و برای حل این موضوع، دست به دامن انکدر اولویت دار (Priority Encoder) می‌شود.

انکدر اولویت دار (Priority Encoder)

تمام حرف این انکدر این است که اگر در هر لحظه از زمان، چند ورودی فعال نیز داشته باشد، تنها آن ورودی را انتخاب می‌کند که دارای بیش‌ترین ارزش باشد. به جدول زیر نگاه کنید (پایه‌ی I3 دارای بیش‌ترین ارزش و I0 کم‌ترین ارزش را دارد) :

با توجه به جدول رو‌به‌رو، انکدر اولویت دار به این شکل عمل می‌کند که اگر V (Valid) یک باشد یعنی خروجی معتبر است (البته V صرفا برای حالت تمام صفر ایجاد شده است، در صورتی که ورودی تمام صفر باشد، V صفر باشد و ما به خروجی اهمیت ندهیم)، از طرف دیگر هم تنها با ارزش ترین ورودی را در بین ورودی های دریافت شده می‌پذیرد، برای مثال ما اگر I1 و I2 را به طور همزمان یک دهیم در خروجی فقط عدد متناظر I2 تولید می‌شود.

OutputsInputs
V Y0 Y1 I0 I1 I2 I3
0 X X 0 0 0 0
1 0 0 1 0 0 0
1 1 0 X 1 0 0
1 0 1 X X 1 0
1 1 1 X X X 1

 

معادله (SOP) Y1 و  Y0 به صورت زیر است:

Y0 = I3 + I1.Ī2

Y1 = I3 + I2

از کاربرد‌های انکدر اولویت‌دار می‌توان به تشخیص یا شناسایی وقفه در برنامه‌های ریزپردازنده اشاره کرد. ریزپردازنده از وقفه‌هایی برای ارتباط با دستگاه‌های جانبی مانند اسکنر، ماوس، کیبرد و ... استفاده می‌کند، اما ریزپردازنده در هرلحظه از زمان می‌تواند تنها به یک وفقه پاسخ دهد، به همین علت باید اولویت هر یک از این وقفه ها مشخص شود که پردازنده این کار را با استفاده از سیگنال‌های درخواست وقفه یا IRQ انجام می‌دهد تا اولویت هر کدام از دستگاه‌های جانبی را مشخص کند. ترتیب اهمیت این دستگاه‌ها را انکدر اولویت‌دار انجام می‌دهد. از انکدر اولویت‌دار برای کاهش تعداد سیم‌های مورد نیاز در یک مدار نیز استفاده می‌شود.

انکدر Decimal به BCD (Binary Codded Decimal)

این انکدر به منظور تبدیل عدد دهدهی یا Decimal به کد BCD استفاده می‌شود که هدف از این کار، انجام عملیات‌های دودویی نظیر جمع،‌ تفریق، ‌تقسیم و ضرب و ... است، که به انکدر 10 به 4 نیز معروف است.

این انکدر برای تبدیل عدد به BCD استفاده می‌شود

جدول صحت انکدر 10 به 4 

OutputsInputs
Y0 Y1 Y2 Y3 I0 I1 I2 I3 I4 I5 I6 I7 I8 I9
0 0 0 0 1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 1 0 0 0 0 0 0 0
1 1 0 0 0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 1 0 0 0 0 0
1 0 1 0 0 0 0 0 0 1 0 0 0 0
0 1 1 0 0 0 0 0 0 0 1 0 0 0
1 1 1 0 0 0 0 0 0 0 0 1 0 0
0 0 0 1 0 0 0 0 0 0 0 0 1 0
1 0 0 1 0 0 0 0 0 0 0 0 0 1

همین موضوع را نیز نسبت به اعداد مبنای ۸ داریم، که انکدر Octal به ‌Binary نام دارد.

کاربردی از انکدر

انکدر موقعیت یاب

اگر بگوییم از انکدر در مشخص کردن جهت جغرافیایی استفاده می‌شود مزاح نکردیم، در کشتی های ناوبری، توسط یک رمزنگار اولویت دار 8 به 3 برای مشخص کردن جهت جغرافیایی استفاده می‌شود.

 انکدر موقعیت یاب که برای مشخص کردن جهت جغرافیایی استفاده می‌شود

این جهت یابی توسط چند سنسور اثر هال (نوعی حسگر که نسبت به قطب‌های مغناطیسی حساسیت نشان می‌دهد) انجام می‌شود.

 سنسور اثر حال

با جدول زیر نیز توسط خروجی های بدست آمده جهت را تشخیص می‌دهند:

Q2 Q1 Q0 جهت جغرافیایی
0 0 0 شمال
1 0 0 شمال شرقی
0 1 0 شرق
1 1 0 جنوب شرقی
0 0 1 جنوب
1 0 1 جنوب غربی
0 1 1 غرب
1 1 1 شمال غربی

ساخت انکدر 8 به 3 با زبان C 

void main(){
     unsigned char i=0,num=0;
     DDRA=0xFF; // تعریف کردن هشت پایه اول پورت به‌صورت خروجی
     while(1){
        num=0;
        for(i=0;i 8;i++){
             num=1 i; // درهربار تکرار حلقه، میزان این متغیر دوبرابر مقدار قبلی می‌شود
             PORTA=num; // پورت ما که خروجی ماست، برابر ما متغیر افزایش یافته خواهد شد
             delay_ms(500); // ایجاد تاخیر 500 میلی‌ثانیه
       }
     }
}

جمع بندی

انکدر (Encoder) یک مدار ترکیبی است که عدد متناظر پایه‌ی ورودی را در خروجی تولید می‌کند، که به دو دسته اصلی انکدر باینری و انکدر اولویت دار تقسیم می‌شود. تعداد ورودی آن حداکثر 2n و تعداد خروجی برابر با n است. از انکدر اولویت دار برای کاهش تعداد سیم های مورد نیاز در یک مدار نیز استفاده می‌شود.

انکدر چیست؟

همان‌طور که در مقاله توضیح داده شد، انکدر مداری ترکیبی است که داده ورودی را به کد باینری معادل تبدیل می‌کند یا به بیانی دیگر عدد متناظر پایه ورودی را در خروجی تولید می‌کند.

دیکدر و انکدر چه تفاوت‌هایی دارند؟

دیکدر و انکدر دقیقا عکس یکدیگر هستند. دراین مقاله انکدر به‌طور کامل توضیح داده شد. دیکدر نیز در ورودی یک عدد دودویی دریافت می‌کند و در خروجی، عدد متناظر باورودی را برروی یکی از پایه‌ها قرار می‌دهد. برای کسب اطلاعات کامل به مقاله‌ی دیکدر  مراجعه کنید.

کاربرد انکدر در کجاست؟

رمزگذارها (Encoder) و رمزگشاها (Decoder) در بسیاری از پروژه های الکترونیکی برای فشرده سازی تعداد ورودی های متعدد به تعداد کمتری خروجی استفاده می شوند. برای مثال از دیکدر در جهت یابی جغرافیایی استفاده می‌شود.

26818 نفر تاکنون در دوره‌های آموزشی کنکور کامپیوتر شرکت کرده‌اند.

همچنین هر گونه سوالی در مورد کلاس‌های آنلاین کنکور کامپیوتر و یا تهیه فیلم‌ها و یا رزرو مشاوره تک جلسه‌ای تلفنی با استاد رضوی دارید می‌توانید به طرق زیر از تیم پشتیبانی بپرسید:

آی دی تلگرام تیم پشتیبانی:     konkurcomputer_admin@

شماره ثابت موسسه:   09378555200

امتیازدهی3.7 1 1 1 1 1 1 1 1 1 13.70 امتیاز (5 رای)
اشتراک
بارگذاری نظرات
تلگرام اینستاگرام