SMBus: কাজ, পার্থক্য এবং এর প্রয়োগ

সমস্যাগুলি দূর করার জন্য আমাদের উপকরণটি ব্যবহার করে দেখুন





SMBus 1995 সালে Intel দ্বারা চালু করা হয়েছিল এবং এটি ফিলিপসের I²C সিরিয়াল বাস প্রোটোকলের উপর ভিত্তি করে। এই বাসটি ডেটা, CLK এবং নির্দেশাবলী বহন করে যেখানে ঘড়ির ফ্রিকোয়েন্সি 10 kHz থেকে 100 kHz পর্যন্ত। SMBus-এর মূল উদ্দেশ্য হল মাদারবোর্ডে থাকা ডিভাইসগুলি থেকে ডেটা নিয়ন্ত্রণ এবং পাওয়ার জন্য একটি সস্তা এবং শক্তিশালী পদ্ধতির অনুমতি দেওয়া। SMBus সাধারণত পিসিতে তাপমাত্রা নিয়ন্ত্রণ, স্মার্ট ব্যাটারি এবং অন্যান্য কম ব্যান্ডউইথ সিস্টেম পরিচালনা যোগাযোগের জন্য ব্যবহৃত হয়।


এই বাসটি একটি চার্জার, একটি বুদ্ধিমান ব্যাটারি এবং একটি মাইক্রোকন্ট্রোলারের মধ্যে যোগাযোগের লিঙ্ক সনাক্ত করে যা সিস্টেমের বাকি অংশের সাথে কথোপকথন করে৷ কিন্তু, সিস্টেম সেন্সর, পাওয়ার-সম্পর্কিত ডিভাইস, যোগাযোগ ডিভাইস, ইনভেন্টরি EEPROM, ইত্যাদির মতো বিভিন্ন ডিভাইসের সাথে সংযোগ করতেও SMBus ব্যবহার করা হয়। এই নিবন্ধটি SMBus-এর একটি সংক্ষিপ্ত বিবরণ নিয়ে আলোচনা করে - অ্যাপ্লিকেশনগুলির সাথে কাজ করা।



SMBus প্রোটোকল কি?

SMBus (সিস্টেম ম্যানেজমেন্ট বাস) হল একটি 2-তারের ইন্টারফেস, কম-গতির সিস্টেম ম্যানেজমেন্ট যোগাযোগের জন্য মাদারবোর্ডের বিভিন্ন ডিভাইসের মধ্যে প্রায়শই ব্যবহৃত হয়। এই ধরনের বাস ডিজাইন করেছে I2C প্রোটোকল ভিত্তি তাই I2C এবং SMBus উভয়েরই কিছু মিল থাকতে পারে এবং তারা একই ধরনের বাসে আন্তঃচালনা করতে পারে।

এই বাসটি I2C অপারেশন নীতির উপর কাজ করে যা একটি কন্ট্রোল বাস প্রদান করে, বিশেষ করে সিস্টেমের জন্য সিস্টেমের তার এবং পিন সংখ্যা কমানোর জন্য আলাদা নিয়ন্ত্রণ লাইন ব্যবহার করার পরিবর্তে ডিভাইসে বা ডিভাইস থেকে বার্তা পাঠানোর অনুমতি দেয়।



একটি SMBus সহ একটি ডিভাইস উত্পাদনের তথ্য প্রদান করতে পারে, সিস্টেমকে তার অংশ বা মডেল নম্বর জানাতে পারে, বিভিন্ন ধরণের ত্রুটির প্রতিবেদন করতে পারে, নিয়ন্ত্রণের পরামিতিগুলিকে অনুমতি দিতে পারে এবং এর অবস্থান পুনরায় দেখতে পারে।

SMBus স্পেসিফিকেশন

SMBus-এর স্পেসিফিকেশন বলতে কেবল 3 ধরনের ডিভাইস হোস্ট, মাস্টার এবং স্লেভ বোঝায়।

  • একটি হোস্ট একটি নির্দিষ্ট মাস্টার এবং এটি সিস্টেমের CPU এর প্রধান ইন্টারফেস প্রদান করে।
  • একটি মাস্টার ডিভাইস যা নির্দেশাবলী জারি করে, ঘড়ি তৈরি করে এবং স্থানান্তর বন্ধ করে।
  • একটি ক্রীতদাস ডিভাইস অন্যথায় একটি আদেশের প্রতিক্রিয়া গ্রহণ করে।

SMBus কিভাবে কাজ করে?

SMBus যোগাযোগের মধ্যে 3 ধরনের ডিভাইস ব্যবহার করা হয় যেমন একটি হোস্ট, একটি মাস্টার এবং একটি স্লেভ ডিভাইস যা নিম্নলিখিত চিত্রে দেখানো হয়েছে। এই বাসে, হোস্ট ডিভাইসটি সিস্টেমের CPU-তে একটি নির্দিষ্ট মাস্টার ওয়ার্ক-এর মতো ইন্টারফেস; যাইহোক, এটা সবসময় প্রয়োজন হয় না. সাধারণ ব্যাটারি চার্জিং সিস্টেমের মতো কিছু সিস্টেম হোস্ট ছাড়াই হতে পারে।

একটি মাস্টার ডিভাইস যোগাযোগ শুরু করে, CLK চালায় এবং স্থানান্তর বন্ধ করে। একটি যন্ত্রকে কেবলমাত্র একজন প্রভু বা মাস্টার-দাস হিসাবে নির্বাচন করা যেতে পারে, যেখানে এটি একটি মাস্টার ডিভাইস হিসাবে কাজ করতে পারে অন্যথায় একটি স্লেভ ডিভাইস।

  SMBus ডায়াগ্রাম
SMBus ডায়াগ্রাম

SMBus-এ, একজনের উপরেও মাস্টার থাকে, তবে যে কোনো সময়ে শুধুমাত্র একজনই বাসটি আয়ত্ত করতে পারে। উদাহরণস্বরূপ, যখন দুটি ডিভাইস একবারে বাসটিকে আয়ত্ত করে, তখন SMBus একটি সালিসি প্রক্রিয়া প্রদান করে যা কেবল SMBus ডিভাইসের সমস্ত ইন্টারফেসের সাথে SMBus এর তারযুক্ত-AND সংযোগের উপর নির্ভর করে।

স্লেভ ডিভাইসগুলি তার ঠিকানার পাশাপাশি কমান্ডের প্রতিক্রিয়া জানায় এবং তারা একটি মাস্টার ডিভাইস থেকে এবং থেকে ডেটা প্রেরণ এবং গ্রহণ করতে পারে। একটি ডিভাইস সম্পূর্ণরূপে একটি দাস হিসাবে নির্বাচন করা যেতে পারে অন্যথায় স্লেভের জন্য নির্দিষ্ট উদাহরণে মাস্টারের মতো কাজ করা সম্ভব।

I2C প্রোটোকলের মতো, এই বাসের প্রতিটি স্লেভকে কেবল একটি সাত-বিট স্লেভ ঠিকানা দিয়ে বরাদ্দ করা হয় যেখানে ডিভাইসটি বাসে প্রেরণ করা বার্তাটি পড়ছে বা লিখছে কিনা তা বর্ণনা করতে এই ঠিকানায় রিড বা রাইট বিট যুক্ত করা হয়।

ডিভাইসগুলি তাদের নিজস্ব ঠিকানা চিনতে প্রয়োজনীয়, এইভাবে একবার একটি ডিভাইস তার ঠিকানা সনাক্ত করে, তারপর এটি কমান্ডে প্রতিক্রিয়া জানাবে।

যখন এই বাসের স্লেভ ঠিকানা বিরোধিতা করে, তখন এটি ARP বা ঠিকানা রেজোলিউশন প্রোটোকল সমর্থন করে। একবার হোস্ট একটি অনুরূপ স্লেভ ঠিকানা সহ দুটি ডিভাইস লক্ষ্য করলে, তারপর ঠিকানা রেজোলিউশন প্রোটোকল পদ্ধতি স্লেভদের গতিশীলভাবে একটি নতুন অনন্য ঠিকানা বরাদ্দ করবে। অ্যাড্রেস রেজোলিউশন প্রোটোকল ডিভাইসগুলিকে সিস্টেমটি আবার শুরু করার প্রয়োজন ছাড়াই অবিলম্বে ব্যবহার করার অনুমতি দেবে।

এই বাসটি SMBDAT তার এবং SMBCLK তারের মতো যোগাযোগের জন্য 2-তার ব্যবহার করে যেখানে 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 & Block Write-Block.

যোগাযোগের নির্ভরযোগ্যতা উন্নত করতে এই বাসটি PEC (প্যাকেট ত্রুটি পরীক্ষা) সমর্থন করে। তাই প্রতিটি বার্তার শেষে একটি প্যাকেট ত্রুটি কোড অন্তর্ভুক্ত করে এটি করা যেতে পারে।

ফাংশন

SMBus ফাংশন প্রোটোকলও বলা হয়। তাই SMBus-এর প্রধান প্রোটোকল হল কুইক কমান্ড, সেন্ড বাইট, রিসিভ বাইট, রাইট বাইট, রিড বাইট, প্রসেস কল, ব্লক রাইট/রিড ব্লক রাইট-ব্লক রিড প্রসেস কল, SMBus হোস্ট নোটিফাই প্রোটোকল, Write-32 প্রোটোকল, Read-32 প্রোটোকল, 64-প্রোটোকল লিখুন এবং 64 প্রোটোকল পড়ুন।

SMBUS মেসেজ ফরম্যাট

START এর শর্তের পরে, মাস্টার স্লেভ ডিভাইসের 7-বিট ঠিকানাটি সনাক্ত করবে এবং এটি বাসে ঠিকানা দিতে হবে। সুতরাং, ঠিকানার দৈর্ঘ্য 7 বিট দীর্ঘ তারপর একটি 8-বিট ডেটা স্থানান্তর দিক নির্দেশ করে (R/W); একটি READ (ডেটা) এর জন্য একটি অনুরোধ নির্দিষ্ট করে এবং একটি শূন্য একটি WRITE (ট্রান্সমিশন) নির্দিষ্ট করে৷

  বার্তা বিন্যাস
বার্তা বিন্যাস

ডেটা স্থানান্তর সর্বদা মাস্টারের মাধ্যমে উত্পন্ন একটি STOP শর্ত দ্বারা সমাপ্ত হয়।

প্রতিটি বাইট 8 বিট অন্তর্ভুক্ত করে এবং প্রতিটি বাইট SMBus এ স্থানান্তরিত হয় এবং একটি স্বীকৃতি বিটের মাধ্যমে অনুসরণ করা উচিত। বাইটগুলি প্রথমে MSB (সবচেয়ে গুরুত্বপূর্ণ বিট) এর মাধ্যমে প্রেরণ করা হয়।

একটি সাধারণ SMBus ডিভাইসে কমান্ডের একটি সেট থাকে যার মাধ্যমে ডেটা সহজভাবে পড়া এবং লেখা যায়। এই সমস্ত কমান্ডের দৈর্ঘ্য 1 বাইট দীর্ঘ যেখানে তাদের আর্গুমেন্ট, সেইসাথে রিটার্ন মান, দৈর্ঘ্যের মধ্যে পরিবর্তিত হতে পারে।

একটি কমান্ডের অনুমতি দেওয়া বিদ্যমান নেই অন্যথায় এটি সমর্থিত নয়, তাই এটি একটি ত্রুটি অবস্থার কারণ হতে পারে। SMBus স্পেসিফিকেশন মেনে, MSB প্রথমে স্থানান্তরিত হয়।

প্রথমে, সমস্ত কমান্ড বাসের উপর একটি স্টার্ট শর্ত সেট করে, তারপরে ডেটা বা কমান্ড প্রেরণের মাধ্যমে ট্রান্সমিশন শুরু করে, সমস্ত ডেটা বা কমান্ড ট্রান্সমিশন জুড়ে স্লেভ ডিভাইস থেকে একটি গ্রহণযোগ্যতার জন্য অপেক্ষা করে, তারপর বাসে একটি স্টপ শর্ত সেট করে।

SMBus প্রোটোকলের জন্য স্টার্ট এবং স্টপ শর্ত

একটি বার্তার স্টার্ট এবং স্টপ শর্ত দুটি অনন্য বাসের উচ্চ থেকে নিম্ন এবং নিম্ন থেকে উচ্চ অবস্থা দ্বারা সংজ্ঞায়িত করা হবে।

  স্টার্ট এবং স্টপ কন্ডিশন
স্টার্ট এবং স্টপ কন্ডিশন

একটি উচ্চ থেকে নিম্ন SMBDAT লাইন ট্রানজিশনে, যখন SMBCLK উচ্চ হয় তখন এটি একটি বার্তার একটি START শর্ত নির্দেশ করে।

একটি নিম্ন থেকে উচ্চ SMBDAT লাইন পরিবর্তনে, যখন SMBCLK উচ্চ হয় তখন এটি একটি বার্তার একটি স্টপ শর্ত সংজ্ঞায়িত করে। সুতরাং এই দুটি শর্ত বাসের মাস্টার দ্বারা সর্বদা উত্পন্ন হয়। একটি START অবস্থার পর বাস ব্যস্ত হয়ে যায়। একটি STOP শর্ত অনুসরণ করে একটি নির্দিষ্ট সময় পরে বাসটি আবার নিষ্ক্রিয় হয়ে যাবে।

SMBus হার্ডওয়্যারের প্রয়োজনীয়তা

একটি পিসি এবং এর কিছু অতি প্রয়োজনীয় হার্ডওয়্যারের মধ্যে দক্ষ এবং সেইসাথে নিরবিচ্ছিন্ন যোগাযোগ সক্ষম করার জন্য SMBus-এর হার্ডওয়্যার প্রয়োজনীয়তা হল SMBDAT এবং SMBCLK, PSU (পাওয়ার সাপ্লাই ইউনিট), আইসিগুলির সেট, ড্রাইভার এবং এর কুলিং ফ্যানগুলির মতো দুটি তার। . মূলত, এই SMBus কন্ট্রোলার একটি কম্পিউটারকে সফলভাবে পরিচালনা করতে এবং পরিচালনা করতে দেয় যেমন তার PSU চালু করা এবং এর কুলিং ফ্যান নিয়ন্ত্রণ করা।

সেন্ড বাইট, কুইক কমান্ড, রাইট বাইট, রিড বাইট, রাইট ওয়ার্ড, রিড ওয়ার্ড, ব্লক রিড, প্রসেস কল, ব্লক রাইটিং ইত্যাদির মতো বার্তা স্থানান্তর করার সময় SMBus ডেটা ট্রান্সফার বিভিন্ন প্রোটোকল বা ফাংশন ব্যবহার করে। এটি PEC বা প্যাকেটের ত্রুটি পরীক্ষা করাও সমর্থন করে। প্রতিটি বার্তার শেষে একটি প্যাকেট ত্রুটি কোড অন্তর্ভুক্ত করে যোগাযোগের নির্ভরযোগ্যতা বৃদ্ধি করা।

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 হল একটি স্লেভ ডিভাইস যা START থেকে STOP পর্যন্ত একটি বার্তার মধ্যে CLK চক্রকে প্রসারিত করে। সুতরাং এটা সম্ভব যে, মাস্টার বা অন্য ক্রীতদাস ডিভাইস CLK চক্রকে প্রসারিত করবে যাতে সম্মিলিত CLK-এর কম বর্ধিত সময় TLOW.SEXT-এর চেয়ে বেশি হয়। সুতরাং, এই পরামিতিটি কেবলমাত্র একটি পূর্ণ-গতির মাস্টারের একক লক্ষ্যের মতো স্লেভ ডিভাইসের মাধ্যমে পরিমাপ করা হয়।

TLOW.MEXT হল মাস্টার ডিভাইস যা একটি বার্তার প্রতিটি বাইটে CLK চক্র প্রসারিত করে। তাই এটা সম্ভব যে অন্য একটি মাস্টার বা স্লেভ ডিভাইসও CLK প্রসারিত করবে যাতে একটি নির্দিষ্ট বাইটে TLOW.MEXT-এর তুলনায় সম্মিলিত CLK-এর কম সময় বেশি হয়। এইভাবে, প্যারামিটারগুলি কেবলমাত্র মাস্টারের একক লক্ষ্যের মতো একটি পূর্ণ-গতির স্লেভ ডিভাইসের মাধ্যমে পরিমাপ করা হয়।

অ্যাপ্লিকেশন

দ্য SMBus এর অ্যাপ্লিকেশন নিম্নলিখিত অন্তর্ভুক্ত.

  • SMBus একটি সিস্টেম কম্পোনেন্ট চিপ হিসাবে ব্যবহৃত হয় যা একটি সিস্টেমের মধ্যে যোগাযোগ করতে ব্যবহৃত হয়। আরও বিশেষ করে, এটি ব্যাটারিগুলিকে সিস্টেমের অন্যান্য উপাদানগুলির সাথে যোগাযোগ করার অনুমতি দেয় যেমন পাওয়ার-সম্পর্কিত উপাদান এবং CPU-এর সাথে।
  • এটি হালকা যোগাযোগের জন্য ব্যবহৃত হয়।
  • এই বাসটি গুরুত্বপূর্ণ প্যারামিটার নিরীক্ষণের জন্য ব্যবহৃত হয় এমবেডেড সিস্টেম এবং পিসির মাদারবোর্ডে।
  • এটি টেক্সাস ইন্সট্রুমেন্টের উন্নত জ্বালানী গেজের জন্য সবচেয়ে সাধারণ ধরনের যোগাযোগ।
  • এটি কম ব্যান্ডউইথ-ভিত্তিক সিস্টেম ম্যানেজমেন্ট যোগাযোগে ব্যবহার করা হয়।

এইভাবে, এই সব সম্পর্কে একটি SMBus এর একটি ওভারভিউ - অ্যাপ্লিকেশনগুলির সাথে কাজ করা। এটি একটি সাধারণ এবং একক-শেষ দুই-তারের বাস যা হালকা যোগাযোগের জন্য ব্যবহৃত হয়। এই বাসটি কম্পিউটারের মাদারবোর্ডে চালু বা বন্ধ নির্দেশাবলীর জন্য পাওয়ার উত্সের সাথে যোগাযোগের জন্য ব্যবহৃত হয়। এখানে আপনার জন্য একটি প্রশ্ন, I2C প্রোটোকল কি?