অভ্যন্তরীণ ও বাহ্যিক ক্যালিব্রেশন
ফটোডায়োড 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 পাওয়ার (4র্থ ঘাতের বহুপদী) |
| 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)। প্রায় সব মডিউল গড় পাওয়ার রিপোর্ট করে; কিছু মাল্টিমোড Ethernet অপটিক্সে 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 স্বয়ংক্রিয়ভাবে নতুন করে হিসাব হয়; যে মডিউলের ক্যালিব্রেশন এলাকা ওভাররাইট হয়ে গেছে, তা মেরামতে এটি কাজে লাগে।
কারখানার টেস্ট স্টেশনে ধ্রুবকগুলো কীভাবে তৈরি হয় এবং ফার্মওয়্যার সেগুলো কোথায় রাখে: উৎপাদন ও পরীক্ষা, কন্ট্রোলার ও ফার্মওয়্যার।