עולם האלקטרוניקה היה עד להתקדמות מהירה בשנים האחרונות, וזה הוליד פרוטוקולי תקשורת
חדשים ומשופרים המאפשרים למכשירים לתקשר זה עם זה.
אחד מפרוטוקולי התקשורת הפופולריים ביותר בשימוש באלקטרוניקה מודרנית הוא I2C.
I2C, ראשי תיבות של Inter-Integrated Circuit, הוא פרוטוקול תקשורת דו-חוטי פופולרי המאפשר
למכשירים לתקשר זה עם זה באמצעות זוג חוטים בודד.
בפוסט זה, נתעמק ביסודות של I2C ונחקור את היישומים שלה באלקטרוניקה מודרנית.
מה זה I2C?
I2C הוא פרוטוקול תקשורת טורית סינכרוני שפותח על ידי פיליפס (כיום NXP Semiconductors)
בתחילת שנות ה-80.
הוא משמש לתקשורת בין התקנים שונים בלוח מעגלים או בתוך מערכת.
I2C הוא פרוטוקול תקשורת מאסטר-עבד, כלומר יש התקן אחד (המאסטר) שיוזם תקשורת עם מכשירים אחרים
(העבדים) באותו אפיק.
ההתקן הראשי שולח נתונים להתקן העבד ומקבל נתונים מהתקן העבד.
התקן העבד מגיב רק לפקודות מהמכשיר הראשי.
פרוטוקול I2C משתמש בשני חוטים, הנקראים קווי SDA (נתונים טוריים) ו-SCL (שעון טורי),
כדי להעביר נתונים בין המכשירים.
קו SDA משמש להעברת נתונים מהמאסטר לעבד, ולהיפך.
קו SCL משמש לסנכרון התקשורת בין המכשירים.
איך עובד I2C?
פרוטוקול I2C משתמש בשיטת התחלה-עצירה של תקשורת.
לפני שהמכשיר הראשי יכול לתקשר עם התקן עבד, עליו לשלוח תחילה אות התחלה כדי לציין את תחילת השידור.
אות ההתחלה הוא מעבר נמוך לגבוה בקו SDA בעוד קו SCL גבוה.
לאחר שליחת אות ההתחלה, המכשיר הראשי שולח את הכתובת של מכשיר העבד איתו הוא רוצה לתקשר.
הכתובת היא בדרך כלל באורך של 7 ביטים, אך ניתן להרחיב אותה ל-10 ביטים עבור מערכות גדולות יותר.
מכשיר העבד עם הכתובת המתאימה יגיב באות אישור.
לאחר שהתקן העבד אישר את ההתקן הראשי, המאסטר יכול לשלוח או לקבל נתונים מהעבד.
המאסטר שולח נתונים על קו SDA בעוד קו SCL גבוה. התקן העבד מקבל את הנתונים ושולח אות אישור למכשיר הראשי.
כאשר המכשיר הראשי סיים לשלוח או לקבל נתונים, הוא שולח אות עצור כדי לציין את סיום השידור.
אות העצירה הוא מעבר גבוה לנמוך בקו SDA בעוד שקו SCL גבוה.
מהם היתרונות של I2C?
תקשורת דו-חוטית – I2C משתמשת בשני חוטים בלבד, מה שמקל על היישום במערכות עם שטח מוגבל.
תקשורת סינכרונית – I2C משתמש בפרוטוקול תקשורת סינכרוני, כלומר המכשירים מסונכרנים באמצעות אות שעון.
זה הופך אותו לאמין יותר מפרוטוקולי תקשורת אסינכרוניים.
התקנים מרובים – I2C יכול לתמוך במספר התקנים באותו אפיק, מה שמאפשר לבנות מערכות מורכבות יותר.
צריכת חשמל נמוכה – I2C משתמש בהספק נמוך, מה שהופך אותו לאידיאלי עבור מכשירים המופעלים על ידי סוללה.
יישומים של I2C
I2C משמש במגוון רחב של יישומים אלקטרוניים.
חיישנים – I2C משמש בדרך כלל לתקשורת עם חיישנים כגון מדי תאוצה, חיישני טמפרטורה וחיישני אור.
צגי LCD – פרוטוקול I2C משמש לתקשורת עם צגי LCD במכשירים כגון מצלמות דיגיטליות,
סמארטפונים ושעונים חכמים.
זיכרון EEPROM – פרוטוקול I2C משמש לתקשורת עם זיכרון EEPROM, שהוא זיכרון לא נדיף שניתן
לתכנת לאחסון נתונים גם כשהחשמל כבוי.
זה הופך אותו לאידיאלי לאחסון נתוני תצורה במערכות משובצות.
שעוני זמן אמת – I2C משמש לתקשורת עם שעוני זמן אמת, המשמשים במכשירים הדורשים שמירת זמן מדויקת,
כמו מחשבים ושעונים אלקטרוניים.
Codec שמע – I2C משמש לתקשורת עם רכיבי קוד אודיו, המשמשים במכשירים כגון סמארטפונים ונגני MP3
להמרת אותות שמע דיגיטליים לאותות שמע אנלוגיים.
ניהול צריכת חשמל – I2C משמש לתקשורת עם IC ניהול צריכת חשמל, המשמשים במכשירים כגון סמארטפונים ומחשבים ניידים
כדי לנהל את צריכת החשמל ולמטב את חיי הסוללה.
מנועים – I2C משמש לשליטה במנועים במכשירים כמו רובוטיקה ומזל”טים.
I2C הפך לפרוטוקול תקשורת פופולרי בעידן האינטרנט של הדברים (IoT), שבו מכשירים מחוברים מתקשרים
זה עם זה כדי לשתף נתונים ולהפוך משימות לאוטומטיות.
לדוגמה, ניתן להשתמש ב-I2C כדי לתקשר בין חיישן טמפרטורה למיקרו-בקר, מה שמאפשר למיקרו-בקר
לקרוא את נתוני הטמפרטורה ולקבל החלטות על סמך הנתונים הללו.

