הבנה לגבי פרוטוקול התקשורת של SPI ב- Embedded

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





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

תקשורת נתונים טורית

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




תקשורת נתונים טורית

תקשורת נתונים טורית

נתונים סדרתיים אלה מועברים ביחס לדופק שעון מסוים. קצב העברת הנתונים מכונה קצב שידור. מספר סיביות הנתונים שניתן להעביר בשנייה נקרא קצב שידור. נניח שהנתונים הם של 12 בתים, ואז כל בייט מומר ל- 8 ביט כך שהגודל הכולל של העברת הנתונים הוא כ- 96 ביט / שנייה מהנתונים (12 בתים * 8 ביט לכל בת). אם ניתן להעביר את הנתונים אחת לשנייה, קצב השידור הוא סביב 96 ביט / שנייה או 96 באוד. מסך התצוגה מרענן את ערך הנתונים אחת לשנייה.



יסודות ממשק היקפי סדרתי

תקשורת SPI מייצגת ממשק היקפי סדרתי פרוטוקול תקשורת , אשר פותחה על ידי מוטורולה בשנת 1972. ממשק SPI זמין בבקרי תקשורת פופולריים כגון PIC, AVR ו- בקר ARM וכו 'יש לו קישור נתוני תקשורת טורית סינכרונית הפועל בדופלקס מלא, כלומר אותות הנתונים ממשיכים בשני הכיוונים בו זמנית.

פרוטוקול SPI מורכב מארבעה חוטים כגון MISO, MOSI, CLK, SS המשמשים לתקשורת מאסטר / עבדים. המאסטר הוא מיקרו-בקר, והעבדים הם ציוד היקפי אחר כמו חיישנים, מודם GSM ומודם GPS וכו '. העבדים המרובים מתממשקים למאסטר באמצעות אוטובוס סדרתי SPI. פרוטוקול SPI אינו תומך בתקשורת מולטי-מאסטר והוא משמש למרחק קצר בתוך לוח מעגלים.

יסודות ממשק היקפי סדרתי

יסודות ממשק היקפי סדרתי

קווי SPI

MISO (Master in Slave out) : קו MISO מוגדר כקלט בהתקן ראשי וכפלט בהתקן עבדים.


MOSI (Master Slave in) : ה- MOSI הוא קו שמוגדר כפלט בהתקן ראשי וכקלט בהתקן עבדים שבו הוא משמש לסינכרון תנועת הנתונים.

SCK (שעון סדרתי) : אות זה מונע תמיד על ידי המאסטר להעברת נתונים סינכרוניים בין המאסטר לעבד. הוא משמש לסינכרון תנועת הנתונים הן פנימה והן החוצה דרך קווי MOSI ו- MISO.

SS (בחירת עבדים) ו- CS (בחירת שבב) : אות זה מונע על ידי המאסטר לבחירת עבדים בודדים / מכשירים היקפיים. זהו קו קלט המשמש לבחירת התקני העבדים.

תקשורת מאסטר עבדים עם אוטובוס סידורי SPI

יחיד יחיד ויישום SPI עבד יחיד

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

מאסטר תקשורת עבדים

מאסטר תקשורת עבדים

מאסטר יחיד ומימוש עבדים מרובה

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

יחיד יחיד ומספר עבדים

יחיד יחיד ומספר עבדים

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

העברת הנתונים מאורגנת על ידי שימוש ברישומי המשמרת הן במכשירי מאסטר והן בהתקני עבדים עם גודל מילים נתון של כ 8 סיביות ו 16 סיביות בהתאמה. שני המכשירים מחוברים בצורה טבעתית כך שערך רישום משמרת המזמר מועבר דרך קו MOSI, ואז העבד מעביר נתונים במרשם המשמרת שלו. הנתונים בדרך כלל מועברים החוצה עם ה- MSB והעברת ה- LSB החדש לאותו מרשם.

העברת נתונים בין מאסטר לעבד

העברת נתונים בין מאסטר לעבד

המשמעות של קוטביות השעון ושלבם

בדרך כלל ההעברה והקבלה של הנתונים מתבצעות ביחס לפולסי השעון בקצוות עולים ובקצוות נופלים. למיקרו-בקרים המתקדמים יש שני תדרים: תדר פנימי ותדר חיצוני. ניתן להוסיף ציוד היקפי SPI על ידי שיתוף קווי MISO, MOSI ו- SCLK. ציוד היקפי הוא מסוגים שונים או במהירויות שונות כמו ADC, DAC וכו '. לכן עלינו לשנות את הגדרות ה- SPCR בין ההעברות להיקפי היקפי שונים.

רישום SPCR

רישום SPCR

אוטובוס ה- SPI פועל באחד מארבעת מצבי ההעברה השונים עם קוטביות שעון (CPOL) ושלב שעון (CPHA) המגדיר פורמט שעון לשימוש. קוטביות השעון וקצב שעון הפאזה תלויים בהתקן ההיקפי שאתה מנסה לתקשר עם המאסטר.
CPHA = 0, CPOL = 0: הסיבית הראשונה מתחילה כאות נמוך יותר - הנתונים נדגמים בקצה עולה והנתונים משתנים בקצה נופל.

CPHA = 0, CPOL = 1: הביט הראשון מתחיל בשעון נמוך יותר - הנתונים נדגמים בקצה נופל והנתונים משתנים בקצה עולה.

CPHA = 1, CPOL = 0: הביט הראשון מתחיל בשעון גבוה יותר - הנתונים נדגמים בקצה נופל והנתונים משתנים בקצה עולה.

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

תזמונים של אוטובוס SPI

תזמונים של אוטובוס SPI

פרוטוקול תקשורת SPI

למיקרו-בקרים רבים יש פרוטוקולי SPI מובנים המטפלים בכל נתוני השליחה והקבלה. כל אחת מפעולות מצב הנתונים (R / W) נשלטת על ידי רישומי בקרה ומצב של פרוטוקול SPI. כאן תוכלו לצפות בממשק EEPROM למיקרו-בקר PIC16f877a דרך פרוטוקול SPI.

הנה, 25LC104 EEROM הוא זיכרון בתים של 131072 שבו המיקרו-בקר מעביר שני בתים של נתונים אל זיכרון EEROM דרך אוטובוס סדרתי של SPI. התוכנית לממשק זה מובאת להלן.

תקשורת מאסטר לעבדים דרך אוטובוס סדרתי של SPI

תקשורת מאסטר לעבדים דרך אוטובוס סדרתי של SPI

#לִכלוֹל
Sbit SS = RC ^ 2
Sbit SCK = RC ^ 3
Sbit SDI = RC ^ 4
Sbit SDO = RC ^ 5
בטל אתחול EEROM ()
חלל ראשי ()
{
SSPSPAT = 0x00
SSPCON = 0x31
SMP = 0
SCK = 0
SDO = 0
SS = 1
EE_adress = 0x00
SPI_write (0x80)
SPI_write (1234)
SS = 0
}

יתרונותיו של פרוטוקול SPI

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

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

נקודות זיכוי: