دو تار انٹرفیس: ایڈریسز، صفحات، بینکس اور ٹائمنگ · تکنیکی تصریحات اور معیارات · آپٹیکل ٹرانسیورز اور کیبلز · دستاویزات · CodingBox
CodingBox دستاویزات

دو تار انٹرفیس: ایڈریسز، صفحات، بینکس اور ٹائمنگ

ہر پلگ ایبل ماڈیول ایک ہی دو تاروں — ایک سیریل کلاک اور ایک سیریل ڈیٹا لائن — کے ذریعے I²C پروٹوکول استعمال کرتے ہوئے منظم ہوتا ہے، جسے تخصیصات دو تار انٹرفیس (TWI) کہتی ہیں۔ SFP، QSFP، XFP اور CMIS ماڈیولز میں فرق یہ ہے کہ اس کے اوپر ایڈریس اسپیس کیسے ترتیب دی جاتی ہے: الگ ڈیوائسز، صفحہ بند میموری، یا صفحات کے بینکس۔ یہ مواد پروٹوکول سطح کا منظر ہے جس پر پروگرامرز، ہوسٹس اور CodingBox سب انحصار کرتے ہیں۔

طبعی تہہ

  • دو اوپن ڈرین لائنیں، SCL اور SDA، ہوسٹ سائیڈ پر پل اَپ کی جاتی ہیں؛ 3.3 V لاجک۔
  • ماڈیول ہمیشہ تابع ہوتا ہے؛ ہوسٹ (یا پروگرامر) ماسٹر ہوتا ہے اور کلاک پیدا کرتا ہے۔
  • ماڈیولز، جب مائیکرو کنٹرولر ڈیٹا لاتا ہے، کلاک کو کھینچ سکتے ہیں (SCL کو کم سطح پر رکھنا) — تخصیصات 500 µs تک کی اجازت دیتی ہیں۔
  • موجودگی اور انتخاب الگ پنز ہیں، بس ٹرانزیکشنز نہیں: MOD_ABS (SFP)، ModPrsL اور ModSelL (QSFP-کلاس اور CMIS)۔ ModSelL کئی ماڈیولز کو ایک بس شیئر کرنے دیتا ہے؛ SFP میں انتخاب پن نہیں ہوتا، اس لیے ہوسٹس ہر کیج کو اپنی بس یا ایک ملٹی پلیکسر دیتے ہیں۔

تخصیص کے لحاظ سے ایڈریس اسپیس

فیملیڈیوائس پتے (8-بٹ تحریر / 7-بٹ)تنظیمصفحہ انتخاب
SFP، SFP+، SFP28 (SFF-8472)A0h / 50h شناخت، A2h / 51h تشخیصA0h: 256 مسلسل بائٹس؛ A2h: 128 مسلسل + اختیاری صفحہ بند بالائی نصفA2h بائٹ 127، اگر A0h بائٹ 64 بٹ 4 سیٹ ہو
XFP (INF-8077i)A0h128 مسلسل + صفحہ بند بالائی "جدولیں"بائٹ 127
QSFP+، QSFP28 (SFF-8636)A0h128 مسلسل + صفحہ بند بالائی 128بائٹ 127
QSFP-DD، OSFP، SFP-DD… (CMIS)A0h128 مسلسل + بالائی 128 کے بینکس × صفحاتبائٹ 126 بینک، بائٹ 127 صفحہ

اس لیے بنیادی کام کے لیے SFP کو دو ڈیوائس پتوں کی ضرورت ہوتی ہے، مگر صفحہ بندی کی نہیں؛ XFP کے بعد ہر چیز ایک پتہ اور صفحہ بندی استعمال کرتی ہے۔ کچھ پرانے SFPs، A0h بائٹ 92 بٹ 2 ("ایڈریس تبدیلی درکار") سیٹ کرتے ہیں اور A2h کے جواب دینے سے پہلے وینڈر تسلسل درکار ہوتا ہے۔

ٹرانزیکشنز

عملتسلسلنوٹس
بے ترتیب پڑھناSTART · device addr+W · byte offset · START · device addr+R · data… · STOPروزمرہ پڑھائی؛ آف سیٹ خودکار بڑھتا ہے
مسلسل پڑھناپہلے بائٹ کے بعد کلاک دینا جاری رکھیںموجودہ ڈیوائس/صفحہ منظر کے اندر 255 → 0 پر لپٹتا ہے
موجودہ پتے سے پڑھناSTART · device addr+R · dataآخری آف سیٹ سے جاری رہتا ہے — اگر دوسرے ماسٹر نے مداخلت کی ہو تو نازک ہے
بائٹ تحریرSTART · addr+W · offset · data · STOPپھر t_WR کا انتظار کریں
صفحہ تحریرSTART · addr+W · offset · data × n · STOPمیموری ڈیوائس کی حد کے تابع (عموماً 4–16 بائٹس) اور اس کی اندرونی صفحہ حد پار نہیں ہونی چاہیے
تصدیقی پولنگSTART + addr+W جاری کریں، جب تک ماڈیول ACK نہ کرےمعلوم کرنے کا سب سے تیز طریقہ کہ تحریری چکر مکمل ہوا

بالائی صفحہ پڑھنا ہمیشہ دو ٹرانزیکشنز ہے: صفحہ انتخاب کا بائٹ (127، اور CMIS بینکس کے لیے 126) لکھیں، پھر 128–255 پڑھیں۔ انتخاب تبدیل ہونے تک برقرار رہتا ہے، اسی لیے پرانا صفحہ انتخاب "غلط مواد" پڑھنے کا ایک معروف سبب ہے۔

رفتار

تخصیصکلاک
SFF-8472 (SFP)100 kHz بنیادی شرح؛ کچھ ماڈیولز 400 kHz برداشت کرتے ہیں
INF-8077i (XFP)100 kHz
SFF-8636 rev 2.x (QSFP)400 kHz تک
CMIS / QSFP-DD / OSFP ہارڈویئر تخصیصات400 kHz تک

کم رفتار ہمیشہ جائز ہے۔ تحریروں کے لیے زیادہ تر پروگرامرز برائے نام کلاک سے بہت کم — چند کلوہَرٹز تک — چلے جاتے ہیں، کیونکہ EEPROM تحریری چکر اور مائیکرو کنٹرولر کے ذریعے چلنے والے ماڈیولز پڑھنے کی نسبت ٹائمنگ کے لیے بہت زیادہ حساس ہوتے ہیں۔

اہم ٹائمنگ

پیرامیٹرعام حدمطلب
t_init (SFP)300 msبجلی چالو ہونے / TX_DISABLE کی نفی سے اس وقت تک جب ماڈیول پوری طرح فعال ہو اور بس جواب دے
t_init (QSFP)2 sابتدا کاری مکمل ہونے اور Data_Not_Ready صاف ہونے تک
MgmtInit (CMIS)ہارڈویئر تخصیصات کے مطابق ≤ 2 sماڈیول کے MgmtInit چھوڑنے اور شناخت معتبر ہونے تک
t_WR40 msبائٹ یا مسلسل تحریر کے لیے زیادہ سے زیادہ تحریری چکر؛ ACK کی پولنگ کریں یا انتظار کریں
t_clock_hold500 µsماڈیول کے ذریعے زیادہ سے زیادہ کلاک کھینچنا
ton_IntL200 msفلیگ واقعے سے IntL فعال ہونے تک
ڈیٹا تیاربائٹ 110 بٹ 0 (SFP)، بائٹ 2 بٹ 0 (QSFP)سیٹ ہونے کے دوران مانیٹرز پر بھروسا نہ کریں

مسائل اور ان کے حل

علامتپروٹوکول سببحل
تمام FFhACK نہیں — غلط ڈیوائس پتہ، صفحہ نافذ نہیں، ماڈیول غیر موجودA0h بمقابلہ A2h، صفحہ بٹس، نشست جانچیں
غلط موادپرانا صفحہ/بینک انتخابہر بالائی صفحہ رسائی سے پہلے 127 (اور 126) لکھیں
خراب بائٹسکلاک بہت تیز، لمبی تاریں، DDM کو پول کرنے والے ہوسٹ کے ساتھ بس تنازعہرفتار کم کریں، کیبل چھوٹی رکھیں، فعال سوئچ میں نہیں بلکہ ٹیسٹ بینچ پر پڑھیں
تحریر "کامیاب"، پرانا واپس پڑھابہت تیز لکھا، t_WR نظر انداز کیا، صفحہ تحریر کی حد پار کیانتظار کے ساتھ بائٹ تحریریں یا چھوٹے حصے؛ ACK پولنگ
بس اٹک جائے، SCL یا SDA کم سطح پر اٹکیمنقطع ٹرانزیکشنSCL کے نو نبضیں کلاک کریں، پھر STOP؛ ماڈیول کی بجلی بند کر کے دوبارہ چلائیں
سوئچ میں کام کرتا ہے، پروگرامر پر غیر فعالماڈیول LPMode کے ختم ہونے یا انتخاب پن کی توقع رکھتا ہےModSelL/LPMode کا لحاظ رکھیں؛ t_init کی اجازت دیں

ان کے ٹیسٹ بینچ تشخیصی طریقے EEPROM پڑھنے اور لکھنے کی خرابیاں میں جمع کیے گئے ہیں؛ بس کے اوپر چلنے والی حفاظتی اسکیمیں (پاس ورڈز، ہارڈویئر WP، محفوظ کرنے کے احکامات) رائٹ پروٹیکشن کی اقسام میں ہیں۔

فعال نظام میں پڑھنا

ایک ہوسٹ ہر چند سیکنڈ میں DDM کو پول کرتا اور فلیگز پر ردعمل دیتا ہے؛ اسی بس پر دوسرا ماسٹر (ایک پروگرامر کلپ، ایک اِن بینڈ ٹول) ٹکراؤ، غلط پتے پر تحریریں، اور بدترین صورت میں غلط آف سیٹ پر لینڈ ہونے والی صفحہ تحریر سے ماڈیول کو ناقابل استعمال بنا دیتا ہے۔ ضرورت ہو تو جگہ پر پڑھیں؛ ٹیسٹ بینچ پر لکھیں۔

CodingBox میں

CodingBox ہر فارم فیکٹر کے لیے ایڈریس ماڈل خودکار طور پر سنبھالتا ہے — SFP کے لیے A0h/A2h، QSFP اور XFP کے لیے صفحہ بندی، CMIS کے لیے بینک + صفحہ — آپ کو پروگرامر پروفائل کے لحاظ سے بس رفتار اور تحریر ٹائمنگ سیٹ کرنے دیتا ہے، اور ہر تحریر کو واپس پڑھ کر تصدیق کرتا ہے (ماڈیول پر لکھنا)۔


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