کنٹرولر اور اس کا فرم ویئر: DDM، APC، میموری، پروٹیکشن
ہر زیرِانتظام ٹرانسیور کے اندر ایک چھوٹا کمپیوٹر ہوتا ہے۔ مائیکروکنٹرولر (MCU) پیمائش کرتا، کنٹرول کرتا اور رپورٹ دیتا ہے، اور پروگرامر کے نقطۂ نظر سے سب سے اہم بات یہ ہے کہ وہی وہ میموری ہے جسے آپ پڑھتے اور لکھتے ہیں۔ کسی ماڈیول میں سادہ EEPROM ہو یا ایک MCU جو اس جیسا برتاؤ کرے، یہی طے کرتا ہے کہ اسے کیسے کوڈ کیا جا سکتا ہے، بعض تحریریں پاور سائیکل کے بعد کیوں غائب ہو جاتی ہیں، اور پاس ورڈز سرے سے کیوں موجود ہیں۔ یہ صفحہ بتاتا ہے کہ کنٹرولر کیا کرتا ہے اور اس کا ڈیزائن بینچ پر کیسے ظاہر ہوتا ہے۔
MCU کیا کرتا ہے
| کام | تفصیلات | اس صورت میں نظر آتا ہے |
|---|---|---|
| پیمائش | تھرمسٹر یا آن چپ سینسر سے درجہ حرارت، Vcc، لیزر بایس، مانیٹر-PD کرنٹ (Tx) اور ریسیور فوٹوکرنٹ (Rx) کی 10–12-بٹ ADC کے ذریعے ہر سیکنڈ میں کئی بار نمونہ گیری کرتا ہے؛ فیکٹری کیلیبریشن لاگو کرتا ہے | DDM قدریں — پیرامیٹرز |
| APC — خودکار پاور کنٹرول | مانیٹر-PD کرنٹ کو فیکٹری ہدف سے ملاتا اور ڈرائیور کے بایس DAC کو ایڈجسٹ کرتا ہے | مستقل Tx پاور، بڑھتا بایس — Tx بایس اور لیزر کی عمر |
| درجہ حرارت کی تلافی | لک اپ ٹیبلز درجہ حرارت کے ساتھ ماڈیولیشن کرنٹ اور PAM4 پر DSP سیٹنگز کو ایڈجسٹ کرتی ہیں | مستحکم ایکسٹنکشن ریشو |
| TEC کنٹرول | ٹھنڈے کیے جانے والے ماڈیولز پر لیزر کا درجہ حرارت برقرار رکھنے والا PID لوپ؛ DWDM پر طول موج لاکر کا فیڈبیک | لیزر کے درجہ حرارت اور TEC کرنٹ کے مانیٹر |
| حدیں اور فلیگز | ہر مانیٹر کو الارم/انتباہ کی حدوں سے ملاتا، برقرار رہنے والے فلیگز سیٹ کرتا اور IntL چلاتا ہے | حدیں اور الارمز |
| کم رفتار پنز | TX_DISABLE، RS0/RS1، LPMode، ResetL پڑھتا ہے؛ TX_FAULT، RX_LOS چلاتا ہے (یا ہارڈویئر سگنلز کی منتقلی کو کنٹرول کرتا ہے) | پن کا رویہ |
| دو تاروں کا سلیو | A0h/A2h (SFP) یا صفحات/بینکس والے A0h (QSFP، CMIS) پر جواب دیتا ہے | میموری نقشہ — دو تاروں کا انٹرفیس |
| اسٹیٹ مشینیں | CMIS ماڈیول اور ڈیٹا پاتھ کی حالتیں؛ ایپلیکیشن کا انتخاب؛ اسکویلچ | CMIS |
| تحفظ اور وینڈر افعال | پاس ورڈز، تحریر سے محفوظ علاقے، محفوظ کرنے کے احکامات، وینڈر ان لاک، توثیقی دستخط | تحفظ کی اقسام |
| CDB / فرم ویئر اپ ڈیٹ | CMIS ماڈیولز پر نئے فرم ویئر امیجز وصول اور فلیش کرتا ہے | فرم ویئر ورژن بائٹس |
عام اجزا: کم قیمت SFP/SFP+ میں چند kB فلیش والے 8-بٹ MCUs (8051 کلاس)؛ 100G+ اور CMIS ماڈیولز میں 32-بٹ Cortex-M کلاس؛ بعض وینڈرز مخصوص ٹرانسیور کنٹرولر ASIC استعمال کرتے ہیں جو ADCs، DACs اور دو تاروں کے سلیو کو یکجا کرتا ہے۔
میموری بنانے کے دو طریقے
| ڈیزائن | نقشہ کیسے محفوظ ہوتا ہے | پروگرامنگ کے نتائج |
|---|---|---|
| A0h کے لیے علیحدہ EEPROM (مثلاً AT24C02 کلاس)، A2h کے لیے MCU | A0h شناخت ایک حقیقی سیریل EEPROM ہے جس سے ہوسٹ اور پروگرامر براہِ راست بات کرتے ہیں؛ MCU صرف تشخیص سنبھالتا ہے | A0h تحریریں عام EEPROM تحریریں ہیں؛ t_WR اور صفحے کے حجم کا لحاظ رکھیں؛ ہارڈویئر WP پن انہیں روک سکتا ہے (تحفظ کی اقسام 1–3) |
| MCU سے ایمولیٹ شدہ نقشہ | MCU ہر دو تاروں کی درخواست کا جواب RAM سے دیتا اور تبدیلیوں کو اپنے اندرونی فلیش/EEPROM میں نقل کرتا ہے — یا نہیں کرتا | تحریریں وہاں جاتی ہیں جہاں فرم ویئر فیصلہ کرے: قبول، نظر انداز، پاس ورڈ سے محدود، صرف محفوظ کرنے کے حکم کے بعد محفوظ، یا اگلے بوٹ پر فرم ویئر کی اپنی نقل سے اووررائٹ (اقسام 4–5) |
| ہائبرڈ | وینڈر بلاک کے لیے EEPROM، صفحات اور پاس ورڈز کے لیے MCU | ہر بائٹ حد کے لیے مخلوط اصول |
ایمولیٹ شدہ نقشہ بینچ کے بیشتر معمے سمجھاتا ہے: جس صفحے کو فرم ویئر نافذ نہیں کرتا اس سے FFh، ایسی تحریریں جو “کامیاب” ہوتی اور واپس پلٹ جاتی ہیں، وہ بائٹس جو ایک حد میں صرف پڑھنے کے قابل اور اگلی میں آزاد ہوں، اور MCU کے نمونہ لینے میں مصروف ہونے پر کلاک اسٹریچنگ (EEPROM پڑھنے اور لکھنے کی خرابیاں)۔
بوٹ اور t_init ونڈو
پاور اپ پر MCU اپنے بجلی بند ہونے کے بعد بھی ڈیٹا محفوظ رکھنے والے ذخیرے سے کیلیبریشن اور شناخت لوڈ کرتا، ADC شروع کرتا، APC کو اس کے ہدف تک چلاتا، اور تب ہی دو تاروں کا سلیو فعال کر کے data-not-ready صاف کرتا ہے۔ یہی وہ 300 ms (SFP) سے 2 s (QSFP/CMIS) ہے جس کی تخصیصات اجازت دیتی ہیں، اس سے پہلے کہ ہوسٹ جواب کی توقع کرے، اور اسی لیے داخل کرنے کے فوراً بعد پڑھنے پر بے معنی ڈیٹا ملتا ہے (ہوسٹ کیا کرتا ہے)۔
کیلیبریشن یہاں موجود ہوتی ہے
خام ADC گنتیوں کا ان مستقلات کے بغیر کوئی مطلب نہیں جو فیکٹری نے ٹیسٹ اسٹیشن پر ناپے: حقیقی لانچ پاور کے مقابل مانیٹر-PD کرنٹ، ماڈیول کی طول موج پر اِن پٹ پاور کے مقابل ریسیور فوٹوکرنٹ، تھرمسٹر منحنی، بایس DAC پیمانہ۔ اندرونی طور پر کیلیبریٹ شدہ ماڈیولز پر فرم ویئر انہیں لاگو کر کے طبعی اکائیوں میں رپورٹ کرتا ہے؛ بیرونی طور پر کیلیبریٹ شدہ ماڈیولز پر مستقلات ہوسٹ کے لاگو کرنے کے لیے A2h 56–91 میں لکھے جاتے ہیں (کیلیبریشن)۔ وینڈر حصے کو اووررائٹ کرنا، جہاں بعض فرم ویئر یہ مستقلات رکھتے ہیں، بے معنی DDM یا ناکام APC لوپ پیدا کرتا ہے — یہی لاپرواہ تحریر سے ماڈیول کے ناقابلِ استعمال ہو جانے کا عام طریقہ ہے (تیاری اور جانچ)۔
تحفظ کیسے نافذ کیا جاتا ہے
| طریقۂ کار | عمل درآمد | بینچ پر صورت |
|---|---|---|
| پاس ورڈ | فرم ویئر پاس ورڈ کے حصے (SFP A2h 123–126، QSFP 123–126، CMIS 122–125) میں لکھے 4 بائٹس کو محفوظ قدر سے ملاتا ہے؛ نشست کے لیے تحریریں ان لاک کرتا ہے | درست قدر داخل کرنے تک WRITE FAIL — پاس ورڈز |
| تحریر سے محفوظ علاقے | فرم ویئر ان حدود پر تحریروں کو نظر انداز کرتا ہے جنہیں وہ صرف پڑھنے کے قابل سمجھتا ہے (چیک سم، حدیں، کیلیبریشن، وینڈر حصہ) | بائٹس بلا خرابی بدلے بغیر واپس پڑھے جاتے ہیں |
| علیحدہ EEPROM پر ہارڈویئر WP پن | پن ماڈیول کے اندر ہائی سے منسلک ہوتا یا MCU سے چلتا ہے | اسے چلانے کے لیے پروگرامر بورڈ درکار ہے |
| محفوظ کرنے کا حکم | تحریریں RAM میں جاتی ہیں؛ وینڈر کے مخصوص ترتیب وار اشارے انہیں فلیش میں درج کرتے ہیں | ترتیب بھیجے بغیر پاور سائیکل کے بعد واپس پلٹ جاتی ہیں |
| فرم ویئر عکس | بوٹ پر فرم ویئر اپنے امیج سے نقشہ دوبارہ لکھتا ہے | ہر پاور سائیکل پر تبدیلیاں غائب؛ صرف وینڈر کا آلہ امیج بدل سکتا ہے |
| توثیق | فرم ویئر وینڈر بائٹس میں دستخط (سیریل، وینڈر ڈیٹا اور راز کا ہیش) بناتا ہے؛ ہوسٹ تصدیق کرتا ہے | شناخت میں ترامیم چیک سم سے گزر جاتی ہیں مگر ہوسٹ پھر بھی مسترد کرتا ہے — وینڈر لاک |
ہر قسم کو پہچاننے اور پروگرام کرنے کا طریقہ: تحفظ کی اقسام، EEPROM کی دوبارہ کوڈنگ۔
فرم ویئر اپ ڈیٹس
CMIS ماڈیولز CDB احکامات (ڈاؤن لوڈ شروع کریں، بلاکس لکھیں، مکمل کریں، چلائیں، درج کریں) کے ذریعے دو تاروں کی بس پر فرم ویئر وصول کر سکتے ہیں، اکثر دو امیج بینکس کے ساتھ تاکہ ناکام اپ ڈیٹ سے واپسی ہو سکے۔ SFF-8472/8636 ماڈیولز میں معیاری طریقۂ کار نہیں؛ وینڈرز وینڈر بائٹس کے ذریعے ملکیتی ترتیبیں استعمال کرتے ہیں۔ وینڈرز CMIS باہمی عملی مسائل کو فرم ویئر اصلاحات سے حل کرتے ہیں (CMIS مسائل)، اور فرم ویئر ورژن بائٹس (CMIS زیریں صفحہ 39–40، صفحہ 01h 128–129) کو شناخت کے ساتھ ریکارڈ کرنا مفید ہے۔
کنٹرولر کی ناکامی کی صورتیں
| علامت | ممکنہ وجہ |
|---|---|
| ماڈیول بس پر نظر نہیں آتا، آپٹکس دوسری صورت میں درست ہیں | MCU بوٹ نہیں ہو رہا: خراب فرم ویئر، براؤن آؤٹ، خراب کرسٹل |
| DDM قدریں منجمد یا بے معنی | ADC یا کیلیبریشن کی خرابی؛ فرم ویئر ہینگ |
| Tx پاور بدل رہی ہے، حالانکہ APC سے اسے مستحکم رکھنے کی توقع ہے | مانیٹر-PD یا ADC کی خرابی، APC غیر فعال |
| بے ترتیب NACKs، سست پڑھائیاں | MCU اوورلوڈ (نمونہ گیری)، تیز پروگرامر کی وجہ سے کلاک اسٹریچنگ کی حدوں سے تجاوز |
| کام کرتا ہے، مگر ہر تحریر واپس پلٹ جاتی ہے | ڈیزائن کے مطابق فرم ویئر عکس — خرابی نہیں |
| تحریر کے بعد ماڈیول مردہ | فرم ویئر ترتیب بندی یا کیلیبریشن کا حصہ اووررائٹ ہو گیا |
CodingBox میں
CodingBox ماڈیول کو اسی طرح برتتا ہے جیسے فرم ویئر اسے پیش کرتا ہے: یہ نقشے کی قسم شناخت کرتا ہے، محفوظ کرنے کے حکم اور عکس والے ڈیزائنوں کے لیے معلوم پاس ورڈز اور پروگرامنگ اسکرپٹس لاگو کرتا ہے، چیک سم دوبارہ بناتا ہے، ہر تحریر سے پہلے بیک اپ رکھتا ہے، اور کنٹرولر کا ردِعمل خراب ہو تو آپ اسے Code database سے بحال کر سکتے ہیں۔ EEPROM editor ان حدود کو نشان زد کرتا ہے جنہیں تخصیص صرف پڑھنے کے قابل یا وینڈر کے مخصوص قرار دیتی ہے، تاکہ آپ جان سکیں کہ فرم ویئر کی نجی حدود میں کب لکھ رہے ہیں۔