ADC ரெசல்யூஷன் மற்றும் குவாண்டமாக்கல் கோட்பாடு
ஒரு அனலாக்-டு-டிஜிட்டல் மாற்றி (Analog-to-Digital Converter - ADC) என்பது அனலாக் சிக்னல்களை டிஜிட்டல் குறியீடுகளாக மாற்றும் ஒரு முக்கியமான மின்சுற்று ஆகும். இந்த மாற்றத்தின் போது, தொடர்ச்சியான அனலாக் மின்னழுத்தம் தனித்தனி டிஜிட்டல் படிகளாகப் பிரிக்கப்படுகிறது. இந்த செயல்முறையே குவாண்டமாக்கல் (Quantization) என்று அழைக்கப்படுகிறது.
ஒரு ADC-இன் ரெசல்யூஷன் என்பது அதன் பிட் அகலத்தைக் குறிக்கிறது. இது உள்ளீட்டு மின்னழுத்த வரம்பை எத்தனை பிரிவுகளாகப் பிரிக்க முடியும் என்பதைத் தீர்மானிக்கிறது. குறிப்பு மின்னழுத்தம் (Reference voltage) மற்றும் பிட் ரெசல்யூஷன் ஆகிய இரண்டும் இணைந்து மாற்றியின் மிகச்சிறிய படி அளவை (LSB step size) வரையறுக்கின்றன. இந்த மதிப்புகளைத் துல்லியமாகக் கணக்கிடுவதன் மூலமே ஒரு சிக்னல் செயினில் உள்ள இரைச்சல் வரம்புகளையும், கண்டறியக்கூடிய மிகச்சிறிய மின்னழுத்த மாற்றங்களையும் பொறியாளர்களால் திட்டமிட முடியும்.
உள்ளீட்டு அளவுருக்கள் மற்றும் கணக்கீட்டு முறைகள்
ADC ரெசல்யூஷன் கால்குலேட்டர் கருவியானது பின்வரும் உள்ளீடுகளை அடிப்படையாகக் கொண்டு செயல்படுகிறது:
- ரெசல்யூஷன் N (பிட்டுகள்): 1 முதல் 32 வரையிலான முழு எண் — மாற்றியின் பெயரளவு பிட் அகலம்.
- குறிப்பு மின்னழுத்தம்: மாற்றியின் குறிப்பு மின்னழுத்தத்தைக் குறிக்கும் ஒரு நேர்மறை எண்.
- உள்ளீட்டு வரம்பு: "ஒருமுனை (Unipolar) · 0 முதல் Vref வரை" அல்லது "இருமுனை (Bipolar) · −Vref முதல் +Vref வரை" ஆகிய இரண்டில் ஒன்றைத் தேர்ந்தெடுக்க வேண்டும்.
- காட்டப்படும் தசமங்கள்: கணக்கீட்டு முடிவுகளில் காட்டப்பட வேண்டிய தசம இடங்களின் எண்ணிக்கை.
- மாற்று (அளவீட்டு புள்ளி - விருப்பத்திற்குரியது): "மின்னழுத்தம் → குறியீடு" அல்லது "குறியீடு → மின்னழுத்தம்" ஆகிய முறைகளில் ஒன்றை மாற்றியமைக்கப் பயன்படும் தேர்வு.
- உள்ளீட்டு மின்னழுத்தம் (விருப்பத்திற்குரியது): டிஜிட்டல் குறியீடாக மாற்ற வேண்டிய மின்னழுத்த மதிப்பு.
- குறியீடு (எண்ணிக்கை) (விருப்பத்திற்குரியது): 0 முதல் மாற்றியின் மேல் குறியீடு வரை உள்ள ஒரு முழு எண், இது மின்னழுத்தமாக மாற்றப்படும்.
- கண்டறிய வேண்டிய மிகச்சிறிய மாற்றம் (விருப்பத்திற்குரியது): இலக்கு வைக்கப்படும் மிகச்சிறிய மின்னழுத்த படி அளவு, இது தேவையான பிட் ரெசல்யூஷனைக் கணக்கிடப் பயன்படுகிறது.
இக்கருவியில் உள்ள "உதாரணத்தை ஏற்று" மற்றும் "அழி" பொத்தான்கள் மூலம் உள்ளீடுகளை எளிதாக நிரப்பவோ அல்லது மீட்டமைக்கவோ முடியும்.
வெளியீட்டு முடிவுகள் மற்றும் குறியீடுகள்
கணக்கீடுகள் முடிந்ததும், கருவி பின்வரும் முடிவுகளை அதன் இடைமுகத்தில் காட்டுகிறது:
படி அளவு மற்றும் இரைச்சல்
- LSB படி அளவு: கணக்கிடப்பட்ட Least Significant Bit படி அளவு. இதன் கீழ் முழு அளவின் சதவீதம் மற்றும் ppm (parts per million) மதிப்புகள் காட்டப்படும்.
- குவாண்டமாக்கல் நிலைகள்: மாற்றியமைக்கக்கூடிய மொத்த நிலைகளின் எண்ணிக்கை (2^N).
- மேல் குறியீடு: மாற்றியால் வழங்கக்கூடிய அதிகபட்ச டிஜிட்டல் வெளியீட்டுக் குறியீடு (2^N - 1).
- முழு அளவிலான வரம்பு: மாற்றியின் மொத்த மின்னழுத்த வரம்பு (Full-Scale Range - FSR).
- அதிகபட்ச குவாண்டமாக்கல் பிழை (±½ LSB): கோட்பாட்டு ரீதியான அதிகபட்ச குவாண்டமாக்கல் பிழை.
- குவாண்டமாக்கல் இரைச்சல் (rms): ரூட்-மீன்-ஸ்கொயர் குவாண்டமாக்கல் இரைச்சல் மின்னழுத்தம்.
- சிறந்த SNR (முழு அளவிலான சைன் அலை): டெசிபல்களில் கணக்கிடப்படும் கோட்பாட்டு ரீதியான சிக்னல்-டு-நாய்ஸ் விகித உச்ச வரம்பு.
- டைனமிக் வரம்பு: டெசிபல்களில் கணக்கிடப்படும் கோட்பாட்டு ரீதியான டைனமிக் வரம்பு.
அளவீட்டு புள்ளியில்
- வெளியீட்டு குறியீடு: மின்னழுத்தத்திலிருந்து மாற்றப்பட்ட டிஜிட்டல் குறியீடு.
- பைனரி: வெளியீட்டுக் குறியீட்டின் இரும எண் வடிவம்.
- ஹெக்ஸாடெசிமல்: வெளியீட்டுக் குறியீட்டின் பதினாறும எண் வடிவம்.
- குறியீடு மின்னழுத்தம்: கொடுக்கப்பட்ட டிஜிட்டல் குறியீட்டிற்கு இணையான துல்லியமான மின்னழுத்தம்.
- குவாண்டமாக்கல் பிழை: உள்ளீட்டு மின்னழுத்தத்திற்கும், குறியீடு மின்னழுத்தத்திற்கும் இடையே உள்ள வேறுபாடு.
- இந்த குறியீட்டிற்கான உள்ளீட்டு சாளரம்: கணக்கிடப்பட்ட டிஜிட்டல் குறியீட்டிற்குள் அடங்கும் உள்ளீட்டு மின்னழுத்தங்களின் வரம்பு.
கணித சூத்திரங்களும் பிரதியீடுகளும்
இக்கருவி குறியீட்டு சூத்திரங்களையும், பயனர் உள்ளீடு செய்த எண்களைக் கொண்டு கணக்கிடப்பட்ட பிரதியீடுகளையும் விரிவாகக் காட்டுகிறது:
- முழு அளவிலான வரம்பு (FSR):
- ஒருமுனை வரம்பிற்கு: FSR = Vref
- இருமுனை வரம்பிற்கு: FSR = 2 × Vref
- LSB படி அளவு: LSB = FSR ÷ 2^N
- அதிகபட்ச குவாண்டமாக்கல் பிழை: ±LSB ÷ 2
- குவாண்டமாக்கல் இரைச்சல் (rms): LSB ÷ √12
- சிறந்த SNR (முழு அளவிலான சைன் அலை): SNR = 6.02 × N + 1.76 dB
- டைனமிக் வரம்பு: 6.02 × N dB
- மின்னழுத்தம் → குறியீடு மாற்றம்:
- ஒருமுனை குறியீடு: code = round(Vin ÷ LSB)
- இருமுனை குறியீடு: code = round((Vin + Vref) ÷ LSB)
- குறியீடு → மின்னழுத்தம் மாற்றம்:
- ஒருமுனை மின்னழுத்தம்: V = code × LSB
- இருமுனை மின்னழுத்தம்: V = code × LSB − Vref
- அளவீட்டு புள்ளியில் குவாண்டமாக்கல் பிழை: குவாண்டமாக்கல் பிழை = குறியீடு மின்னழுத்தம் − உள்ளீட்டு மின்னழுத்தம்
- தேவையான ரெசல்யூஷன் கணக்கீடு: N ≥ log₂(FSR ÷ step), இது அடுத்த முழு எண்ணிற்கு மாற்றப்படும்.
கணக்கீட்டு உதாரணம்
12 பிட்டுகள், 3.3 V குறிப்பு மின்னழுத்தம் மற்றும் ஒருமுனை வரம்பைக் கொண்டு "உதாரணத்தை ஏற்று" பொத்தானை அழுத்தும்போது கிடைக்கும் மதிப்புகள்:
- குவாண்டமாக்கல் நிலைகள் = 4,096
- மேல் குறியீடு = 4,095
- LSB படி அளவு = 3.3 V ÷ 4,096 ≈ 805.6641 µV
- அதிகபட்ச குவாண்டமாக்கல் பிழை = ±402.832 µV
- குவாண்டமாக்கல் இரைச்சல் ≈ 232.5752 µV rms
- சிறந்த SNR ≈ 74.01 dB
- டைனமிக் வரம்பு ≈ 72.25 dB
இங்கு 1.65 V உள்ளீட்டு மின்னழுத்தம் சரியாக நடுத்தர அளவில் அமைந்து, பூஜ்ஜிய குவாண்டமாக்கல் பிழையுடன் 2,048 என்ற குறியீட்டை (பைனரி: 1000 0000 0000, ஹெக்ஸாடெசிமல்: 0x800) உருவாக்குகிறது.
விதிகள் மற்றும் எல்லை நிலைகள்
- குவாண்டமாக்கல் மாதிரி: இக்கருவி ஒரு சிறந்த குவாண்டசைரை மாதிரியாகக் கொள்கிறது, இதில் முதல் குறியீடு மாற்றம் அரைப் படியில் (1 / 2 LSB) நிகழ்கிறது.
- கோட்பாட்டு வரம்புகள்: கணக்கிடப்படும் அனைத்து மதிப்புகளும் ஒரு சிறந்த மாற்றிக்கானவை மட்டுமே. ஒரு உண்மையான ADC-இல் INL/DNL, ஆஃப்செட், கெயின் மற்றும் குறிப்பு மின்னழுத்த நகர்வுப் பிழைகள் இருக்கும். எனவே, இங்கு காட்டப்படும் SNR மற்றும் ±½ LSB வரம்புகள் கோட்பாட்டு உச்ச வரம்புகளே தவிர, அளவிடப்பட்ட செயல்திறன் அல்ல.
- உயர் வரம்பு நிறைவுறுதல் (High Rail Clipping): உள்ளீட்டு மின்னழுத்தம் உயர் வரம்பிற்கு மேல் இருக்கும்போது, வெளியீடு மேல் குறியீட்டில் (2^N - 1) நிறைவுறும். அப்போது பின்வரும் எச்சரிக்கை காட்டப்படும்:
"உள்ளீடு உயர் வரம்பிற்கு மேலே உள்ளது: வெளியீடு மேல் குறியீட்டில் நிறைவுறுகிறது, மேலும் காட்டப்படும் பிழை உண்மையான எஞ்சிய பிழையாகும் — ±½ LSB வரம்பு இனி பொருந்தாது."
- குறைந்த வரம்பு நிறைவுறுதல் (Low Rail Clipping): உள்ளீட்டு மின்னழுத்தம் குறைந்த வரம்பிற்கு கீழே இருக்கும்போது, வெளியீடு குறியீடு 0-இல் நிறைவுறும். அப்போது பின்வரும் எச்சரிக்கை காட்டப்படும்:
"உள்ளீடு குறைந்த வரம்பிற்கு கீழே உள்ளது: வெளியீடு குறியீடு 0-இல் நிறைவுறுகிறது, மேலும் காட்டப்படும் பிழை உண்மையான எஞ்சிய பிழையாகும் — ±½ LSB வரம்பு இனி பொருந்தாது."
- நடுத்தர அளவு உள்ளீடு: உள்ளீடு சரியாக நடுத்தர அளவில் இருக்கும்போது, "சரியாக நடுத்தர அளவு: முழு வரம்பின் பாதி பூஜ்ஜிய குவாண்டமாக்கல் பிழையுடன் குறியீடு
‹code›-க்கு பொருந்துகிறது" என்ற குறிப்பு காட்டப்படும்.
தரவு பாதுகாப்பு மற்றும் செயலாக்கம்
நீங்கள் உள்ளிடும் ஒவ்வொரு எண்ணும் இந்த உலாவியிலேயே இருக்கும் — எதுவும் பதிவேற்றப்படாது. அனைத்து கணக்கீடுகளும் பயனரின் சாதனத்திலேயே உள்நாட்டில் (locally) செய்யப்படுகின்றன.
அடிக்கடி கேட்கப்படும் கேள்விகள் (FAQ)
12-பிட் ரெசல்யூஷன் என்பது 12-பிட் துல்லியத்தைக் குறிக்கிறதா? இல்லை. ரெசல்யூஷன் என்பது குறியீட்டின் அகலம் மட்டுமே — அதாவது வரம்பு எவ்வளவு நுணுக்கமாகப் பிரிக்கப்பட்டுள்ளது என்பது மட்டுமே. துல்லியம் என்பது மாற்றியின் INL மற்றும் ஆஃப்செட்/கெயின் பிழைகள், குறிப்பு மின்னழுத்தத்தின் சகிப்புத்தன்மை மற்றும் இரைச்சல், மற்றும் அதைச் சுற்றியுள்ள மின்சுற்று ஆகியவற்றால் வரையறுக்கப்படுகிறது. இதனால்தான் தரவுத்தாள்கள் ENOB-ஐக் குறிப்பிடுகின்றன: ஒரு 12-bit SAR பொதுவாக 10–11 பயனுள்ள பிட்டுகளை வழங்குகிறது. இங்கு காட்டப்படும் 74 dB சிறந்த SNR என்பது எந்தவொரு உண்மையான 12-பிட் மாற்றியும் எட்ட முடியாத உச்ச வரம்பாகும்.
±Vref உள்ளீடு கணக்கீட்டை எவ்வாறு மாற்றுகிறது? வரம்பு இருமடங்காகி 2 × Vref ஆகிறது, எனவே அதே மாற்றி இருமடங்கு அகலமுள்ள படிகளைக் கணக்கிடுகிறது: LSB = 2 × Vref ÷ 2^N. குறியீடுகள் எதிர்மறை முனையிலிருந்து நேர்மறை முனை வரை இயங்கும் — குறியீடு 0 என்பது −Vref, நடுக் குறியீடு 2^(N−1) என்பது 0 V, மற்றும் மேல் குறியீடு +Vref-க்கு ஒரு படி கீழே இருக்கும். மேலே உள்ள இருமுனை (bipolar) வரம்பைத் தேர்ந்தெடுத்தால், பூஜ்ஜிய வோல்ட் சரியாக நடுக் குறியீட்டில் அமையும்.
சில மூலங்கள் 2^N மூலமும் மற்றவை 2^N − 1 மூலமும் வகுப்பது ஏன்? அவை ஒரே மாற்றியின் இரண்டு வெவ்வேறு மாதிரிகள் ஆகும். தரவுத்தாள்கள் மற்றும் உன்னதமான குவாண்டமாக்கல் கோட்பாடு LSB = FSR ÷ 2^N என வரையறுக்கின்றன, இதில் முதல் குறியீடு மாற்றம் அரைப் படியில் நிகழும் — இந்த மாதிரிதான் இப்பக்கத்தில் பயன்படுத்தப்படுகிறது. Vref ÷ (2^N − 1) வடிவம் மேல் குறியீட்டை சரியாக Vref உடன் பொருத்துவதிலிருந்து வருகிறது, இது மைக்ரோகண்ட்ரோலர் பயிற்சிகளில் பொதுவானது. 12 பிட்டுகளில் இவ்விரண்டிற்கும் இடையே உள்ள வேறுபாடு சுமார் 0.02% மட்டுமே, இது எந்தவொரு உண்மையான குறிப்பு மின்னழுத்தத்தின் சகிப்புத்தன்மையை விடவும் மிகக் குறைவு; வெவ்வேறு மூலங்களிலிருந்து எண்களைச் சரிபார்க்கும்போது இவ்விரண்டையும் ஒன்றாகக் குழப்பிக் கொள்ள வேண்டாம்.
படி அளவு மிகவும் கரடுமுரடாக இருக்கும்போது நான் என்ன செய்ய வேண்டும்? சிக்னலில் சிறிய இரைச்சல் இருக்கும்போது, ஓவர்சாம்ப்ளிங் மற்றும் சராசரி காண்பது ரெசல்யூஷனை மேம்படுத்த உதவுகிறது: 4× மடங்கு மாதிரிகளைச் சராசரியாக்குவது சுமார் ஒரு பயனுள்ள பிட்டையும், 16× மடங்கு மாதிரிகள் இரண்டு பிட்டுகளையும் தருகின்றன, ஆனால் இரைச்சல் ஒயிட் நாய்ஸ் ஆகவும் தொடர்பற்றதாகவும் இருக்க வேண்டும் — முற்றிலும் தெளிவான, நிலையான சிக்னல் அதே குறியீட்டை மீண்டும் மீண்டும் செய்யும். அதற்கு அப்பால், அதிக பிட்டுகள் கொண்ட மாற்றிக்கு மாறவும் அல்லது சிக்னல் வரம்பின் பெரும்பகுதியை நிரப்பும் வகையில் புரோகிராமபிள்-கெயின் நிலையைச் சேர்க்கவும்.