ממשק I2C: תיאור ברוסית

תוכן עניינים:

ממשק I2C: תיאור ברוסית
ממשק I2C: תיאור ברוסית
Anonim

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

  • יחידת בקרה "חכמה" מסוימת, שברוב המוחלט של המקרים היא מחשב מיקרו-שבב אחד;
  • רכיבים למטרות כלליות כגון מאגרי LCD, זיכרון RAM, יציאות I/O, EEPROM או ממירי נתונים ייעודיים;
  • רכיבים ספציפיים כולל כוונון דיגיטלי ומעגלי עיבוד אותות למערכות וידאו ורדיו.

איך לייעל את האפליקציה שלהם?

תיאור קצר של ממשקי uart spi i2c
תיאור קצר של ממשקי uart spi i2c

כדי להפיק את המרב מהפתרונות הנפוצים הללו לטובת המעצבים והיצרנים, כמו גם לשפר את הביצועים הכוללים של חומרות שונות ולפשט את רכיבי המעגלים המיושמים, פיליפס יצאה לפתח את הדו-כיווני הדו-חוטי הפשוט ביותר אוטובוס המספק את השבב הבין-צ'יפ היצרני ביותרלִשְׁלוֹט. אוטובוס זה מספק העברת נתונים דרך ממשק I2C.

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

היתרונות העיקריים

ממשק i2c
ממשק i2c

גם אם תסתכל על תיאור קצר של ממשקי UART, SPI, I2C, תוכל להדגיש את היתרונות הבאים של האחרונים:

  • כדי לעבוד, אתה צריך רק שתי שורות - סנכרון ונתונים. כל מכשיר שמתחבר לאפיק כזה יכול להיות מופנה באופן פרוגרמטי לכתובת ייחודית לחלוטין. בכל זמן נתון, קיים יחס פשוט המאפשר למאסטרים לפעול כמשדר-מאסטר או כמקלט-ראש.
  • אוטובוס זה מספק את היכולת להחזיק מספר מאסטרים בו-זמנית, ומספק את כל האמצעים הדרושים לקביעת התנגשויות, כמו גם בוררות למניעת השחתת נתונים במקרה ששני מאסטרים או יותר יתחילו להעביר מידע בו-זמנית. במצב רגילרק שידור נתונים סדרתי של 8 סיביות מסופק במהירות של לא יותר מ-100 kbps, ובמצב מהיר ניתן להגדיל את הסף הזה ארבע פעמים.
  • השבבים משתמשים במסנן מובנה מיוחד שמדכא ביעילות נחשולים ומבטיח שלמות נתונים מקסימלית.
  • המספר המרבי האפשרי של שבבים שניתן לחבר לאוטובוס אחד מוגבל רק בקיבולת המקסימלית האפשרית שלו של 400 pF.

הטבות לבנאים

ממשק i2c lcd1602
ממשק i2c lcd1602

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

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

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

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

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

הטבות לאנשי טכנולוגיה

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

  • אפיק טורי סטנדרטי דו-חוטי עם ממשק זה ממזער את החיבורים בין IC, כלומר יש פחות פינים ופחות מסלולים הנדרשים, מה שהופך את ה-PCB ליקר יותר והרבה יותר קטן.
  • ממשק I2C משולב במלואו LCD1602 או אפשרות אחרת מבטלת לחלוטין את הצורך במפענחי כתובות והיגיון חיצוני קטן אחר.
  • ניתן להשתמש בכמה מאסטרים באוטובוס כזה בו-זמנית, מה שמאיץ משמעותית את הבדיקה והגדרת הציוד לאחר מכן, מאחר והאוטובוס יכול להיות מחובר למחשב פס ייצור.
  • הזמינות של ICs התואמים לממשק זה בחבילות VSO, SO וחבילות DIL מותאמות אישית יכולה להפחית משמעותית את דרישות גודל המכשיר.

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

מודרניזציה נוספת של הציוד והרחבת הפונקציות שלו יכולה להתבצע באמצעות חיבור סטנדרטי לאפיק של המיקרו-מעגל המתאים באמצעות ממשק Arduino 2C או כל אחר מהרשימה הזמינה. אם נדרש ROM גדול יותר, אז זה יספיק רק לבחור מיקרו-בקר אחר עם ROM מוגבר. מכיוון ששבבים מעודכנים יכולים להחליף לחלוטין את הישנים במידת הצורך, אתה יכול בקלות להוסיף תכונות חדשות לציוד או להגדיל את הביצועים הכוללים שלו פשוט על ידי ניתוק שבבים מיושנים ואז החלפתם בציוד חדש יותר.

ACCESS.bus

בשל העובדה שלאוטובוס יש אופי דו-חוטי, כמו גם האפשרות להתייחס לתוכנית, אחת הפלטפורמות האידיאליות ביותר עבור ACCESS.bus היא ממשק I2C. המפרט (התיאור ברוסית מוצג במאמר) של מכשיר זה הופך אותו לחלופה זולה בהרבה לממשק RS-232C בשימוש פעיל בעבר לחיבור ציוד היקפי שונים למחשבים באמצעות מחבר סטנדרטי עם ארבעה פינים.

הקדמה למפרט

תיאור ממשק i2c ברוסית
תיאור ממשק i2c ברוסית

לאפליקציות מודרניותבקרת 8 סיביות, המשתמשת במיקרו-בקרים, אפשר להגדיר כמה קריטריונים לתכנון:

  • מערכת שלמה כוללת בעיקר מיקרו-בקר אחד וציוד היקפי אחר, כולל זיכרון ויציאות I/O שונות;
  • יש לצמצם ככל האפשר את העלות הכוללת של שילוב מכשירים שונים בתוך מערכת אחת;
  • המערכת השולטת בפונקציות אינה מספקת את הצורך לספק העברת מידע במהירות גבוהה;
  • היעילות הכוללת תלויה ישירות בציוד שנבחר וכן באופי האוטובוס המחבר.

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

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

קונספט ראשי

תיאור מפרט ממשק i2c ברוסית
תיאור מפרט ממשק i2c ברוסית

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

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

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

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

יצירת אות השעון היא באחריות המאסטר, וכל מאסטר מייצר אות משלו במהלך העברת הנתונים, והוא יכול להשתנות רק מאוחר יותר אם הוא "נמשך" על ידי עבד איטי או מאסטר אחר כאשר מתרחשת התנגשות

פרמטרים כלליים

גם SCL וגם SDA הם קווים דו-כיווניים שמתחברים לספק כוח חיובי עם נגד משוך. כאשר הצמיג פנוי לחלוטין, כל קו נמצא במיקום גבוה. שלבי הפלט של התקנים המחוברים לאוטובוס חייבים להיות פתוחים ניקוז או אספן פתוח כדי שניתן יהיה לספק את פונקציית ה-AND החוטית. ניתן להעביר מידע דרך ממשק I2C במהירות של לא יותר מ-400 kbpsמצב מהיר, בעוד שהמהירות הסטנדרטית אינה עולה על 100 kbps. המספר הכולל של המכשירים שניתן לחבר בו זמנית לאוטובוס תלוי רק בפרמטר אחד. זהו קיבול הקו, שהוא לא יותר מ-400 pf.

אישור

תיאור ממשק i2c
תיאור ממשק i2c

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

ברוב המוחלט של המקרים, חובה על המקבל הממוען להפיק אישור לאחר כל בייט שהתקבל, כאשר החריג היחיד הוא כאשר תחילת השידור כוללת כתובת CBUS.

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

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

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

בוררות

ממשק 2c arduino
ממשק 2c arduino

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

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

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

אם המאסטר מאבד את הבוררות, אז הוא יכול להנפיק פולסי שעון ב-SCL עד סוף הביט, שבמהלכו אבדה הגישה.

מוּמלָץ: