סקירה כללית והיתרונות של אוטובוס I2C

פותח על ידי פיליפס בשנות ה-80, I2C (לחילופין מאוית I2C) הפך לאחד מפרוטוקולי התקשורת הטוריים הנפוצים ביותר בתחום האלקטרוניקה. I2C מאפשר תקשורת בין רכיבים אלקטרוניים או משולבים מעגלים, האם הרכיבים על אותו הדבר PCB או מחובר עם כבל.

שלב שני של פרוטוקול I2C
Mwnuk / CC BY 2.0 / Wikimedia Commons

מהו פרוטוקול I2C?

I2C הוא פרוטוקול תקשורת טורית שדורש רק שני קווי אות. הוא תוכנן לתקשורת בין שבבים על לוח מעגלים מודפסים (PCB). I2C תוכנן במקור עבור 100 Kbps תִקשׁוֹרֶת. עם זאת, במהלך השנים פותחו מצבי העברת נתונים מהירים יותר כדי להשיג מהירויות של עד 3.4 מגה-ביט.

המאפיין המרכזי של I2C הוא היכולת להחזיק רכיבים רבים ביחיד אוטובוס תקשורת עם שני חוטים בלבד, מה שהופך את I2C למושלם עבור יישומים פשוטים. פרוטוקול I2C הוקם כתקן רשמי, המאפשר תאימות לאחור בין יישומי I2C.

אותות I2C

פרוטוקול I2C משתמש בשני קווי אות דו-כיווניים כדי לתקשר עם ההתקנים באפיק התקשורת. שני האותות שבהם נעשה שימוש הם:

  • קו נתונים טורי (SDL)
  • שעון נתונים טורי (SDC)

הסיבה לכך ש-I2C יכול להשתמש בשני אותות בלבד כדי לתקשר עם כמה ציוד היקפי היא באופן הטיפול בתקשורת לאורך האוטובוס. כל תקשורת I2C מתחילה עם 7-קצת כתובת (או 10 סיביות) שקוראת לכתובת של הציוד ההיקפי.

זה מאפשר למספר התקנים באפיק I2C למלא את התפקיד של המכשיר הראשי בהתאם לצרכי המערכת. למניעת התנגשויות תקשורת, פרוטוקול I2C כולל יכולות בוררות וזיהוי התנגשות, המאפשרות תקשורת חלקה לאורך האוטובוס.

היתרונות של I2C

כפרוטוקול תקשורת, ל-I2C יש את היתרונות הבאים:

  • קצבי העברת נתונים גמישים.
  • תקשורת למרחקים ארוכים יותר מאשר SPI.
  • כל מכשיר באוטובוס ניתן להתייחסות עצמאית.
  • למכשירים יש מערכת יחסים ראשונית/משנית פשוטה.
  • זה דורש רק שני קווי אות.
  • הוא מסוגל לטפל במספר רב של תקשורת ראשונית על ידי מתן בוררות וזיהוי התנגשות בתקשורת.

מגבלות של I2C

עם כל היתרונות הללו, ל-I2C יש גם כמה מגבלות שאולי צריך לעצב סביבן. המגבלות החשובות ביותר של I2C כוללות:

  • מכיוון שרק 7 סיביות (או 10 סיביות) זמינות עבור כתובת המכשיר, התקנים באותו אפיק יכולים לחלוק את אותה כתובת. התקנים מסוימים יכולים להגדיר את הסיביות האחרונות של הכתובת, אך הדבר מטיל מגבלה של התקנים באותו אפיק.
  • זמינות רק כמה מהירויות תקשורת מוגבלות, והתקנים רבים אינם תומכים בשידור במהירויות גבוהות יותר. נדרשת תמיכה חלקית בכל מהירות באוטובוס כדי למנוע ממכשירים איטיים יותר לתפוס שידורים חלקיים שעלולים לגרום לתקלות תפעול.
  • האופי המשותף של אוטובוס I2C יכול לגרום לכך שהאוטובוס כולו יתקע כאשר מכשיר בודד באוטובוס מפסיק לפעול. הפעלת החשמל לאוטובוס יכולה להחזיר את הפעולה התקינה.
  • מכיוון שמכשירים מגדירים את מהירות התקשורת שלהם, התקנים תפעוליים איטיים יותר יכולים לעכב את פעולתם של מכשירים מהירים יותר.
  • I2C שואב יותר כוח מאפיקי תקשורת טוריים אחרים בשל הטופולוגיה הפתוחה של קווי התקשורת.
  • המגבלות של אוטובוס I2C מגבילות בדרך כלל את מספר המכשירים באוטובוס לסביבות תריסר.

יישומי I2C

I2C היא אפשרות מצוינת עבור יישומים הדורשים עלות נמוכה ויישום פשוט ולא מהירות גבוהה. לדוגמה, שימושים נפוצים בפרוטוקול התקשורת I2C כוללים:

  • קריאת IC זיכרון מסוימים.
  • גישה ל-DAC ו-ADC.
  • שידור ושליטה בפעולות מכוונות משתמש.
  • קריאת חיישני חומרה.
  • תקשורת עם מספר מיקרו-בקרים.