UART (קרי "יוּ־אַרט"; ראשי תיבות של Universal asynchronous receiver-transmitter; בעברית: מקלט־משדר אסינכרוני אוניברסלי) הוא פרוטוקול תקשורת טורית א־סינכרוני. מקור השם בשבב שהממש את פרוטוקול התקשורת הזה. מערכות רבות מממשות את הפרוטוקול בתוך מעגל משולב או ברכיב מתכנת, והשם "UART" נותר בשימוש לתיאור מערכות אלה.
במצב ללא שידור הקו גבוה (1). בתחילת שידור נשלחת סיבית התחלה נמוכה (0). אחריה נשלחות סיביות המידע, אפשר להוסיף סיבית זוגיות (parity) ולבסוף נשלחת סיבית סיום גבוהה (1).
הפרוטוקול מצריך תיאום של כמה פרמטרים בין שני הצדדים. הקצבים ההיסטוריים כוללים בין היתר 50, 300, 1,200, 2,400, 4,800, 9,600 ו-115,200 סיביות לשנייה. כאשר לא משתמשים בבקר UART ייעודי, ניתן להפעיל את הפרוטוקול בקצב אחר, בהתאם למגבלות החומרה.
ניתן לבחור 5, 6, 7 או 8 סיביות מידע בכל מסגרת. אפשר להוסיף סיבית זוגיות שמוודאת את מספר ה"אחדות" (even = סיבית נוספת כדי שהכמות תהיה זוגית; odd = להיפך). אפשר גם להגדיר שאין סיבית זוגיות (None). משך סיביות הסיום יכול להיות 1, 1.5 או 2 סיביות.
הסט הנפוץ הוא 8N1: שמונה סיביות מידע, ללא זוגיות, וסיבית סיום יחידה. כדי לתקשר נכון, שני הצדדים חייבים לכוונן לאותו סט פרמטרים, למשל 2400-8N1.
קצב הנתונים הנטו תלוי בפרמטרים האלה. לדוגמה, ב-8N1 שיעור הנתונים הוא ביחס של 4:5 מקצב הסימבולים, כי נוספות שתי סיביות תקורה לכל בית מידע. באופן כללי ניתן לחשב זאת לפי הנוסחה: DataRate = BaudRate * D/(D+P+SB+1), כאשר D הן סיביות המידע, P היא סיבית הזוגיות (0 או 1), ו-SB הן סיביות הסיום.
שבבי UART קלאסיים כללו דגמים כמו 8250 (8 סיביות) שאפשרו עד ~19,200 bps, ודגם 16450 (16 סיביות). שבבי UART מודרניים כוללים מאגר פנימי (buffer) או חוצץ FIFO. ה-16550 (16550afn) היה דגם מרכזי שהוסיף FIFO ושימש בממשקי COM/LPT, מה שעזר לשמור נתונים מקומית עד שהמעבד טופל בהם, ובכך אפשר תעבורה יעילה יותר עד רמות כמו 115,200 bps.
UART (קרי "יוּ־אַרט") הם ראשי תיבות של Universal asynchronous receiver-transmitter. בעברית זה מקלט־משדר אסינכרוני. אסינכרוני פירושו שאין שעון משותף בין השולח למקבל.
כשהקו שקט הוא גבוה (1). שידור מתחיל בסיבית התחלה נמוכה (0). אחרי זה באות סיביות המידע. אפשר להוסיף סיבית בדיקה שנקראת זוגיות. אחרי הכל יש סיבית סיום גבוה (1).
צריך להחליט מראש על כמה דברים כדי שהציוד ידבר זה עם זה. יש קצבים כמו 300, 9,600 ו-115,200 סיביות לשנייה. כל מסגרת יכולה להכיל 5 עד 8 סיביות מידע. זוגיות = סיבית שנוספת כדי לבדוק אם מספר ה"אחדות" נכון. סיביות סיום יכולות להיות 1, 1.5 או 2. הסט הנפוץ הוא 8N1.
הקצב שמוצא באמת לשלוח נתונים נמוך יותר מהקצב הגולמי. למשל ב-8N1 יש סיביות נוספות, לכן נשלח פחות מידע אמיתי מכל סימבול.
בסוף המאה ה-20 היו שבבים כמו 8250 ו-16450. אחר כך הגיע 16550. ה-16550 הכיל זיכרון קטן (buffer) שאגר נתונים זמנית. זה עזר למחשב לקרוא את הנתונים בלי לאבד אותם.
תגובות גולשים