כיצד לממש שיכוך ניתורים בחומרה עבור מתגים וממסרים כאשר שיכוך ניתורים בתוכנה אינו מתאים

מאת ‎Clive "Max" Maxfield

באדיבות ‎DigiKey's North American Editors

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

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

מאמר זה מסביר את הניתורים ודן בגישות תוכנה וחומרה לשיכוכם. לאחר מכן הוא מצביע על מקרים שבהם שיכוך ניתורים בחומרה היא אפשרות טובה יותר לפני שהוא מציג כיצד ניתן לממש זאת. התקני מיתוג לדוגמה ורכיבי שיכוך ניתורים בחומרה מוצגים באמצעות דוגמאות מהחברות NKK Switches‏, ON Semiconductor‏, Texas Instruments‏, Maxim Integrated‏ ו- LogiSwitch‏.

מה הם ניתורי מגעי מתג?

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

ניקח כדוגמה מתג Toggle‏ להרכבה בפאנל פתוח-במצב-רגיל (NO) עם קוטב יחיד ודרך יחידה (SPST) כגון M2011SS1W01‏ מבית NKK. נניח שצד אחד של מתג זה, שיכול להיחשב ככניסה, מחובר להארקה (0 וולט), ואילו הצד השני, שבמקרה זה הוא היציאה, מחובר להספקת-כוח של 5 וולט (מוצג כ- ve+) באמצעות נגד מושך-מעלה (R1) (איור 1).

תרשים של ניתורי מתג Toggle‏ SPST-NO (לחצו להגדלה)איור 1: במקרה של מתג Toggle‏ SPST-NO, הניתורים עלולים להתרחש גם כאשר המתג מופעל וגם כאשר הוא מופסק. (מקור התמונה: Max Maxfield‏)

שימו לב שניתורי המתג עלולים להתרחש גם כאשר המתג מופעל (סגור) וגם כאשר הוא מופסק (נפתח). לפעמים הניתורים עלולים לעבור כל הדרך בין פסי הספקת-הכוח, הנחשבים כאן כמצבי לוגיקה 0 ו- 1. במקרה זה, מדובר בניתורים "נקיים". לשם השוואה, אם האות מגיע למתח הביניים בלבד, אלו מכונים ניתורים "מלוכלכים".

במקרה של מתג Toggle‏ להרכבה בפאנל עם קוטב יחיד ושתי דרכים (SPDT) כגון M2012SS1W01-BC‏ מבית NKK, הניתורים עלולים להתרחש בשני ההדקים, הפתוח-במצב-רגיל (NO) והסגור במצב רגיל (NC) (איור 2‏). במקרה זה, רק ניתורים "נקיים" הוצגו למען הפשטות.

תרשים של ניתורי מתג Toggle‏ SPDT (לחצו להגדלה)איור 2: במקרה של מתג Toggle‏ SPDT, הניתורים עלולים להתרחש גם כאשר המתג מופעל וגם כאשר הוא מופסק. (מקור התמונה: Max Maxfield‏)

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

שיכוך ניתורים בתוכנה לעומת בחומרה

בשנות השישים והשבעים, שיכוך ניתורי מתג מומש באמצעות מגוון של טכניקות חומרה, החל ממעגלי שיהוי נגד-קבל (RC) פשוטים המשמשים עם מתגי SPST וכלה בפונקציות נעילת (Latch‏) הפעלה/איפוס (SR) מתוחכמות יותר.

לאחרונה, מכיוון שמערכות רבות כוללות יחידת מיקרו-מעבד (MPU) או יחידת מיקרו-בקר (MCU), השימוש בטכניקות תוכנה כדי לשכך את ניתורי האותות המגיעים מכל מתג הפך להיות יותר ויותר נפוץ. עם זאת, שיכוך ניתורים בתוכנה אינה תמיד הגישה הטובה ביותר. ישנם יישומים הכוללים מעבדים קטנים מוגבלי-זיכרון, עם ביצועים ירודים ועם מרחב קוד ו/או מחזורי שעון מוגבלים עבור מימוש רוטינות שיכוך ניתורים. במקרים אלו, מימוש בחומרה עשוי להיות פיתרון טוב יותר.

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

סוגיית היעדר המומחיות במתגים אצל מפתחי תוכנה מוחרפת בכך שהספרות הזמינה בנוגע לניתורים מתגים היא לעתים מבלבלת וסותרת. לדוגמה, מקובל לקרוא כי ניתורי מתג ייפסקו 1 מילי-שנייה (ms) לאחר הפעלתו או הפסקתו. עם זאת, המומחה הידוע למערכות משובצות Jack Ganssl ביצע בדיקות אמפיריות על מגוון של סוגי מתגים, הפעיל כל מתג 300 פעמים ורשם את כמות הניתורים המינימלית והמקסימלית הן לפתיחה והן לסגירת המגעים. הוא דיווח על משך ניתורים ממוצע של ms‏ 1.6 ומשך ניתורים מקסימלי של ms‏ 6.2‏. כמה מ"הפרקטיקות הטובות ביותר" התעשייתיות והצבאיות ממליצות להמתין ms‏ 20‏ לאחר ההפעלה הראשונית לפני שמניחים שניתורי המתג נפסקו; אחרים תומכים בהמתנה של ms‏ 20‏ לאחר גילוי הניתור האחרון לפני שמתניעים פעולות כלשהן.

יתר על כן, ישנן מערכות פשוטות רבות שאינן מבוססות-מעבד הדורשות גם הן שיכוך ניתורי מתגים. כמה דוגמאות למערכות כאלה הן מונה בינארי הדוחף תצוגות עם שבעה-סגמנטים לספירת פולסים של ממסר; כניסת טריגר לקוצב-זמן One-Shot‏ 555 המשמש כבקרת מנוע לדלת או לשער; ומכונת מצבים סופית (FSM‏) מבוססת-אוגר המשתמשת בכניסות מקודדות. ישנם גם פוטנציומטרי כיוונון אלקטרוניים עם ערכים המשתנים באמצעות כניסות מתג (מעלה, מטה ולעתים החזקה) שבהן ניתורי מתגים יהיו בעייתיים.

כל הדוגמאות הללו מבהירות כי ידע כלשהו כיצד לבצע שיכוך ניתורים בחומרה יכול להיות שימושי עבור כל המתכננים או המפתחים.

שיכוך ניתורים בחומרה במתג SPST באמצעות רשת RC‏

אחד הפיתרונות הפשוטים ביותר של שיכוך ניתורי מתג מבוסס-חומרה משתמש ברשת נגד-קבל (RC) בשילוב עם מתג SPST‏. ישנן גרסות רבות למעגל כזה. אחד המימושים הורסאטיליים יותר כולל שני נגדים ודיודה (איור 3).

תרשים של רשת RC לשיכוך ניתורי מתג SPST (לחצו להגדלה)איור 3: כשמשתמשים ברשת RC לשיכוך ניתורי מתג SPST (למעלה), הוספת הדיודה (D1) מכריחה את הקבל (C1) להיטען דרך נגד R1 ולהיפרק דרך נגד R2. (מקור התמונה: Max Maxfield‏)

כאשר המתג מופעל (סגור), הקבל C1 פורק דרך נגד R2‏. אם דיודה D1 לא הייתה קיימת במעגל זה, אזי כאשר המתג היה במצב מופסק (נפתח), C1 היה נטען דרך הנגדים (R1 + R2‏). לכן הימצאות D1 פירושה ש- C1 נטען אך ורק דרך R1‏.

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

שימו לב לעקומות הטעינה והפריקה האקספוננציאליות המיוצגות על ידי מתח הקבל C‏V‏. לא יהיה זה רעיון טוב להזין אות זה ישירות לכניסה של פונקציית לוגיקה דיגיטלית במורד-הזרם, שכן אות המתנדנד במשך זמן באזור הלא-מוגדר שבין ערכים לוגיים 0 "טובים" לבין ערכים לוגיים 1 אינו רצוי. במקום זאת, אות זה מוזן לכניסה של חוצץ עם כניסת Schmitt Trigger‏. יתר על כן, משתמשים בדרך כלל בחוצץ הופך, כגון ערוץ אחד של CD74HC14M96‏ מבית Texas Instruments, מכיוון שפונקציות הופכות ממותגות מהר יותר ממקביליהן שאינן-הופכות.

שיכוך ניתורים של מתג SPDT עם נועל (Latch‏) SR‏

במקרה של מתג SPDT, פיתרון נפוץ לשיכוך ניתורים הוא השימוש בנועל (Latch‏) SR‏. מאז שחברות כמו IBM השתמשו בטכניקה זו עבור לוחות המתגים במחשבי הגדולים שלהן בשנות השישים, גישה זו נחשבה לקרם דה לה קרם של פיתרונות פשוטים לשיכוך ניתורים בחומרה. נועל (Latch‏) כזה ניתן ליצור באמצעות שני שערי NAND גב-לגב עם שתי כניסות; לדוגמה, על ידי שימוש בשני ערוצים של מעגל-משולב (IC‏) NAND‏ מרובע (Quad‏) SN74HC00DR‏ מבית Texas Instruments (איור 4‏).

תרשים של שיכוך ניתורי מתג SPDT באמצעות נועל (Latch‏) SR‏ מבוסס-NAND‏איור 4‏: שיכוך ניתורי מתג SPDT באמצעות נועל (Latch‏) SR‏ מבוסס-NAND‏ הוא פיתרון שיכוך ניתורים בחומרה יעיל ביותר. (מקור התמונה: Max Maxfield‏)

כאשר הדק NC של המתג מחובר להארקה, כמוצג במחצית העליונה של איור 4, זה מכריח את היציאה של שער g2 ל- 1 לוגי. בתורם, שני ה- 1 לוגי בכניסות לשער g1 מכריחים את היציאה שלו ל- 0 לוגי. להשוואה, כאשר הדק NO של המתג מחובר להארקה, כמוצג במחצית התחתונה של איור 4, זה מכריח את היציאה של שער g1 ל- 1 לוגי. בתורם, שני ה- 1 לוגי בכניסות לשער g2 מכריחים את היציאה שלו ל- 0 לוגי.

הסיבה שמעגל זה עובד כל כך טוב היא שכאשר שתי הכניסות שלו נמצאות במצב 1 לוגי הלא-פעיל שלהן, הנועל (Latch‏) SR‏ זוכר את הערך הקודם שלו. זכרו שכפי שמוצג באיור 2, כאשר מתג SPDT מופעל, כל אחד מההדקים שלו המחוברים להארקה יכול להיות הראשון שינתר. מכיוון שניתורים אלו הם בין הערך המקורי שלו (0 לוגי) לבין הערך החדש שלו (1 לוגי), אין להם השפעה על המצב הנוכחי של נועל (Latch‏) SR‏. רק לאחר שהדק זה מפסיק לנתר מקבילו מתחיל לנתר, ובזמן זה הנועל (Latch‏) SR‏ משנה את מצבו.

שיכוך ניתורי מתג SPST באמצעות התקן ייעודי

בעיה אחת בפיתרון הקודם היא שמתכננים רבים מעדיפים להשתמש במתגי SPST מכיוון שבדרך כלל הם עולים פחות ממתגי SPDT. קיימים בשוק מספר התקני שיכוך ניתורים ייעודיים ומוכרים-היטב עבור מתגי SPST, כמו MC14490DWG‏ מבית ON Semiconductor ו- MAX6818EAP+T‏ מבית Maxim Integrated.

יצרנית אחרת, LogiSwitch, מציעה חבילת פיתרונות שיכוך ניתורים של שלושה ערוצים, שישה ערוצים ותשעה ערוצים במארזי הרכבה משטחית (SMD‏) וחור-עובר כאחד. לדוגמה, בדקו את המעגל המשתמש בהתקן LS18-S‏ מבית LogiSwitch‏ (איור 5).

תרשים של שבב LS18-S‏ ייעודי תלת-ערוצי לשיכוך ניתורי מתג SPDT‏איור 5‏: שימוש בשבב LS18-S‏ ייעודי תלת-ערוצי לשיכוך ניתורי מתג SPDT‏ (קיימים גם התקנים עם שישה ותשעה ערוצים). (מקור התמונה: Max Maxfield‏)

כמו כל בני משפחת LogiSwitch, ה- LS18-S תומך בתחום מתחי פעולה של 2.5 עד 5.5 וולט (ערך מתח ההספקה אינו משפיע על זמן התגובה של ההתקן). כמו כן, בניגוד לכמה מפיתרונות IC‏ הייעודיים האחרים, התקני שיכוך ניתורים מבית LogiSwitch לא מצריכים רכיבים נוספים כגון שעון חיצוני, רשת תזמון RC או נגדי משיכה-מעלה בכניסות או ביציאות.

ה- LS18-S משתמש בטכנולוגיית NoBounce‏ האדאפטיבית הקניינית מבית LogiSwitch, המציעה רמה גבוהה של חסינות לרעש. שיאי רעש שמשכם הוא פחות מ- ms‏ 20‏ מנועים מלהתניע או לסיים מחזור, והיציאות מושהות למשך של ms‏ 20‏ לאחר סיום ניתורי המתג הן בהפעלה והן בסיום של מהלך הניתורים.

סיכום

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

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

כחלופה, ניתן לבצע שיכוך ניתורים בחומרה תוך שימוש במגוון של גישות, החל מרשתות נגד-קבל, דרך נועלי (Latch‏) SR‏ וכלה במעגלים-משולבים ייעודיים.

DigiKey logo

מיאון אחריות: דעות, אמונות ונקודות מבט המובעות על ידי מחברים שונים ו/או משתתפי פורום באתר אינטרנט זה לא בהכרח משקפות את הדעות, האמונות ונקודות המבט של חברת DigiKey או את המדיניות הרשמית של חברת DigiKey.

אודות כותב זה

Image of Max Maxfield

Clive "Max" Maxfield

Clive "Max" Maxfield קיבל את התואר הראשון שלו בהנדסת בקרה בשנת 1980 מאוניברסיטת Sheffield Hallam, אנגליה, והחל את דרכו כמתכנן יחידות עיבוד מרכזיות (CPUs) עבור מחשבי מיינפריים גדולים. במהלך השנים תכנן מקס כל דבר, החל משבבי סיליקון ועד מעגלים וממגברי גלי מוח ועד למנועי מדע בדיוני Prognostication Engines (אל תשאלו). הוא גם היה בחזית של אוטומציית תכנון אלקטרוני (EDA) במשך יותר מ- 30 שנה.

מקס הוא מחבר ו/או מחבר-שותף של מספר ספרים, כולל Designus Maximus Unleashed (נאסר לפרסום במדינת אלבמה), Bebop to the Boolean Boogie (מדריך לא שגרתי לאלקטרוניקה), EDA: Where Electronics Begins‏, FPGAs: Instant Access ו- How Computers Do Math‏. בקרו בבלוג שלו “Max’s Cool Beans‏”.

אודות מוציא לאור זה

DigiKey's North American Editors