آموزش الکترونیک

دیکودر باینری چیست؟ نحوه کار رمزگشا دو دویی

سلام. دیکودر باینری چیست؟ نحوه کار رمزگشا دو دویی را آماده کردیم.

رمز گشای باینری چیست ؟

دیکودر (رمزگشا) نوعی از مدار ترکیبی است که یک مقدار بیت کوچک را به یک مقدار بیت بزرگ رمزگشایی می‌کند. معمولا در ترکیب با انکودر ها استفاده می شود که دقیقا برعکس انکودر عمل می‌کند. بنابراین قبل از پرداختن به دیکودرها در مورد انکودرها مطالعه کنید.

دوباره درست مثل انکودرها، انواع مختلفی از دیکودرها نیز وجود دارد. اما تعداد خطوط خروجی در یک دیکودر همیشه بیشتر از تعداد خطوط ورودی خواهد بود. ما یاد خواهیم گرفت که چگونه یک دیکودر کار می‌کند و چگونه می توانیم در این آموزش یک دیکودر را برای پروژه خود بسازیم.

پیشنهاد میکنم قبل از خواندن این مقاله، به انکدر های باینری مسلط باشید : انکدر باینری چیست؟ بررسی کامل Binary Encoders

اصول کلی دیکودر

همانطور که قبلاً گفته شد ، دیکودر فقط یک بخش ضد انکودر است. تعداد مشخصی از مقادیر باینری را به عنوان ورودی و رمزگشایی در خطوط بیشتر، با استفاده از منطق می گیرد. یک دیکودر نمونه در زیر نشان داده شده است که 2 خط را به عنوان ورودی می گیرد و آنها را به 4 خط تبدیل می کند.

اصول کلی دیکودر

قانون دیگر در استفاده از دیکودر، این است که اگر تعداد ورودی ها به عنوان n در نظر گرفته شود (در اینجا n=2 است )، تعداد خروجی ها همیشه برابر با (n×2)خواهد بود (2×2=4) که در مورد ما چهار است. دیکودر دارای 2 خط ورودی و 4 خط خروجی است. از این رو این نوع از دیکودرها را دیکودرهای 4:2 می نامند. دو پین ورودی به عنوان I1 و I0 نامگذاری شده و چهار پین خروجی همانطور که در بالا نشان داده شده از O0 تا O3 نامگذاری شده است.

همچنین مهم است بدانید که یک دیکودر معمولی مانند آنچه در اینجا نشان داده شده است ، یک اشکال دارد که قادر به تفکیک وضعیت هر دو ورودی صفر (به دیگر مدارها متصل نیست) و هر دو ورودی کم است (منطق 0). این اشکال را می توان با استفاده از یک دیکودر اولویتی که بعداً در این مقاله یاد خواهیم گرفت حل کرد. جدول ارزش یک دیکودر معمولی در زیر نشان داده شده است.

جدول ارزش دیکودر باینری

از جدول ارزش دیکودر می توانیم عبارت Boolean را برای هر خط خروجی بنویسیم ، فقط در جایی که خروجی زیاد می شود دنبال کنیم و یک منطق AND را بر اساس مقادیر I1 و I0 تشکیل دهیم. این بسیار شبیه به روش انکودر است ، اما در اینجا ما به جای منطق OR از منطق AND استفاده می کنیم. عبارت بولن برای هر چهار سطر در زیر آورده شده است ، جایی که نماد (.) نشان دهنده AND منطق است و نماد (‘) نشان دهنده NOT Logic است.

O = I1’.I
O1 = I1’.I
O2 = I1.I
O3 = I1.I

اکنون که این چهار عبارت را داریم ، این عبارات را با استفاده از گیت های AND و NOT  به یک مدار گیت منطق ترکیبی تبدیل کنیم. به سادگی از گیت های AND به جای (.) و گیت NOT (منطق معکوس) به جای (‘) استفاده کنید و نمودار منطق زیر را دریافت خواهید کرد.

مدار ساده رمزگشای باینری

این برد از یک منبع تغذیه خارجی +5 ولت تغذیه می شود ، که به نوبه خود  گیت IC را با وجود  پین های ولتاژ تغذیه (Vcc) (پین 14) و پین های زمینی (پین 7)،تغذیه می‌کند .  ورودی با فشار دادن دکمه به کار می افتد، وقتی که دکمه فشرده می شود منطق یک (1) است و وقتی که فشرده نمی شود منطق صفر(0) را ایجاد می کند. یک مقاومت پایین آورنده ی مقدار 1K نیز در امتداد خطوط ورودی اضافه شده است تا از وضعیت شناور پین ها جلوگیری کند. خطوط خروجی (00 تا 03) از طریق این چراغهای LED قرمز، داده می شوند اگر آنها نور بدهند، منطق آن 1 و جز این 0 است.

حتما ببینید :  ADC چیست ؟ مبدل آنالوگ به دیجیتال

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

کار کامل این مدار دیکودر در فیلم زیر نشان داده شده است.

اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید.

توجه داشته باشید که جدول ارزش برای هر ورودی، در گوشه ی بالا سمت چپ نمایش داده می شود و LED نیز به همان ترتیب مرتب می شود. به همین ترتیب می توانیم نمودار منطقی ترکیبی را برای همه ی انواع دیکودرها ایجاد کنیم و آنها را بر روی سخت افزاری مانند این بسازیم. اگر پروژه ی شما متناسب با یک است، شما می توانید به راحتی دیکودر IC در دسترس را جستوجو کنید.

معایب دیکودر های استاندارد

درست مانند یک انکودر، دیکودر استاندارد نیز از همان مشکلات رنج می برد. اگر هر دو ورودی به هم متصل نشوند(منطقx)، در نتیجه خروجی  صفر باقی نمی ماند. به جای دیکودر آن را منطق0 در نظرخواهند گرفت و بیت00 بالا خواهد رفت.

دیکدر اولویتی چیست؟

بنابراین ما برای حل این مشکل از دیکودر اولویتی استفاده می کنیم ، این نوع دیکودر دارای یک پین ورودی اضافی با عنوان “E” (مخفف Enable به معنای فعال سازی) است که به پین Valid دیکودر اولویتی متصل می شود. نمودار بلوکی برای دیکودر اولویتی در زیر نشان داده شده است.

دیکدر اولویتی

جدول ارزش برای دیکودر اولویتی نیز، در زیر نشان داده شده است ، در اینجا X هیچ اتصالی ندارد و ‘1’ منطق زیاد و ‘0’ منطق کم را نشان می دهد.  توجه کنید که در صورت عدم اتصال به خطوط ورودی ، بیت فعال 0 است و از این رو خطوط خروجی نیز صفر باقی می مانند.  به این ترتیب می توانیم بر نقطه ضعف بالا غلبه کنیم.

جدول ارزش دیکدر اولویتی

مثل همیشه می توانیم از جدول ارزش، عبارت بولی را برای خطوط خروجی 00 تا 03 برانیم. عبارت بولی در جدول ارزش بالا نشان داده شده است.  اگر نگاه دقیق تری بیاندازید متوجه می شوید که عبارت، همانند یک دیکودر ۲ به ۴ معمولی است، اما بیت فعال سازی (E) به همراه عبارت، به صورت AND ساخته می شود.

O = E.I1’.I
O1 = E.I1’.I
O2 = E.I1.I
O3 = E.I1.I

نمودار منطق ترکیبی برای عبارت بولی فوق را می توان با استفاده از یک جفت اینورتور (گیت نیست) و 3 ورودی گیت AND ساخت.  فقط نماد (‘) را با اینورتر و نماد (.) جایگزین گیت AND کنید و نمودار منطق زیر را دریافت خواهید کرد.

رمزگشا سه به هشت 3:8

همچنین چندین دیکودر مرتبه بالاتر مانند دیکودر سه به هشت و دیکودر چهار به شانزده(4:16) نیز وجود دارد که بیشتر مورد استفاده قرار می گیرد. این دیکودر ها اغلب در پکیج های IC به پیچیدگی مدار مورد استفاده قرار می گیرند.  همچنین ترکیب دیکودرهای مرتبه پایین مانند دیکودرهای دو به چهار برای تشکیل یک دیکودر با مرتبه بالاتر بسیار متداول است.  به عنوان مثال می دانیم که دیکودر دو به چهار دارای 2 ورودی (I0 و I1) و 4 خروجی (O0 تا O3) و دیکودر 3:8 دارای سه ورودی (I0 تا I2) و هشت خروجی (O0 تا O7) است.  ما می توانیم از فرمول های زیر برای محاسبه تعداد دیکودر های مرتبه پایین (دو به چهار) مورد نیاز برای تشکیل دیکودرهای مرتبه بالاتر مانند دیکودر سه به هشت استفاده کنیم.

حتما ببینید :  مقایسه ویژگی های انواع برد آردوینو (معرفی قویترین و بهترین)

تعداد موردنیاز دیکودر مرتبه پایین = m2 / m1

 M2 -> تعداد خروجی برای دیکودر مرتبه پایین

 M1 -> تعداد خروجی ها برای دیکودر مرتبه بالاتر

در این حالت، مقدار M1 چهار خواهد بود و مقدار M2 نیز 8 خواهد بود ، بنابراین با استفاده از این مقادیر در فرمول فوق، بدست می آوریم:

تعداد لازم دیکودر دو به چهار برای دیکودر سه به هشت

  8/4 = 2

 اکنون می دانیم که برای ایجاد دیکودر 3:8 به دیکودر 2:4 نیاز خواهیم داشت ، اما چگونه این دو باید جمع شوند را نمودار بلوک زیر دقیقا  نشان می دهد.

رمزگشا سه به هشت 3:8

همانطور که می بینید ورودی های A0 و A1 به عنوان ورودی های موازی به هر دو دیکودر متصل می شوند و بنابراین پین فعال سازی اولین دیکودر برای کاری همانند A2 (ورودی سوم) ساخته شده. سیگنال معکوس A2 به پین ​​فعال سازی دیکودر دوم داده می شود تا خروجی های Y0 تا Y3 را بدست آورد.  در اینجا خروجی های Y0 تا Y3 به عنوان چهار مینی ترم پایین و خروجی های Y4 تا Y7 به عنوان چهار مینی ترم بالاتر نامیده میشوند. مینی ترم مرتبه پایین از دیکودر دوم و مینی ترم مرتبه بالاتر از دیکودر اول بدست می آید. اگرچه یکی از اشکالات قابل توجه در این نوع طراحی ترکیبی، این است که دیکودر یک پین فعال سازی ای نخواهد داشت که باعث شود مشکلی برای مسئله ای که قبلاً در مورد آن صحبت کرده ایم پیش نیاید.

دیکودر 4:16

همانند دیکودر 3:8، یک دیکودر 4:16 نیز می تواند از ترکیب دو دیکودر 3:8 ساخته شود. برای یک دیکودر 4:16، ما ۴ ورودی(A0 to A3) و ۱۶ خروجی(Y0 to Y15) خواهیم داشت. در حالیکه برای دیکودر 3:8، ما تنها ۳ ورودی(A0 to A2) خواهیم داشت.

ما از فرمولی برای تعداد دیکودرهای درخواست شده استفاده می کنیم، در این نمونه مقدار m1 هشت خواهد بود، زیرا دیکودر 3:8 هشت خروجی دارد و مقدار m2 شانزده خواهد بود زیرا دیکودر 4:16 شانزده خروجی دارد، بنابراین این مقادیر را در فرمولی که در بالا دادیم، اعمال میکنیم :

تعداد دیکدر های 3:8 مورد نیاز برای دیکودر 4:16  = 16/8= 2

بنابراین ما دو دیکودر 3:8 را برای ساخت یک دیکودر 4:16 درخواست میکنیم، آرایش و ترکیب دو دیکودر 3:8 همانند یکی از آن هاست که قبل تر انجام دادیم. نمودار بلوکی برای اتصال این دو دیکودر 3:8 باهمدیگر، در زیر نشان داده شده است.

دیکودر 4:16

در این جا خروجی های Y0 و Y7 به پایینی ۸ مینی ترم نظر گرفته شده است و خروجی از Y0 تا Y16 به بالایی ۸ مینی ترم در نظر گرفته می شود. مینی ترم های پایین سمت راست، مستقیما با استفاده از ورودی های A0 ، A1 و A2 ساخته شده اند. سیگنال های مشابه نیز به ۳ ورودی اولین دیکودر داده میشود، اما پین فعال سازی اولین دیکودر، به عنوان چهارمین پین (A3) استفاده می شود. سیگنال انتقال داده شده از چهارمین ورودی A3، به پین فعال سازی دومین دیکودر داده می شود. اولین دیکودر مقدار ۸ مینی ترم بالاتر را صادر می کند.

کاربرد های رمز گشا ها

یک رمزگشا یا همان دیکودر، معمولا در ترکیب با یک رمزگذار یا انکودر استفاده می شود و از این رو، هردو کاربرد های یکسانی را به اشتراک می گذارند. بدون دیکودرها و انکودرها، الکترونیک مدرن مانند تلفن همراه و لپ تاپ امکان پذیر نبود.

تعداد کمی از کاربرد های مهم دیکودر در زیر ذکر شده اند:

  • برنامه توالی سیگنال
  • برنامه های زمان بندی سیگنال
  • خطوط شبکه
  • عناصر حافظه
  • شبکه های تلفن

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

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا