پروگرامر پر EEPROM پڑھنے اور لکھنے کی خرابیاں · عام مسائل اور حل · آپٹیکل ٹرانسیورز اور کیبلز · دستاویزات · CodingBox
CodingBox دستاویزات

پروگرامر پر EEPROM پڑھنے اور لکھنے کی خرابیاں

کسی ماڈیول کی تشخیص یا کوڈنگ سے پہلے اسے پڑھنا ہوتا ہے، اور پھر اکثر اس میں لکھنا بھی ہوتا ہے۔ دونوں مراحل مخصوص طریقوں سے ناکام ہوتے ہیں۔ یہ صفحہ ہر ناکامی کو اس کی وجہ اور اسے درست کرنے والی ترتیب یا کارروائی سے ملاتا ہے، اس صورت سے کہ ماڈیول بالکل نظر نہ آئے، اس تحریر تک جو “کامیاب” ہو کر خاموشی سے غائب ہو جاتی ہے۔

ماڈیول کا پتہ نہیں چلتا

جانچوجہ
درست بیٹھنا اور کریڈلماڈیول کو کنیکٹر میں پورا اترنا چاہیے؛ اس کے فارم فیکٹر کے لیے اڈاپٹر استعمال کریں — QSFP کریڈل میں SFP نظر نہیں آئے گا
پاور اپ کا وقتلگانے کے بعد ٹو-وائر بس کے جواب دینے سے پہلے ماڈیول کو SFP کے لیے زیادہ سے زیادہ ~2 s، یا CMIS کے لیے اس سے زیادہ وقت درکار ہوتا ہے
ماڈیول موجودگی کا سگنلMOD_ABS / ModPrsL کو فعال ہونا چاہیے؛ مڑی ہوئی پن یا سگنل کے بغیر ماڈیول غیر موجود دکھائی دیتا ہے
کم طاقت کی حالت (CMIS)LowPwr میں شناخت پڑھی جا سکتی ہے، مگر کچھ میزبان/پروگرامر مکمل رسائی کے لیے Ready کی توقع رکھتے ہیں
بس کی رفتار100 kHz یا اس سے کم سے شروع کریں؛ کچھ ماڈیول 400 kHz پر NACK کرتے ہیں
خراب ماڈیولکسی بھی رفتار پر نہ DDM ہو نہ شناخت — اسے ناقابلِ استعمال قرار دینے سے پہلے دوسرے بورڈ پر تصدیق کریں

ریڈ FFh، 00h یا بے معنی ڈیٹا واپس کرتے ہیں

علامتوجہحل
تمام FFhI²C NACK — اس پتے پر کوئی آلہ نہیں، یا صفحہ موجود نہیںپتہ جانچیں (SFP پر A0h شناخت بمقابلہ A2h تشخیص؛ QSFP/CMIS پر پیجنگ کے ساتھ واحد A0h)
تمام 00hماڈیول کو پاور نہیں ملی / ری سیٹ میں روکا گیا؛ یا EEPROM واقعی خالی ہےکریڈل کی پاور اور ماڈیول کی موجودگی جانچیں؛ خالی ماڈیول (غیر کوڈ شدہ اسٹاک) موجود ہیں
درست طوالت، غلط موادمطلوبہ صفحے کے بجائے دوسرا صفحہ پڑھ رہے ہیںصفحہ منتخب کرنے والا بائٹ (127) لکھ کر دوبارہ پڑھیں؛ CMIS پر بینک منتخب کرنے والا بائٹ (126) بھی
بگڑے ہوئے / سرکے ہوئے بائٹسبس بہت تیز ہے، کیبل لمبی ہے، یا میزبان سے تصادم ہےرفتار ≤ 100 kHz کریں؛ مختصر لیڈز استعمال کریں؛ چلتے سوئچ میں نہیں، بینچ پر پڑھیں
A2h ریڈ ناکام، A0h درستتشخیص کے بغیر ماڈیول، یا محفوظ تشخیصی بلاکA0h بائٹ 92 بٹ 6 (DDM نافذ ہے) جانچیں؛ بعض تحریر سے محفوظ اقسام صرف A0h کا جواب دیتی ہیں
ریڈز کے درمیان قدریں بدلتی ہیںموجودہ مانیٹر ویلیوز — معمول کے مطابق؛ یا ڈیٹا تیار نہیںDDM بائٹس کا بدلنا متوقع ہے؛ اسنیپ شاٹ پر بھروسا کرنے سے پہلے ڈیٹا-ریڈی بٹ جانچیں

تحریر فوراً ناکام ہوتی ہے

WRITE FAIL، ڈیٹا پر NACK، یا بائٹ واپس پڑھنے پر غیر تبدیل شدہ ہو:

وجہکیسے پہچانیںکیا کریں
پاس ورڈ درکار ہے (فرم ویئر کنٹرولر)پاس ورڈ ایڈریس پر درست قدر رکھنے تک تحریر مسترد ہوتی ہے (SFP A2h 0x7B–0x7E, QSFP 123–126, CMIS 122–125)ماڈیول کا پاس ورڈ محفوظ میموری اور پاس ورڈز میں درج کریں؛ معلوم وینڈر پاس ورڈ ڈیٹابیس سے لاگو ہوتے ہیں
ہارڈویئر رائٹ پروٹیکٹپاس ورڈ سے قطع نظر صرف پڑھنے کے قابل، پاور سائیکل کے بعد بھی برقرارWP پن کو پروگرامر بورڈ سے ڈرائیو ہونا چاہیے — صرف سافٹ ویئر کافی نہیں؛ تحریر سے حفاظت کی اقسام دیکھیں
ٹائمنگوقفے وقفے سے ناکامیاں، جزوی صفحات لکھے گئےکلاک آہستہ کریں (قابلِ اعتماد EEPROM تحریر کے لیے اکثر ~1 kHz درکار ہوتا ہے)، بائٹس/صفحات کے درمیان رائٹ سائیکل وقت (5–10 ms) کا لحاظ کریں، اور بلاکس کے درمیان وقفے بڑھائیں
صرف پڑھنے کا علاقہمخصوص بائٹس کبھی نہیں بدلتے (کچھ حصوں میں چیک سمز، حدیں، وینڈر ایریا)EEPROM میں ڈیزائن کے لحاظ سے محفوظ علاقہ ہے؛ صرف وہی فیلڈز لکھیں جن کی ماڈیول اجازت دے
غلط حالتCMIS ماڈیولز کو تحریر قبول کرنے سے پہلے LowPwr، یا غیر فعال ڈیٹا پاتھ درکار ہو سکتا ہےپہلے ماڈیول کو مطلوبہ حالت میں لائیں
صفحہ منتخب نہیںآپ نے درست آف سیٹ غلط صفحے پر لکھاتحریر سے پہلے بائٹ 127 (اور 126) سیٹ کریں اور پیج سلیکٹ بائٹ واپس پڑھ کر تصدیق کریں

تحریر “کامیاب” ہوتی ہے مگر برقرار نہیں رہتی

  • پاور سائیکل کے بعد واپس آ جاتی ہے — ماڈیول تحریروں کو عارضی میموری میں رکھتا ہے اور وینڈر کی محفوظ کرنے کی کمانڈ مانگتا ہے؛ اس کے بغیر پرانا امیج واپس آتا ہے۔ یہ پروگرامنگ اسکرپٹ (تحریر سے حفاظت کی قسم 4) سے سنبھالا جاتا ہے۔
  • فوراً واپس آ جاتی ہے — مائیکروکنٹرولر EEPROM کو اپنے محفوظ شدہ ذخیرے سے نقل کرتا ہے اور آپ کے بائٹس کو بدل دیتا ہے؛ اس کے لیے مینوفیکچرر کا الگورتھم درکار ہے (قسم 5)۔
  • کچھ بائٹس برقرار رہتے ہیں، باقی نہیں — جزوی طور پر محفوظ نقشہ؛ فیلڈ بہ فیلڈ لکھیں اور ہر ایک کی تصدیق کریں۔

کامیاب تحریر کے بعد میزبان ماڈیول کو مسترد کرتا ہے

وجہحل
چیک سمز پرانے ہیں — CC_BASE (بائٹ 63)، CC_EXT (95)، CC_DMI (A2h 95)، QSFP 191/223دوبارہ حساب کریں؛ CodingBox تحریر کے وقت خودکار طور پر کرتا ہے (میموری نقشہ)
شناخت اب غیر ہم آہنگ ہے — مثلاً وینڈر بدلا مگر مطابقت کوڈز یا طولِ موج مختلف ہارڈویئر بتاتے ہیںشناخت کو اصل آپٹکس کے مطابق رکھیں (رفتار اور شرح، جسمانی عدم مطابقتیں)
غلط ماڈیول قسم کے لے آؤٹ پر لکھاSFP کے طور پر لکھا گیا XFP، یا QSFP صفحے کی الجھن — بیک اپ سے بحال کریں

تحریر کے بعد ماڈیول ناکارہ ہو جاتا ہے

کیلیبریشن مستقلات، حدوں یا وینڈر مخصوص علاقے (جہاں بعض کنٹرولرز اپنی ترتیب رکھتے ہیں) پر بے معنی ڈیٹا لکھنے سے ماڈیول ناقابلِ استعمال ہو سکتا ہے۔ بحالی کا طریقہ: تحریر سے پہلے CodingBox کا لیا ہوا بیک اپ بحال کریں، Code database سے، پھر صرف مطلوبہ فیلڈز لکھیں۔

سنہری اصول

  1. پہلے پڑھیں اور محفوظ کریں — ہر تحریر سے پہلے مکمل ریڈ ہونا چاہیے جو ڈیٹابیس میں محفوظ ہو۔
  2. حفاظت کی قسم شناخت کریں، پہلی تحریر کی کوشش سے پہلے (تحریر سے حفاظت کی اقسام)۔
  3. آہستہ چلیں — کلاک اور بائٹ کے درمیان کا وقت زیادہ تر “اتفاقی” ناکامیوں کو حل کرتے ہیں۔
  4. صرف وہی لکھیں جو مقصود ہو — فیلڈز، پورے صفحات نہیں، سوائے امیج بحال کرنے کے۔
  5. پاور سائیکل کے بعد دوبارہ پڑھ کر تصدیق کریں۔

CodingBox میں

CodingBox فارم فیکٹر کے لحاظ سے درست پتے اور پیجنگ سے ماڈیولز پڑھتا ہے، EEPROM editor میں خام اور ڈی کوڈ شدہ بائٹس دکھاتا ہے، تحریر پر چیک سمز دوبارہ حساب کرتا ہے، خودکار طور پر بیک اپ محفوظ کرتا ہے، اور محفوظ اور محفوظ-کرنے-کی-کمانڈ والے ماڈیولز کے لیے پاس ورڈ درج کرنے اور پروگرامنگ اسکرپٹس کی سپورٹ کرتا ہے (ماڈیول لکھنا)۔ اگر بورڈ سطح کی خرابی کا شبہ ہو تو پروڈکٹ کا خرابیوں کا ازالہ دیکھیں۔

ان ناکامیوں کے پسِ منظر میں بس کے طریقہ کار — پتے، پیج سلیکٹ، رائٹ سائیکل وقت، کلاک اسٹریچنگ: ٹو-وائر انٹرفیس۔

ماڈیول جس طرح جواب دیتا ہے اس کی وجہ — MCU سے ایمولیٹ شدہ میموری، بوٹ ونڈو، کلاک اسٹریچنگ، محفوظ علاقے: کنٹرولر اور فرم ویئر۔


اگر آپ کو اس مضمون میں کوئی غلطی یا عدم درستی ملے تو متعلقہ حصہ منتخب کریں اور Ctrl+Enter دبا کر ۔