03-01-2020, 02:02 AM
مفهوم آنالوگ و دیجیتال چیست؟
دنیایی که پیرامون ما وجود دارد یک دنیای پیوسته یا آنالوگ است. به دما، فشار، حرارت، سرعت و خیلی از کمیت های فیزیکی قابل اندازه گیری اطراف خود دقت کنید. (دقت کردید؟! ) متوجه می شوید که تغییرات این کمیت های به صورت کاملا پیوسته اتفاق می افتد.خب در چنین شرایطی اگر بخواهیم دست به اندازه گیری بزنیم باید سیستم های ما تمام مقادیر را به طور پیوسته اندازه گیری کرده و روی آن ها پردازش انجام دهد، اما چون چنین امکانی وجود ندارد و سیستم های ما دیجیتال است نمی توانیم چنین کاری کنیم. به عبارت دیگر نمی توانیم یک کمیت پیوسته یا آنالوگ را مستقیما به یک سیستم پردازشی دیجیتال اعمال کنیم. به نظر شما راه حل چیست؟( ابتدا کمی فکر کنید!)
درست حدس زدید. باید کمیت آنالوگ را به دیجیتال تبدیل کنیم و سپس دست به پردازش بزنیم. اینجا همان نقطه ای بود که مبدل های آنالوگ به دیجیتال وارد بازی شدند تا بتوانند بین دنیای آنالوگ و دنیای دیجیتال پلی بزنند. برای روشن شدن موضوع اجازه بدهید تا یک مثال بزنم. شما به بازار می روید و یک سنسور LM35 خریداری می کنید. با این سنسور شما می توانید دمای محیط را اندازه گیری کنید.( اما به چه شکل؟) خروجی این سنسور ولتاژ است و به ازای هر درجه تغییر دما ۱۰ میلی ولت تغییر می کند. میخواهید با یک میکروکنترلر AVR این تغییرات دما را اندازه گیری کرده و ثبت کنید. اما توجه کنید که برای AVR با فرض اینکه از منبع تغذیه ۵ ولتی برای آن استفاده کرده باشید، فقط دو ولتاژ ۰ و ۵ ولت در پین های خروجی آن معنا دارد. پس چگونه می توان ولتاژ خروجی LM35 را به AVR فهماند(؟!). برای پیدا کردن پاسخ این سوال نیاز به یک سری مقدمات درباره ی مبدل آنالوگ به دیجیتال و روش کار آن در AVR دارید. پس تا آخر این پست با ما همراه باشید تا روش کار را یاد بگیرید.
مفاهیم اولیه (ADC (analog to digital convertor
در هر مبدل آنالوگ به دیجیتال یک سری مفاهیم مشترک وجود دارد که ابتدا باید آن ها را بدانید تا بتوانید با آن ها کار کنید.
اندازه گام:
هر ADC یک دقت دارد، به عبارتی از یک مقدار کمتر را نمی تواند انداز گیری کند. اندازه گام کوچکترین تغییری هست که یک مبدل آنالوگ به دیجیتال می تواند اندازه بگیرد. مثلا اگر اندازه گام برای یک ADC برابر با ۲۰ میلی ولت باشد. معنایش این است که تغییرات ۵ میلی ولتی را متوجه نمی شود و هرگاه ولتاژ نسبت به مقدار قبلی ۲۰ میلی ولت بیشتر یا کمتر شود می تواند تغییرات را تشخیص دهد.
زمان تبدیل:
برای اینکه ورودی آنالوگ به خروجی دیجیتال تبدیل شود نیاز به زمان معینی است. این زمان به منبع کلاک متصل به ADC (چون ADC یک مدار دیجیتال است نیاز به کلاک دارد.)، روشی که برای تبدیل استفاده می شود و تکنولوژی ساخت مبدل آنالوگ به دیجیتال بستگی دارد.
رزولوشن:
رزولوشن یا وضوح یا درجه تفکیک نام های مختلفی است که برای تعداد بیت استفاده شده در ADC به کار می رود. شاید شنیده باشید که ADC در AVR ده بیتی است. این بدین معناست که خروجی دیجیتال در قالب ۱۰ بیت ارائه خواهد شد. هرچه رزولوشن بیشتر باشد، اندازه گام کمتر خواهد بود.( برای درک جمله ی آخر کمی صبور باشید.)
ولتاژ مرجع:
یک ولتاژ ورودی است که به عنوان مرجع استفاده شده و به همراه رزولوشن اندازه گام را معلوم می کند. دقت کنید که ولتاژ ورودی ADC می تواند بین صفر تا ولتاژ مرجع تغییرات کند. فرض کنید که از ADC هشت بیتی استفاده می کنید. اندازه گام به صورت روبه رو محاسبه می شود: (۲ به توان ۸/ولتاژ مرجع)
خروجی داده دیجیتال:
وقتی مقدار آنالوگ به دیجیتال تبدیل شد، باید در قالب یک رشته از بیت ها ارائه شود. به این رشته بیت خروجی داده دیجیتال گفته می شود.برای مثال در یک ADC هشت بیتی، ۸ بیت خروجی دیجیتال از D0 تا D7 داریم که با استفاده از رابطه زیر بدست می آید:
(اندازه گام/ولتاژ ورودی)
مفاهیم اولیه گفته شد. توصیه میکنم یک بار دیگر مفاهیم را با خودتان مرور کنید تا بهتر در ذهنتان جا بگیرید. حال که مفاهیم را مرور کردید. با بیان یک مثال بحث را بیشتر باز خواهیم کرد.
مثال
فرض کنید در یک ADC با رزولوشن ۸ بیت، ولتاژ مرجع را ۵ ولت انتخاب کرده ایم. در این صورت تغییر ولتاژ ورودی بین صفر تا ولتاژ مرجع باعث تغییر دیتای خروجی ADC بین ۰ تا ۰xFF خواهد شد. به عبارتی تغییرات به ۲۵۶ گام یا پله تقسیم می شوند. اگر ولتاژ ورودی روی صفر ولت باش خروجی ۰x00 و اگر ولتاژ ورودی روی ۵ ولت باشد خروجی ۰xFF خواهد بود. اگر ولتاژ ورودی روی ۲ ولت باشد. می خواهیم خروجی دیجیتال را به دست آوریم.
برای این کار باید اندازه گام را به دست آوریم. به عبارت دیگر باید بدانیم هر تغییر قابل اندازه گیری در ADC چند ولت است. پس ولتاژ مرجع را بر ۲۵۶ (۲ به توان تعداد بیت که اینجا ۸ است) تقسیم می کنیم که ۱۹ میلی ولت به دست می آید. حال باید محاسبه کنیم که ۲ ولت از چند پله (چند تا ۱۹ میلی ولت) تشکیل شده است. پس ۲ را بر ۱۹ میلی ولت تقسیم می کنیم که ۱۰۵/۲ می شود. خب این عدد در مبنای ده است باید به مبنای دو برده شود که به صورت ۰۱۱۰۱۰۰۱ می شود. این رشته باینری همان چیزی است که در خروجی ADC قرار می گیرد.
توصیه میکنم برای همین مثال خروجی دیجیتال را برای ولتاژ ۴/۵ ولت و ۱/۷ ولت به دست آورید.
دنیایی که پیرامون ما وجود دارد یک دنیای پیوسته یا آنالوگ است. به دما، فشار، حرارت، سرعت و خیلی از کمیت های فیزیکی قابل اندازه گیری اطراف خود دقت کنید. (دقت کردید؟! ) متوجه می شوید که تغییرات این کمیت های به صورت کاملا پیوسته اتفاق می افتد.خب در چنین شرایطی اگر بخواهیم دست به اندازه گیری بزنیم باید سیستم های ما تمام مقادیر را به طور پیوسته اندازه گیری کرده و روی آن ها پردازش انجام دهد، اما چون چنین امکانی وجود ندارد و سیستم های ما دیجیتال است نمی توانیم چنین کاری کنیم. به عبارت دیگر نمی توانیم یک کمیت پیوسته یا آنالوگ را مستقیما به یک سیستم پردازشی دیجیتال اعمال کنیم. به نظر شما راه حل چیست؟( ابتدا کمی فکر کنید!)
درست حدس زدید. باید کمیت آنالوگ را به دیجیتال تبدیل کنیم و سپس دست به پردازش بزنیم. اینجا همان نقطه ای بود که مبدل های آنالوگ به دیجیتال وارد بازی شدند تا بتوانند بین دنیای آنالوگ و دنیای دیجیتال پلی بزنند. برای روشن شدن موضوع اجازه بدهید تا یک مثال بزنم. شما به بازار می روید و یک سنسور LM35 خریداری می کنید. با این سنسور شما می توانید دمای محیط را اندازه گیری کنید.( اما به چه شکل؟) خروجی این سنسور ولتاژ است و به ازای هر درجه تغییر دما ۱۰ میلی ولت تغییر می کند. میخواهید با یک میکروکنترلر AVR این تغییرات دما را اندازه گیری کرده و ثبت کنید. اما توجه کنید که برای AVR با فرض اینکه از منبع تغذیه ۵ ولتی برای آن استفاده کرده باشید، فقط دو ولتاژ ۰ و ۵ ولت در پین های خروجی آن معنا دارد. پس چگونه می توان ولتاژ خروجی LM35 را به AVR فهماند(؟!). برای پیدا کردن پاسخ این سوال نیاز به یک سری مقدمات درباره ی مبدل آنالوگ به دیجیتال و روش کار آن در AVR دارید. پس تا آخر این پست با ما همراه باشید تا روش کار را یاد بگیرید.
مفاهیم اولیه (ADC (analog to digital convertor
در هر مبدل آنالوگ به دیجیتال یک سری مفاهیم مشترک وجود دارد که ابتدا باید آن ها را بدانید تا بتوانید با آن ها کار کنید.
اندازه گام:
هر ADC یک دقت دارد، به عبارتی از یک مقدار کمتر را نمی تواند انداز گیری کند. اندازه گام کوچکترین تغییری هست که یک مبدل آنالوگ به دیجیتال می تواند اندازه بگیرد. مثلا اگر اندازه گام برای یک ADC برابر با ۲۰ میلی ولت باشد. معنایش این است که تغییرات ۵ میلی ولتی را متوجه نمی شود و هرگاه ولتاژ نسبت به مقدار قبلی ۲۰ میلی ولت بیشتر یا کمتر شود می تواند تغییرات را تشخیص دهد.
زمان تبدیل:
برای اینکه ورودی آنالوگ به خروجی دیجیتال تبدیل شود نیاز به زمان معینی است. این زمان به منبع کلاک متصل به ADC (چون ADC یک مدار دیجیتال است نیاز به کلاک دارد.)، روشی که برای تبدیل استفاده می شود و تکنولوژی ساخت مبدل آنالوگ به دیجیتال بستگی دارد.
رزولوشن:
رزولوشن یا وضوح یا درجه تفکیک نام های مختلفی است که برای تعداد بیت استفاده شده در ADC به کار می رود. شاید شنیده باشید که ADC در AVR ده بیتی است. این بدین معناست که خروجی دیجیتال در قالب ۱۰ بیت ارائه خواهد شد. هرچه رزولوشن بیشتر باشد، اندازه گام کمتر خواهد بود.( برای درک جمله ی آخر کمی صبور باشید.)
ولتاژ مرجع:
یک ولتاژ ورودی است که به عنوان مرجع استفاده شده و به همراه رزولوشن اندازه گام را معلوم می کند. دقت کنید که ولتاژ ورودی ADC می تواند بین صفر تا ولتاژ مرجع تغییرات کند. فرض کنید که از ADC هشت بیتی استفاده می کنید. اندازه گام به صورت روبه رو محاسبه می شود: (۲ به توان ۸/ولتاژ مرجع)
خروجی داده دیجیتال:
وقتی مقدار آنالوگ به دیجیتال تبدیل شد، باید در قالب یک رشته از بیت ها ارائه شود. به این رشته بیت خروجی داده دیجیتال گفته می شود.برای مثال در یک ADC هشت بیتی، ۸ بیت خروجی دیجیتال از D0 تا D7 داریم که با استفاده از رابطه زیر بدست می آید:
(اندازه گام/ولتاژ ورودی)
مفاهیم اولیه گفته شد. توصیه میکنم یک بار دیگر مفاهیم را با خودتان مرور کنید تا بهتر در ذهنتان جا بگیرید. حال که مفاهیم را مرور کردید. با بیان یک مثال بحث را بیشتر باز خواهیم کرد.
مثال
فرض کنید در یک ADC با رزولوشن ۸ بیت، ولتاژ مرجع را ۵ ولت انتخاب کرده ایم. در این صورت تغییر ولتاژ ورودی بین صفر تا ولتاژ مرجع باعث تغییر دیتای خروجی ADC بین ۰ تا ۰xFF خواهد شد. به عبارتی تغییرات به ۲۵۶ گام یا پله تقسیم می شوند. اگر ولتاژ ورودی روی صفر ولت باش خروجی ۰x00 و اگر ولتاژ ورودی روی ۵ ولت باشد خروجی ۰xFF خواهد بود. اگر ولتاژ ورودی روی ۲ ولت باشد. می خواهیم خروجی دیجیتال را به دست آوریم.
برای این کار باید اندازه گام را به دست آوریم. به عبارت دیگر باید بدانیم هر تغییر قابل اندازه گیری در ADC چند ولت است. پس ولتاژ مرجع را بر ۲۵۶ (۲ به توان تعداد بیت که اینجا ۸ است) تقسیم می کنیم که ۱۹ میلی ولت به دست می آید. حال باید محاسبه کنیم که ۲ ولت از چند پله (چند تا ۱۹ میلی ولت) تشکیل شده است. پس ۲ را بر ۱۹ میلی ولت تقسیم می کنیم که ۱۰۵/۲ می شود. خب این عدد در مبنای ده است باید به مبنای دو برده شود که به صورت ۰۱۱۰۱۰۰۱ می شود. این رشته باینری همان چیزی است که در خروجی ADC قرار می گیرد.
توصیه میکنم برای همین مثال خروجی دیجیتال را برای ولتاژ ۴/۵ ولت و ۱/۷ ولت به دست آورید.