इंटरनल और एक्सटर्नल कैलिब्रेशन
फ़ोटोडायोड सीधे dBm नहीं देता और थर्मिस्टर सीधे °C नहीं देता। कहीं न कहीं सेंसर की रॉ रीडिंग को एक इंजीनियरिंग वैल्यू में बदलना पड़ता है — और SFF-8472 इसे या तो मॉड्यूल के अंदर या होस्ट पर होने देता है, मॉड्यूल की दी हुई कॉन्स्टेंट का इस्तेमाल करके। यह ग़लत हो जाना ही आमतौर पर वह वजह है जब कोई स्विच एक बिल्कुल ठीक काम करते मॉड्यूल के लिए बेतुके DDM आँकड़े दिखाता है।
कैलिब्रेशन के दो मोड
| मोड | किससे तय होता है | कौन कन्वर्ट करता है | मॉनिटर बाइट में क्या होता है |
|---|---|---|---|
| इंटरनल | A0h बाइट 92 बिट 5 | मॉड्यूल का माइक्रोकंट्रोलर | स्टैंडर्ड यूनिट में फ़ाइनल वैल्यू (1/256 °C, 100 µV, 2 µA, 0.1 µW) |
| एक्सटर्नल | A0h बाइट 92 बिट 4 | होस्ट | रॉ A/D काउंट; होस्ट A2h 56–95 से कॉन्स्टेंट लागू करता है |
लगभग हर आधुनिक मॉड्यूल इंटरनली कैलिब्रेटेड होता है। एक्सटर्नली कैलिब्रेटेड मॉड्यूल पुराने या लागत के हिसाब से ऑप्टिमाइज़ किए गए डिज़ाइन होते हैं; जो होस्ट कन्वर्ज़न को छोड़ देते हैं, उन पर इनकी वैल्यू बकवास जैसी दिखती हैं।
एक्सटर्नल कैलिब्रेशन कॉन्स्टेंट — A2h बाइट 56–95
| बाइट | कॉन्स्टेंट | फ़ॉर्मैट | किस पर लागू |
|---|---|---|---|
| 56–75 | Rx_PWR(4) … Rx_PWR(0) | पाँच IEEE-754 सिंगल-प्रिसिज़न फ़्लोट | Rx पावर (चौथे क्रम का पॉलिनॉमियल) |
| 76–77 | Tx_I का स्लोप | अनसाइन्ड फ़िक्स्ड-पॉइंट 8.8 | Tx बायस |
| 78–79 | Tx_I का ऑफ़सेट | साइन्ड 16-बिट | Tx बायस |
| 80–81 | Tx_PWR का स्लोप | अनसाइन्ड 8.8 | Tx पावर |
| 82–83 | Tx_PWR का ऑफ़सेट | साइन्ड 16-बिट | Tx पावर |
| 84–85 | T का स्लोप | अनसाइन्ड 8.8 | तापमान |
| 86–87 | T का ऑफ़सेट | साइन्ड 16-बिट | तापमान |
| 88–89 | V का स्लोप | अनसाइन्ड 8.8 | Vcc |
| 90–91 | V का ऑफ़सेट | साइन्ड 16-बिट | Vcc |
| 92–94 | रिज़र्व्ड | — | — |
| 95 | CC_DMI | बाइट 0–94 का चेकसम | — |
कन्वर्ज़न फ़ॉर्मूला
Rx_PWR (µW) = Rx4·raw⁴ + Rx3·raw³ + Rx2·raw² + Rx1·raw + Rx0
Tx_I (µA) = Tx_I_slope · raw + Tx_I_offset
Tx_PWR (0.1 µW) = Tx_PWR_slope · raw + Tx_PWR_offset
T (1/256 °C)= T_slope · raw + T_offset
V (100 µV) = V_slope · raw + V_offset
इंटरनली कैलिब्रेटेड मॉड्यूल के लिए कॉन्स्टेंट को नज़रअंदाज़ कर दिया जाता है; फिर भी कई विक्रेता इन्हें आइडेंटिटी वैल्यू से भर देते हैं (स्लोप 1.0, ऑफ़सेट 0, Rx पॉलिनॉमियल 0,0,0,1,0) ताकि अगर कोई होस्ट फिर भी इन्हें लागू करे तो सही जवाब मिले।
औसत बनाम OMA
A0h बाइट 92 का बिट 3 बताता है कि Rx पावर किस तरह बताई गई है: औसत पावर (1) या OMA — ऑप्टिकल मॉड्यूलेशन एम्प्लिट्यूड (0)। लगभग सभी मॉड्यूल औसत पावर रिपोर्ट करते हैं; OMA कुछ मल्टीमोड ईथरनेट ऑप्टिक्स पर दिखता है जहाँ स्टैंडर्ड संवेदनशीलता को इसी तरह बताता है। OMA के आँकड़े की तुलना औसत-पावर वाली संवेदनशीलता स्पेक से करना ~3 dB तक गुमराह कर सकता है।
कैलिब्रेशन की गड़बड़ी के लक्षण
| लक्षण | संभावित कारण |
|---|---|
| तापमान 0 °C या −128 °C, Vcc 0.00 V | होस्ट किसी एक्सटर्नली कैलिब्रेटेड मॉड्यूल से रॉ काउंट बिना कन्वर्ट किए पढ़ रहा है |
| Rx पावर नामुमकिन हद तक ज़्यादा (+10 dBm) या हमेशा −40 dBm | ग़लत कैलिब्रेशन मोड मान लिया गया, या कॉन्स्टेंट ज़ीरो हैं |
| एक ही मॉड्यूल के लिए दो स्विच मॉडल में वैल्यू बहुत अलग-अलग | एक होस्ट बाइट 92 मानता है, दूसरा इंटरनल मान लेता है |
| पूरे बैच के हर मॉड्यूल में Tx पावर बिल्कुल एक जैसी | यह कैलिब्रेशन की गड़बड़ी नहीं — यह एक स्थिर Tx है (DDM लेवल) |
CodingBox में
CodingBox बाइट 92 पढ़ता है, मॉड्यूल के बताने पर एक्सटर्नल कैलिब्रेशन कॉन्स्टेंट लागू करता है, और रॉ और कन्वर्टेड दोनों वैल्यू दिखाता है, ताकि जिस मॉड्यूल को कोई स्विच ग़लत दिखा रहा हो उसे बेंच पर परखा जा सके। कॉन्स्टेंट वाला ब्लॉक 56–95 EEPROM editor में एडिट किया जा सकता है, और CC_DMI अपने आप दोबारा गिन लिया जाता है — यह उन मॉड्यूल को ठीक करने में काम आता है जिनका कैलिब्रेशन एरिया ओवरराइट हो चुका हो।
फ़ैक्ट्री टेस्ट स्टेशन पर कॉन्स्टेंट कैसे बनाए जाते हैं और फ़र्मवेयर इन्हें कहाँ रखता है: मैन्युफ़ैक्चरिंग और टेस्टिंग, कंट्रोलर और फ़र्मवेयर।