Archive

Posts Tagged ‘הנדסת חשמל’

♪דיגי דיגי דיגי דיגיטציה♫ – על המרת אות אנלוגי לדיגיטלי

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

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


תמונה 1: נברשת, למקרה שלא ידעתם. המקור לתמונה: ויקיפדיה, לשם הועלתה על ידי המשתמש Steelbeard1.

הצעד הראשון הוא להמיר את המידע הרצוי למתח חשמלי.

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

כיצד, אם כן, מומר האות החשמלי האנלוגי לאות דיגיטלי?

התשובה היא רכיב שנקרא Analog-to-digital converter או בקיצור ADC, וזה נושא הרשימה.


תמונה 2: מיקרופון, למקרה שלא ידעתם. המקור לתמונה: ויקיפדיה, לשם הועלתה על ידי המשתמש ChrisEngelsma.

***

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

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

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

הדיגיטציה ב-ADC מורכבת משני שלבים: 1) דגימת האות הרציף והחזקה של הערך, 2) קוונטיזציה וקידוד.

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

בשלב השני הערך של המתח מקוטלג לפי שלבים בסולם שנקבעו מראש. לדוגמה, נניח שערכי המתח נעים ברציפות בין 0 ל-10 וולט. אני יכול לקבוע, למשל, עשרה שלבים בסולם: 0-1, 1-2, 2-3 וכולי או 2 שלבים בסולם: 0-5, 6-10 .

מטרת שלב הקידוד הוא לתת שמות בינריים לשלבים של הסולם שאותם המחשב יכול להזין לזיכרון ולעשות זאת באופן חסכוני. אם למשל ישנם רק 4 שלבים בסולם נוכל לכנות אותם 00,01,10,11, כלומר נוכל להסתפק בשני ביטים או סיביות של מידע. את הזוג הבינארי הזה ניתן לשמור בזיכרון ממוחשב, לשלוף בקלות ולבצע בקלות על המידע מניפולציות כאלה ואחרות. כאן טמון כוחו החישובי של מחשב.

כיצד ממשים את כל הרעיונות האלה במציאות?

***

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

נניח שלפני הכניסה ל-ADC ישנו מעגל שמבצע את פעולת הדגימה וההחזקה של האות (בעגה sample and hold או בקיצור S/H). מדובר בד"כ בקבל שכניסת האות המומר אליו נסגרת ונפתחת באופן מחזורי. כאשר הכניסה פתוחה, הקבל נטען לערך של המתח המומר ואז מנותק ממנו ושומר את הערך הישן עד למחזור הבא. המתח בקבל מוחזק ומוזן הלאה באמצעות רכיבים נוספים (למתעניינים: הקבל ממוקם בין buffer כניסה ויציאה ומוזן דרך FET שמשמש כמתג ונפתח ונסגר לפי קצב שמוזן חיצונית).

אסביר את עקרון הפעולה לפי דוגמה פשוטה של ארבעה שלבים בסולם המתחים שמקודדים לשתי סיביות (2bit).

איור 3: קוונטיזציה וסולם המתחים. התעצלתי לאייר במחשב…

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

כדי לבדוק לאיזה שלב בסולם מתאים מתח הכניסה המוחזק ב-S/H באותו הרגע נעשה שימוש ברכיב שנקרא comparator, כלומר משווה (המשולשים באיור 3).

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

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

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

השלב האחרון הוא לקודד את הפלט של המשווים למספר דיגיטלי חסכוני יותר באמצעות לוגיקה דיגיטלית. בדוגמה באיור יש 4 שלבים אפשריים בסולם הקוונטיזציה ולכן האפשריות ביציאה מהמשווים הן 000 מתח הכי נמוך שלב '0' בסולם, 100 שלב '1' בסולם, 110 שלב '2' ו-111 שלב '3' הכי גבוה.

000 מקודד ל-0 בינארי ב-2 ביטים לכן ל-00

100 מקודד ל-1 בינארי ב-2 ביטים לכן ל-01

110 מקודד ל-2 בינארי ב-2 ביטים לכן ל-10

111 מקודד ל-3 בינארי ב-2 ביטים לכן ל-11

נסכם בטבלה:

הפתרון המצומצם הוא:

 

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


איור 4: ADC מסוג flash 2bit ממיר מתח אנלוגי לדיגיטלי המיוצג בשתי סיביות. התעצלתי לאייר במחשב.

לסיום, אציין שה-ADC הזה נקרא flash type ADC והוא המהיר מכל המימושים האפשריים אך גם היקר והבזבזני מכולם ולכן מתאים רק לאפליקציות מסוימות.

הג'ורה של המעגל – על חיבור הארקה או אדמה

האם תהיתם פעם מדוע בשקע החשמל בקיר יש שלושה חורים?

האם שמתם לב שלפעמים בתקע יש שני פינים ולפעמים שלושה?

אם אכן תהיתם על כך, הגעתם למקום הנכון. אבל ראשית נתחיל בראשית.


תמונה 1: שקע ותקע ישראלי. המקור לתמונה: ויקיפדיה, לשם הועלתה על ידי המשתמש Kiddo.

***

מדוע מים זורמים במורד ההר ולא במעלה ההר? ישנן שתי דרכים לענות על השאלה הזאת, ושתיהן אומרות את אותו הדבר.

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

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

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

נשים לב שנוצר כאן מעגל זרימה. המים זורמים מאנרגיה גבוהה לנמוכה ואז מועלים שוב לאנרגיה גבוהה על ידי גורם חיצוני (למשל משאבה).


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

***

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


איור 3: מטען חשמלי (חיובי) זורם מאנרגיה פוטנציאלית חשמלית גבוהה לנמוכה. ספק מתח או סוללה מחזירים אותו לאנרגיה גבוהה.

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

אז לשם מה יש חור שלישי?

***

כיצד מתקבלת נקודה שבה האנרגיה החשמלית של מטען גבוהה ביחס לנקודות אחרות?

ראינו בתחילת הרשימה שמושג האנרגיה קשור בכוח ולכן אנרגיה פוטנציאלית חשמלית תלויה בכוח חשמלי.

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

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

***

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

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

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

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

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

תמונה 4: שקע חשמל עם סימונים על החורים השונים. חור אדום – מתח גבוה, חור כחול מתח נמוך, חור ירוק\צהוב – הארקה. המקור לתמונה: ויקיפדיה, לשם הועלתה על ידי המשתמש Kiddo.

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

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

ישנם מעגלים אלקטרוניים שבהם יש נקודת אדמה וישנם כאלה שפועלים ללא חיבור לאדמה (צפים). ניתן להתייחס לכל שתי נקודות במעגל שמחוברות לאדמה כאילו הן מחוברות אחת לשניה. למיטב הבנתי זאת הסיבה ששם נוסף לחיבור אדמה הוא 'common ground' או בקיצור 'common' או אפילו 'com'.

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

מי הזיז את אבקת החשמל שלי?! על מקורות מתח (אולי חלק א' ואולי לא)

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

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

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

ברשימה זאת אעסוק בספק מתח המחובר לרשת החשמל. אולי בהמשך אכתוב על סוללות (בלי נדר).

picture1
תמונה 1: שעון דיגיטלי.

***

מה בעצם מגיע אלינו דרך שקע החשמל בקיר?

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

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

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

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

%d7%a2%d7%9e%d7%95%d7%93%d7%99-%d7%97%d7%a9%d7%9e%d7%9c
תמונה 2: עמודי חשמל ליד נחל הבשור. המקור לתמונה: ויקיפדיה, לשם הועלתה על ידי המשתמש אורן פלס.

בשקע החשמל בדירה אין צורך במתח גבוה כל כך, ובכל מקרה ההובלה הסתיימה ולכן המתח בשקע הוא רק 220 וולט חילופין. לפני הכניסה לדירה ערכו של המתח הורד על ידי חברת החשמל, אך תלאותיו של החשמל עדיין לא הסתיימו. השעון המעורר זקוק לתפעולו למתח חשמלי ישר (שאינו משתנה) שערכו וולטים בודדים, ויישרף אם יחובר ישירות למתח הרשת. כאן נכנס המכשיר שאנחנו נוטים לכנות 'שנאי' או 'טרנספורמטור', אבל הוא בעצם מתאם מזרם חילופין למתח נמוך וקבוע (AC to DC adapter). המתאם אכן מכיל בתוכו רכיב המכונה שנאי אך גם רכיבים נוספים.

***

מהו שנאי (אידיאלי)?

המקור של שדה מגנטי הוא תנועה של מטענים חשמליים.

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

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

עובדה 3: אם עובר דרך סילונית שטף משתנה בזמן של שדה מגנטי הוא גורם להתעוררות של זרם משתנה בזמן דרך תיל המלופף סביבה. עוצמתו של הזרם תלויה בצפיפות הליפופים.

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

%d7%a9%d7%a0%d7%90%d7%99-%d7%90%d7%99%d7%93%d7%99%d7%90%d7%9c%d7%99
איור 3: סכימה של שנאי אידיאלי. המקור לאיור: ויקיפדיה, לשם הועלה על ידי המשתמש BillC.

***

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

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

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

כעת נתבונן במעגל הגשר.

%d7%92%d7%a9%d7%a8-%d7%93%d7%99%d7%95%d7%93%d7%95%d7%aa
איור 4: גשר דיודות. חלק עליון – חצי מחזור ראשון, חלק תחתון – חצי מחזור שני. מתח חיובי בכניסה יוצא אותו דבר ומתח שלילי בכניסה מתהפך לחיובי ביציאה. המקורות לאיור: ויקיפדיה וויקיפדיה, לשם הועלה על ידי המשתמש Wykis וטופלה קצת על ידי.

הדיודות מחוברות כך שהמתח הגבוה תמיד יפתח דיודה אחת, המתח הנמוך יפתח דיודה שניה והשתיים האחרות ישארו סגורות.

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

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

השורה התחתונה היא שמתח חיובי יוצא חיובי ומתח שלילי יוצא חיובי אך שומר על צורתו (ראו איור 5).

%d7%9e%d7%aa%d7%97-%d7%9e%d7%99%d7%95%d7%a9%d7%a8
איור 5: מתח חילופין בכניסה ומתח מיושר ביציאה. המקור לאיור: ויקיפדיה, לשם הועלה על ידי המשתמש Jjbeard וטופלה קצת על ידי.

***

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

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

***

נסכם את כל השלבים באיור הבא:

%d7%93%d7%99%d7%90%d7%92%d7%a8%d7%9e%d7%aa-%d7%91%d7%9c%d7%95%d7%a7%d7%99%d7%9d-%d7%a9%d7%9c-%d7%a1%d7%a4%d7%a7-%d7%9e%d7%aa%d7%97
איור 6: דיאגרמת בלוקים שמתארת את מקור המתח מנקודת החיבור לרשת החשמל ועד לאספקת המתח הישר לעומס. בכל שלב מוצב אות המתח בגרף בצורה סכמטית.

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

זהו.

מלך המתגים – על עקרון הפעולה של טרנזיסטור MOSFET

בחודש הבא יחגוג הבלוג 5 שנים להיווסדו. במילים אחרות, אני כותב פה כבר 5 שנים. פיסת חיים.

%d7%a2%d7%95%d7%92%d7%aa-%d7%99%d7%95%d7%9e%d7%95%d7%9c%d7%93%d7%aa
איור 1: עוגת יומולדת עם 5 נרות. המקור לאיור: clip art מה-powerpoint.

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

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

אז כמו שכבר הבנתם הנושא הפעם הוא עיקרון הפעולה של טרנזיסטורים, כאשר אתמקד בסוג שנקרא MOSFET שזה קיצור נפלא לזוועה הבאה: 'Metal-oxide-semiconductor field-effect transistor'. כמו כן אתמקד בפעולה שלו כמתג, מכיוון לדעתי אלה הן הדוגמאות החשובות והפשוטות ביותר.

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

***

מהו טרנזיסטור?

לעניינינו, טרנזיסטור הוא מתג חשמלי שביכולתו לווסת זרימת מטענים חשמליים. הטרנזיסטור הוא אבן הבסיס לבניית שערים לוגיים ומכאן לכל יחידות המחשב (מעבד, זיכרון וכולי). מדובר ברכיב חשמלי בעל שלושה חיבורים חיצוניים שאותם נסמן באותיות S,D ו-G שהם קיצור ל-source, drain ו-gate בהתאמה.

נוח לחשוב על הטרנזיסטור כעל ברז ששולט על זרימת מים בצינור, כאשר המים מסמלים זרם חשמלי. בצינור יש לחץ ולכן מים יזרמו דרכו אלא אם כן שמנו מחסום, למשל ברז שחוסם את המעבר. כלומר, פתיחת הברז תשחרר את החסימה ותאפשר את זרימת המים. הטרנזיסטור מחובר במעגל חשמלי כך שבין הרגליים S ו-D ישנו מתח חשמלי כך שאם הוא פתוח, זרם חשמלי יזרום דרכו ללא הפרעה (משול ללחץ בצינור). חיבור ה-G משמש כידית הברז. מתח חיובי על רגל ה-G (בד"כ ביחס ל-S) תגרום לפתיחת הברז ולזרימה חשמלית.

כיצד הפעלת מתח חשמלי על רגל G גורמת לפתיחת מחסום לזרם?

לפני שאענה על השאלה הזאת, אעבור דרך מספר תחנות ביניים. הסבלנות תשתלם.

***

מהו מוליך למחצה?

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

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

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

silicon
תמונה 2: גוש סיליקון. המקור לתמונה: ויקיפדיה, לשם הועלתה על ידי המשתמש Enricoros.

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

***

כיצד שולטים במוליכות הסיליקון?

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

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

ניתן לזהם סיליקון גם בחומר עם אלקטרון אחד פחות בקליפה החיצונית (למשל בורון, מספר 5 בטבלה, טור אחד שמאלה ביחס לסיליקון) כך שלאחר היווצרות הקשרים יהיה חוסר באלקטרון אחד. מבלי להיכנס יותר מדי לפרטים, החוסר מאפשר זרם מכיוון שהאלקטרונים יכולים לזוז דרך המקום הפנוי (כמו פאזל הזזה). נהוג לקרוא למקום הפנוי 'חור' ולהתייחס אליו כחלקיק בעל מטען חשמלי חיובי (או קווזי-חלקיק). מוליכים למחצה שזוהמו בחומרים 'מימין' ולהם אלקטרונים זמינים להולכה נקראים n-type וחומרים מזוהמים 'משמאל' ולהם חורים נקראים p-type. הזרם החשמלי במוליכים למחצה מורכב, אם כן, משני סוגים: זרם אלקטרונים וזרם חורים.

***

מהו קבל?

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

%d7%a7%d7%91%d7%9c
איור 3: סכמה של קבל לוחות.

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

מה יקרה אם נחליף את אחד הלוחות המתכתיים לחומר שאינו מתכתי, לדוגמה מוליך למחצה?

***

מהו קבל MOS?

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

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

הקיצור MOS בא במקום metal-oxide-semiconductor. הקבל הוא חומר מבודד (אוקסיד, תחמוצת סיליקון, בעצם זכוכית) בסנדוויץ' בין מתכת למוליך למחצה (ראו איור 4). כמובן שעל הסיליקון יש חיבור מתכתי למעגל החשמלי, אבל זה לא משנה לעקרון הפעולה.

%d7%a7%d7%91%d7%9c-mos
איור 4: סכמה של קבל MOS..

נניח ששכבת הסיליקון היא p-type, כלומר המטענים החופשיים בה הם 'חורים' בעלי מטען חשמלי חיובי. הפעלת מתח חיובי דורשת הצטברות מטען שלילי במוליך למחצה. מה שיקרה הוא שהחורים, שהם בעלי מטען חשמלי חיובי, ידחו ויעזבו את המקום. הם ישאירו אחריהם שכבה של אטומים מיוננים בעלי מטען שלילי שנקראת שכבת המיחסור (depletion), והיא זאת שתורמת את המטען הדרוש.

ככל שנגדיל את המתח, כך ידרשו עוד מטענים שליליים במוליך למחצה ושכבת המיחסור תתרחב. אם המתח המופעל מספיק גבוה (בעגה: מתח הסף) תהליך זה כבר אינו יעיל בגלל רוחבה הגדול של שכבת המיחסור ובמקום זאת יחלו להופיע אלקטרונים (ראו איור 5). כלומר, הפעלת מתח בעוצמה מספיקה יכולה לשנות את אופי המוליך למחצה. החומר כבר לא p-type אלא n-type, כלומר שינוי מחומר שמוליך חורים לחומר שמוליך אלקטרונים. תופעה זאת נקראת אינברסיה (inversion). הפוטנציאל החשמלי משתנה לעומק הרכיב וככל שמתרחקים מהאלקטרודה הוא קטן. לכן האינברסיה תופיע כשכבה דקה קרוב לאלקטרודה (רק באזורים בהם הפוטנציאל גבוה מספיק).

%d7%90%d7%99%d7%a0%d7%91%d7%a8%d7%a1%d7%99%d7%94
איור 5: הפעלת מתח גבוה ממתח הסף על קבל ה-MOS גורמת להיווצרות שכבת אינברסיה..

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

***

מהו טרנזיסטור MOSFET?

היזכרו שכאשר הצגתי את טרנזיסטור ה-MOSFET כתבתי שיש לו 3 חיבורים: S,D ו-G. כדי לקבלו נוסיף למוליך למחצה בקבל ה-MOS פיסת סיליקון n-type משני צדדיו ונחבר כל אחת מהן למתח חיצוני. אחת הפיסות תסומן ב-S, אחת ב-D והמתכת מעל האוקסיד תכונה G (ראו איור 6).

mosfet
איור 6: סכמה של טרנזיסטור MOSFET.

ללא הפעלת מתח על G לא ניתן להעביר זרם בין S ל-D גם אם נפעיל מתח ביניהן מכיוון שנקודות S ו-D מחוברות לסיליקון מסוג n-type שבו יעבור רק זרם אלקטרונים ופיסת הסיליקון המקורית מהקבל היא p-type ובה יעבור רק זרם חורים. הפעלת מתח מספיק גבוה על נקודה G תגרום להופעת שכבה דקה של n-type קרוב לקצה החיצוני של המוליך למחצה, תחבר בין S ו-D, ותשמש כתעלת הולכה של אלקטרונים (ראו איור 7). דעו כי האפקט הוא דרמטי. כאשר המתח על נקודה G נמוך ממתח הסף אין זרם, ומעל מתח הסף הזרם גדל באופן משמעותי כך שהטרנזיסטור יכול להיחשב כקצר, כלומר כחוט מתכתי מוליך זרם.

%d7%98%d7%a8%d7%a0%d7%96%d7%99%d7%a1%d7%98%d7%95%d7%a8-%d7%a4%d7%aa%d7%95%d7%97
איור 7: הפעלת מתח גבוה ממתח הסף על ב-G גורמת להיווצרות שכבת אינברסיה ולפתיחת הטרנזיסטור לזרם חשמלי.

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

הערה לסיום: שימו לב שהמעבר שעשיתי בין קבל MOS לטרנזיסטור MOS הוא קונספטואלי לשם הסבר ברור. לא כך בונים טרנזיסטור MOSFET.

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

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

הדילמה של יצחק, חלק ב' (מימוש) – כמה מילים על רכיבי זיכרון במערכות סדרתיות

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

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

דיסקליימר – הרשימה הפעם היא מתכון טכני מאוד לפתרון בעיות מסוג מסוים. ראו הוזהרתם!

זהירות רשימה טכנית זהירות: רשימה טכנית!

***

הדבר הראשון שיש לעשות הוא לשרטט דיאגרמת מצבים שמתארת את מה שהמכונה צריכה לעשות וכיצד היא מגיבה לקלט. למכונה שתפתור את הבעיה שלנו נדרשים ארבעה מצבים שקשורים לכמה 1-דים (כבשים שחורות) כבר נצפו ברצף:

A – הקלט הקודם היה 0

B – הקלט הקודם היה 1

C – השניים הקודמים היו 1

D – השלושה הקודמים היו 1

כל מצב נוסף הוא מיותר ונכלל כבר במצבים A-D.

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

דיאגרמת מצבים
איור 1: דיאגרמת מצבים. המספר השמאלי על כל חץ הוא הקלט והימני הוא הפלט.

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

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

טבלת מצבים

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

להלן הטבלה לאחר קידוד:

טבלת מצבים לאחר קידוד

השלב הבא הוא להשתמש בטבלת העירור של SR-Latch כדי לדעת מה יש להזין לכל רכיב זיכרון על מנת לעבור מ- y1y2 של המצב הנוכחי לזה של המצב הבא. לדוגמה המצב הראשון y1y2 (בשורה הראשונה) הוא 00 ולפי טבלת המצבים המקודדת עבור כניסת קלט x=0 המצב הבא הוא 00. טבלת העירור של SR-Latch (ראו רשימה קודמת) מנחה אותנו שכדי לעבור מ-0 ל-0 יש ללחוץ S=0 ואז לא משנה מה לוחצים ב-R. אם כן, גם רכיב זיכרון 1 וגם 2 צריכים לקבל כניסות של S=0 , R=d כפי שניתן לראות בשורה הראשונה של טבלת המימוש. ה-d מסמל don't care.

טבלת מימוש זיכרון

השלב האחרון לפני מימוש הוא למצוא את הפונקציה הבוליאנית המתאימה עבור כל הכניסות והיציאות של המעגל, כלומר עבור: S1, R1, S2, R2 ו-Z הפלט. כל המידע הדרוש כבר קיים בטבלאות שבנינו. נותר רק למצוא את הפתרון המינימלי.

נשתמש בשיטה הנקראת מפת קרנו. נסביר את השיטה תוך פתרון עבור S1. נרכז את הידע שלנו על S1 בטבלה כך שהשורות מוגדרות לפי y1y2 והטורים לפי X הקלט. התוכן של תאי הטבלה הוא הערכים המתאימים של S1. למשל בשורה y1y2=01 עבור x=0 דרוש S1=0 ועבור x=1 דרוש S1=1. להלן הטבלה המלאה:

מפת קרנו 1

כדי לקבל פתרון מינימלי יש לסמן ברצף את כל ה-1-דים בטבלה, בודדים, זוגות, רביעיות, שמיניות וכו'. ה-1 היחיד בטבלה של S1 ממוקם בתא שמשמעותו הבוליאנית היא בעצם x·y1'·y2  כלומר נקבל 1 אם  x ו-y2 שווים 1 ו-y1 שווה 0 (הגרש מסמן מעבר במהפך). נשים לב שמתחת ל-1 יש d, כלומר לא אכפת לי. יש לנו חופש לבחור אותו כ-1 ואז לסמן גם אותו. כעת הטבלה מראה לנו ש-y1 יכול להיות 0 או 1 ולכן S1 בעצם לא תלוי בו. אם כן נוכל לרשום את הפונקציה הבוליאנית המינימלית הבאה: S1=x·y2.

נתבונן במפת קרנו עבור R1:

מפת קרנו 2

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

לסיכום הפונקציות הבוליאניות עבור הכניסות והיציאות הן:

S1=x·y2

'R1=x

'S2=x·y1

R2=x'+ y1

'z=x· y1·y2

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

מעגל פתרון

השאר כבר על יצחק.

סוף.

הדילמה של יצחק, חלק א' – כמה מילים על רכיבי זיכרון במערכות סדרתיות

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

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

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

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

האם יצליח יצחק במשימה?

Flock_of_sheep
תמונה 1: כבשים במכון מחקר בארה"ב. המקור לתמונה: אתר המשרד לחקלאות של ארה"ב, דרך ויקיפדיה. הצלם: Keith Weller. בעעעע!

***

ראשית נתרגם את הבעיה לשפה בוליאנית.

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

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

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

***

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

שני מהפכים בטור
איור 2: שני מהפכים מחוברים בטור. המתח החשמלי המסומן כ-x ו-y הוא יציב בזמן והפוך אחד לשני.

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

נבחן את המבנה המשופר הבא:

Two inverters and SR-Latch
איור 3: משמאל שני מהפכים בטור מוצגים בצורה שונה. מימין במקום המהפכים יש שערי NOR. יש לנו שתי כניסות שליטה, S ו-R. היציאה מסומנת ב-Q. המקור לתמונה הימנית: ויקיפדיה, לשם הועלתה על ידי המשתמש Napalm Llama.

נשים לב שלמרות הסידור המבלבל, המעגל המוצג באיור 3 משמאל הוא עדיין שני מהפכים מחוברים בטור. כעת נחליף את המהפכים בשערי NOR, כלומר שערי 'או' עם מהפך ביציאה. בסידור זה נשארנו עם שני מהפכים בטור, אבל הרווחנו עוד שתי ידיות לשליטה שמסומנות באיור 3 משמאל באותיות S ו-R (משמעותן set ו-reset בהתאמה). היציאות של המעגל מסומנות באותיות Q ו-Q'. מכיוון שהן תמיד הפוכות אחת לשניה, נניח ש-Q היא היציאה ו-Q' היא ההיפוך של היציאה.

כעת בואו ונבחן מה האפשריות של החיבור הזה.

נניח שכעת הערך השמור ברכיב הוא Q, והזנו ערכים מסוימים עבור הידיות R ו-S. מה יהיה הערך השמור ברכיב בסיבוב הבא?

אם ערך שתי הידיות הוא 0 אז הרכיב שומר על ערכו הקודם.

אם S=0 ו-R=1 אז הערך השמור ברכיב הופך ל-0 ללא תלות במה היה בו קודם.

אם S=1 ו-R=0 אז הערך השמור ברכיב הופך ל-1 ללא תלות במה היה בו קודם.

אם S=1 ו-R=1 אז הערך השמור ברכיב למעשה לא מוגדר היטב כי מתקבלת סתירה.

לסיכום, 'לחיצה' על S כותבת ברכיב 1, לחיצה על R כותבת בו אפס, אם לא לוחצים הוא שומר את מה שהיה בו קודם ואם לוחצים על שניהם עושים בלגאן. בואו ונסכים שלא עושים את זה, בסדר? סיכום התוצאות בטבלה הבאה:

טבלה אופיינית

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

אם יש ברכיב 0 ואנחנו רוצים שישאר 0, אנחנו בטוח צריכים ללחוץ על S, ואז לפי טבלה 4 זה כבר לא משנה אם לוחצים על R או לא.

אם יש ברכיב 0 ואנחנו רוצים שישתנה ל-1, אנחנו חייבים ללחוץ על S, ולא ללחוץ על R. אין עוד אופציה.

אם יש ברכיב 1 ואנחנו רוצים שישתנה ל-0, אנחנו חייבים לא ללחוץ על S, וכן ללחוץ על R. אין עוד אופציה.

אם יש ברכיב 1 ואנחנו רוצים שישאר 1, אנחנו בטוח לא צריכים ללחוץ על R, ואז לפי טבלה 4 זה כבר לא משנה אם לוחצים על S או לא.

התוצאות מסוכמות בטבלה הבאה:

טבלת עירור

***

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

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

השאלה כעת היא מה על יצחק לעשות כדי השתמש ברכיב ה- SR-Latch כדי לקבל את התוצאה הרצויה?

על כך בחלק ב' של הרשימה.

רק פוני אחד לטריק – על מימוש שערים לוגיים

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

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

***

הרכיב הבסיסי שעומד מאחורי כל השערים הלוגיים 'בעולם האמיתי' הוא המתג.

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

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

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

מכאן ואילך אני פשוט אניח שיש ברשותי את הרכיב הדרוש.

FET איור 1: סימון במעגל חשמלי לטרנזיסטור. G מסמן את כניסת ה-Gate, S את כניסת ה-Source ו-D את כניסת ה-Drain. אם נחבר מתח חשמלי בין S ל-D ונדאג למתח ב-G שמספיק לפתיחתו של הטרנזיסטור אז זרם חשמלי יזרום מ-S ל-D.

***

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

כיצד, אם כן, נשתמש במתג כדי לקבל מהפך? נבחן את החיבור הבא:

מהפך NMOS איור 2: מעגל מהפך. המקור לאיור: ויקיפדיה (עם תוספות שלי), לשם הועלה על יד המשתמש Fresheneesz.

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

אז יש לנו מהפך.

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

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

מהפך CMOS איור 3: מעגל מהפך בטכנולוגית CMOS. המקור לאיור: ויקיפדיה (עם תוספות שלי), לשם הועלה על ידי המשתמש inductiveload.

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

***

בואו וננסה שער יותר מורכב.

ה-'nand' הוא שער שמורכב מ-'וגם' שאחריו מהפך (not-and). טבלת האמת שלו היא:

טבלת אמת של שער nand

נבחן את המעגל הבא:

NMOS NAND איור 4: מעגל nand. המקור לאיור: ויקיפדיה (עם תוספות שלי), לשם הועלה על יד המשתמש Fresheneesz.

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

ניתן לממש את ה-nand, כמובן, גם בטכנולוגית CMOS. אני ממליץ לכם לנסות לשרטט את הפתרון בעצמכם.

אז יש לנו nand.

וזהו, סיימנו.

מה? למה?

***

להלן שלושה תרגילים קצרים באלגברה בוליאנית. מי שלא מכיר או לא זוכר יכול לעיין ברשימה קודמת בנושא.

Functional completeness

התרגיל הראשון מראה שניתן ליצר מהפך משער nand. התרגיל השני מראה שניתן לייצר שער 'וגם' באמצעות שערי nand ומהפך. התרגיל השלישי מראה שניתן לייצר שער 'או' באמצעות שער nand ושני מהפכים.

מסקנה: ניתן לממש את כל השערים הלוגיים באמצעות צירופים של שערי nand בלבד.

זה נקרא בעגה Functional completeness.

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

החיסרון: יש צורך בהרבה יותר טרנזיסטורים.

סוף.