أصبحت شركة I2C التي طورتها شركة Philips في عقد الثمانينيات من القرن العشرين ، واحدة من أكثر بروتوكولات الاتصال التسلسلي شيوعًا في مجال الإلكترونيات. يتيح I2C الاتصال بين المكونات الإلكترونية أو IC إلى IC ، سواء كانت المكونات على نفس PCB أو متصلة عبر كابل. وتتمثل الميزة الرئيسية لـ I2C في القدرة على الحصول على عدد كبير من المكونات في ناقل اتصال واحد مع سلكين فقط مما يجعل I2C مثاليًا للتطبيقات التي تتطلب البساطة وانخفاض التكلفة على السرعة.
بروتوكول I2C
I2C هو بروتوكول اتصال تسلسلي لا يتطلب سوى سطرين للإشارة. تم تصميمه للتواصل بين الرقائق على ثنائي الفينيل متعدد الكلور. تم تصميم I2C في الأصل للتواصل بسرعة 100 كيلوبت في الثانية ولكن تم تطوير أوضاع نقل بيانات أسرع على مر السنين لتحقيق سرعات تصل إلى 3.4 ميغابت. لقد تم إنشاء بروتوكول I2C كمعيار رسمي ، والذي يوفر التوافق الجيد بين تطبيقات I2C والتوافق مع الإصدارات السابقة.
إشارات I2C
يستخدم بروتوكول I2C خطين للإشارة ثنائية الاتجاه للتواصل مع جميع الأجهزة في ناقل I2C. الإشارتان المستخدمتان هما:
- خط البيانات التسلسلي (SDL)
- ساعة البيانات التسلسلية (SDC)
السبب في أن I2C يمكنه استخدام إشارات اثنين فقط للتواصل مع عدد من الأجهزة الطرفية هو كيفية التعامل مع الاتصال على طول الحافلة. يبدأ كل اتصال من I2C بعنوان 7 بت (أو 10 بت) ينادي عنوان الجهاز الطرفي بينما يقصد بقية الاتصال استقبال الرسالة. هذا يسمح لأجهزة متعددة على ناقل I2C للعب دور الجهاز الرئيسي كما تملي احتياجات النظام. لمنع تصادم الاتصالات ، يتضمن بروتوكول I2C إمكانيات التحكيم والكشف عن التصادم التي تسمح بالاتصال السلس على طول الحافلة.
المزايا والقيود
كبروتوكول اتصال ، فإن I2C لديها الكثير من المزايا التي تجعلها خيارًا جيدًا للعديد من تطبيقات التصميم المدمجة. I2C يجلب المزايا التالية:
- I2C يتطلب فقط خطي إشارة
- معدلات نقل البيانات المرنة
- كل جهاز في الحافلة قابل للعنونة بشكل مستقل
- الأجهزة لديها علاقة بسيطة / العبد
- I2C قادرة على التعامل مع الاتصالات الرئيسية متعددة من خلال توفير التحكيم والكشف عن تصادم الاتصالات
- التواصل عن بعد أكثر من SPI
مع كل هذه المزايا ، لدى I2C أيضًا بعض القيود التي قد تحتاج إلى تصميمها. أهم قيود I2C تشمل:
- نظرًا لأنه تتوفر 7 بتات فقط (أو 10 بتات) لعنونة الأجهزة ، يمكن للأجهزة الموجودة على نفس الناقل مشاركة نفس العنوان. تستطيع بعض الأجهزة تكوين آخر بتات قليلة من العنوان ، لكن هذا ما زال يفرض قيودًا على الأجهزة الموجودة على نفس الحافلة.
- تتوفر فقط بضع سرعات اتصالات محدودة ولا تدعم العديد من الأجهزة الإرسال بسرعات أعلى. مطلوب دعم جزئي لكل سرعة على الحافلة لمنع الأجهزة البطيئة من التقاط الإرسالات الجزئية التي ستؤدي إلى خلل التشغيل.
- يمكن أن تؤدي الطبيعة المشتركة لحافلة I2C إلى تعليق الحافلة بالكامل عندما يتوقف جهاز واحد في الحافلة عن العمل. يمكن استخدام ركوب الدراجات إلى الحافلة لإعادة تشغيل الحافلة واستعادة التشغيل السليم.
- نظرًا لأن الأجهزة يمكنها ضبط سرعة الاتصال ، يمكن للأجهزة التشغيلية الأبطأ تأخير تشغيل الأجهزة ذات السرعة الأسرع.
- تستمد I2C طاقة أكثر من حافلات الاتصالات التسلسلية الأخرى نظرًا لطوبولوجيا الصرف المفتوحة لخطوط الاتصالات.
- عادةً ما تحد قيود ناقل I2C عدد الأجهزة في الباص إلى حوالي 12 جهازًا.
تطبيقات
تعتبر حافلة I2C خيارًا رائعًا للتطبيقات التي تتطلب تكلفة منخفضة وتطبيقات بسيطة بدلاً من السرعة العالية. على سبيل المثال ، قراءة بعض وحدات الذاكرة التفاعلية ، الوصول إلى DACs و ADCs ، قراءة المستشعرات ، نقل ومراقبة الإجراءات الموجهة للمستخدم ، قراءة أجهزة الاستشعار ، والتواصل مع وحدات التحكم الدقيقة المتعددة هي الاستخدامات الشائعة لبروتوكول الاتصالات I2C.