همانطور که قبلا توضیح دادیم، پروتکل ها، قرار داد هایی هستند که بین دو دستگاه در مورد نوع انتقال دیتا وجود دارند.
یکی از پروتکل های پر کاربرد دیگر، پروتکل I2C می باشد. اولین مزیت مهم این پروتکل، به تعداد Master های آن مربوط می شود که برخلاف پروتکل SPI می توان چند Master را را از طریق این پروتکل به Slave ها مرتبط ساخت و از این نظر محدودیتی وجود ندارد(اما دو Master نمی توانند مستقیما از این طریق با یکدیگر ارتباط برقرار کنند.). این ویژگی خصوصا زمانی مفید است که بخواهید با چند میکرو کنترلر (Master) دیتاهایی را در یک memory card ذخیره کنید یا مثلا متنی را بر روی یک نماشگر نمایش دهید.
پروتکل I2C فقط دو خط برای انتقال دیتا نیاز دارد که عبارتند از SDA و SCL
خط SCL مربوط به سیگنال کلاک است که همیشه توسط Master در یک باس تولید می شود. همانند پروتکل SPI، پروتکل I2C نیز ارتباطی سنکرون است و سیگنال کلاک برای همزمان سازی تبادل دیتا بین دو دستگاه استفاده می شود.
خط Serial Data )SDA) همان دیتای ارسالی است که به صورت سریال در یک خط انتقال ارسال می شود.
در پروتکل I2C دیتاها به صورت پیغام هایی فرستاده می شوند که به قاب هایی با اندازه های مشخص شکسته می شوند.اولین بیت هر پیغام بیت start است. پس از آن یک قاب(frame) آدرس که آدرس slave مورد نظر را در بر می گیرد، ارسال می شود.
بیت بعدی پیغام مشخص می کند که Master دیتا را از Slave دریافت می کند یا به آن ارسال می کند(read یا write).در صورتی که دیتا توسط Master ارسال شود این بیت صفر و در صورتی که دریافت شود این بیت 1 خواهد بود.
فرستنده بعد از ارسال هر قاب یک بیت ack/nack از گیرنده دریافت می کند که این بیت مشخص می کند قاب به درستی ارسال شده است.
یک یا چند قاب دیتا در هر پیغام وجود دارند که دیتا مورد نظر برای تبادل است. قاب دیتا همیشه 8 بیتی است و ارسال از بیت پرارزش دیتا(MSB) شروع می شود.
پس از تمام شدن ارسال دیتا ها یک بیت stop ارسال می شود.
شکل زیر فرم استاندارد هر پیغام را در پروتکل I2C نشان می دهد.
با توجه به این که در این پروتکل، slave ها آدرس دهی می شوند،با هر قاب 7 بیتی آدرس می توان تا 128 دستگاه (slave) را آدرس دهی کرد.
از مزایای پروتکل I2C می توان به موارد زیر اشاره کرد:
اما این پروتکل معایبی نیز دارد از جمله
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *
کليه حقوق اين سايت متعلق به سام نیک میباشد