SMBus: کام کرنا، اختلافات اور اس کی درخواستیں۔

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





SMBus کو سال 1995 میں Intel نے لانچ کیا تھا اور یہ فلپس کے I²C سیریل بس پروٹوکول پر مبنی ہے۔ اس بس میں ڈیٹا، CLK اور ہدایات ہوتی ہیں جہاں گھڑی کی فریکوئنسی 10 kHz سے 100 kHz تک ہوتی ہے۔ SMBus کا بنیادی مقصد مدر بورڈ پر موجود آلات سے ڈیٹا کو کنٹرول کرنے اور حاصل کرنے کے لیے ایک سستے اور طاقتور طریقہ کی اجازت دینا ہے۔ SMBus عام طور پر پی سی میں درجہ حرارت کنٹرول، سمارٹ بیٹریوں اور دیگر کم بینڈوتھ سسٹم مینجمنٹ کمیونیکیشن کے لیے استعمال ہوتا ہے۔


یہ بس چارجر، ایک ذہین بیٹری اور ایک مائیکرو کنٹرولر کے درمیان رابطے کے رابطے کی نشاندہی کرتی ہے جو باقی سسٹم کے ساتھ بات چیت کرتا ہے۔ لیکن، SMBus کا استعمال مختلف آلات جیسے سسٹم سینسرز، پاور سے متعلقہ ڈیوائسز، کمیونیکیشن ڈیوائسز، انوینٹری EEPROMs وغیرہ کو جوڑنے کے لیے بھی کیا جاتا ہے۔ یہ مضمون ایپلی کیشنز کے ساتھ کام کرنے والے SMBus کے ایک جائزہ پر بحث کرتا ہے۔



SMBus پروٹوکول کیا ہے؟

ایس ایم بیس (سسٹم مینجمنٹ بس) ایک 2 وائر انٹرفیس ہے، جو مدر بورڈ پر مختلف آلات کے درمیان کم رفتار سسٹم مینجمنٹ کمیونیکیشن کے لیے اکثر استعمال ہوتا ہے۔ اس قسم کی بس کی طرف سے ڈیزائن کیا گیا تھا I2C پروٹوکول بنیادیں لہذا I2C اور SMBus دونوں میں کچھ مماثلتیں ہو سکتی ہیں اور وہ ایک جیسی بس پر آپس میں کام بھی کر سکتے ہیں۔

یہ بس I2C آپریشن کے اصولوں پر کام کرتی ہے جو ایک کنٹرول بس فراہم کرتی ہے، خاص طور پر سسٹم کے لیے سسٹم کے تاروں اور پن کی گنتی کو کم کرنے کے لیے الگ الگ کنٹرول لائنز استعمال کرنے کی بجائے آلات پر یا اس سے پیغامات بھیجنے کی اجازت دیتا ہے۔



SMBus والا آلہ مینوفیکچرنگ کی معلومات فراہم کر سکتا ہے، سسٹم کو اس کے حصے یا ماڈل نمبر سے آگاہ کر سکتا ہے، مختلف قسم کی خرابیوں کی اطلاع دے سکتا ہے، کنٹرول کے پیرامیٹرز کی اجازت دے سکتا ہے، اور اس کی پوزیشن کو دوبارہ دیکھ سکتا ہے۔

SMBus تفصیلات

SMBus کی تفصیلات سے مراد صرف 3 قسم کے آلات ہوسٹ، ماسٹر اور غلام ہیں۔

  • میزبان ایک خاص ماسٹر ہوتا ہے اور یہ سسٹم کے CPU کو مرکزی انٹرفیس فراہم کرتا ہے۔
  • ایک ماسٹر ڈیوائس جو ہدایات جاری کرتا ہے، گھڑیاں تیار کرتا ہے اور منتقلی کو ختم کرتا ہے۔
  • ایک غلام آلہ وصول کرتا ہے بصورت دیگر کسی کمانڈ پر رد عمل ظاہر کرتا ہے۔

SMBus کیسے کام کرتا ہے؟

SMBus کمیونیکیشن میں 3 قسم کے آلات استعمال ہوتے ہیں جیسے میزبان، ایک ماسٹر اور ایک غلام آلہ جو درج ذیل خاکہ میں دکھایا گیا ہے۔ اس بس میں، ہوسٹ ڈیوائس سسٹم کے سی پی یو کے لیے ایک مخصوص ماسٹر ورک جیسا انٹرفیس ہے۔ تاہم، یہ ہمیشہ ضروری نہیں ہے. کچھ سسٹم جیسے سادہ بیٹری چارجنگ سسٹم ہوسٹ کے بغیر ہو سکتے ہیں۔

ایک ماسٹر ڈیوائس مواصلات شروع کرتا ہے، CLK چلاتا ہے اور منتقلی کو روکتا ہے۔ ایک آلہ کو محض ایک آقا یا ماسٹر غلام بننے کے لیے منتخب کیا جا سکتا ہے، جہاں یہ یا تو ماسٹر ڈیوائس کے طور پر کام کر سکتا ہے ورنہ غلام آلہ۔

  SMBus ڈایاگرام
SMBus ڈایاگرام

SMBus پر، ایک ماسٹر کے اوپر بھی ہوتا ہے، تاہم کسی بھی وقت صرف ایک ہی بس میں مہارت حاصل کر سکتا ہے۔ مثال کے طور پر، جب دونوں آلات ایک ساتھ بس میں مہارت حاصل کر لیتے ہیں، تو SMBus ایک ثالثی کا طریقہ کار فراہم کرتا ہے جو SMBus ڈیوائس کے تمام انٹرفیس کے SMBus سے وائرڈ اور کنکشن پر منحصر ہوتا ہے۔

غلام آلات اس کے ایڈریس کے ساتھ ساتھ کمانڈز کا جواب دیتے ہیں اور وہ ماسٹر ڈیوائس سے اور ڈیٹا کو منتقل اور وصول کرسکتے ہیں۔ ایک آلہ کو مکمل طور پر غلام کے طور پر منتخب کیا جا سکتا ہے بصورت دیگر کچھ مثالوں میں غلام کے لیے آقا کی طرح کام کرنا قابل حصول ہے۔

I2C پروٹوکول کی طرح، اس بس کے ہر بندے کو صرف سات بٹ غلام ایڈریس کے ساتھ مختص کیا جاتا ہے جہاں اس ایڈریس کے ساتھ پڑھنے یا لکھنے کا بٹ شامل کیا جاتا ہے تاکہ یہ بیان کیا جا سکے کہ آیا آلہ بس پر منتقل ہونے والے پیغام کو پڑھ رہا ہے یا لکھ رہا ہے۔

ڈیوائسز کو ان کے اپنے ایڈریس کو پہچاننا ضروری ہے، اس طرح ایک بار جب ڈیوائس اپنے ایڈریس کی شناخت کر لیتی ہے، تو وہ کمانڈ پر ردعمل ظاہر کرے گا۔

جب اس بس کا غلام پتہ متصادم ہوتا ہے، تو یہ ARP یا ایڈریس ریزولوشن پروٹوکول کو سپورٹ کرتا ہے۔ ایک بار جب میزبان ایک جیسے غلام ایڈریس کے ساتھ دو آلات کو نوٹس کرتا ہے، تو ایڈریس ریزولوشن پروٹوکول طریقہ کار غلاموں کو متحرک طور پر ایک نیا منفرد پتہ تفویض کرے گا۔ ایڈریس ریزولوشن پروٹوکول سسٹم کو دوبارہ شروع کرنے کی ضرورت کے بغیر آلات کو فوری طور پر استعمال کرنے کی اجازت دے گا۔

یہ بس مواصلات کے لیے 2 تاروں کا استعمال کرتی ہے جیسے SMBDAT تار اور SMBCLK تار جہاں SMBDAT تار کو سیریل ڈیٹا کی منتقلی کے لیے استعمال کیا جاتا ہے اور SMBCLK تار سیریل گھڑی کی طرح کام کرتا ہے۔ مندرجہ بالا SMBus میں، ماسٹر صرف SMBCLK کو چلاتا ہے جو 10 سے 100 kHz تک ہوتا ہے، تاہم، کوئی بھی لائن SMBDAT کو چلا سکتی ہے۔

یہ دونوں تاریں دو طرفہ ہیں جو SMBALERT جیسے الرٹ سگنل کو شامل کرنے کا اختیار فراہم کرتی ہیں جو آلات کو میزبان سے توجہ کی درخواست کرنے کی اجازت دیتی ہے۔

اس بس کے ڈیٹا پیکٹ میں ایک اسٹارٹ بٹ، ایک ACK یا NACK بٹ، ڈیٹا کے 8 بٹس اور ایک اسٹاپ بٹ ہوتا ہے۔ SMBus کا ڈیٹا ٹرانسفر کچھ فنکشنز کا استعمال کرتا ہے بصورت دیگر مختلف SMBus کے پروٹوکول کو پیغامات بھیجتے ہوئے جیسے Send Byte، Quick Command، Read Word، Write Byte، Read Byte، Write Word، Process Call، Block Write، Block Read، Read Process Call & بلاک رائٹ بلاک۔

یہ بس مواصلات کی وشوسنییتا کو بہتر بنانے کے لیے پی ای سی (پیکٹ ایرر چیکنگ) کو بھی سپورٹ کرتی ہے۔ لہذا یہ ہر پیغام کے آخر میں ایک پیکٹ ایرر کوڈ شامل کرکے انجام دیا جاسکتا ہے۔

افعال

SMBus افعال پروٹوکول بھی کہا جاتا ہے۔ اس لیے SMBus کے اہم پروٹوکول ہیں Quick Command, Send Byte, Receive Byte, Write Byte, Read Byte, Process Call, Block Write/Read Block Write-Block Read Process Call, SMBus Host Notify Protocol, Write-32 Protocol, Read-32 پروٹوکول، 64-پروٹوکول لکھیں اور 64 پروٹوکول پڑھیں۔

SMBUS پیغام کی شکل

START کی شرط کے بعد، ماسٹر غلام ڈیوائس کا 7 بٹ ایڈریس تلاش کرے گا اور اسے بس میں ایڈریس کرنے کی ضرورت ہے۔ لہذا، ایڈریس کی لمبائی 7 بٹ لمبی ہے جس کے بعد 8 بٹ ڈیٹا کی منتقلی کی سمت (R/W) کی نشاندہی کرتا ہے۔ ایک READ (ڈیٹا) کی درخواست کی وضاحت کرتا ہے اور ایک ZERO لکھنے (ٹرانسمیشن) کی وضاحت کرتا ہے۔

  پیغام کی شکل
پیغام کی شکل

ڈیٹا کی منتقلی ہمیشہ ماسٹر کے ذریعے پیدا ہونے والی STOP حالت سے ختم ہوتی ہے۔

ہر بائٹ میں 8 بٹس ہوتے ہیں اور ہر بائٹ کو SMBus پر منتقل کیا جاتا ہے اور اسے ایک اقرار بٹ کے ذریعے فالو کیا جانا چاہیے۔ بائٹس پہلے MSB (سب سے اہم بٹ) کے ذریعے منتقل کی جاتی ہیں۔

ایک عام SMBus ڈیوائس میں کمانڈز کا ایک سیٹ شامل ہوتا ہے جس کے ذریعے ڈیٹا کو آسانی سے پڑھا اور لکھا جا سکتا ہے۔ ان تمام کمانڈز کی لمبائی 1 بائٹ لمبی ہے جبکہ ان کے آرگومنٹس کے ساتھ ساتھ واپسی کی قدریں بھی لمبائی میں تبدیل ہو سکتی ہیں۔

کسی کمانڈ کی اجازت دینا موجود نہیں ہے ورنہ یہ تعاون یافتہ نہیں ہے، لہذا یہ خرابی کی حالت کا سبب بن سکتا ہے۔ SMBus تفصیلات کی تعمیل میں، MSB کو پہلے منتقل کیا جاتا ہے۔

سب سے پہلے، تمام کمانڈز بس پر ایک اسٹارٹ کنڈیشن سیٹ کرتی ہیں، اس کے بعد ڈیٹا یا کمانڈ کی ترسیل کے ذریعے ٹرانسمیشن شروع کرتے ہیں، ڈیٹا یا کمانڈ ٹرانسمیشن کے دوران غلام ڈیوائس سے قبولیت کا انتظار کرتے ہیں، پھر بس پر اسٹاپ کنڈیشن سیٹ کرتے ہیں۔

SMBus پروٹوکول کے لیے شروع اور بند کرنے کی شرائط

کسی پیغام کی START اور STOP حالت کی وضاحت بس کی دو منفرد حالتوں سے کی جائے گی اونچی سے کم اور کم سے بلندی تک۔

  شروع اور بند کرنے کی شرائط
شروع اور روکنے کے حالات

اعلی سے کم SMBDAT لائن کی منتقلی میں، جب SMBCLK زیادہ ہوتا ہے تو یہ پیغام کی START شرط کی نشاندہی کرتا ہے۔

کم سے زیادہ SMBDAT لائن کی منتقلی میں، جب SMBCLK زیادہ ہوتا ہے تو یہ پیغام کی STOP حالت کی وضاحت کرتا ہے۔ تو یہ دونوں حالتیں بس کے مالک کے ذریعہ ہمیشہ پیدا ہوتی ہیں۔ START کی حالت کے بعد بس مصروف ہو جاتی ہے۔ STOP شرط کے بعد ایک مخصوص وقت کے بعد بس پھر سے بیکار ہو جائے گی۔

SMBus ہارڈ ویئر کے تقاضے

پی سی اور اس کے کچھ انتہائی ضروری ہارڈ ویئر کے درمیان موثر، نیز ہموار مواصلات کو فعال کرنے کے لیے SMBus کی ہارڈ ویئر کی ضروریات، دو تاریں ہیں جیسے SMBDAT اور SMBCLK، PSU (پاور سپلائی یونٹ)، ICs کا سیٹ، ڈرائیورز اور اس کے کولنگ فین۔ . بنیادی طور پر، یہ SMBus کنٹرولر کمپیوٹر کو کمانڈز کو کامیابی سے سنبھالنے اور اس پر عمل کرنے کی اجازت دیتا ہے جیسے کہ اس کے PSU کو آن کرنا اور اس کے کولنگ پنکھے کو کنٹرول کرنا۔

SMBus ڈیٹا ٹرانسفر پیغامات کی منتقلی کے دوران مختلف پروٹوکول یا فنکشنز کا استعمال کرتا ہے جیسے Send Byte, Quick Command, Write Byte, Read Byte, Write Word, Read Word, Block Read, Process Call, Block Write, وغیرہ۔ ہر پیغام کے آخر میں صرف ایک پیکٹ ایرر کوڈ کو شامل کرکے مواصلات کی وشوسنییتا کو بڑھانا۔

SMBus ہارڈویئر صرف سیریل ٹرانسفر کے لیے استعمال ہونے والے وقت اور شفٹنگ کنٹرول فراہم کرتا ہے۔ لہذا SMBus کا ہارڈ ویئر مختلف آزاد ایپلیکیشن کے کام انجام دیتا ہے جیسے ٹائمنگ کنٹرول، سیریل ڈیٹا کی منتقلی، اور غلام کے پتوں کی شناخت۔

SMBus بمقابلہ I2C

دی SMBus اور I2C کے درمیان فرق مندرجہ ذیل شامل ہیں.

SMBus

2C

SMBus کی اصطلاح کا مطلب ہے 'سسٹم مینجمنٹ بس'۔ اصطلاح I2C کا مطلب ہے 'انٹر انٹیگریٹڈ سرکٹ'۔
SMBus ایک 2 وائر کنٹرول بس ہے جو توانائی اور نظام کے انتظام کے کاموں میں استعمال ہوتی ہے۔ I2C ایک آن بورڈ کمیونیکیشن پروٹوکول ہے جو کم بینڈوتھ اور مختصر فاصلے کے لیے استعمال ہوتا ہے۔
ایک نظام انفرادی کنٹرول لائنوں کو چالو کرنے کے بجائے اس بس کو آلات سے اور تک پیغامات بھیجنے کے لیے استعمال کر سکتا ہے۔

I2C عام طور پر کم رفتار پر مبنی پیری فیرلز جیسے مائکرو کنٹرولرز اور سینسرز کو IC میں مختصر فاصلے سے اوپر کے پروسیسرز سے جوڑنے کے لیے استعمال کیا جاتا ہے۔
زیادہ سے زیادہ CLK رفتار 100 kHz ہے۔ زیادہ سے زیادہ CLK رفتار 400 kHz ہے۔
کم از کم CLK رفتار 10 kHz ہے۔ کوئی کم از کم CLK رفتار نہیں۔
35ms کم CLK ٹائم آؤٹ۔ کوئی ٹائم آؤٹ نہیں ہے۔
اس میں منطقی سطحیں مقرر ہیں۔ اس کی منطق کی سطح VDD پر منحصر ہے۔
اس میں ایڈریس کی مختلف قسمیں ہیں جیسے محفوظ، متحرک، وغیرہ۔ اس میں ایڈریس کی مختلف اقسام ہیں جیسے جنرل کال سلیو ایڈریس، 7 بٹ، اور 10 بٹ۔
اس میں مختلف بس پروٹوکولز ہیں جیسے پروسیس کالز، کوئیک کمانڈز وغیرہ۔ اس کے پاس بس پروٹوکول نہیں ہے۔

SMBus بمقابلہ Pmbus

SMBus اور Pmbus کے درمیان فرق میں درج ذیل شامل ہیں۔

SMBus

Pmbus

SMBus ایک 2 تاروں والی، واحد بس ہے جو ہلکے وزن کے مواصلات کے لیے استعمال ہوتی ہے۔ SMBus کی توسیع Pmbus ہے اور یہ ایک کم لاگت پروٹوکول ہے جو بنیادی طور پر پاور مینجمنٹ ڈیوائسز کے درمیان رابطے کے لیے استعمال ہوتا ہے۔
اس بس کا غلام موڈ 10kbps، 50 kbps، 100 kbps اور 400 kbps جیسے ڈیٹا ریٹ کی قدروں کی اجازت دیتا ہے۔ اس بس کا غلام موڈ 100 kbps اور 400 kbps جیسی ڈیٹا ریٹ کی قدروں کو آسانی سے اجازت دیتا ہے۔
اس قسم کی بس I2C ہارڈویئر کے ساتھ کام کرتی ہے تاہم اس میں سسٹم کو دوبارہ شروع کیے بغیر آلات کو گرم تبدیل کرنے کی اجازت دے کر دوسرے درجے کا سافٹ ویئر شامل ہے۔ یہ بس صرف ڈیوائس کے کمانڈز کے سیٹ کی وضاحت کرکے SMBus کو پھیلاتی ہے اور یہ خاص طور پر پاور کنورٹرز کو ہینڈل کرنے، ڈیوائس کی خصوصیات جیسے ماپا کرنٹ، وولٹیج، درجہ حرارت وغیرہ کو ظاہر کرنے کے لیے ڈیزائن کیا گیا ہے۔
SMBus I2C کا ایک سپر سیٹ ہے۔ PMBus SMBus کا ایک سپر سیٹ ہے۔
اس بس میں نیٹ ورک اور ڈیٹا لنک لیئرز دونوں شامل ہیں۔ اس بس میں ٹرانسپورٹ کی پرت اور کمانڈز کا ایک سیٹ شامل ہے۔

ٹائمنگ ڈایاگرام

دی SMBus ٹائمنگ خاکہ ذیل میں دکھایا گیا ہے.

  SMBus کا ٹائمنگ ڈایاگرام
SMBus کا ٹائمنگ ڈایاگرام

TLOW.SEXT وہ غلام آلہ ہے جو CLK سائیکل کو ایک ہی پیغام میں START سے STOP تک بڑھاتا ہے۔ لہذا یہ ممکن ہے کہ، آقا یا کوئی اور غلام آلہ CLK سائیکل کو بھی بڑھا دے گا تاکہ مشترکہ CLK کا کم توسیع شدہ وقت TLOW.SEXT سے زیادہ ہو۔ اس طرح، اس پیرامیٹر کو صرف غلام ڈیوائس کے ذریعے ماپا جاتا ہے جیسے فل سپیڈ ماسٹر کے واحد ہدف۔

TLOW.MEXT وہ ماسٹر ڈیوائس ہے جو پیغام کے ہر بائٹ میں CLK سائیکل کو بڑھاتا ہے۔ اس لیے یہ ممکن ہے کہ کوئی دوسرا آقا یا غلام آلہ بھی CLK کو بڑھا دے تاکہ مشترکہ CLK کا کم وقت ایک مخصوص بائٹ پر TLOW.MEXT کے مقابلے میں زیادہ ہو۔ اس طرح، پیرامیٹرز کو صرف ایک فل سپیڈ غلام ڈیوائس کے ذریعے ماپا جاتا ہے جیسے ماسٹر کا واحد ہدف۔

ایپلی کیشنز

دی SMBus کی درخواستیں مندرجہ ذیل شامل ہیں.

  • SMBus کو سسٹم کے جزو چپ کے طور پر استعمال کیا جاتا ہے جو سسٹم کے اندر بات چیت کرنے کے لیے استعمال ہوتا ہے۔ خاص طور پر، یہ بیٹریوں کو سسٹم کے دوسرے اجزاء جیسے پاور سے متعلقہ اجزاء اور CPU کے ساتھ بات چیت کرنے کی اجازت دیتا ہے۔
  • یہ ہلکا پھلکا مواصلات کے لئے استعمال کیا جاتا ہے.
  • اس بس کو اہم پیرامیٹرز کی نگرانی کے لیے استعمال کیا جاتا ہے۔ سرایت شدہ نظام اور پی سی کے مدر بورڈز پر۔
  • یہ ٹیکساس آلات کے جدید ایندھن گیجز کے لیے مواصلات کی سب سے عام قسم ہے۔
  • اس کا استعمال کم بینڈوتھ پر مبنی سسٹم مینجمنٹ کمیونیکیشن میں ہوتا ہے۔

اس طرح، یہ سب کے بارے میں ہے SMBus کا ایک جائزہ - ایپلی کیشنز کے ساتھ کام کرنا۔ یہ ایک سادہ اور سنگل اینڈ والی دو تار والی بس ہے جو ہلکے وزن کے مواصلات کے لیے استعمال ہوتی ہے۔ یہ بس کمپیوٹر کے مدر بورڈز میں بجلی کے منبع سے آن یا آف ہدایات کے لیے رابطے کے لیے استعمال ہوتی ہے۔ یہاں آپ کے لیے ایک سوال ہے، I2C پروٹوکول کیا ہے؟