תוכן עניינים:
- שלב 1: סדרה VS. תקשורת מקבילה
- שלב 2:
- שלב 3:
- שלב 4: מבוא לתקשורת SPI
- שלב 5:
- שלב 6:
- שלב 7:
- שלב 8: כיצד פועל SPI
- שלב 9:
- שלב 10:
- שלב 11:
- שלב 12:
- שלב 13: יתרונות ויתרונות של SPI
וִידֵאוֹ: יסודות פרוטוקול תקשורת SPI: 13 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:16
כאשר אתה מחבר מיקרו -בקר לחיישן, לתצוגה או למודול אחר, האם אתה חושב פעם כיצד שני המכשירים מדברים זה עם זה? מה בדיוק הם אומרים? כיצד הם מסוגלים להבין זה את זה?
תקשורת בין מכשירים אלקטרוניים היא כמו תקשורת בין בני אדם. שני הצדדים צריכים לדבר באותה שפה. באלקטרוניקה, שפות אלו נקראות פרוטוקולי תקשורת. למזלנו, ישנם רק כמה פרוטוקולי תקשורת שעלינו לדעת בעת בניית רוב הפרויקטים האלקטרוניים של DIY. בסדרת מאמרים זו נדון ביסודות של שלושת הפרוטוקולים הנפוצים ביותר: ממשק היקפי סידורי (SPI), מעגל אינטגרטיבי (I2C) ותקשורת מונעת אסינכרוני/משדר אוניברסלי (UART). ראשית, נתחיל בכמה מושגי יסוד אודות תקשורת אלקטרונית, ולאחר מכן נסביר בפירוט כיצד פועל SPI. במאמר הבא נדון בתקשורת מונעת על ידי UART, ובמאמר השלישי נצלול אל I2C. SPI, I2C ו- UART הם לאט לאט יותר מפרוטוקולים כמו USB, Ethernet, Bluetooth ו- WiFi, אבל הם הרבה יותר פשוטים ומשתמשים בפחות משאבי חומרה ומערכת. SPI, I2C ו- UART הם אידיאליים לתקשורת בין בקרי מיקרו ובין מיקרו -בקרים וחיישנים שבהם אין צורך להעביר כמויות גדולות של נתונים במהירות גבוהה.
שלב 1: סדרה VS. תקשורת מקבילה
מכשירים אלקטרוניים מדברים ביניהם על ידי שליחת פיסות נתונים דרך חוטים המחוברים פיזית בין מכשירים. קצת הוא כמו אות במילה, למעט במקום 26 האותיות (באלפבית האנגלי), קצת הוא בינארי ויכול להיות רק 1 או 0. סיביות מועברות ממכשיר אחד למשנהו על ידי שינויים מהירים במתח. במערכת הפועלת על 5 V, 0 ביט מתקשר כדופק קצר של 0 V, ו- 1 bit מתקשר על ידי דופק קצר של 5 V.
ניתן להעביר את נתוני הנתונים בצורה מקבילה או סדרתית. בתקשורת מקבילה, נתחי הנתונים נשלחים בבת אחת, כל אחד באמצעות חוט נפרד. התרשים הבא מציג את השידור המקביל של האות "C" בינארית (01000011):
שלב 2:
בתקשורת סדרתית, הביטים נשלחים אחד אחד באמצעות חוט אחד. התרשים הבא מציג את השידור הטורי של האות "C" בינארית (01000011):
שלב 3:
שלב 4: מבוא לתקשורת SPI
SPI הוא פרוטוקול תקשורת נפוץ המשמש מכשירים רבים ושונים. לדוגמה, מודולי כרטיסי SD, מודולי קוראי כרטיסי RFID ומשדרים/מקלטי אלחוטי 2.4 GHz משתמשים כולם ב- SPI כדי לתקשר עם מיקרו -בקרים.
יתרון ייחודי אחד של SPI הוא העובדה שניתן להעביר נתונים ללא הפרעה. ניתן לשלוח או לקבל כל מספר סיביות בזרם רציף. עם I2C ו- UART, הנתונים נשלחים במנות, מוגבל למספר ביטים ספציפי. תנאי ההתחלה והעצירה מגדירים את ההתחלה והסוף של כל מנה, כך שהנתונים נקטעים במהלך השידור. התקנים המתקשרים באמצעות SPI נמצאים במערכת יחסים של אמן-עבד. המאסטר הוא מכשיר השליטה (בדרך כלל מיקרו -בקר), בעוד שהעבד (בדרך כלל חיישן, תצוגה או שבב זיכרון) מקבל הוראות מהמאסטר. התצורה הפשוטה ביותר של SPI היא מערכת יחידה אחת, עבדים יחידה, אך מאסטר אחד יכול לשלוט ביותר מעבד אחד (עוד על כך בהמשך).
שלב 5:
שלב 6:
MOSI (פלט מאסטר/כניסת עבדים) - קו המאסטר לשלוח נתונים לעבד.
MISO (קלט מאסטר/פלט עבד) - קו עבור העבד לשלוח נתונים למאסטר.
SCLK (שעון) - קו לאות השעון.
SS/CS (בחירת עבדים/בחירת שבבים) - שורה עבור המאסטר לבחור לאיזה עבד לשלוח נתונים
שלב 7:
*בפועל, מספר העבדים מוגבל ביכולת הקיבולת של המערכת, מה שמקטין את יכולתו של המאסטר לעבור במדויק בין רמות המתח.
שלב 8: כיצד פועל SPI
השעון
אות השעון מסנכרן את הפלט של סיביות נתונים מהמאסטר לדגימת הביטים על ידי העבד. כל נתון מועבר בכל מחזור שעון, ולכן מהירות העברת הנתונים נקבעת על פי תדירות אות השעון. תקשורת SPI תמיד יוזמת על ידי המאסטר מכיוון שהמאסטר מגדיר ומייצר את אות השעון.
כל פרוטוקול תקשורת שבו התקנים חולקים אות שעון ידוע בשם סינכרוני. SPI הוא פרוטוקול תקשורת סינכרוני. ישנן גם שיטות אסינכרוניות שאינן משתמשות באות שעון. לדוגמה, בתקשורת UART, שני הצדדים מוגדרים לקצב שידור מוגדר מראש המכתיב את המהירות והתזמון של העברת הנתונים.
ניתן לשנות את אות השעון ב- SPI באמצעות המאפיינים של קוטביות השעון ושלב השעון. שני המאפיינים האלה פועלים יחד כדי להגדיר מתי הביטים יוצאים ומתי הם נדגמים. המאסטר יכול להגדיר את קוטביות השעון על מנת לאפשר להוציא ביטים ולדגום אותם בקצה העולה או היורד של מחזור השעון. ניתן להגדיר את שלב השעון כך שהפלט והדגימה יתרחשו בקצה הראשון או בקצה השני של מחזור השעון, ללא קשר אם הוא עולה או יורד.
SLAVE SELECT
המאסטר יכול לבחור עם איזה עבד הוא רוצה לדבר על ידי הגדרת קו ה- CS/SS של העבד לרמת מתח נמוכה. במצב סרק, שאינו משדר, קו בחירת העבדים נשמר ברמת מתח גבוהה. מספר סיכות CS/SS עשויות להיות זמינות במאסטר, מה שמאפשר לחווט מספר עבדים במקביל. אם קיים רק סיכת CS/SS אחת, ניתן לחבר אל עבדים מספר רב של מאסטר באמצעות שרשרת דייזי.
SPI מרובה סלבים
ניתן להגדיר אותו לפעול עם מאסטר יחיד ועבד יחיד, וניתן להגדיר אותו עם מספר עבדים הנשלטים על ידי מאסטר יחיד. ישנן שתי דרכים לחבר עבדים מרובים למאסטר. אם למאסטר מספר סיכות בחירה של עבדים, ניתן לחבר את העבדים במקביל כך:
שלב 9:
שלב 10:
מוזי ומיסו
המאסטר שולח נתונים לעבד טיפין טיפין, בסדרה באמצעות קו MOSI. העבד מקבל את הנתונים שנשלחו מהמאסטר בסיכת MOSI. נתונים שנשלחים מהמאסטר לעבד נשלחים בדרך כלל עם הביט המשמעותי ביותר תחילה. העבד יכול גם לשלוח נתונים בחזרה למאסטר באמצעות קו MISO בסידרה. הנתונים שנשלחים מהעבד בחזרה למאסטר נשלחים בדרך כלל עם המעט הפחות משמעותי קודם. שלבי העברת נתוני SPI 1. המאסטר מוציא את אות השעון:
שלב 11:
אם זמינה רק סיכת בחירה אחת של עבדים, ניתן לכבול את העבדים כך:
שלב 12:
מוזי ומיסו
המאסטר שולח נתונים לעבד טיפין טיפין, בסדרה באמצעות קו MOSI. העבד מקבל את הנתונים שנשלחו מהמאסטר בסיכת MOSI. נתונים שנשלחים מהמאסטר לעבד נשלחים בדרך כלל עם הביט המשמעותי ביותר תחילה.
העבד יכול גם לשלוח נתונים בחזרה למאסטר באמצעות קו MISO בסידרה. הנתונים שנשלחים מהעבד בחזרה למאסטר נשלחים בדרך כלל עם המעט הפחות משמעותי קודם.
שלבים של העברת נתוני SPI
*שימו לב לתמונות הם Oboe רשומים שתוכלו להבחין בקלות
1. המאסטר מוציא את אות השעון:
2. המאסטר מעביר את סיכת ה- SS/CS למצב מתח נמוך, המפעיל את העבד:
3. המאסטר שולח את הנתונים כל פעם קצת לעבד לאורך קו MOSI. העבד קורא את החלקים כשהם מתקבלים:
4. אם יש צורך בתגובה, העבד מחזיר נתונים פעם אחר פעם למאסטר לאורך קו MISO. המאסטר קורא את הביטים כשהם מתקבלים:
שלב 13: יתרונות ויתרונות של SPI
ישנם כמה יתרונות וחסרונות בשימוש ב- SPI, ואם ניתנת לך הבחירה בין פרוטוקולי תקשורת שונים, עליך לדעת מתי להשתמש ב- SPI בהתאם לדרישות הפרויקט שלך:
יתרונות
אין נתחי התחלה ועצירה, כך שניתן להזרים את הנתונים ברציפות ללא הפרעה אין מערכת פנייה לעבדים מסובכת כמו I2C קצב העברת נתונים גבוה יותר מ- I2C (כמעט פי שניים) קווים נפרדים של MISO ו- MOSI, כך שניתן לשלוח ולקבל נתונים באותו זמן זְמַן
חסרונות
משתמש בארבעה חוטים (I2C ו- UART משתמשים בשניים) אין אישור לכך שהנתונים התקבלו בהצלחה (ל- I2C יש את זה) שום צורה של בדיקת שגיאות כמו סיביות הזוגיות ב- UART רק מאפשרת מאסטר יחיד בתקווה שמאמר זה נתן לך הבנה טובה יותר של SPI. המשך לחלק השני בסדרה זו כדי ללמוד על תקשורת מונעת UART, או לחלק השלישי שבו אנו דנים בפרוטוקול I2C.
אם יש לך שאלות, אל תהסס לשאול זאת בקטע ההערות, אנחנו כאן כדי לעזור. והקפידו לעקוב
בברכה: מ 'ג'ונאיד
מוּמלָץ:
מפענח פרוטוקול שלט רחוק RC5 ללא ספרייה: 4 שלבים
מפענח פרוטוקול שלט רחוק RC5 ללא ספרייה: לפני פענוח rc5 תחילה אנו דנים בפקודה rc5 ומהו מבנהה. אז בעצם הפקודה rc5 המשמשת בשלט רחוק המשמשים לטלוויזיות, נגני תקליטורים, d2h, מערכות קולנוע ביתיות וכו '. יש לה 13 או 14 סיביות מסודרות ב
שעון אינטרנט: הצג תאריך ושעה עם OLED באמצעות ESP8266 NodeMCU עם פרוטוקול NTP: 6 שלבים
שעון אינטרנט: הצג תאריך ושעה באמצעות OLED באמצעות ESP8266 NodeMCU עם פרוטוקול NTP: היי חברים במדריך זה נבנה שעון אינטרנט שיקבל זמן מהאינטרנט ולכן הפרויקט הזה לא יצטרך שום RTC להפעלה, הוא יצטרך רק חיבור לאינטרנט עובד ולפרויקט זה אתה צריך esp8266 שיהיה לו
לוח הודעות דיגיטלי באמצעות פרוטוקול פטל ופרוטוקול MQTT: 8 שלבים
לוח מודעות דיגיטלי באמצעות Raspberry Pi ו- MQTT פרוטוקול: לוחות הודעות משמשים כמעט בכל מקום, כגון משרד, בתי ספר, בתי חולים ומלונות. ניתן להשתמש בהם שוב ושוב להצגת הודעות חשובות או פרסום אירועים או פגישות הקרובות. אבל ההודעה או הפרסומות חייבות להיות מדויקות
יסודות תקשורת UART: 16 שלבים
יסודות תקשורת UART: זוכרים שכאשר למדפסות, עכברים ומודמים היו כבלים עבים עם המחברים הענקים האלה? אלה שממש היה צריך להבריג אותם במחשב שלך? מכשירים אלה כנראה השתמשו ב- UART כדי לתקשר עם המחשב שלך. בעוד שב- USB יש אלמוס
מקדים* SPI ב- Pi: תקשורת עם מד תאוצה 3 צירים SPI באמצעות פטל פטל: 10 שלבים
מקדים* SPI ב- Pi: תקשורת עם מד תאוצה 3 צירים באמצעות SPI באמצעות פטל פטל: מדריך שלב אחר שלב כיצד להתקין את Raspbian ולתקשר עם מכשיר SPI באמצעות ספריית SPM bcm2835 (לא חבטה קצת!) זה עדיין מאוד ראשוני … אני צריך להוסיף תמונות טובות יותר של חיבור פיזי ולעבוד על חלק מהקוד המביך