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 יחיד בתוספת שני נגדים עושה את העבודה.
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 אחד לכל אחד מהמתחים של שני הצדדים.
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 דומים כולם מתנהגים כאן באותו אופן.