- סוגי פרוטוקולי תקשורת
- מצבי שידור בתקשורת סדרתית
- סנכרון שעון
- מונחים אחרים הקשורים לתקשורת סדרתית
- פרוטוקולים סדרתיים סינכרוניים
- פרוטוקולים סדרתיים אסינכרוניים
- סיכום
לפני שמתחילים בפרוטוקולי תקשורת סדרתיים, בואו נפרק את המינוח בשלושה חלקים. התקשורת מוכרת מאוד מינוח שכרוך חילופי המידע בין שני אנשים או יותר מדיומים. במערכות משובצות, המשמעות של התקשורת היא חילופי נתונים בין שני מיקרו-בקרים בצורת ביטים. החלפה זו של סיביות נתונים במיקרו-בקר נעשית על ידי קבוצה כלשהי מוגדרת המכונה פרוטוקולי תקשורת. כעת אם הנתונים נשלחים בסדרות כלומר אחד אחרי השני אז פרוטוקול התקשורת מכונה פרוטוקול Serial Communication. באופן ספציפי יותר, סיביות הנתונים מועברות אחת-אחת באופן רציף דרך אוטובוס הנתונים או ערוץ התקשורת בתקשורת טורית.
סוגי פרוטוקולי תקשורת
ישנם סוגים שונים של העברת נתונים הזמינים באלקטרוניקה הדיגיטלית כגון תקשורת טורית ותקשורת מקבילה. באופן דומה הפרוטוקולים מחולקים לשני סוגים כגון פרוטוקול תקשורת טורית ופרוטוקולי תקשורת מקבילים. דוגמאות לפרוטוקולי תקשורת מקבילים הם ISA, ATA, SCSI, PCI ו- IEEE-488. באופן דומה ישנן מספר דוגמאות לפרוטוקולי תקשורת טוריים כגון CAN, ETHERNET, I2C, SPI, RS232, USB, 1-Wire ו- SATA וכו '.
במאמר זה יידונו הסוגים השונים של פרוטוקולי תקשורת סדרתיים. תקשורת טורית היא הגישה הנפוצה ביותר להעברת מידע בין ציוד היקפי לעיבוד נתונים. כל מכשיר אלקטרוניקה, בין אם מדובר במחשב אישי (PC) או נייד, פועל בתקשורת טורית. הפרוטוקול הוא צורת התקשורת המאובטחת והאמינה המכילה מערכת חוקים המופנית על ידי מארח המקור (שולח) ומארח היעד (מקלט) בדומה לתקשורת מקבילה.
מצבי שידור בתקשורת סדרתית
כפי שכבר נאמר לעיל כי בתקשורת סדרתית נתונים נשלחים בצורה של ביטים כלומר פולסים בינאריים וידוע כי, אחד בינארי מייצג את ההיגיון HIGH ואפס מייצג את ההיגיון LOW. ישנם מספר סוגים של תקשורת טורית בהתאם לסוג מצב השידור והעברת הנתונים. מצבי השידור מסווגים כסימפלקס, חצי דופלקס ודופלקס מלא.
שיטת סימפלקס:
בשיטת סימפלקס כל אחד מהמדיום כלומר השולח או המקלט יכולים להיות פעילים בכל פעם. כך שאם השולח מעביר את הנתונים אז המקלט יכול רק לקבל ולהיפך. אז שיטת סימפלקס היא טכניקת תקשורת חד כיוונית. הדוגמאות הידועות לשיטת סימפלקס הן טלוויזיה ורדיו.
שיטת חצי דופלקס:
בשיטת חצי דופלקס הן השולח והן המקלט יכולים להיות פעילים אך לא בו זמנית. כך שאם השולח משדר אז המקלט יכול לקבל אך לא יכול לשלוח וכדומה להיפך. הדוגמאות הידועות לחצי הדופלקס הוא האינטרנט שבו המשתמש שולח בקשה לנתונים ומקבל אותו מהשרת.
שיטת דופלקס מלאה:
בשיטת הדופלקס המלא, הן המקלט והן המשדר יכולים לשלוח נתונים זה לזה בו זמנית. הדוגמא הידועה היא הטלפון הנייד.
מלבד זאת, לצורך העברת נתונים מתאימים, השעון ממלא תפקיד חשוב והוא אחד המקורות העיקריים. תקלה בשעון מביאה להעברת נתונים בלתי צפויה ולפעמים גם אובדן נתונים. לכן, סנכרון השעון הופך להיות חשוב מאוד בעת שימוש בתקשורת סדרתית.
סנכרון שעון
השעון שונה במכשירים סדרתיים והוא מסווג בשני סוגים. ממשק סידורי סינכרוני וממשק סידורי אסינכרוני.
ממשק סידורי סינכרוני:
זהו חיבור נקודה לנקודה מאדון לעבד. בממשק מסוג זה, כל המכשירים משתמשים באוטובוס מעבד יחיד לשיתוף נתונים ושעון. העברת הנתונים הופכת למהירה יותר עם אותו אוטובוס לשיתוף שעון ונתונים. כמו כן, אין ממשק בקצב השידור בממשק זה. בצד המשדר, יש מעבר של הנתונים לקו סדרתי המספק את השעון כאות נפרד מכיוון שאין סיביות התחלה, עצירה וזוגיות שנוספו לנתונים. בצד המקלט, הנתונים מחולצים באמצעות השעון המסופק על ידי המשדר וממיר את הנתונים הטוריים חזרה לצורה המקבילה. הדוגמאות הידועות הן I2C ו- SPI.
ממשק סידורי אסינכרוני:
בממשק טורי אסינכרוני, אות השעון החיצוני נעדר. את הממשקים הסידוריים האסינכרוניים ניתן לראות ביישומים למרחקים ארוכים והם מתאימים באופן מושלם לתקשורת יציבה. בממשק סדרתי אסינכרוני היעדר מקור שעון חיצוני גורם לו להסתמך על מספר פרמטרים כגון בקרת זרימת נתונים, בקרת שגיאות, בקרת קצב שידור, בקרת שידור ובקרת קליטה. על צד המשדר, יש הסטה של נתונים הקביל על הקו סדר באמצעות שעון משלה. כמו כן זה מוסיף את סיביות ההתחלה, העצירה והזוגיות. בצד המקלט, המקלט מחלץ את הנתונים באמצעות השעון שלו וממיר את הנתונים הטוריים חזרה לצורה המקבילה לאחר הפשטת סיביות ההתחלה, העצירה והזוגיות. הדוגמאות הידועות הן RS-232, RS-422 ו- RS-485.
מונחים אחרים הקשורים לתקשורת סדרתית
מלבד סינכרון השעון יש לזכור דברים מסוימים בעת העברת נתונים באופן סדרתי כגון קצב שידור, בחירת סיביות נתונים (מסגור), סנכרון ובדיקת שגיאות. בואו נדון בקצרה במונחים אלה.
קצב שידור : קצב שידור הוא קצב העברת הנתונים בין המשדר למקלט בצורת ביטים לשנייה (bps). קצב השידור הנפוץ ביותר הוא 9600. אך יש מבחר אחר של קצב שידור כגון 1200, 2400, 4800, 57600, 115200. ככל שקצב השידור יהיה שומנים הנתונים יועברו בכל פעם. גם עבור תקשורת הנתונים קצב השידור צריך להיות זהה גם למשדר וגם למקלט.
מסגור: מסגור מתייחס למספר סיביות הנתונים שיש לשלוח ממשדר למקלט. מספר סיביות הנתונים שונה במקרה של יישום. רוב היישום משתמש ב- 8 ביטים כבסיסי הנתונים הסטנדרטיים אך ניתן לבחור גם כ- 5, 6 או 7 ביטים.
סנכרון: ביטים לסינכרון חשובים לבחירת נתח נתונים. זה אומר את ההתחלה ואת הסוף של סיביות הנתונים. המשדר יקבע סיביות התחלה ועצירה למסגרת הנתונים והמקלט יזהה אותה בהתאם ויעשה את המשך העיבוד.
בקרת שגיאות: בקרת השגיאות ממלאת תפקיד חשוב בעת תקשורת טורית מכיוון שישנם גורמים רבים המשפיעים ומוסיפים את הרעש בתקשורת הטורית. כדי להיפטר משגיאה זו משתמשים בסיביות הזוגיות בהן הזוגיות תבדוק זוגיות זוגית ומשונה. כך שאם מסגרת הנתונים מכילה את המספר האחיד של 1 אז היא מכונה זוגיות זוגית וסיביות הזוגיות במרשם מוגדרת ל- 1. באופן דומה, אם מסגרת הנתונים מכילה מספר אי זוגי של 1, היא מכונה זוגיות מוזרה ומנקה את קצת זוגיות מוזרה במרשם.
פרוטוקול הוא בדיוק כמו שפה נפוצה שהמערכת משתמשת בה כדי להבין את הנתונים. כמתואר לעיל, פרוטוקול התקשורת הטורי מחולק לסוגים כלומר סינכרוני ואסינכרוני. כעת ידונו שניהם בפירוט.
פרוטוקולים סדרתיים סינכרוניים
סוג סינכרוני של פרוטוקולים סדרו כגון SPI, I2C, CAN ולין משמש בפרויקטים שונים בגלל זה הוא אחד המקורות הטובים ביותר עבור ציוד היקפי משולב. כמו כן, הם הפרוטוקולים הנפוצים ביישומים גדולים.
פרוטוקול SPI
הממשק ההיקפי הסידורי (SPI) הוא ממשק סינכרוני המאפשר חיבור בין מספר מיקרו-בקרי SPI. ב- SPI נדרשים חוטים נפרדים עבור נתונים וקו שעון. כמו כן השעון אינו כלול בזרם הנתונים ויש לספק אותו כאות נפרד. ה- SPI עשוי להיות מוגדר כמנהל או כעבד. ארבעת אותות ה- SPI הבסיסיים (MISO, MOSI, SCK ו- SS), Vcc ו- Ground הם החלק בתקשורת הנתונים. אז זה צריך 6 חוטים כדי לשלוח ולקבל נתונים מעבד או מאסטר. תיאורטית, ל- SPI יכול להיות מספר בלתי מוגבל של עבדים. תקשורת הנתונים מוגדרת ברשומות SPI. ה- SPI יכול לספק עד 10Mbps מהירות והוא אידיאלי לתקשורת נתונים במהירות גבוהה.
לרוב המיקרו-בקרים יש תמיכה מובנית ב- SPI וניתן לחבר אותם ישירות עם מכשיר נתמך SPI:
- תקשורת SPI עם מיקרו-בקר PIC16F877A
- כיצד להשתמש בתקשורת SPI במיקרו-בקר STM32
- כיצד להשתמש ב- SPI בארדואינו: תקשורת בין שני לוחות ארדואינו
תקשורת טורית I2C
מעגל משולב אינטראקטיבי (I2C) בתקשורת דו-קווי בין ICs או מודולים שונים כאשר שני קווים הם SDA (Line Data Line) ו- SCL (Line Line Line). שני הקווים חייבים להיות מחוברים לאספקה חיובית באמצעות נגד משיכה. I2C יכול לספק מהירות של עד 400Kbps והוא משתמש במערכת כתובות של 10 סיביות או 7 סיביות כדי למקד להתקן ספציפי באוטובוס i2c כדי שיוכל לחבר עד 1024 מכשירים. יש לו תקשורת באורך מוגבל והוא אידיאלי לתקשורת על גבי הלוח. קל להתקנה של רשתות I2C מכיוון שהיא משתמשת בשני חוטים בלבד וניתן פשוט לחבר התקנים חדשים לשני קווי האוטובוס הנפוצים של I2C. כמו SPI, למיקרו-בקר בדרך כלל יש סיכות I2C לחיבור כל מכשיר I2C:
- כיצד להשתמש בתקשורת I2C במיקרו-בקר STM32
- תקשורת I2C עם מיקרו-בקר PIC16F877
- כיצד להשתמש ב- I2C בארדואינו: תקשורת בין שני לוחות ארדואינו
יו אס בי
USB (Universal Serial Bus) הוא פרוטוקול נרחב עם גרסאות ומהירויות שונות. ניתן לחבר מקסימום 127 ציוד היקפי לבקר מארח USB יחיד. USB משמש כמכשיר "plug and play". ה- USB משמש כמעט במכשירים כמו מקלדות, מדפסות, התקני מדיה, מצלמות, סורקים ועכברים. הוא מיועד להתקנה קלה, דירוג נתונים מהיר יותר, פחות כבלים והחלפה חמה. זה החליף את היציאות הסידוריות והמקבילות הגדולות והאטיות יותר. USB משתמש באיתות דיפרנציאלי כדי להפחית הפרעות ולאפשר העברה מהירה למרחקים ארוכים.
אוטובוס דיפרנציאלי בנוי עם שני חוטים, אחד מייצג את הנתונים המועברים והשני את השלמתו. הרעיון הוא שהמתח 'הממוצע' על החוטים אינו נושא שום מידע, וכתוצאה מכך פחות הפרעות. ב- USB, המכשירים רשאים למשוך כמות מסוימת של כוח מבלי לשאול את המארח. USB משתמש בשני חוטים בלבד לצורך העברת נתונים ומהיר יותר מהממשק הטורי והמקביל. גרסאות USB תומכות במהירויות שונות כגון 1.5Mbps (USB v1.0), 480 Mbps (USB2.0), 5Gbps (USB v3.0). אורך כבל USB בודד יכול להגיע עד 5 מטר ללא רכזת ו 40 מטר עם רכזת.
פחית
רשת אזור הבקר (CAN) משמשת למשל לרכב כדי לאפשר תקשורת בין יחידות ECU (יחידות בקרת מנוע) לחיישנים. פרוטוקול CAN מבוסס, בעלות נמוכה ומבוססת על הודעות ומכסה ביישומים רבים - למשל מכוניות, משאיות, טרקטורים, רובוטים תעשייתיים. מערכת האוטובוסים CAN מאפשרת אבחון ותצורה של שגיאות מרכזיות בכל ECUs. להודעות CAN יש עדיפות באמצעות מזהים כך שמזהי העדיפות הגבוהה ביותר אינם מופרעים. כל ECU מכיל שבב לקבלת כל ההודעות המשודרות, להחליט על רלוונטיות ולפעול בהתאם - זה מאפשר שינוי קל והכללה של צמתים נוספים (למשל רושמי נתוני אוטובוס אוטובוס CAN). היישומים כוללים התנעה / עצירה של כלי רכב, מערכות למניעת התנגשות. מערכות האוטובוס CAN יכולות לספק מהירות של עד 1Mbps.
מיקרו-ווייר
MICROWIRE הוא ממשק תלת-חוטי 3 מגה-סיביות בעצם תת-קבוצה של ממשק SPI. Microwire הוא יציאת קלט / פלט טורית במיקרו-בקרים, כך שאוטובוס ה- Microwire נמצא גם ב- EEPROM ובשבבים היקפיים אחרים. שלושת השורות הן SI (קלט סידורי), SO (SerialOutput) ו- SK (שעון סידורי). קו הקלט הסידורי (SI) למיקרו-בקר, SO הוא קו הפלט הטורי, ו- SK הוא קו השעון הסדרתי. הנתונים מועברים בקצה הנופל של SK, והם מוערכים בקצה העולה. SI מועבר בקצה העולה של SK. שיפור אוטובוס נוסף ל- MICROWIRE נקרא MICROWIRE / Plus. ההבדל העיקרי בין שני האוטובוסים נראה כי ארכיטקטורת MICROWIRE / Plus בתוך המיקרו-בקר מורכבת יותר. הוא תומך במהירויות של עד 3Mbps.
פרוטוקולים סדרתיים אסינכרוניים
הסוג האסינכרוני של פרוטוקולים טוריים חיוני מאוד כשמדובר בהעברת נתונים אמינה למרחקים ארוכים יותר. תקשורת אסינכרונית אינה דורשת שעון תזמון המשותף לשני המכשירים. כל מכשיר מקשיב ושולח באופן עצמאי פולסים דיגיטליים המייצגים פיסות נתונים בקצב מוסכם. תקשורת טורית אסינכרונית מכונה לפעמים טרנזיסטור טרנזיסטור לוגיקה (TTL) טורית, כאשר רמת המתח הגבוה היא לוגיקה 1, והמתח הנמוך שווה לוגיקה 0. כמעט לכל מיקרו-בקר בשוק כיום יש לפחות מקלט אסינכרוני אוניברסלי אחד- משדר (UART) לתקשורת סדרתית. הדוגמאות הן RS232, RS422, RS485 וכו '.
RS232
ה- RS232 (תקן מומלץ 232) הוא פרוטוקול נפוץ מאוד המשמש לחיבור ציוד היקפי שונה כגון צגים, CNC וכו '. ה- RS232 מגיע במחברים זכר ונקבה. ה- RS232 הוא טופולוגיה נקודה לנקודה עם מכשיר אחד מחובר לכל היותר ומכסה מרחק של עד 15 מטר ב 9600 bps. מידע על ממשק RS-232 מועבר דיגיטלית על ידי לוגי 0 ו- 1. הלוגי "1" (MARK) תואם למתח בטווח שבין -3 ל -15 V. ההיגיון "0" (SPACE) תואם ל- מתח בטווח שבין +3 ל +15 וולט. הוא מגיע במחבר DB9 עם 9 פינים כמו TxD, RxD, RTS, CTS, DTR, DSR, DCD, GND.
RS422
ה- RS422 דומה ל- RS232 המאפשר לשלוח ולקבל הודעות בו זמנית בקווים נפרדים אך משתמש באותה הפרש לשם כך. ברשת RS-422 יכול להיות רק מכשיר משדר אחד ועד 10 מכשירים מקבלים. מהירות העברת הנתונים ב- RS-422 תלויה במרחק והיא יכולה לנוע בין 10 kbps (1200 מטר) ל -10 Mbps (10 מטר). קו ה- RS-422 הוא 4 חוטים להעברת נתונים (2 חוטים מפותלים להעברה ו -2 חוטים מפותלים לקבלה) וחוט קרקע GND משותף אחד. המתח בקווי הנתונים יכול להיות בטווח שבין -6 V ל +6 V. ההפרש הלוגי בין A ל B גדול מ +0.2 V. לוגי 1 תואם את ההפרש בין A ל B פחות מ -0.2 V. תקן RS-422 אינו מגדיר סוג ספציפי של מחברים, בדרך כלל הוא יכול להיות גוש מסוף או מחבר DB9.
RS485
מכיוון ש- RS485 משתמש בטופולוגיה מרובת נקודות, הוא משמש ביותר בתעשיות ומהווה פרוטוקול מועדף בענף. RS422 יכול לחבר 32 מנהלי התקנים ו -32 מקלטים בתצורות דיפרנציאליות אך בעזרת משחזרים נוספים ומגברי אות עד 256 התקנים. ה- RS-485 אינו מגדיר סוג ספציפי של מחברים, אך לרוב מדובר בחסימת מסוף או מחבר DB9. מהירות הפעולה תלויה גם באורך הקו ויכולה להגיע ל -10 מגה ביט / שנייה ב -10 מטרים. המתח בקווים הוא בטווח שבין -7 וולט ל +12 וולט. ישנם שני סוגים של RS-485 כגון מצב חצי דופלקס RS-485 עם 2 אנשי קשר ומצב דופלקס מלא RS-485 עם 4 אנשי קשר. למידע נוסף על שימוש ב- RS485 עם מיקרו-בקרים אחרים, עיין בקישורים:
- תקשורת טורית RS-485 MODBUS באמצעות ארדואינו UNO כעבד
- תקשורת טורית RS-485 בין Raspberry Pi ו- Arduino Uno
- תקשורת טורית RS485 בין Arduino Uno ו- Arduino Nano
- תקשורת טורית בין STM32F103C8 לבין Arduino UNO באמצעות RS-485
סיכום
תקשורת טורית היא אחת ממערכות ממשקי התקשורת הנמצאות בשימוש נרחב באלקטרוניקה ובמערכות משובצות. קצב הנתונים יכול להיות שונה עבור יישומים שונים. פרוטוקולי התקשורת הסדרתית יכולים למלא תפקיד מכריע בעת טיפול ביישומים מסוג זה. אז בחירה בפרוטוקול הסדרתי הנכון הופכת לחשובה מאוד.