مبدل آنالوگ به دیجیتال یا ADC، یک مبدل داده است؛ که به مدارهای دیجیتالی، اجازه میدهد تا با انکدکردن یک سیگنال آنالوگ به یک کد باینری، با دنیای واقعی، ارتباط برقرار کنند.
مبدلهای آنالوگ به دیجیتال، (ADCها) به مدارهای کنترلشده با ریزپردازنده ها، آردوینوها یا رزبری پای (Raspberry Pi) و سایر مدارهای منطقی دیجیتالی همانند آنها، اجازه میدهند؛ تا با دنیای واقعی، ارتباط برقرار کنند. در دنیای واقعی، سیگنال های آنالوگ، دارای مقادیر پیوستهای هستند؛ که از منابع و حسگرهای مختلفی که میتوانند صدا، نور، دما یا حرکت را اندازهگیری کنند؛ ناشی میشوند و تعداد زیادی از سیستم های دیجیتال، با اندازهگیری سیگنالهای آنالوگ از چنین مبدلهایی، با محیط اطراف خود، تعامل دارند.
درحالیکه، سیگنالهای آنالوگ، میتوانند پیوسته باشند و بینهایت مقادیر مختلف ولتاژ را ارائه دهند؛ مدارهای دیجیتالی از جهت دیگر، با سیگنالهای باینری کار میکنند و تنها دارای دو حالت گسسته، منطق “1” (HIGH) و منطق “0” (LOW) میباشند. بنابراین، باید یک مدار الکترونیکی، وجود داشته باشد؛ که بتواند دو حوزهی مختلف سیگنالهای پیوستهی درحال تغییر آنالوگ و سیگنالهای گسستهی دیجیتال را بههم تبدیل نماید و این دقیقا جایی است؛ که مبدلهای آنالوگ به دیجیتال، (A/D) بهکار میآیند.
اساسا، مبدل آنالوگ به دیجیتال، از یک ولتاژ آنالوگ در یک لحظه، عکس فوری میگیرد و یک کد خروجی دیجیتال، تولید میکند؛ که نشاندهندهی این ولتاژ آنالوگ است. تعداد ارقام باینری یا بیتهای مورد استفاده برای نشاندادن این مقدار ولتاژ آنالوگ، بستگی به وضوح مبدل A/D(آنالوگ به دیجیتال) دارد.
برای مثال، یک مبدل آنالوگ به دیجیتال ۴ بیتی، دارای رزولوشن ۱ در ۱۵ (۲۴-۱) میباشد؛ درحالیکه، یک مبدل آنالوگ به دیجیتال ۸ بیتی، دارای رزولوشن ۱ در ۲۵۵ (۲۸-1) است. بنابراین، مبدل آنالوگ به دیجیتال، یک سیگنال آنالوگ پیوستهی ناشناخته را میگیرد و آن را به یک عدد باینری n بیتی از 2n بیت، تبدیل میکند.
اما ابتدا اجازه دهید؛ تفاوت های بین یک سیگنال آنالوگ و یک سیگنال دیجیتال را، همانطور که در تصویر، نشان داده شده است؛ یادآوری کنیم:
سیگنالهای آنالوگ و دیجیتال
در اینجا میتوانیم ببینیم؛ که وقتی پایانهی جاروب کن پتانسیومتر بین 0 ولت و VMAX دوران میکند؛ یک سیگنال خروجی پیوسته ( یا ولتاژ) تولید میکند که دارای بی نهایت مقدار خروجی، نسبت به موقعیت جاروب کن است. با تنظیم جاروب کن پتانسیومترها از یک موقعیت به موقعیت دیگر، هیچ تغییر ناگهانی یا پلهای بین دو سطح ولتاژ، ایجاد نمیشود و درنتیجه، یک ولتاژ خروجی پیوستهی متغیر، تولید مینماید. نمونههایی از سیگنالهای آنالوگ شامل دما، فشار، سطح مایع و شدت نور است.
برای یک مدار دیجیتال، جاروبکن پتانسیومتر با یک سوئیچ دوار واحد، جایگزین شده است؛ که به نوبهی خود، به هر محل اتصال زنجیره ی مقاومت سری، متصل شده و یک شبکه تقسیمکننده ی پتانسیل پایه را، تشکیل میدهد. همانطور که سوئیچ از یک موقعیت (یا گره) به موقعیت بعدی ولتاژ خروجی، VOUT دوران میکند؛ بهسرعت در گام های ولتاژی گسسته و متمایز تغییر میکند؛ که نشاندهندهی ضرب ۱ ولت در هر حرکت سوئیچینگ یا گام است؛ که در زیر نشان داده شده است.
پس برای مثال، ولتاژ خروجی میتواند ۲ولت، ۳ولت، ۵ ولت و … باشد؛ اما ۲.۵ولت، ۳.۱ ولت و ۴.۶ ولت و … غیره، نمیتواند باشد. سطوح دقیقتر ولتاژ خروجی را میتوان با استفاده از یک سوئیچ چند موقعیته و افزایش تعداد عناصر مقاومتی در شبکهی تقسیمکنندهی پتانسیل، بهراحتی، تولید کرد؛ بنابراین، تعداد گامهای سوئیچینگ گسسته را افزایش میدهد.
پس میتوانیم ببینیم؛ که تفاوت عمده بین سیگنال آنالوگ و سیگنال دیجیتال، این است؛ که مقدار آنالوگ بهطور مداوم در طول زمان درحال تغییر است؛ درحالیکه، مقدار دیجیتال دارای مقادیر گسسته ( گام به گام) است. “LOW” به “HIGH”(پایین به بالا) و “HIGH” به “LOW” (بالا به پایین).
بنابراین، چگونه میتوان یک سیگنال متغیر پیوسته، با تعداد نامتناهی از مقادیر را، به سیگنالی که دارای مقادیر یا گامهای متمایز برای استفاده در مدار دیجیتال است؛ تبدیل کرد؟!
تبدیلکنندهی آنالوگ به دیجیتال
فرآیند گرفتن یک سیگنال آنالوگ و تبدیل آن به یک سیگنال دیجیتال معادل، میتواند به طرق مختلف انجام شود و درحالیکه، تراشه های مبدل آنالوگ به دیجیتال مانند سری ADC08xx از تولیدکنندگان مختلف موجود است؛ میتوان یک مبدل آنالوگ به دیجیتال ساده، با استفاده از اجزای مجزا ساخت.
یک راه ساده و آسان، استفاده از انکدکردن موازی است؛ که بهعنوان مبدلهای مقایسهکنندهی فلش، همزمان یا چندگانه نیز شناخته میشود؛ که در آنها از مقایسهکنندهها برای تشخیص سطوح مختلف ولتاژ و خروجی حالت سوئیچینگ خود به انکدر، استفاده میشود.
مبدلهای آنالوگ به دیجیتال موازی یا “فلش”، از یک سری مقایسه کنندههای به هم پیوسته، اما با فاصلهی یکسان و مراجع ولتاژ ایجادشده توسط یک سری مقاومت های دقیق، برای تولید یک کد خروجی معادل برای وضوح خاص n بیتی، استفاده میکنند.
مزیت مبدلهای موازی یا فلش، این است؛ که ساخت آنها ساده است و نیازی به هیچگونه کلاک های زمان بندی ندارد. زیرا در لحظهای که یک ولتاژ آنالوگ به ورودی های مقایسه کننده، اعمال میشود؛ با یک ولتاژ مرجع، مقایسه میشود. مدار مقایسه کننده زیر را در نظر بگیرید.
مدار مقایسهگر
یک مقایسه کنندهی آنالوگ مانند LM339N ، دارای دو ورودی آنالوگ، یکی مثبت و دیگری منفی است و میتواند برای مقایسهی مقادیر دو سطح مختلف ولتاژ، مورد استفاده قرار گیرد.
سیگنال ورودی ولتاژ، (VIN) به یک ورودی مقایسه کننده، اعمال میشود؛ درحالیکه، ولتاژ مرجع، ( VREF) به ورودی دیگر مقایسهکننده، اعمال میشود. مقایسهی دو سطح ولتاژ در ورودی مقایسهکننده، برای تعیین حالت خروجی منطقی آن، “۱” یا “۰”، انجام میشود.
ولتاژ مرجع، (VREF) با ولتاژ ورودی، (VIN) که به ورودی دیگر، اعمال میشود؛ مقایسه میگردد. برای یک مقایسه کنندهی LM339 ، اگر ولتاژ ورودی از ولتاژ مرجع، کمتر (VREF >VIN) باشد؛ خروجی “خاموش” است و اگر بیشتر از ولتاژ مرجع (VREF < VIN) باشد؛ خروجی “روشن” است. بنابراین، یک مقایسهکنندهی دو سطح ولتاژ را مقایسه میکند و تعیین میکند؛ که کدام یک از این دو بالاتر است.
در مثال سادهی ما در بالا، VREF از راهاندازی شبکهی تقسیمکنندهی ولتاژ توسط R۱ و R۲ بهدست میآید. اگر دو مقاومت باهم برابر باشند؛ یعنی R۱= R۲ ،پس بهوضوح، سطح ولتاژ مرجع، برابر با نصف ولتاژ منبع تغذیه یا V/2 خواهد بود. پس برای یک مقایسهکننده با خروجی جمعکننده-باز (open-collector)، اگر VIN، کمتر از V/2 باشد؛ خروجی HIGH (بالا) خواهد بود و اگر VIN، بزرگتر از V/2 باشد؛ خروجی LOW (پایین) خواهد بود و مانند یک مبدل آنالوگ به دیجیتال 1 بیتی، عمل میکند.
اما با افزودن مقاومت های بیشتر به شبکهی تقسیم کنندهی ولتاژ، میتوانیم ولتاژ منبع تغذیه را بر مقدار تعیین شده توسط مقدار مقاومتیهای مقاومتها، تقسیم کنیم. با این حال، هرچه از مقاومت های بیشتری در شبکهی تقسیمکنندهی ولتاژ، استفاده کنیم؛ به مقایسهکننده های بیشتری، نیاز خواهیم داشت.
درحالت کلی، مقایسهکننده های ۲n-1 برای مقایسهی خروجی باینری “n” بیتی، درجاییکه معمولا “n” بین محدودهی 8 تا 16 است؛ نیاز است. در مثال ما در بالا، یک مبدل آنالوگ به دیجیتال تک بیتی، از 2۱-1 استفاده میکند؛ که بهمعنای “1” مقایسهکننده است و تعیین میکند؛ که VIN بزرگتر یا کوچکتر از V/2 ولتاژ مرجع است.
اگر بخواهیم یک مبدل آنالوگ به دیجیتال دو بیتی بسازیم؛ پس به ۲۲-۱ نیاز داریم؛ که بهمعنای “۳” مقایسهگر است. زیرا به ۴ سطح مختلف ولتاژ مرتبط به ۴ مقدار دیجیتال، برای مدار انکدر ۴ به ۲ بیت، زیر نیاز داریم.
مدار مقایسهگر آنالوگ به دیجیتال دو بیتی
این به ما، یک کد خروجی ۲ بیتی، برای چهار مقدار احتمالی ورودی آنالوگ، میدهد:
خروجی تبدیلکنندهی A/D دو بیتی
درجاییکه : “X ” بهمعنای “مهم نیست” (don’t care) است؛ که یعنی میتواند یکی از وضعیت منطق “0” یا منطق “1” باشد.
بنابراین، این مبدل آنالوگ به دیجیتال، چگونه کار میکند. برای مفید بودن مبدلهای آنالوگ به دیجیتال، باید یک نمایش دیجیتالی معنادار از سیگنال ورودی آنالوگ، را تولید کند. دراینجا، در این مثال سادهی مبدل آنالوگ به دیجیتال 2 بیتی، برای سادگی، فرض میکنیم که ولتاژ ورودی،VIN بین 0 تا 4 ولت است و بنابراین، VREF و شبکهی تقسیم کنندهی ولتاژ مقاومتی را تنظیم کردهایم؛ که ۱ ولت افت ولتاژ را دو سر هر مقاومت ایجاد کند.
هنگامیکه، VIN بین 0 تا 1 ولت (<1V) باشد؛ ورودی هر سه مقایسهکننده، کمتر از ولتاژ مرجع خواهدبود و بنابراین، خروجی آنها LOW خواهد بود و انکدر، خروجی باینری وضعیت صفر (00) را بر پینهای Q۱ و Q۲ قرار میدهد. زمانیکه، VIN افزایش یابد و از 1 ولت بیشتر شود؛ اما از 2 ولت کمتر باشد (1V<VIN<2V) مقایسهکنندهی U۱ که ورودی ولتاژ مرجع آن، 1 ولت، تنظیم شده است؛ این اختلاف ولتاژ را تشخیص داده و خروجی HIGH (بالا) تولید میکند. انکدر اولویتی که بهعنوان انکدر 4 به 2 بیت، استفاده میشود؛ تغییر ورودی را در D۱ تشخیص داده و خروجی باینری “۱”(۰۱) را تولید میکند.
باید توجه داشت؛ که یک انکدر اولویت TTL 74LS148، یک سطح اولویت را به هر ورودی، اختصاص میدهد. خروجی انکدرهای اولویت مربوط به ورودی فعلی است؛ که بیشترین اولویت را دارد. بنابراین، وقتی ورودی با اولویت بالاتر (D۱در مقایسه با D۰) وجود دارد؛ تمام ورودی های دیگر با اولویت کمتر نادیده گرفته میشود. بنابراین، اگر دو یا چند ورودی در سطح منطقی “1” به طور همزمان وجود داشته باشد؛ کد خروجی واقعی در D۰ و D۱ فقط با ورودی با بالاترین اولویت تعیینشده، مطابقت دارد.
بنابراین، درحال حاضر، با افزایش VIN بیش از 2 ولت، سطح ولتاژ مرجع بعدی، مقایسهکنندهی U۲ تغییر را تشخیص داده و خروجی HIGH (بالا) تولید میکند. اما از آنجاییکه، ورودی D۲ دارای اولویت بیشتری نسبت به ورودیهای D۰ و D۱ است؛ انکدر اولویت کد باینری “2” (10) را در خروجی قرار میدهد و به همین ترتیب، زمانیکه، VIN از 3 ولت، فراتر رود؛ خروجی کد باینری “3”(11) تولید میکند. واضح است؛ که VIN بین هر سطح ولتاژ مرجع، کاهش مییابد یا تغییر میکند و هر مقایسهکننده، یک حالت HIGH یا یک حالت LOW را به انکدر وارد میکند؛ که در مقابل، یک کد باینری 2 بیتی بین 00 و 11 نسبت به VIN تولید میکند.
این همه خوب است؛ اما انکدرهای اولویت، بهعنوان دستگاه های 4 تا 2 بیتی، در دسترس نیستند و اگر از یک دستگاه تجاری مانند TTL 74LS148 یا معادل CMOS 4532 آن که هردو دستگاه 8 بیتی میباشند؛ استفاده کنیم؛ از 6 عدد از بیتهای باینری، استفاده نمیشود. اما میتوان یک مدار انکدر ساده را با استفاده از گیتهای دیجیتال Ex-OR و ماتریسی از دیودهای سیگنال، همانطور که در تصویر نشان داده شده است؛ ایجاد کرد.
ADC دو بیتی با استفاده از دیودها
دراینجا، خروجی های مقایسهگر، قبل از تغذیه به دیودها با استفاده از گیتهای OR انحصاری، انکد میشوند. دو مقاومت pull-down اضافی، در خروجی ها و زمین (0V) برای اطمینان از وضعیت LOW و جلوگیری از شناور شدن خروجیها درهنگام بایاس معکوس، استفاده میشود.
بنابراین، مانند مدار قبلی، بسته به مقدار VIN تعیین میشود؛ که کدام یک سیگنال خروجی HIGH (یا LOW) در گیتهای انحصاری OR تولید میکند. خروجی HIGH، زمانی تولید میشود؛ که یک ورودی یا دیگری HIGH باشد؛ اما هردو اینگونه نباشند (عبارت بولین: ). این گیتهای انحصاری OR، میتوانند با استفاده از منطق ترکیبی گیتهای AND-OR-NAND ساخته شوند.
مشکل اینجا در مورد هر دو طرح مبدل 4 به 2 این است؛ که وضوح این مبدل سادهی 2 بیتی آنالوگ به دیجیتال، 1 ولت است. زیرا همانطور که دیدیم؛ ولتاژ ورودی آنالوگ در VIN، باید به ترتیب، ۱ ولت کامل تغییر کند تا انکدر، کد خروجی خود را تغییر دهد. یکی از راههای بهبود وضوح خروجی، افزایش آن به مبدل آنالوگ به دیجیتال ۳ بیتی، با استفاده از مقایسهکننده های بیشتر است.
تبدیل کنندهی آنالوگ به دیجیتال ۳ بیتی
مبدل آنالوگ به دیجیتال موازی در بالا، ولتاژ ورودی آنالوگ در محدودهی ۰ یا بیشتر از ۳ ولت را برای تولید کد باینری ۲ بیتی، تبدیل میکند. از آنجاییکه، یک سیستم منطقی دیجیتال ۳ بیتی، میتواند ۲۳=8 خروجی دیجیتال گوناگون، تولید کند؛ ولتاژ ورودی آنالوگ را، میتوان با 8 سطح ولتاژ مرجع مقایسهکرد؛ که هر سطح ولتاژ برابر با یک هشتم (V/8) ولتاژ مرجع است.
پس، ما اکنون میتوانیم رزولوشن ۰.۵(۴/۸) را اندازهگیری کنیم و برای خروجی کد باینری ۳ بیتی بین ۰۰۰(۰) و ۱۱۱(۷) به ۲۳-۱ مقایسهکننده، بهصورت زیر نیاز داریم.
مدار تبدیل کنندهی آنالوگ به دیجیتال ۳ بیتی
بنابراین، این به ما یک کد خروجی ۳ بیتی، برای همهی ۸ مقدار احتمالی ورودی آنالوگ میدهد:
خروجی تبدیلکنندهی A/D 3 بیتی
درجاییکه: “X” بهمعنای “مهم نیست” (don’t care) است؛ که یعنی میتواند یکی از وضعیت منطق “0” یا منطق “1” باشد.
سپس میبینیم؛ که با افزایش وضوح مبدل آنالوگ به دیجیتال، نه تنها تعداد بیتهای باینری خروجی افزایش مییابد؛ بلکه تعداد مقایسهکنندهها و سطوح ولتاژ موردنیاز نیز، افزایش مییابد. بنابراین، رزولوشن ۴ بیتی، به ۱۵(۱-۲۴) مقایسهکننده، رزولوشن ۸ بیتی، به ۲۵۵(۱-۲۸) مقایسهکننده نیاز دارد؛ درحالیکه، یک مبدل آنالوگ به دیجیتال ۱۰ بیتی، به ۱۰۲۳ مقایسهکننده نیاز دارد و اینگونه، ادامه مییابد. پس برای این نوع مدار مبدل آنالوگ به دیجیتال، هرچه تعداد بیتهای خروجی بیشتری نیاز باشد؛ مدار پیچیدهتر خواهدشد.
با اینحال، مزیت این نوع مبدل موازی یا فلش آنالوگ به دیجیتال، این است؛ که نرخ تبدیل آن در زمان واقعی، نسبتا سریع است و میتواند بهراحتی بهعنوان بخشی از یک پروژه، ساختهشود. درحالیکه، فقط چند بیت باینری برای تولید خوانش یک صفحه نمایش دیجیتال، برای نشاندادن مقدار ولتاژ یک سیگنال ورودی آنالوگ، موردنیاز است.
علاوه بر گرفتن یک سیگنال ورودی آنالوگ از یک سنسور یا مبدل و تبدیل آن با استفاده از یک مبدل آنالوگ به دیجیتال، به یک کد باینری دیجیتال، بهعنوان بخشی از یک مدار رابط ورودی، ما همچنین میتوانیم یک کد باینری را گرفته و آن را به یک کمیت آنالوگ معادل، با استفاده از مبدل آنالوگ به دیجیتال، برای رابط خروجی کنترل موتور یا محرک یا کاربردهای صوتی، تبدیل کنیم.
در آموزش بعدی مربوط به مدارهای دیجیتال، نگاهی به مبدل دیجیتال به آنالوگ یا بهسادگی DAC خواهیم داشت؛ که کاملا معکوس مبدلهای آنالوگ به دیجیتالی است؛ که در اینجا داشتیم.DAC ها از آپ امپها یا شبکه های تقسیم کنندهی مقاومتی استفاده میکنند؛ تا تعداد n”” بیت باینری را به ولتاژ خروجی آنالوگ یا سیگنال جریان معادل آن، تبدیل کنند.
منبع
منبع: ردرونیک