3.8. התאמת מתח (Level shifting)

פין GPIO במצלמה מנהיג בערך 3.3 V כשהוא במצב גבוה. התקן בצד השני עשוי לפעול במתח של 5 V (מיקרו-בקרים ישנים יותר, לוחות חיישנים רבים) או 1.8 V (חיישנים חדשים יותר, חלק מאפיקי שבב-לשבב). חיבור השניים ישירות הוא לעיתים בטוח ולעיתים הרסני; התאמת מתח היא המעגל שמגשר על הפער באופן אמין.

3.8.1. מדוע נהיגה ישירה בין מתחים שונים עלולה לפגוע בפין

לכל רפידת I/O של שבב יש זוג דיודות הגנה מובנות: אחת מהפין אל ההארקה, ואחת מהפין אל פס המתח של השבב. הן קיימות כדי לספוג פריקה אלקטרוסטטית (ESD) – קוץ מתח קצר וגבוה מחשמל סטטי שעלול לפגוע בפין בעת טיפול בלוח. אדם שצעד על שטיח עלול לשאת כמה קילו-וולט של מתח סטטי; נגיעה בפין הלא נכון מעבירה את המטען לשבב תוך ננו-שניות. דיודת ההגנה העליונה עוברת להטיה קדמית ומסיטה את הדופק בבטחה אל פס המתח לפני שהוא מגיע לטרנזיסטורים שבתוך השבב.

כאשר אות של 5 V מוחל באופן רציף על פין של 3.3 V שאינו סובלני ל-5 V, דיודת ההגנה העליונה מוליכה לנצח. הדיודות תוכננו לדפקי ESD קצרים, לא לזרם במצב יציב; פס המתח מתחיל לעלות מעל 3.3 V, הדיודה מתחממת, ואז נכשל הפין או מייצב המתח שעל השבב.

פינים סובלניים ל-5 V משתמשים בשלב כניסה שונה – הדיודה העליונה מחוברת לפס גבוה יותר או נעדרת – כך שהחלת 5 V אינה מזיקה. האם הפינים של לוח מסוים סובלניים ל-5 V משתנה מלוח ללוח; עיינו ב-מדריך הייחוס המהיר של OpenMV Cam.

לכיוון השני יש בעיה משלו. GPIO של 3.3 V שמנהיג מצב גבוה מייצר ~3.3 V על החוט. מקלט של 5 V שזקוק ל-0.7 × Vcc כדי לזהות מצב גבוה רואה את הסף שלו ב-3.5 V; 3.3 V עשוי להיקרא כמצב נמוך או כמצב לא חד-משמעי. גם ללא נזק, האות אינו פועל באופן אמין.

מתאם מתח פותר את שני הכיוונים.

3.8.2. ה-N-MOSFET כמתג

המעגלים שלהלן משתמשים ב-MOSFET יחיד מסוג N-channel. יש לו שלושה פינים – gate, drain ו-source – והוא מתנהג כמתג מבוקר חשמלית.

כניסת הבקרה היא המתח שבין ה-gate ל-source, המסומן Vgs (מתח gate-to-source):

Vgs = (gate voltage) - (source voltage)

ה-MOSFET מתייחס להפרש הזה, ולא למתח המוחלט על אף אחד מהפינים בנפרד. התנהגותו נובעת מ-Vgs:

  • כאשר Vgs גבוה ממתח הסף של ה-MOSFET (בדרך כלל סביב 1 V עבור רכיב logic-level של אותות חלשים), הטרנזיסטור נדלק וזרם זורם בחופשיות מ-drain ל-source.

  • כאשר Vgs שווה ל-0 או נמוך ממנו, הטרנזיסטור נכבה וכמעט שום זרם אינו זורם מ-drain ל-source.

נתיב ה-drain-source הוא נתיב הזרם הממותג; Vgs פותח או סוגר את המתג הזה.

ל-N-MOSFET יש גם דיודת גוף (body diode) בין ה-drain ל-source שמוליכה כאשר ה-drain נמשך מתחת ל-source ביותר מ-~0.6 V. הדיודה היא תוצר לוואי של תהליך הייצור; מתאם המתח הדו-כיווני שלהלן משתמש בה בכוונה.

3.8.2.1. כללי החיווט

N-MOSFET אינו התקן תלת-הדקי סימטרי. דיודת הגוף מצביעה מ-source (אנודה) אל drain (קתודה), ו-Vgs הוא מה ששולט בערוץ. נובעים מכך שני כללים שחייבים להתקיים עבור כל מעגל מתג N-MOSFET:

  • ה-source מחובר למתח הנמוך יותר; ה-drain למתח הגבוה יותר. כשה-drain מחובר לפס הגבוה יותר, דיודת הגוף נמצאת בהטיה הפוכה ואינה עושה דבר. החליפו ביניהם, ודיודת הגוף תהיה בהטיה קדמית כל הזמן: זרם זורם מה-source שכעת גבוה יותר דרך דיודת הגוף אל ה-drain שכעת נמוך יותר, ללא קשר למה שה-gate עושה. ה-MOSFET חדל להיות מתג – הוא דולף ברציפות, לא ניתן לכבות את האות, וההתקן לרוב מתחמם יתר על המידה ונכשל.

  • ה-gate נקשר לפס המתח של ה-source. החזקת ה-gate בפס שעליו יושב ה-source במנוחה גורמת ל-Vgs = 0 במצב בטל, הרבה מתחת לסף; ה-MOSFET נשאר כבוי באופן יציב עד שמשהו או מנהיג את ה-gate מעל ה-source (המעגל החד-כיווני שלהלן) או מושך את ה-source מתחת ל-gate (המעגל הדו-כיווני). הניחו ל-gate לרחף במקום אחר, ומצב הכבוי יחדל להיות מוגדר – רעש, דליפה או קיבוליות פזורה עלולים להסיט את Vgs מעל הסף ולהדליק את ה-MOSFET באקראי.

היפוך של כל אחד מהכללים הופך את מתאם המתח לנתיב דולף ולא אמין. שני מעגלי מתאם המתח שלהלן מצייתים לכללים הללו: source בצד הנמוך, drain בצד הגבוה, gate קשור או מונהג מהפס של ה-source.

3.8.3. חד-כיווני 3.3 V ← 5 V

מתאם המתח הפשוט ביותר דוחף אות חד-כיווני מה-GPIO של המצלמה אל כניסה של 5 V. N-MOSFET יחיד בתוספת שני נגדים עושה את העבודה.

An N-channel MOSFET wired as an inverter. The 3.3 V GPIO drives the gate; the source goes to ground; the drain pulls up to 5 V through 10 kΩ; the drain is also tapped as the 5 V output.

N-MOSFET מתאים מתח (והופך) של אות 3.3 V ליציאה של 5 V.

כאשר ה-GPIO מנהיג מצב גבוה (3.3 V על ה-gate), Vgs מעל הסף וה-MOSFET נדלק; ה-drain נמשך כלפי מטה אל ~0 V. כאשר ה-GPIO מנהיג מצב נמוך (0 V על ה-gate), ה-MOSFET כבוי ונגד ה-pull-up של 10 kΩ מביא את ה-drain אל 5 V.

היציאה היא ההיפוך של הכניסה. תוכנה יכולה להפוך את האות בחזרה (לכתוב 0 עבור ”יציאת 5 V גבוהה“), או לשרשר שני שלבים כדי לקבל אות בלתי הפוך במחיר כפול ברכיבים.

3.8.4. דו-כיווני עם N-MOSFET יחיד

עבור קו שחייב להיות מונהג משני הצדדים – אפיק משותף שבו כל קצה יכול למשוך את הקו למצב נמוך – המעגל הסטנדרטי הוא N-MOSFET יחיד לכל קו, עם pull-up אחד לכל אחד מהמתחים של שני הצדדים.

A bidirectional N-MOSFET level shifter. The MOSFET bridges a 3.3 V signal line on the left and a 5 V signal line on the right; the gate connects to the 3.3 V supply, the source connects to the 3.3 V signal, the drain to the 5 V signal; each signal line has its own pull-up resistor to its supply.

N-MOSFET יחיד מגשר בין קו 3.3 V לקו 5 V; לכל צד יש pull-up משלו.

ה-gate קשור אל מתח ה-3.3 V, ולכן התנהגות ה-MOSFET תלויה באיזה צד מנהיג:

  • שני הצדדים בטלים. ה-source יושב על 3.3 V דרך ה-pull-up השמאלי; ה-gate על 3.3 V; Vgs = 0; ה-MOSFET כבוי. צד ה-5 V מרחף אל 5 V דרך ה-pull-up הימני. שני הצדדים נקראים כמצב גבוה.

  • צד ה-3.3 V מושך למצב נמוך. ה-source יורד אל 0 V; Vgs עולה מעל הסף; ה-MOSFET נדלק ומוליך מ-source ל-drain. צד ה-5 V נמשך למצב נמוך דרך הטרנזיסטור.

  • צד ה-5 V מושך למצב נמוך. ה-drain יורד אל 0 V; דיודת הגוף של ה-MOSFET (מ-drain ל-source) עוברת להטיה קדמית ומוליכה; ה-source (צד ה-3.3 V) נמשך כלפי מטה אל כ-0.6 V. Vgs חורג אז מהסף וה-MOSFET נדלק במלואו, ומביא את שני הצדדים למצב נמוך.

ה-BSS138 הוא ה-N-MOSFET הסטנדרטי לתבנית זו; N-MOSFET-ים מסוג logic-level לאותות חלשים עם מתחי סף gate דומים כולם מתנהגים כאן באותו אופן.