המרת אותות
קול, טמפרטורה ועוצמת אור הם אותות אנלוגיים, ואילו המחשב והבקר מבינים רק מספרים. כדי שהמחשב ימדוד טמפרטורה או יקליט קול צריך להמיר את המתח האנלוגי למילה ספרתית, וכדי שישמיע לנו מוזיקה ששמורה בזיכרונו צריך להמיר את המילים הספרתיות בחזרה למתח. בפרק הזה נכיר את שני הממירים שמקשרים בין שני העולמות, ונלמד לחשב את מתח המוצא, את המילה הספרתית ואת כושר ההבחנה.
- להסביר מדוע ממירים אות אנלוגי לספרתי ולהיפך, ולסרטט תרשים מלבנים של מערכת שלמה.
- להמיר מילה בינארית למספר עשרוני ולהיפך, ולחשב את מספר הרמות 2n.
- לחשב את כושר ההבחנה ΔV ואת מתח המוצא Vo של ממיר ספרתי לאנלוגי לפי מילת המבוא.
- לנתח ממיר מסוג רשת סולם נגדים R–2R עם מגבר שרת ולחשב את מתח המוצא שלו.
- לחשב את המילה הספרתית במוצא של ממיר אנלוגי לספרתי לפי מתח המבוא.
- להסביר את דרך הפעולה של ממיר "מתח מדרגות" ולחשב את זמן ההמרה.
הצורך בהמרת אותות אנלוגיים לספרתיים ולהיפך (Why Convert Signals)
בפרק 1 למדנו שאות אנלוגי הוא רציף ומקבל כל ערך, ושאות ספרתי בנוי מסיביות שערך כל אחת מהן 0 או 1. החיישנים מוציאים אותות אנלוגיים, והרמקולים והמנועים זקוקים לאותות אנלוגיים, אבל העיבוד עצמו נעשה היום במעגלים ספרתיים. לכן דרושים שני מעגלים שמעבירים את האות מעולם אחד לאחר:
מדוע מעבדים את האות באופן ספרתי?:
- חסינות לרעש: באות ספרתי יש שתי רמות בלבד, ולכן הפרעה קטנה במתח אינה הופכת 0 ל-1. באות אנלוגי כל הפרעה מתווספת לאות ואי אפשר להפריד אותה ממנו.
- אחסון: מספרים נשמרים בזיכרון בלי להשתנות עם הזמן, ואפשר להעתיק אותם פעמים רבות בלי שיאבדו מאיכותם.
- עיבוד: המעבד מבצע במספרים פעולות חשבוניות ולוגיות לפי תוכנית, ואת פעולת המערכת משנים בשינוי התוכנית בלבד, בלי לשנות את המעגל.
תזכורת: מספרים בינאריים:
| סימן | משמעות | יחידת מידה |
|---|---|---|
| N | הערך העשרוני של המילה, ו-b0 ... bn−1 הסיביות שלה | — |
| n | מספר הסיביות | — |
| M | מספר הרמות: מספר המילים השונות האפשריות | — |
| Nmax | הערך העשרוני הגדול ביותר, כאשר כל הסיביות 1 | — |
נכתוב את המילה מתחת למשקלות, ונחבר רק את המשקלות של הסיביות שערכן 1:
בכל פעם נחפש את המשקל הגדול ביותר שאינו עולה על השארית, נחסר אותו, ונכתוב 1 במקומו:
השתמשנו במשקלות 64 , 32 , 4, ולכן נכתוב 1 במקומותיהם ו-0 בשאר המקומות:
(ב) נכתוב את המספר 37 כמילה בת 8 סיביות.
(ג) כמה רמות יש למילה בת 6 סיביות?
המרת אות ספרתי לאנלוגי. חישוב מתח המוצא בתלות במילת המבוא הספרתית. כושר ההבחנה (D/A Conversion)
לממיר DAC יש n מבואות ספרתיים, מבוא לכל סיבית, ומוצא אנלוגי אחד. הממיר זקוק גם למתח ייחוס Vref קבוע ומדויק, וממנו הוא בונה את מתח המוצא.
מילה בת n סיביות מקבלת רק 2n ערכים שונים, ולכן מתח המוצא אינו משתנה באופן רציף, אלא קופץ מרמה לרמה במדרגות שוות.
| סימן | משמעות | יחידת מידה |
|---|---|---|
| ΔV | כושר ההבחנה: המתח של מדרגה אחת | [V] |
| Vref | מתח הייחוס ( n הוא מספר הסיביות) | [V] |
| N | הערך העשרוני של מילת המבוא | — |
| Vo | מתח המוצא | [V] |
| VFS | מתח הסקלה המלאה: מתח המוצא הגדול ביותר, כאשר כל הסיביות 1. הוא קטן מ-Vref במדרגה אחת | [V] |
(א) את כושר ההבחנה.
(ב) את מתח המוצא למילה 1011.
(ג) את מתח המוצא הגדול ביותר.
(א) כושר ההבחנה:
(ב) נמיר את המילה למספר עשרוני, ואז נכפול בכושר ההבחנה:
(ג) את מתח המוצא הגדול ביותר מקבלים למילה 1111:
אם נכניס לממיר את כל המילים לפי הסדר, מאפס עד המילה הגדולה ביותר, ונסרטט את מתח המוצא, נקבל צורת מדרגות. האיור הבא מסורטט לממיר בן 3 סיביות שמתח הייחוס שלו 8 V, כלומר ΔV = 1 V.
השפעת מספר הסיביות: ככל שמספר הסיביות גדל, המדרגה קטנה ומתח המוצא קרוב יותר לאות רציף. הטבלה הבאה מחושבת למתח ייחוס Vref = 10.24 V:
| מספר הסיביות n | מספר הרמות 2n | כושר ההבחנה ΔV |
|---|---|---|
| 4 | 16 | 640 mV |
| 6 | 64 | 160 mV |
| 8 | 256 | 40 mV |
| 10 | 1024 | 10 mV |
ממיר D/A מסוג רשת סולם נגדים R–2R, חישובים בממיר (R–2R Ladder DAC)
איך בונים מעגל שמתח המוצא שלו פרופורציונלי לערך המילה? הרעיון: כל סיבית תורמת למוצא שיעור שפרופורציונלי למשקלה, ואחר כך מסכמים את כל התרומות. המעגל שמסכם הוא המגבר המסכם שלמדנו בפרק 2.
הרעיון הפשוט: נגדים משוקללים:
נחבר כל סיבית אל המבוא ההופך של המגבר המסכם דרך נגד. לסיבית המשמעותית ביותר נבחר את הנגד הקטן ביותר R, ולכל סיבית שאחריה נגד כפול: 2R, 4R, 8R. כך כל סיבית מעבירה חצי מן הזרם של הסיבית שלפניה. מתח הסיבית הוא VH כאשר ערכה 1 ו-0 V כאשר ערכה 0.
המבוא ההופך הוא אדמה מדומה (0 V), ולכן הזרם של כל סיבית שערכה 1 הוא מתחה חלקי הנגד שלה. במילה 1010 ערכן של שתי הסיביות b3 ו-b1 הוא 1:
שני הזרמים מתחברים ועוברים בנגד המשוב Rf:
הסימן השלילי נובע מן המגבר ההופך.
רשת סולם נגדים R–2R:
לכל סיבית יש מפסק דו-מצבי. כאשר ערך הסיבית 1 המפסק מחבר את הנגד 2R אל המבוא ההופך של מגבר השרת, וכאשר ערכה 0 הוא מחבר אותו אל האדמה. המבוא ההופך הוא אדמה מדומה שמתחה 0 V, ולכן:
הרעיון השני: ההתנגדות שרואים מכל צומת ימינה היא R. נתחיל מן הקצה הימני של הסולם ונפשט צעד אחר צעד:
התמונה חוזרת בכל צומת: הזרם שמגיע לצומת מוצא לפניו שני ענפים שווים, הנגד 2R היורד ושאר הסולם, שגם ההתנגדות השקולה שלו 2R. לכן הזרם מתחלק בכל צומת לשני חצאים שווים. ההתנגדות שרואה מקור הייחוס היא R, והזרם שלו I = VrefR, ומכאן:
I3 = I2, I2 = I4, I1 = I8, I0 = I16. הזרם IT שמגיע אל המגבר הוא סכום הזרמים של הסיביות שערכן 1 בלבד, והוא עובר ב-Rf:
| סימן | משמעות | יחידת מידה |
|---|---|---|
| Vo | מתח המוצא, ו-Vref מתח הייחוס | [V] |
| Rf | נגד המשוב | [Ω] |
| R | נגד הרשת (הנגדים האופקיים) | [Ω] |
| N | הערך העשרוני של המילה בת n הסיביות | — |
| ΔV | כושר ההבחנה (גודל המדרגה) | [V] |
ההתנגדות שרואה מקור הייחוס היא R, ולכן זרם המקור:
הזרם מתחלק לשני חצאים בכל צומת:
במילה 1010 שני המפסקים b3 ו-b1 נמצאים במצב 1, ולכן הזרמים שלהם מגיעים אל המגבר:
בדיקה בעזרת הנוסחה, עם N = 10:
באותו ממיר גודל המדרגה הוא ΔV = RfR·Vref2n = 0.5 V, ולכל מילה Vo = −N·ΔV. רואים בטבלה שהסיבית b3 לבדה נותנת חצי ממתח הייחוס, וכל סיבית שאחריה נותנת חצי מתרומת הסיבית שלפניה:
| המילה | הערך העשרוני N | מתח המוצא Vo |
|---|---|---|
| 0001 | 1 | −0.5 V |
| 0010 | 2 | −1 V |
| 0100 | 4 | −2 V |
| 1000 | 8 | −4 V |
| 1111 | 15 | −7.5 V |
המרת אות אנלוגי לספרתי. חישוב מילת המוצא הספרתית בתלות במתח המבוא התקבילי. חישוב כושר ההבחנה (A/D Conversion)
הממיר ADC פועל בכיוון ההפוך: הוא מודד את מתח המבוא Vi ומוציא את המספר שאומר כמה מדרגות שלמות מכיל המתח הזה. זה דומה למדידת אורך בסרגל שמחולק למילימטרים: קוראים את מספר המילימטרים השלמים, ואת מה שקטן ממילימטר איננו רואים.
| סימן | משמעות | יחידת מידה |
|---|---|---|
| ΔV | כושר ההבחנה: השינוי הקטן ביותר במתח המבוא שמשנה את מילת המוצא | [V] |
| Vi | מתח המבוא האנלוגי | [V] |
| N | הערך העשרוני של מילת המוצא: לוקחים רק את החלק השלם של תוצאת החילוק | — |
| Vi,max | מתח המבוא שבו מתחילה המילה הגדולה ביותר (כל הסיביות 1) | [V] |
ניקח רק את החלק השלם, ונמיר אותו למילה בינארית בת 3 סיביות:
המילה מייצגת את המתח N·ΔV, והשארית היא שגיאת הכימוי:
(א) מהו כושר ההבחנה?
(ב) איזו מילה מקבלים למתח Vi = 0.45 V?
(ג) איזה מתח מבוא מתאים למילה 11001000?
(ד) איזו מילה מקבלים למתח Vi = 3 V?
(א) נמיר את המילה הנתונה למספר עשרוני. המספר הזה הוא מספר המדרגות שמכיל המתח 1.2 V:
(ב) נחלק את המתח בכושר ההבחנה ונמיר למילה בינארית:
(ג) נמיר את המילה למספר עשרוני ונכפול בכושר ההבחנה:
(ד) נבדוק תחילה את המתח שבו מתחילה המילה הגדולה ביותר:
המתח 3 V גבוה מן הערך הזה, ולכן הממיר הגיע לקצה התחום שלו ומוציא את המילה הגדולה ביותר: 11111111.
ממיר A/D מסוג "מתח מדרגות" (Counter-Ramp ADC)
איך בונים ממיר ADC? הדרך הפשוטה ביותר משתמשת במה שלמדנו עד כה: בונים מתח שעולה מדרגה אחר מדרגה בעזרת מונה וממיר DAC, ומשווים אותו למתח המבוא בעזרת משווה. מספר המדרגות שעלינו עד שעברנו את מתח המבוא הוא המילה המבוקשת.
- בתחילת ההמרה מאפסים את המונה, ואז N = 0 ומתח המדרגות VDAC = 0 V.
- כל עוד Vi > VDAC מוצא המשווה נמצא ברמה הגבוהה, והשער AND מעביר את דפקי השעון אל המונה.
- עם כל דופק שעון המונה גדל באחת, ומתח המדרגות עולה מדרגה אחת ΔV.
- כאשר VDAC נעשה גדול מ-Vi מוצא המשווה עובר לרמה הנמוכה, השער נסגר והמונה נעצר.
- המספר שנשאר במונה הוא מילת המוצא. אחרי שקוראים אותה מאפסים את המונה ומתחילים המרה חדשה.
| סימן | משמעות | יחידת מידה |
|---|---|---|
| tc | זמן ההמרה: מתחילת הספירה עד עצירת המונה | [s] |
| N | מספר הדפקים שהמונה ספר, והוא ערך מילת המוצא | — |
| TCLK | זמן המחזור של אות השעון, ו-fCLK התדר שלו | [s] |
| tc,max | זמן ההמרה הארוך ביותר, כאשר המונה מגיע למילה הגדולה ביותר | [s] |
(א) את מילת המוצא.
(ב) את זמן ההמרה.
(ג) את זמן ההמרה הארוך ביותר האפשרי.
גודל המדרגה וזמן המחזור של אות השעון:
(א) מתח המדרגות עולה 0.5 V עם כל דופק. אחרי 6 דפקים VDAC = 3 V, והוא עדיין קטן מ-Vi. אחרי הדופק שמספרו 7 נעשה VDAC = 3.5 V, גדול מ-3.3 V, ולכן המונה נעצר:
(ב) המונה ספר 7 דפקים:
(ג) במקרה הגרוע ביותר המונה סופר עד המילה 1111:
(א) לממיר בן 8 סיביות.
(ב) לממיר בן 10 סיביות.
(א) לממיר בן 8 סיביות:
(ב) לממיר בן 10 סיביות:
מדוע הממיר הזה איטי? כי הוא עולה רק מדרגה אחת בכל דופק שעון, ותמיד מתחיל מאפס. כל סיבית נוספת מכפילה את מספר המדרגות, ובכך מכפילה בקירוב את זמן ההמרה הארוך ביותר, כפי שראינו בדוגמה: תוספת של שתי סיביות האריכה את הזמן פי ארבעה בקירוב. חיסרון נוסף: זמן ההמרה אינו קבוע, אלא תלוי במתח המבוא. לכן הממיר הזה מתאים לאותות שמשתנים לאט, כמו טמפרטורה, ויתרונו שהוא פשוט וזול. יש ממירים מהירים יותר, כמו ממיר בקירובים עוקבים (SAR) וממיר הבזק (Flash), אבל הם מחוץ לחומר של הפרק הזה.
סיכום נוסחאות הפרק:
| החוק | הנוסחה |
|---|---|
| הערך העשרוני של מילה בת n סיביות | N = bn−1·2n−1 + ... + b1·21 + b0·20 |
| מספר הרמות והערך הגדול ביותר | M = 2n , Nmax = 2n − 1 |
| כושר ההבחנה (נתון Vref) | ΔV = Vref2n |
| כושר ההבחנה (נתון מתח המוצא הגדול ביותר VFS) | ΔV = VFS2n − 1 |
| מתח המוצא בממיר DAC | Vo = N·ΔV |
| ממיר רשת סולם נגדים R–2R | Vo = −RfR·Vref·N2n |
| מילת המוצא בממיר ADC (החלק השלם) | N = ViΔV |
| זמן ההמרה בממיר "מתח מדרגות" | tc = N·TCLK |
| זמן ההמרה הארוך ביותר | tc,max = (2n − 1)·TCLK |
מילון מונחים:
| עברית | English | العربية |
|---|---|---|
| המרת אותות | Signal conversion | تحويل الإشارات |
| ממיר אנלוגי לספרתי (A/D) | Analog-to-Digital Converter (ADC) | محوِّل تماثلي إلى رقمي |
| ממיר ספרתי לאנלוגי (D/A) | Digital-to-Analog Converter (DAC) | محوِّل رقمي إلى تماثلي |
| סיבית | Bit | بت |
| מילה ספרתית | Digital word | الكلمة الرقمية |
| הסיבית המשמעותית ביותר | MSB | البت الأعلى وزنا |
| הסיבית הפחות משמעותית | LSB | البت الأدنى وزنا |
| כושר הבחנה (רזולוציה) | Resolution (step) | قدرة التمييز (الدرجة) |
| מתח ייחוס | Reference voltage | الجهد المرجعي |
| מתח סקלה מלאה | Full-scale voltage | جهد السلّم الكامل |
| רשת סולם נגדים | R–2R ladder | شبكة السلم |
| שגיאת כימוי (קוונטיזציה) | Quantisation error | خطأ التكميم |
| ממיר "מתח מדרגות" | Counter (staircase) ADC | محوِّل «جهد الدرجات» |
| מונה | Counter | العدّاد |
| משווה | Comparator | المُقارن |
| זמן המרה | Conversion time | زمن التحويل |
| רעש | Noise | الضجيج |
שאלות לתרגול:
(א) 1101.
(ב) 10010110.
(א) 77.
(ב) 200. כמה רמות יש למילה בת 6 סיביות, ומהו הערך הגדול ביותר שלה?
(א) מהו כושר ההבחנה?
(ב) מהו מתח המוצא למילה 01100100?
(ג) איזו מילה נותנת Vo = 6 V?
(א) את זרם מקור הייחוס I.
(ב) את הזרם I3.
(ג) את כושר ההבחנה.
(ד) את מתח המוצא.
(א) מהו כושר ההבחנה?
(ב) איזו מילה מקבלים למתח 3.5 V?
(ג) מהו מתח המבוא שבו מתחילה המילה 11111111?
(א) באיזה מספר נעצר המונה?
(ב) מהו זמן ההמרה?
(ג) מהו זמן ההמרה הארוך ביותר האפשרי?
(א) את גודל המדרגה ΔV.
(ב) את זמן המחזור של אות השעון ואת התדר שלו.
(ג) את מילת המוצא.
(ד) את זמן ההמרה.
שאלות בגרות לפרק 9
| סעיף | הנדרש | תשובה סופית |
|---|---|---|
| סעיף א | כושר ההבחנה (הרזולוציה) | בפתרון המלא |
| סעיף ב | הערך הבינארי במוצא | Vin=2V → 01100100 ; Vin=3.045V → 10011000 |
| סעיף ג | תחום מתח-המבוא עבור הערך 01100001₂ | בפתרון המלא |
| סעיף | הנדרש | תשובה סופית |
|---|---|---|
| סעיף א | כושר ההבחנה (הרזולוציה) | בפתרון המלא |
| סעיף ב | המילה הבינארית עבור מתחי המבוא | 200 mV → 00001010₍₂₎ ; 5.1 V → 11111111₍₂₎ |
| סעיף ג | מתח המבוא עבור המילה 10101001₍₂₎ | Vi = 3.38 V |
| סעיף | הנדרש | תשובה סופית |
|---|---|---|
| סעיף א | המתח בהדק A₀ בהארה 6 lux | VA₀ = 2.5 V |
| סעיף ב | התוכנית בשפת C (Arduino) | בפתרון המלא |