SMBus: עבודה, הבדלים ויישומיו

נסה את הכלי שלנו לביטול בעיות





ה-SMBus הושק בשנת 1995 על ידי אינטל והוא מבוסס על פרוטוקול האוטובוס הטורי I²C של פיליפס. אוטובוס זה נושא נתונים, CLK והוראות כאשר תדר השעון נע בין 10 קילו-הרץ ל-100 קילו-הרץ. הכוונה העיקרית של SMBus היא לאפשר שיטה זולה וחזקה לשלוט ולקבל נתונים ממכשירים על לוח האם. SMBus משמש בדרך כלל במחשבים אישיים לבקרת טמפרטורה, סוללות חכמות ותקשורת אחרת לניהול מערכת ברוחב פס נמוך.


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



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

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

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



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

מפרט SMBus

המפרט של SMBus פשוט מתייחס ל-3 סוגים של מכשירים מארח, מאסטר ועבד.

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

כיצד פועל SMBus?

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

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

  דיאגרמת SMBus
דיאגרמת SMBus

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

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

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

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

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

אוטובוס זה משתמש ב-2 חוטים לתקשורת כמו חוט SMBDAT וחוט SMBCLK שבו חוט SMBDAT משמש להעברת נתונים טוריים וחוט SMBCLK פועל כמו השעון הטורי. ב-SMBus לעיל, המאסטר פשוט מניע את ה-SMBCLK שנע בין 10 ל-100 קילו-הרץ, עם זאת, כל קו יכול להניע את ה-SMBDAT.

שני החוטים הללו הם דו-כיווניים אשר מספקים אפשרות לכלול אות התראה כמו SMBALERT המאפשר למכשירים לבקש תשומת לב מהמארח.

חבילת הנתונים של אוטובוס זה מכילה סיביות התחלה, סיביות ACK או NACK, 8 סיביות נתונים וסיבית עצור. העברת הנתונים של SMBus משתמשת בחלק מהפונקציות אחרת בפרוטוקולים של SMBus שונים בזמן שליחת הודעות כמו Send Byte, Quick Command, Read Word, Write Byte, Read Byte, Write Word, Process Call, Block Write, Block Read, Read Process Call & חסום כתיבה-בלוק.

אוטובוס זה תומך גם ב-PEC (בדיקת שגיאות מנות) כדי לשפר את אמינות התקשורת. אז זה יכול להתבצע על ידי הכללת קוד שגיאה מנות בסוף כל הודעה.

פונקציות

פונקציות SMBus נקראים גם פרוטוקולים. אז הפרוטוקולים העיקריים של SMBus הם Quick Command, Send Byte, Receive Byte, Write Byte, Read Byte, Process Call, Block Write/Read Block Write-Block Process Call, SMBus Host Notify Protocol, Write-32 Protocol, Read-32 פרוטוקול, כתוב פרוטוקול 64 וקרא פרוטוקול 64.

פורמט הודעה SMBUS

לאחר מצב ה-START, המאסטר יאתר את כתובת ה-7 סיביות של התקן העבד והוא צריך לפנות באוטובוס. אז, אורך הכתובת הוא באורך של 7 סיביות ואחריו 8 סיביות המסמלות את כיוון העברת הנתונים (R/W); ONE מציין בקשה ל-READ (נתונים) ואפס מציין WRITE (שידור).

  פורמט הודעה
פורמט הודעה

העברת הנתונים מסתיימת תמיד על ידי תנאי STOP שנוצר באמצעות המאסטר.

כל בייט כולל 8 ביטים וכל בייט מועבר ב-SMBus ויש לעקוב אחריו דרך סיבית אישור. בתים משודרים דרך ה-MSB (הסיביות המשמעותית ביותר) תחילה.

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

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

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

תנאי התחלה ועצירה עבור פרוטוקול SMBus

מצב START & STOP של הודעה יוגדר על ידי שני תנאי אוטובוס ייחודיים גבוה לנמוך ונמוך לגבוה.

  תנאי התחלה ועצירה
תנאי התחלה ועצירה

במעבר קו SMBDAT HIGH ל-LOW, כאשר ה-SMBCLK הוא HIGH אז הוא מציין תנאי START של הודעה.

במעבר קו SMBDAT LOW ל-HIGH, כאשר SMBCLK הוא HIGH אז הוא מגדיר מצב STOP של הודעה. אז שני התנאים האלה נוצרים תמיד על ידי המאסטר של האוטובוס. האוטובוס נהיה עמוס לאחר מצב של START. האוטובוס יחזור להיות סרק לאחר זמן מסוים בעקבות מצב STOP.

דרישות חומרה של SMBus

דרישות החומרה של SMBus כדי לאפשר תקשורת יעילה, כמו גם תקשורת חלקה בין מחשב אישי וחלק מהחומרה החיונית ביותר שלו, הן שני חוטים כמו SMBDAT ו-SMBCLK, PSU (יחידת אספקת חשמל), סט של ICs, דרייברים ומאווררי הקירור שלו . בעיקרון, בקר SMBus זה מאפשר למחשב לטפל ולבצע פקודות בהצלחה כמו הפעלת ה-PSU שלו ושליטה במאווררי הקירור שלו.

העברת נתונים של SMBus משתמשת בפרוטוקולים או פונקציות שונות בזמן העברת הודעות כמו Send Byte, Quick Command, Write Byte, Read Byte, Write Word, Read Word, Block Read, Process Call, Block Write, וכו'. זה גם תומך בבדיקת שגיאות PEC או Packet עבור שיפור אמינות התקשורת פשוט על ידי הכללת קוד שגיאה של מנה בכל קצה הודעה.

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

SMBus לעומת I2C

ה ההבדל בין SMBus ל-I2C כולל את הדברים הבאים.

SMBus

2C

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

I2C משמש בדרך כלל לחיבור ציוד היקפי מבוסס מהירות נמוכה כמו מיקרו-בקרים וחיישנים למעבדים מעל למרחקים קצרים ב-IC.
מהירות ה-CLK המקסימלית היא 100 קילו-הרץ. מהירות ה-CLK המקסימלית היא 400 קילו-הרץ.
מהירות ה-CLK המינימלית היא 10 קילו-הרץ. אין מהירות CLK מינימלית.
פסק זמן CLK נמוך של 35ms. אין פסק זמן.
יש לו רמות לוגיות קבועות. רמות ההיגיון שלו תלויות ב-VDD.
יש לו סוגי כתובות שונים כמו שמורות, דינמיות וכו'. יש לו סוגי כתובות שונים כמו כתובת עבד של שיחה כללית, 7-bit ו-10-bit.
יש לו פרוטוקולי אוטובוס שונים כמו שיחות תהליך, פקודות מהירות וכו'. אין לו פרוטוקולי אוטובוס.

SMBus לעומת Pmbus

ההבדל בין SMBus ל- Pmbus כולל את הדברים הבאים.

SMBus

Pmbus

ה-SMBus הוא אוטובוס דו-חוטי חד-קצה המשמש לתקשורת קלת משקל. ההרחבה של SMBus היא Pmbus וזהו פרוטוקול בעלות נמוכה המשמש בעיקר לתקשורת בין התקני ניהול צריכת חשמל.
מצב העבד של האוטובוס הזה מאפשר ערכי קצבי נתונים כמו 10kbps, 50kbps, 100kbps ו-400kbps. מצב העבד של האוטובוס הזה פשוט מאפשר ערכי קצב נתונים כמו 100 kbps ו-400 kbps.
סוג זה של אפיק עובד עם חומרת I2C אולם הוא כולל תוכנה ברמה שנייה על ידי מתן אפשרות להחלפה חמה של התקנים מבלי להפעיל מחדש את המערכת. אפיק זה מרחיב את SMBus פשוט על ידי הגדרת קבוצת פקודות של המכשיר והוא מיועד במיוחד לטיפול בממירי כוח, חשיפת תכונות המכשיר כמו זרם נמדד, מתח, טמפרטורה וכו'.
SMBus הוא קבוצת על של I2C PMBus הוא קבוצת על של SMBus
אוטובוס זה כולל גם את שכבות הרשת וגם את שכבות קישור הנתונים. אוטובוס זה כולל את שכבת התחבורה ומערכת פקודות.

תרשים תזמון

ה דיאגרמת תזמון SMBus מוצג להלן.

  תרשים תזמון של SMBus
תרשים תזמון של SMBus

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

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

יישומים

ה יישומים של SMBus כלול את הבאים.

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

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