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

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

| רכיב מסגרת | פונקציה |
|---|---|
| חלק התחלה | מסמן את תחילת פריים |
| ביטי נתונים | נשא את הערך שנשלח |
| ביט פריטי | מוסיף בדיקת שגיאה בסיסית כאשר משתמשים ב- |
| עצור קטע | מסמן את סוף הפריים |
| מצב סרק | שומר על קו גבוה כאשר לא נשלח נתונים |
הגדרות UART עיקריות
| רקע | מה הוא שולט בו |
|---|---|
| שיעור באוד | מהירות התקשורת |
| ביטי נתונים | מספר ביטי הערך בכל פריים |
| פריטי | האם יתווסף בדיקת זוגיות |
| עצור ביטים | פורמט סיום הפריים |
| בקרת זרימה | קצב הנתונים בין מכשירים מחוברים |
קצב הבוד קובע כמה מהר נשלחים ביטים. קצבי באוד גבוהים יותר מגדילים את מהירות ההעברה אך דורשים תזמון מדויק יותר ומסלול אות נקי יותר. תקשורת UART גם תלויה בהתאמת הגדרות המסגרת משני הצדדים.
שיעורי באוד נפוצים
| שיעור באוד | שימוש טיפוסי |
|---|---|
| 9600 | מסופים בסיסיים, מודולים פשוטים ומערכות ישנות |
| 19200–38400 | תקשורת במהירות בינונית |
| 57600 | קישורי שליטה ואבחון מהירים יותר |
| 115200 | פלט קונסולה וניפוי שגיאות |
אורך פריים ויעילות נתונים
אורך המסגרת משפיע על כמות הנתונים השימושיים שנישאים בכל שידור. שני קישורי UART יכולים להשתמש באותו קצב באוד אך עדיין לספק קצב העברת נתונים יעיל שונה אם פורמטי הפריימים שלהם שונים. לדוגמה, 8N1 ו-7E1 משתמשים במספר שונה של ביטים בסך הכל לכל פריים, ולכן כמות נתוני המטען לכל פריים אינה זהה.
חיווט UART, רמות מתח ובקרת זרימה

חיבור UART בסיסי משתמש בשלושה אותות עיקריים: TX, RX ו-GND. פין ה-TX של מכשיר אחד מחובר לפין ה-RX של המכשיר השני, ושני המכשירים חייבים לשתף את אותו הארקה כדי שרמות האות ייקראו נכון.
רבים מהמיקרו-בקרים והמודולים משתמשים ברמות TTL או CMOS UART, לעיתים ב-3.3 וולט או 5 וולט. מערכות סיריאליות ישנות עשויות להשתמש ב-RS-232, שיש לו טווח מתח ושיטת איתות שונים, ולכן אינו תואם ישירות ל-TTL UART. משדר-מקלט עם שינוי רמה משמש כאשר מחברים תקנים אלו.
חלק מקישורי UART משתמשים גם בבקרת זרימה כדי למנוע אובדן נתונים כאשר צד אחד אינו יכול לקבל בתים נכנסים במהירות מספקת.
כללי החיווט הבסיסיים של UART
• השלכה ממכשיר אחד מתחברת ל-RX במכשיר השני
• המרשם ממכשיר אחד מתחבר ל-TX במכשיר השני
• הארקה חייבת להיות מחוברת משני הצדדים
תקני החשמל של UART
| סוג | שימוש טיפוסי | נקודה מרכזית |
|---|---|---|
| TTL/CMOS UART | מיקרו-בקרים, מודולים, לוחות פיתוח | משתמש באותות ברמת לוגיקה כמו 3.3 וולט או 5 וולט |
| RS-232 | פורטים סדרתיים ישנים, קישורים תעשייתיים, חיבורים סידוריים למחשבים | משתמש בטווח מתח והתנהגות איתות שונים |
שיטות בקרת זרימה נפוצות
• בקרת זרימת חומרה משתמשת בקווי RTS ו-CTS
• בקרת זרימת תוכנה משתמשת בתווי XON ו-XOFF
בקרת זרימת חומרה משתמשת בקווי בקרה נפרדים לניהול זרימת הנתונים. בקרת זרימת תוכנה מפחיתה את מספר החוטים, אך היא משתמשת בתווי בקרה בתוך זרם הנתונים.
איך UART פועל בתוך מכשיר?
בתוך המכשיר, התקן היקפי UART כולל מספר חלקים המטפלים בשליחת וקבלת נתונים. חלקים אלו כוללים לעיתים קרובות מקטע שידור, אזור קבלה, רגיסטרי שיפט, דגלי סטטוס ומאגרי FIFO. כאשר נתונים נשלחים מחדש, התוכנה מכניסה בית ל-UART, והחומרה מוסיפה את ביט ההתחלה, ביט הפריטי האופציונלי וסיבית העצירה לפני ששולחת את המסגרת המלאה דרך קו ה-TX.
כאשר הנתונים מתקבלים, ה-UART עוקב אחרי קו ה-RX כדי למצוא ביט התחלה תקף. לאחר מכן הוא מדגם את האות בזמן הנכון, בונה מחדש את הבית, בודק את פורמט הפריים ושומר את הנתונים כדי שהתוכנה תוכל לקרוא אותם מאוחר יותר.
היקפי UART מדווחים גם הם על מצב מצב ושגיאה, בעוד שמאגרי FIFO מחזיקים מספר בתים כדי להפחית נתונים שהוחמצו כאשר תוכנה אינה מגיבה מיד.
סטטוס UART ודגלי שגיאה נפוצים
• ריק מאגר השידור
• מאגר קבלה מלא
• שגיאת פריטי
• שגיאת מסגור
• שגיאת Overrun
שימושים נפוצים ב-UART במערכות משובצות
• ניפוי שגיאות בטרמינל סדרתי
• תקשורת בין מיקרו-בקר למודול
• קישורי אתחול ועדכון קושחה
• ממשקי פקודה ותגובה פשוטים
• רישום נתונים ואבחון
• גישה לקונסולת לוח משובצת
הקמה, בדיקות ופתרון תקלות של UART
הגדרת קישור UART מתחילה בבחירת הגדרות תקשורת תואמות ורמות אות. בדיקות עוזרות לאשר שהקישור מחובר נכון, מוגדר כראוי ושולח מסגרות נתונים תקפות.
תכנון קישור ותצורת התקן
בחר את קצב הבוד, פורמט הפריימים, תקן המתח ושיטת בקרת הזרימה לפני החיבור. לאחר מכן הפעל את חומרת UART בתוכנה והגדר כל מאגר או הגדרות FIFO נדרשות. דיוק השעון, איכות הכבלים וקצב הנתונים הצפוי משפיעים גם הם על ביצועי הקישור.
אימות תקשורת
בדוק את הקישור על ידי שליחת דפוס נתונים ידוע או טקסט קריא. טרמינל סדרתי, מתאם USB ל-UART, אנלייזר לוגי או אוסצילוסקופ יכולים לעזור לוודא שהפריימים תקפים ושהקו נשאר במצב סרק נכון בין השידורים.
מדריך בעיות UART
| סימפטום | סיבה סבירה |
|---|---|
| תווים אקראיים או בלתי קריאים | קצב באוד או הגדרות פריימים שגויות |
| לא התקבלו נתונים | TX/RX הפוך, הארקה חסרה, UART מושבת, רמת מתח שגויה |
| שגיאות לסירוגין | רעש, חיווט ארוך, חוסר התאמה בתזמון |
| שגיאות פריימינג או פריטי | הגדרות גרועות או איכות אות ירודה |
| בייטים שאבדו במהלך פרצות | עומס, בופרינג חלש, אין שליטה בזרימה |
בדיקות פתרון תקלות
• לוודא ש-TX ו-RX חוצו נכון
• לוודא ששני הצדדים חולקים את אותו שטח
• אימות קצב באוד ופורמט פריימים בשני הקצוות
• בדוק אם רמות האות הן TTL/CMOS או RS-232
• הפחתת קצב הבוד אם יש חשד לטעות תזמון או רעש
• סקירת דגלי השגיאה של UART בתוכנה
• בדיקה עם כלים או מתאמים מסופים ידועים כטובים
UART, SPI ו-I2C בהשוואה

UART, SPI ו-I2C הן שיטות תקשורת סדרתיות נפוצות, אך הן פועלות בדרכים שונות. UART משתמש בקישור ישיר בין שני מכשירים ואינו זקוק לקו שעון. SPI משתמש בשעון ובנתיבי נתונים נפרדים לתקשורת מהירה יותר. גם I2C משתמש בשעון, אך מאפשר למספר מכשירים לשתף את אותו אוטובוס דרך כתובת מובנית.
השוואת ממשק
| מאפיין | UART | SPI | I2C |
|---|---|---|---|
| קו השעון | לא | כן | כן |
| טופולוגיה טיפוסית | נקודה לנקודה | בקר-היקפי | אוטובוס משותף |
| מורכבות | נמוך | בינוני | בינוני |
| כתובת מובנית | לא | לא | כן |
| כוח משותף | פשטות | מהירות | פחות חוטים להרבה מכשירים |
UART מתאים לקישורים פשוטים וישירים ולגישה לטרמינלים. SPI מתאים לתקשורת מהירה יותר. I2C מתיקים שבהם מספר מכשירים חולקים אוטובוס אחד עם פחות קווי איתות.
סיכום
UART נשאר בשימוש כי הוא מציע תקשורת פשוטה וישירה עם מורכבות חומרה נמוכה. הביצועים שלו תלויים בהגדרות תואמות, חיווט תקין של TX ו-RX, הארקה משותפת, רמות מתח תואמות, וטיפול נכון בתזמון, באפרינג ודגלי שגיאה. הבנת מבנה המסגרת, קצב הבוד, בקרת זרימה וסיבות תקלות נפוצות מסייעת להסביר מדוע קישורי UART נכשלים וכיצד תקשורת יציבה נשמרת במערכות משובצות.
שאלות נפוצות [שאלות נפוצות]
האם UART יכול לשלוח ולקבל בו זמנית?
כן. UART תומכת בתקשורת דו-כיוונית מלאה, כך שהיא יכולה לשלוח נתונים ב-TX תוך כדי קבלת נתונים ב-RX בו-זמנית.
מה המשמעות של 8N1 ב-UART?
8N1 פירושו 8 ביטי נתונים, ללא פריטיות, וביט עצירה אחד.
האם UART יכול להתחבר למספר מכשירים?
לא ישירות. UART מיועד בעיקר לתקשורת אחד על אחד ואינו כולל כתובת מובנית.
האם קצב באוד זהה לקצב סיביות ב-UART?
ב-UART סטנדרטי, כן. הם נחשבים לאותו דבר כי לכל סמל יש ביט אחד.
למה להשתמש במתאם USB ל-UART?
הוא מאפשר למחשב לתקשר עם ממשק UART דרך USB.
האם UART כוללת הצפנה או תיקון שגיאות מתקדם?
לא. UART אינו כולל הצפנה או תיקון שגיאות מתקדם בפני עצמו.