محاسبه‌گر رزولوشن ADC

بیت‌ها و ولتاژ مرجع یک ADC را وارد کنید تا اندازه گام، خطای کوانتیزاسیون و SNR ایده‌آل آن را به دست آورید، ولتاژ و کد را به یکدیگر تبدیل کنید و تمام مراحل جایگذاری را دنبال کنید.

مبدل و محدوده

عدد صحیح از ۱ تا ۳۲ — عرض بیت نامی مبدل.
محدوده ورودی

نقطه اندازه‌گیری (اختیاری)

برای صرف‌نظر کردن از اندازه‌گیری، خالی بگذارید.

به چند بیت نیاز دارید؟ (اختیاری)

اندازه گام و نویز

اندازه گام LSB

فرمول‌ها و جایگذاری

LSB = FSR ÷ 2ᴺ · حداکثر خطا = ½ LSB · SNR = 6.02N + 1.76 dB

    تمام اعدادی که وارد می‌کنید در همین مرورگر باقی می‌مانند — هیچ چیز آپلود نمی‌شود.

    سوالات متداول

    چرا برخی منابع بر 2^N و برخی دیگر بر 2^N − 1 تقسیم می‌کنند؟

    این‌ها دو مدل متفاوت از یک مبدل هستند. دیتاشیت‌ها و تئوری کلاسیک کوانتیزاسیون LSB = FSR ÷ 2^N را با اولین انتقال کد در نصف گام تعریف می‌کنند — این همان مدلی است که در این صفحه استفاده می‌شود. فرمول Vref ÷ (2^N − 1) از نگاشت دقیق بالاترین کد روی Vref به دست می‌آید که در آموزش‌های میکروکنترلر رایج است. در ۱۲ بیت، تفاوت این دو حدود 0.02% است که بسیار کمتر از تلرانس هر مرجع واقعی است؛ فقط هنگام بررسی اعداد در منابع مختلف، این دو مدل را با هم مخلوط نکنید.

    آیا رزولوشن ۱۲ بیتی به معنای دقت ۱۲ بیتی است؟

    خیر. رزولوشن تنها عرض کد را نشان می‌دهد — یعنی اینکه محدوده با چه ظرافتی تقسیم شده است. دقت مبدل توسط خطاهای INL، آفست و بهره، تلرانس و نویز مرجع و مدار اطراف آن محدود می‌شود. به همین دلیل است که در دیتاشیت‌ها مقدار ENOB ذکر می‌شود: یک SAR دوازده بیتی معمولاً 10–11 بیت مؤثر ارائه می‌دهد. مقدار SNR ایده‌آل 74 dB که در اینجا نشان داده شده، سقف تئوریکی است که هیچ مبدل ۱۲ بیتی واقعی به آن نمی‌رسد.

    ورودی ±Vref چه تغییری در محاسبات ایجاد می‌کند؟

    پهنای محدوده دو برابر شده و به 2 × Vref می‌رسد، بنابراین همان مبدل گام‌هایی با عرض دو برابر را تفکیک می‌کند: LSB = 2 × Vref ÷ 2^N. کدها از ریل منفی تا ریل مثبت تغییر می‌کنند — کد 0 معادل −Vref است، کد میانی 2^(N−1) معادل 0 ولت است و بالاترین کد یک گام پایین‌تر از +Vref قرار می‌گیرد. اگر محدوده دو قطبی (bipolar) را در بالا انتخاب کنید، صفر ولت دقیقاً روی کد میانی قرار خواهد گرفت.

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

    بیش‌نمونه‌برداری و میانگین‌گیری در صورتی که سیگنال کمی نویز داشته باشد، رزولوشن را بهبود می‌بخشد: میانگین‌گیری از 4× نمونه بیشتر، حدود یک بیت مؤثر و 16× نمونه بیشتر، دو بیت مؤثر اضافه می‌کند، به شرطی که نویز سفید و ناهمبسته باشد — یک سیگنال کاملاً تمیز و کاملاً ثابت فقط همان کد تکراری را تولید می‌کند. فراتر از آن، باید به سراغ مبدلی با بیت‌های بیشتر بروید یا یک طبقه تقویت‌کننده با بهره قابل‌برنامه‌ریزی اضافه کنید تا سیگنال بخش بیشتری از محدوده را پر کند.

    نحوه عملکرد ابزار و پارامترهای محاسباتی

    مبدل آنالوگ به دیجیتال (ADC) پل ارتباطی میان دنیای فیزیکی پیوسته و سیستم‌های پردازش دیجیتال گسسته است. ابزار "محاسبه‌گر رزولوشن ADC" یک ماشین حساب تخصصی برای تحلیل رفتار مبدل‌های آنالوگ به دیجیتال است که با دریافت رزولوشن بیتی و ولتاژ مرجع، شاخص‌های کلیدی عملکرد مبدل شامل اندازه گام LSB، خطای کوانتیزاسیون و نسبت سیگنال به نویز (SNR) ایده‌آل را محاسبه می‌کند.

    این ابزار از یک رابط کاربری یکپارچه بهره می‌برد که به کاربر اجازه می‌دهد هر دو محدوده ورودی تک‌قطبی و دوقطبی را ارزیابی کند. علاوه بر محاسبات پایه، امکان تبدیل دوطرفه بین ولتاژهای ورودی و کدهای دیجیتال فراهم شده است. همچنین با وارد کردن یک پله ولتاژ هدف، ابزار می‌تواند حداقل رزولوشن بیتی مورد نیاز برای تفکیک آن تغییر ولتاژ را تعیین کند. برای درک عمیق‌تر و امکان اعتبارسنجی محاسبات، تمام فرمول‌های ریاضی به همراه جایگذاری عددی مقادیر ورودی به صورت گام‌به‌گام نمایش داده می‌شوند.

    ورودی‌های ابزار

    • رزولوشن N (بیت): یک عدد صحیح از ۱ تا ۳۲ که عرض بیت نامی مبدل را مشخص می‌کند.
    • ولتاژ مرجع: یک عدد مثبت که به عنوان ولتاژ مبنای مبدل استفاده می‌شود.
    • واحد مرجع: واحد اندازه‌گیری ولتاژ مرجع (مانند V، mV، µV).
    • محدوده ورودی: انتخاب بین دو حالت "تک قطبی · 0 تا Vref" و "دو قطبی · −Vref تا +Vref".
    • تعداد ارقام اعشار نمایشی: تعیین دقت نمایش نتایج خروجی.
    • تبدیل (نقطه اندازه‌گیری - اختیاری): انتخاب حالت تبدیل بین "ولتاژ ← کد" و "کد ← ولتاژ".
    • ولتاژ ورودی (اختیاری): ولتاژ مورد نظر برای تبدیل به کد دیجیتال.
    • کد (شمارش) (اختیاری): یک عدد صحیح از صفر تا بالاترین کد مبدل برای تبدیل به ولتاژ معادل.
    • واحد ولتاژ: واحد اندازه‌گیری ولتاژ ورودی یا ولتاژ کد.
    • کوچک‌ترین تغییر برای تفکیک (اختیاری): حداقل پله ولتاژ هدف برای محاسبه رزولوشن بیتی مورد نیاز.
    • واحد گام: واحد اندازه‌گیری کوچک‌ترین تغییر مورد نظر.

    کاربران می‌توانند با استفاده از دکمه «بارگذاری مثال» مقادیر نمونه را به سرعت وارد کنند یا با دکمه «پاک کردن» تمام فیلدها را بازنشانی نمایند.


    خروجی‌ها و شاخص‌های عملکردی مبدل

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

    اندازه گام و نویز

    • اندازه گام LSB: اندازه گام کم‌ارزش‌ترین بیت (LSB) که زیرعنوان آن، این مقدار را به صورت درصدی از مقیاس کامل و همچنین بر حسب ppm (بخش در میلیون) نشان می‌دهد.
    • سطوح کوانتیزاسیون: تعداد کل سطوح گسسته قابل نمایش (2^N).
    • بالاترین کد: حداکثر کد خروجی دیجیتال (2^N - 1).
    • محدوده مقیاس کامل: کل محدوده ولتاژ قابل اندازه‌گیری توسط مبدل (FSR).
    • حداکثر خطای کوانتیزاسیون (±½ LSB): حداکثر خطای تئوریک ناشی از گرد کردن سیگنال آنالوگ به نزدیک‌ترین سطح دیجیتال.
    • نویز کوانتیزاسیون (rms): مقدار مؤثر (rms) نویز کوانتیزاسیون.
    • SNR ایده‌آل (سینوسی تمام‌مقیاس): سقف تئوریک نسبت سیگنال به نویز بر حسب دسی‌بل برای یک موج سینوسی تمام‌مقیاس.
    • محدوده دینامیکی: محدوده دینامیکی تئوریک مبدل بر حسب دسی‌بل.

    در نقطه اندازه‌گیری

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

    وضعیت تعیین ابعاد

    در صورت وارد کردن یک پله ولتاژ هدف در بخش «کوچک‌ترین تغییر برای تفکیک»، ابزار مشخص می‌کند که برای تفکیک این تغییر به چند بیت نیاز است. اگر رزولوشن فعلی کافی باشد، پیام تایید صادر می‌شود؛ در غیر این صورت، ابزار اعلام می‌کند که مبدل فعلی با رزولوشن انتخاب‌شده تنها قادر به تفکیک چه پله ولتاژی است.


    فرمول‌های ریاضی و مراحل محاسبات

    این ابزار فرمول‌های نمادین را ارائه داده و سپس جایگذاری عددی مقادیر شما را در هر رابطه نمایش می‌دهد:

    • اندازه گام LSB: LSB = FSR / (2^N)
    • حداکثر خطای کوانتیزاسیون: ±LSB / 2
    • نویز کوانتیزاسیون (rms): LSB / (√(12))
    • نسبت سیگنال به نویز ایده‌آل (سینوسی تمام‌مقیاس): SNR = 6.02 × N + 1.76 dB
    • محدوده دینامیکی: محدوده دینامیکی = 6.02 × N dB
    • کد دیجیتال در حالت تک‌قطبی: code = round(Vᵢₙ / LSB)
    • کد دیجیتال در حالت دوقطبی: code = round((Vᵢₙ + Vᵣef) / LSB)
    • ولتاژ معادل کد در حالت تک‌قطبی: V = code × LSB
    • ولتاژ معادل کد در حالت دوقطبی: V = code × LSB - Vᵣef
    • خطای کوانتیزاسیون در نقطه اندازه‌گیری: خطای کوانتیزاسیون = ولتاژ کد - ولتاژ ورودی
    • تعیین رزولوشن مورد نیاز: N ≥ log₂(FSR / step) (نتیجه به سمت بالا به نزدیک‌ترین عدد صحیح گرد می‌شود)

    نمونه محاسبات واقعی (مثال بارگذاری‌شده در ابزار)

    با انتخاب رزولوشن ۱۲ بیت، ولتاژ مرجع ۳.۳ ولت و محدوده تک‌قطبی:

    • تعداد سطوح: 2¹² = 4096
    • بالاترین کد: 4095
    • اندازه گام LSB: 3.3 V ÷ 4096 ≈ 805.6641 μ V
    • حداکثر خطای کوانتیزاسیون: ± 402.832 μ V
    • نویز کوانتیزاسیون: ≈ 232.5752 μ V rms
    • نسبت سیگنال به نویز ایده‌آل: ≈ 74.01 dB
    • محدوده دینامیکی: ≈ 72.25 dB

    اگر ولتاژ ورودی ۱.۶۵ ولت (دقیقاً وسط مقیاس) وارد شود، به کد ۲۰۴۸ نگاشت می‌شود که معادل باینری 1000 0000 0000 و هگزادسیمال 0x800 با خطای کوانتیزاسیون صفر است.


    قوانین محاسباتی و رفتارهای مرزی

    • مدل کوانتیزاسیون: ابزار یک کوانتیزر ایده‌آل را مدل‌سازی می‌کند که در آن اولین انتقال کد در نصف گام (1 / 2 LSB) رخ می‌دهد.
    • محدوده تک‌قطبی: محدوده مقیاس کامل (FSR) برابر با Vᵣef است و بازه ورودی از 0 تا Vᵣef تغییر می‌کند.
    • محدوده دوقطبی: محدوده مقیاس کامل (FSR) برابر با 2 × Vᵣef است. بازه ورودی از -Vᵣef تا +Vᵣef تعریف می‌شود. کد 0 به -Vᵣef، کد میانی 2^(N-1) به 0 V و بالاترین کد به اندازه یک LSB پایین‌تر از +Vᵣef نگاشت می‌شود.
    • اشباع در ریل مثبت (High Rail Clipping): اگر ولتاژ ورودی بالاتر از ریل مثبت باشد، خروجی روی بالاترین کد (2^N - 1) قفل می‌شود. در این حالت هشدار زیر نمایش داده می‌شود:

      "ورودی بالاتر از ریل مثبت است: خروجی در بالاترین کد اشباع می‌شود و خطای نشان‌داده‌شده همان باقیمانده واقعی است — حد ±½ LSB دیگر اعمال نمی‌شود."

    • اشباع در ریل منفی (Low Rail Clipping): اگر ولتاژ ورودی پایین‌تر از ریل منفی باشد، خروجی روی کد 0 قفل می‌شود. در این حالت هشدار زیر نمایش داده می‌شود:

      "ورودی پایین‌تر از ریل منفی است: خروجی در کد 0 اشباع می‌شود و خطای نشان‌داده‌شده همان باقیمانده واقعی است — حد ±½ LSB دیگر اعمال نمی‌شود."

    • ورودی وسط مقیاس: اگر ورودی دقیقاً در وسط مقیاس باشد، ابزار اشاره می‌کند که نصف محدوده با خطای کوانتیزاسیون صفر به کد میانی نگاشت می‌شود.

    حریم خصوصی و پردازش داده‌ها

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


    کاربردها و مخاطبان هدف

    • طراحی زنجیره سیگنال: مهندسانی که نیاز دارند بدانند برای آشکارسازی یک تغییر ولتاژ کوچک در خروجی سنسور، به چه رزولوشن بیتی در ADC نیاز دارند.
    • توسعه سفت‌افزار (Firmware): برنامه‌نویسانی که کدهای دیجیتال خوانده‌شده از رجیسترهای میکروکنترلر را به مقادیر فیزیکی ولتاژ تبدیل می‌کنند و نیاز به تایید درستی الگوریتم‌های مقیاس‌دهی خود دارند.
    • بودجه‌بندی نویز سیستم: طراحان سخت‌افزار که نویز کوانتیزاسیون و SNR ایده‌آل مبدل را محاسبه می‌کنند تا آن را با نویز حرارتی و محیطی مدار مقایسه نمایند.

    پرسش‌های متداول (FAQ)

    آیا رزولوشن ۱۲ بیتی به معنای دقت ۱۲ بیتی است؟

    خیر. رزولوشن تنها عرض کد را نشان می‌دهد — یعنی اینکه محدوده با چه ظرافتی تقسیم شده است. دقت مبدل توسط خطاهای INL، آفست و بهره، تلرانس و نویز مرجع و مدار اطراف آن محدود می‌شود. به همین دلیل است که در دیتاشیت‌ها مقدار ENOB ذکر می‌شود: یک SAR دوازده بیتی معمولاً 10–11 بیت مؤثر ارائه می‌دهد. مقدار SNR ایده‌آل 74 dB که در اینجا نشان داده شده، سقف تئوریکی است که هیچ مبدل ۱۲ بیتی واقعی به آن نمی‌رسد.

    ورودی ±Vref چه تغییری در محاسبات ایجاد می‌کند؟

    پهنای محدوده دو برابر شده و به 2 × Vref می‌رسد، بنابراین همان مبدل گام‌هایی با عرض دو برابر را تفکیک می‌کند: LSB = 2 × Vref ÷ 2^N. کدها از ریل منفی تا ریل مثبت تغییر می‌کنند — کد 0 معادل −Vref است، کد میانی 2^(N−1) معادل 0 ولت است و بالاترین کد یک گام پایین‌تر از +Vref قرار می‌گیرد. اگر محدوده دو قطبی (bipolar) را در بالا انتخاب کنید، صفر ولت دقیقاً روی کد میانی قرار خواهد گرفت.

    چرا برخی منابع بر 2^N و برخی دیگر بر 2^N − 1 تقسیم می‌کنند؟

    این‌ها دو مدل متفاوت از یک مبدل هستند. دیتاشیت‌ها و تئوری کلاسیک کوانتیزاسیون LSB = FSR ÷ 2^N را با اولین انتقال کد در نصف گام تعریف می‌کنند — این همان مدلی است که در این صفحه استفاده می‌شود. فرمول Vref ÷ (2^N − 1) از نگاشت دقیق بالاترین کد روی Vref به دست می‌آید که در آموزش‌های میکروکنترلر رایج است. در ۱۲ بیت، تفاوت این دو حدود 0.02% است که بسیار کمتر از تلرانس هر مرجع واقعی است؛ فقط هنگام بررسی اعداد در منابع مختلف، این دو مدل را با هم مخلوط نکنید.

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

    بیش‌نمونه‌برداری و میانگین‌گیری در صورتی که سیگنال کمی نویز داشته باشد، رزولوشن را بهبود می‌بخشد: میانگین‌گیری از 4× نمونه بیشتر، حدود یک بیت مؤثر و 16× نمونه بیشتر، دو بیت مؤثر اضافه می‌کند، به شرطی که نویز سفید و ناهمبسته باشد — یک سیگنال کاملاً تمیز و کاملاً ثابت فقط همان کد تکراری را تولید می‌کند. فراتر از آن، باید به سراغ مبدلی با بیت‌های بیشتر بروید یا یک طبقه تقویت‌کننده با بهره قابل‌برنامه‌ریزی اضافه کنید تا سیگنال بخش بیشتری از محدوده را پر کند.