السلام عليكم
قد تحتاج كثير من التطبيقات العملية الى ربط المتحكم (مثل البيك والاتمل وغيره) مع عناصر خارجية لاداء الوظيفة المطلوبة .. وكلما كان عدد الاطراف اللازمة للتوصيل اقل ما يمكن كلما كان هناك توفير في عدد اطراف المتحكم وبالتالي تستخدم لاداء الوظائف الاخرى للمشروع المطلوب .. حيث تعتمد هذه الطريقة على نقل الداتا بشكل تسلسلي من خلال الطرف المحدد لذلك.
من هنا كان اختيار بروتوكول الربط I2C من اكثر الطرق المستخدمة للربط بين المتحكمات وبين العناصر الالكترونية المختلفة مثل الذاكرة الخارجية التسلسية (EEPROM) ومثل ساعة الزمن الحقيقي (DS1307) وغيرها الكثير .
تتألف طريقة الربط بواسطة I2C من طرفين للتوصيل :
1 - طرف لتوصيل نبضات الساعة SCL.
2 - طرف لتوصيل الداتا SDA.
يمكن من خلال بروتوكول I2C توصيل عناصر متعددة الى نفس الطرفين والتخاطب معها جميعا بدون ان يحدث تداخل بينها .
والسؤال الذي يطرح نفسه : في حال كان لدي عدة عناصر الكترونية (مثلا لدي ذاكرة EEPROM وساعة زمن حقيقة DS1307 وغيرها) والتي تستخدم طريقة I2C فكيف يمكن نقل الداتا من المتحكم الى الايبروم فقط ؟؟؟
الجواب بسيط جدا : تعتمد عملية نقل الداتا على استخدام عنوان مميز لكل عنصر ( هذا العنوان يشبه الاسم والذي يميز كل انسان) فمثلا الذاكرة الخارجية التسلسلية EEPROM لها رقم مميز يختلف عن DS1307 ، ويجب مراجعة الداتاشيت للعنصر لمعرفة هذا الرقم حتى نتمكن من نقل الداتا والا فان عملية الربط ستكون بدون جدوى .
هذه مقدمة بسيطة لتوضيح هذا البروتوكول ،وان شاء الله يتم التوضيح بشكل تدريجي للوصول الى فهم اكبر لهذا البروتوكول .
واخر دعوانا ان الحمدلله رب العالمين .. وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم.







