הרצאה - האתר של שי ידרמן
Transcription
הרצאה - האתר של שי ידרמן
מעבדה למיקרו מחשבים מרצה :ד"ר שלמה אנגלברג משרד.324A : מייל[email protected] : אתר הקורסwww.cc.jct.ac.il/~shlomoe : טלפון02-6751158 : נהלים: .1יש ש.ב .שחובה להגיש ב 15-ד' הראשונות של המעבדה. .2נוכחות חובה. .3חובה לעבור את המבחן אחרת הלך כל הקורס... מרכיבי הציון: .1שיעורי בית 10% .2דוחות מסכמים 40% .3מיני פרויקט 10% .4איכות ביצוע וסדר 10% .5מבחן סופי 30% מבוא קצר: השבב הראשון שיצא כמיקרו-מעבד היה לפני 40שנה .אנו משתמשים כיום בגרסה יותר משוכללת של מיקרו מעבד מסוג זה. בקורס אצלנו הרכיבים הללו נקראים מיקרו בקרים ,כי הם מבקרים את התהליכים שאנו מבצעים בהם. המיקרו בקרים הקלאסיים אמורים לבקר תהליכים יחסית פשוטים והם מחזירים 0או , 1להפעיל או לכבות משהו. המיקרו-ים שלנו עושים הרבה יותר ) - (ADuC841הנקרא .8052 מבחינת היצרן ,הם מוכרים לנו ממירים ואת השבב נותנים בחינם. היתרון במיקרו-ים שלנו הוא שניתן להבין אותם כמעט עם הסוף ולכן ניתן למנוע ולהבין סיבות קריסה שונות ושאר תקלות. הקורס וחוברת המעבדה מחולקים לשלושה חלקים: החלק הראשון הוא חומר רקע. החלק השני הוא המעבדות הבסיסיות .שם לומדים בצורה מדורגת על הנושאים. החלק השלישי הוא מעבדות יותר מאתגרות .מטרתן היא לגרום לנו להצליח "להרגיש בבית" עם השימוש במעבד. |1 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן מפרט ה:8052- * זכרון פנימי ( 256Bרבע קילו). * הפונקציות המיוחדות ) ,(SPECIAL FUNCTION REGISTERתופסות את 128הבתים העליונים של הזכרון הפנימי. * ההתקן מכיל 3טיימרים ).(Timer/Counter * לשבב יש פורטי קלט/פלט – ניתן לקבוע מה יהיה הערך בכל כניסה/יציאה. * - 1 UARTיציאה אחת "לעולם החיצוני". * בנוסף ב ADuC841-יש גם ממירים , A/D D/Aזכרון פנימי של 2קילו 62 ,קילו זיכרון פלאש ... נסתכל על המיקרו מעבד בצורה הבאה: זיכרון הנתונים נחלק לפי הסכמה באופן הבא: הכתובות של ה 256-בתים ממויינות מ 00H-עד .FFH בכתובות ( 00H-1FHסה"כ 32כתובות) נמצאים 32 רשמים המחולקים ל 4-בנקים. בכל בנק נמצאים 8רשמים הקרויים.R0-R7 : בכתובות 20H-2FHנמצאים .BIT ADDRESSABLE בכתובות של החצי העליון ,80H-FFHשזה יוצא 128 בתים ,נמצאים ה.R.F.S- כל שאר הכתובות ( )30H-7FHהם לשימוש כללי. חוץ מ 256-הבתים הנ"ל אשר מחולקים לחלקים שצוינו הוסיפו המתכננים של 8052עוד 128בתים של זכרון מתחת לזכרון של ה.S.F.R- את זה ניתן לראות בסכמה בריבוע שנמצא מאחורי החלק של ה.S.F.R- איור סכמטי של המעבד ,לקוח מתוך הספר של ד"ר שלמה אנגלברג פרק 2נושא 1עמ' 14 עד כאן הרצאה .1תאריך1.11.11 : אופן פנייה לזכרון הנתונים: .1גישה ישירה ) :(Direct addressingמפנים את המעבד לכתובת מסויימת. לדוגמא הפקודה mov 40H,50Hאומרת להעביר את המידע שנמצא בכתובת 50Hלכתובת .40H .2גישה לא ישירה ):(Indirect addressing לדוגמא mov 40H,@R0 :העבר את התוכן של מה ש R0-מצביע עליו לכתובת של .40H המצביעים היחידים שקיימים הם R0ו.R1- דוגמא מספרית :נניח שבכתובת 41Hנמצא הערך 2והמצביע R0=41Hאזי הפקודה mov 40H,@R0 :תיתן בסוף את הערך 2בכתובת .40H |2 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן אנו משתמשים בפקודות שהן כמעט שפת האם של המעבד. למעשה אנו שומרים במעבד רק 1ו .0-ניתן לתרגם את השפה ל 1-ו 0-כרצוננו ,אולם לא נעסוק בזה בקורס הזה. דוגמא :נתבונן בפקודה mov A,Rn :ה A-הוא לא כתובת או אפילו שם ,הוא חלק מפקודה. לעומת זאת ACCמכיל את הכתובת של האקומולאטור .הכתובת שלו היא 11101rrrכאשר rrrהוא כתובת של רשם שממנו יש להעביר ל ACC-את המידע .לכן הפקודה mov ACC,Rnמשמעה להעביר מאוגר כללי את התוכן לאקומולאטור. לפי מה שראינו עד כה הפקודה mov 40H,50Hתופסת 3בתים ,אחד לפקודה ושניים לכל רשם. הערה: בקובץ8051 Family programmers guide and Instruction set : יש את כל המעברים בין הפקודות לצורתן הבינארית .לינק: http://www.classic.nxp.com/acrobat_download2/various/80C51_FAM_PRO G_GUIDE_1.pdf אופן הפנייה לזיכרון תוכנה: הפקודה movc A,@A+DPTRהיא להעביר משהו קבוע לאקומולאטור לכתובת של Aועוד המקום שמצביע אליו DPTRשהוא ה.Data pointer - פקודה נוספת היא movc A,@A+PCאשר תפקידה זהה .ההבדל הוא שכעת יש לנו .ProgramCounter לא נשתמש בדרך זו בד"כ. אופן הפנייה לזיכרון חיצוני: זיכרון שניתן לחבר באופן חיצוני ולהשתמש בו .הפקודה לשימוש בזיכרון החיצוני היא movx כאשר .X=External אופן פנייה לביט בודד :BIT ADDRESSIABLE הפקודות הן STEB :להפוך ביט ל 1-ו CLRB -להפוך ביט ל.0- פקודה נוספת היא לבדוק האם ביט מסוים שווה ל 1-ואם כן אז לקפוץ לכתובת אחרת.JB bit,___ : פקודת קפיצה עבור מצב שבו ביט שווה ל 0-היא.JNB bit,___ : אופן פעולות הקשורות לאריתמטיקה: נשתמש בעיקר בחיבור וחיסור (כפל כבר רחוק מאיתנו.).. פקודה לחיבור היא ADD A,40H :מחברים את התוכן שנמצא בכתובת 40Hעם התוכן שנמצא בתוך Aושמים את התוצאה בתוך .Aבמקרים שבהם הסכום זולג ) (Carryיש צורך בביט נוסף .לשם כך יש לנו בתוך ה SFR-את הPSW- שהוא ביט דגל הנדלק במצב של גלישה .הפקודה ADDתשנה את הביט הזה במקרה שבו הסכום זולג .מעתה והלאה הביט ישאר דלוק עד שנכבה אותו עם .CRL Cהפקודה ADDC A,41Hמבצעת כמעט אותו הדבר .היא מחברת את התוכן של 41Hעם התוכן שנמצא ב A-אבל בעת החיבור הביט של PSWדלוק ,ז"א אנו נמצאים בשלב מספרים גדול יותר .המשמעות של Cהיא .Carry יש לנו פקודות לוגיות כגון - ANL 40H, #0F0H :שזה .And logicalכאן מקבלים וגם עם .11110000 – ORLשזה .Or logical יש לנו פקודה RRשמזיזה את הביטים אחד ימינה כגון :לפני – 11011101אחרי.10111011 - בדומה יש פקודה שמזיזה שמאלה והיא .RLאם נעזר ב RRC -או RLCאז ההתייחסות תהיה גם ל.Carry- עפ"י תקן ,כאשר רושמים מספר בהקס דצימלי המתחיל באות ) (A-Fיש להוסיף 0לפניו כגון.0F0 : |3 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן אפן פעולות :BITWISE OPERATIONS בפקודות אלו אנו משנים ביט-ביט למשך כל הבית. הפקודה CPLלמשל ,משלימה את הביטים ).(compliment אופן פעולות של בקרת הזרימה: Flow Control : איך מבצעים לולאה בתוך תוכנה: נעזר בפקודות: הסופר הוא התוכן של 40Hשמאותחל בערך 10ויורד עד ל.0- אפשרות נוספת היא ע"י פקודתSUB : ובה הוא קופץ ללולאה .SUB הפקודה האחרונה ברצף הזה היאLOC : בפקודה זו הוא קופץ ולא חוזר. CALL Mov 40H , #10 . . . . DJNZ 40H , LOOP LOOP: JMP עד כאן הרצאה .2תאריך3.11.11 : פסיקות – :Interrupts למעבד יש ליבה וכל מיני .peripherals נניח שרוצים לבדוק מצב של פין מסוים המחובר לכפתור והמעבד צריך לדעת מתי לוחצים עליו. ניתן לבקש מהמעבד לבדוק כל הזמן האם לוחצים על הפין אך זה בזבזני. ה peripherals-מאפשרים להסב את תשומת הלב של המעבד רק כאשר לוחצים על המספק. ז"א הם משמשים כעזר לליבה ומפנים אותה לטפל בפין רק כאשר לוחצים עליו. כל התהליך הזה מתבצע באמצעות פסיקות שבהן ה peripherals-מפנים מידע לליבה ולאחר מכן הליבה חוזרת לתהליך המרכזי. ה peripherals-במשך כל התכנית עושים מה שמוטל עליהם וכאשר הם מסיימים את התהליך שלהם הוא פונים לליבה וזה מתבצע באמצעות פסיקות בעת כתיבת התכנית. איך מתכנת דואג לדברים האלה? המעבד בנוי כך שבמקום האפס בזיכרון התוכנה נמצאת הפקודה הראשונה של התכנית (המקום.)0000H : המעבד קופץ אליו ישירות בתחילת התכנית. מבחינת החומרה נניח ויש פסיקה במקום 0003Hשתופסת את המקום שלה ורק לאחר מכן מופיע ה.MAIN- הפקודה הראשונה שלנו תהיה JMP MAINוהחומרה תבדוק האם הפין המסוים דלוק או כבוי ,במידה והוא דלוק החומרה תדע לבד (ללא צרך בשימוש בפקודת )CALLלהתחיל בפסיקה הנמצאת בכתובת 0003Hורק לאחר מכן היא תעבר חזרה לתכנית הראשית ) .(MAINיש להקפיד לכתוב בסוף הפסיקה RETIשאומר למעבד כי הסתיים הטיפול בפסיקה ויש לחזור לתכנית הראשית .ההבדל בין RETל RETI-היא ש RETI -חוזר ל MAIN-וגם זוכר כי הסתיים הטיפול בפסיקה בעוד ש RET-רק חוזר לתכנית הראשית אבל במידה ויש מספר פסיקות המעבד יכול לטעות ולחשוב שהוא ממשיך לטפל בפסיקה הזה עתה הסתיימה. בניגוד למה שקורה בשיעורים ,לפסיקה מותר להפריע רק כאשר המעבד נותן רשות. כאשר רוצים שהמעבד יטפל בפסיקות נכתוב SETB EA :כאשר EAהוא .Interrupt enable bit לכל peripheralsיש ביט enableאחר ולכן יש לציין את שם הביט עצמו כגון ( EX0יש עוד ביטים שנלמד עליהם בהמשך). |4 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן מבנה התוכנה באופן כללי: את התכנית פותחים בהערות. לאחר מכן פקודת JMP MAINהנמצאת בכתובת .0000H לאחר מכן נתונים טכניים כלליים.INT. VFCT. TABLE : ואז מתחילה התכנית הראשית MAIN: SETB EA :ובה נפתח בפקודה הנ"ל כמה פעמים שצריך כדי לאפשר את כל ההפרעות שאמורות להתרחש. היות והמעבד מבצע את התכנית בלולאה ,נגרום לא להפסיק ע"י הפקודה JMP $אשר מחזירה את המעבד לפקודה עצמה לעד. מבחינת המבנה הפנימי ,יש לנו נגד שמחובר למקור DCשל 5וולטים. בקצה הנגד נמצא הפין P3.2ולאחר מספק המחובר לאדמה .ברירת המחדל היא 1שזה מספק פתוח. הפקודה STEB P3.2פותחת את המתג ( )0ונותנת למעבד לבדוק האם זורם זרם או לא. כעת כאשר נלחץ המספק עובר זרם והמעבד מקבל זאת .הפקודה CLR P3.2מנקה את הביט. כאשר נלחץ המספק המעבד מפסיק את התכנית שלו ומבצע את הפסיקה. אם נלחץ מספר נוסף עם פסיקה דומה הוא לא יבצע זאת. עד כאן הרצאה .3תאריך8.11.11 : :Timer/counters הטיימרים האלה הם מדדי זמן חיצוניים. יש לנו Timer 0ו Timer 1 -ב 8051-וטיימר נוסף Timer 2ב .8052-ב ADuC-יש עוד טיימר נוסף.Timer 3 : התפקיד של טיימר 3הוא שהוא מחובר ליחידת תקשורת UARTומודד זמנים עבורה. לטיימרים שלנו יש מספר מצבים ושולטים בהם ע"י מספר ביטי-בקרה. המצבים הקשורים לטיימרים הם TMOD :ו .TCON-יש לנו שני מודים 1 :ו.2- TMOD2הוא .Autoreload modeאפשר לחבר את המונה הזה ישירות לשעון הפנימי ואז הוא יתקדם ספרה אחת על פעימת שעון או שאפשר לחבר אותו לפין חיצוני .חשוב לזכור כי המונים סופרים תמיד כלפי מעלה וכאשר הם גולשים הם יוצרים פסיקה .נניח מונה של 8ביט – הוא יכול לספור עד 255ואז גולש ויוצר פסיקה. חשוב לדעת כיצד לאתחל את המונה בהתאם לזמן שבו אנו צריכים פסיקה. נניח שאנו רוצים פסיקה כל 10 sניקח את מספר הפעימות לשנייה של השעון הפנימי ונכפיל11, 059, 200 0.00001 110.592 : היות והמונה סופר למעלה צריך לבצע . 2 5 6 1 1 0 .5 9 2 1 4 5 . * * :נאתחל לו את הערך 145ונקבל את הזמן הדרוש. מצב :TMOD נתבונן באוגר עצמו 4 . 7 6 5 4 3 2 1 0 :הביטים הנמוכים מוקדשים ל Timer 0 -ו 4-הביטים העליונים ל.Timer 1- הביטים 3ו 7-תמיד אפס בקורס הזה. הביטים 2ו 6-הם 0לשעון (מתחבר לשעון הפנימי של המעבד וסופר מספר פעימות בו) או 1למונה (הוא מתחבר לפין חיצוני וסופר את מספר הירידות שלו מ 1-לוגי ל 0-לוגי). הביטים 4ו 5-בטיימר 1והביטים 0ו 1-בטיימר 0הם 01 :או 10למצב 1או מצב .2 מבחינת תִכנות נכון ,כאשר רוצים לשנות נתונים על טיימר 1לא נוגעים בביטים של טיימר 0ולהיפך. לשם כך נעזר בפקודות לוגיות במקום .MOV הפקודה TCONנחלקת ל TR0-ו TR1 -כאשר הם מייצגים בהתאמה – 1פועל – 0 ,מכובה. לכל טיימר יש עוד שני אוגרים שהם TH1 :ו TL1 -לטיימר 1וכנ"ל עם 0לטיימר .)L=Low , H=High( 0 הדבר מאפשר ליצור אוגר של 16ביט .כעת ניתן לספור עד . 2 16 המשתמש בתחילת הפסיקה חייב להזין את האוגרים הללו מחדש MOV TLO,#... :ו.MOV TH0,#... - עדיף להתחיל מלהזין את TL0כי הוא מכיל את הבתים הנמוכים וכך נפגע הכי פחות בעבודה שלו. |5 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן במצב MOD2האוגר TL0הוא המונה ו TH0-הוא המספר המתאחל .המעבד יודע להזין אותו מחדש לאחר כל פסיקה באופן אוטומטי .בנוסף לא צריך לטפל באוגרים הללו בתחילת הפסיקה – המעבד עושה זאת (מאחורי הקלעים). חשוב לטפל ולאתחל את הפסיקות רק אחרי הטיפול ב peripherals-למען הניקוד הטוב. עד כאן הרצאה .4תאריך15.11.11 : קווי תקשורת למיקרו בקרים – ה:UART- הרעיון הוא שלמעבד תהיה אפשרות לתקשר עם העולם החיצוני. נלמד עם ה .UART-שזה.Universal Asynchronies Receiver Transmitter : ההתקן הוא אסינכרוני ,ז"א אין לו שעון משותף. התקן RS232למשל הוא תקן אמיתי אבל לא תקן תקשורת. למשדר ולמקלט שני דברים שצריכים להיות מתואמים – התדר ומספר הביטים שמשדרים. זה עובד באופן הבא: המשדר נמצא בתחילה בממתח של , 5vלאחר מכאן הוא שולח ביט שאומר למקלט "אני מתחיל לשדר" והוא נקרא START BITבמצב זה הממתח יורד ל . 0 v -לאחר מכן משדרים 8ביטים בממתחים שונים ולבסוף חוזרים לממתח של 5vשנקרא .STOP BITהמקלט מקבל תחילה ירידת מתח ואז הוא מתחיל לספור ביט ביט. (היות ויש להם את אותו התדר אז הם יודעים כמה זמן לוקח לכל ביט לעבור). איך עובד ה:UART- יש לנו ממתח של , 5vנכנסים ל 0 v -לתקופה של ביט אחד . T לאחר מכן יש לנו 8ביטים ז"א 8T :ואז ביט סיום של 5vל. T - כדי למנוע מצב שבו המקלט יקלוט סתם רעשים כתוצאה מירידה אקראית של מתח ,יש לו מנגנון שבודק לאחר חצי רוחב ביט (חצי מחזור) האם הירידה עדיין קיימת( .את Tאנו קובעים ובכך מתגברים על האפשרות שהפרעות ישפיעו על השידור). באותו האופן המקלט בודק בכל ביט מהביטים המשודרים את ערך הממתח לאחר חצי מחזור כדי לאשש את הממתח שהוא מקבל. לאחר כל התהליך המקלט מוכן לקבל שידור של בית נוסף וכך הלאה לכל אורך שידור שיהיה. זה עוזר לנו להתגבר על בעיות של חוסר התאמה בין גבישים באופן הבא: נניח שרצינו תדר של F ובפועל קיבלנו תדר F 1 :כאשר: קטן .אזי המחזור יהיה: 1 F 1 1 F 1 1 F 1 הדבר ישפיע על נקודת הבדיקה שהמקלט יוצר בתוך כל מחזור של הביט. בעיקרון מותרות סטיות של עד 5%כי כך נקודת הבדיקה ִת ָמצֵא בתוך התחום של כל ביט. ישנם מעבדים שמודדים בפרקים של 10ביטים או 100ביטים ובהם אחוז הסטייה הרבה יותר קטן כי כל סטייה קטנה תגרום למצב שבו הבדיקות של המקלט בשלב מסוים יפספסו את המחזור של הביט שהן בודקות .לא נעסוק בזאת בקורס זה. עד כאן הרצאה .6תאריך29.11.11 : |6 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן .T נדבר על :Timer 3 הטיימר הזה שייך למשפחת המיקרו מעבדים שאנו עובדים איתם. הדבר היחיד שהוא יכול לעשות זה להיות הקוצב של ה.UART- יחד עם זאת הוא מאוד מאוד גמיש ונותן לנו לשחק עם ה UART-בצורה מאוד יפה. כדי להתעסק עם טיימר 3יש לעשות חישובים תמידים באמצעות אקסל או מטלב. החלק המרכזי של המעבד הוא שידור מחרוזות: נפתח בשמירת המחזורת הרצויה ב CSEG-שמכיל מקום של ,62Kלמשל החל מכתובת.CSEG AT 0300H : נכתוב את המחזורת ,למשל( STRING: DB 'This is a string' :כאשר המשמעות DBהיא הקצאה+שמירה). נסיים מחזורת בקוד.DB 13,10,0 : המשמעות היא - 13 :לשים את הסמן בתחילת השורה - 10 ,לרדת שורה ו 0-הוא תנאי עצירה ).(NULL כדי להוציא את המחזורת נכתוב: בתוך שגרת הפסיקה נבדוק.JBC TI,TRANS_INT : הפקודה אומרת לבדוק ביט מסוים ואם הוא דלוק אז גם מכבים אותו. נכתוב את שגרת הפסיקה עצמה: הפקודה JZבודקת האם האקומולטור הוא אפס. כל עוד האקומולאטור לא מכיל את הערך 0שמוזן בסוף המחרוזת ,נמשיך לשדר. כדי להתחיל את כל השידור מספיק לעשות.SETB TI : מכן המעבד יקפוץ מיד לפסיקה ולשגרת השידור. MAIN: MOVC A,@A+DPTR MOV DPTR,#SRTING TRANS_INT: PUSH ACC CLR A MOVC A,@A+DPTR JZ END_STR MOV SBUF,A INC DPTR POP ACC RETI עד כאן הרצאה .7תאריך6.12.11 : פורטי קלט-פלט:I/O-Ports : אלו הן היציאות P3ו P2-של המעבד .כאשר המתג פתוח מקבלים 1לוגי וכאשר הוא סגור מקבלים 0לוגי. נזכור כי 1לוגי הוא 5וולטים .בין המתח ליציאה יש נגד מסוים שנדבר עליו מיד. השימוש בפורטים לקלט: הפקודה הראשונה היא .SETB PM.Nכאשר.M=2,3 : לאחר מכן אפשר להשתמש בפקודות JBו JNB-בכדי לבדוק את המתח בנק' הבדיקה הפנימית. איך מאלצים מתח על פין קלט-פלט: הפקודה הראשונה היא .SETB PM.N תמיד יהיה על הפין מתח של 5וולט אם לא נעשה כלום. כדי שמשתמש יכניס מתח אפס יש לחבר את הפין לאדמה באמצעות לחצן. לחיצה על הלחצן (מבחוץ) תשנה את המתח ותגרום למעבד לבדוק זאת. הפתרון הזה הוא לא היחיד אבל הכי הגיוני כדי שהמעבד יבדוק שינוי בפין. הפקודה CLR P3.2אסורה בעליל משתי סיבות: מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן |7 אם הפין מחובר ביציאה למתח אדמה או 5וולט אז הפקודה תחבר את החלק הפנימי של הפין (בתוך המעבד) לאדמה תמיד ולחיצה על הלחצן תכניס מתח מאולץ לתוך המעבד ויכולה להזיק לו. במידה והפין מחובר ללחצן או לאדמה אז לחיצה עליו לא תעשה כלום והתכנית לא תרוץ .כך או כך הפקודה אסורה כאשר רוצים להשתמש בלחצן במהלך התכנית. :Port 0 בפורט הזה אין לנו נגד כלל וגם לא מקור מתח .יש לפורט זה מטרות אחרות. אנו נשתמש בפורט זה ע"י חיבור חיצוני של נגד ומקור מתח (בד"כ 3.3וולט). נק' בדיקה פנימית P0.N 0 1 אנו יודעים ש JB-ו JNB-על פין מסוים בודקים את המתח עליו (הפנימי). הדבר הזה נכון לחלק מהפקודות בלבד. הפקודה , JBCשמנקה בסוף את הביט ,בודקת את מצב המתג הפנימי וסוגרת אותו אח"כ. זאת בניגוד לפקודות הקודמות שרק בודקות את מצב המתח החיצוני. המסקנה היא שהפקודות SETB P3.2ואחריה JBC P3.2 :תאפשר קפיצה בניגוד ל JB-שיקפוץ רק אם לחצו על הפין. עד כאן הרצאה .8תאריך13.12.11 : :Digital to Analog and Analog to Digital נדבר על ממירים שמעבירים אות מאנלוגי לדיגיטלי והפוך. ממיר דיגיטלי לאנלוגי כותבים D/A :או .DAC :ממיר אנלוגי לדיגיטלי כותבים A/D :או.ADC : החומר שממנו ניקח הוא Digital Signal Processing An Experimental Introduction :חלק .2 ניתן להוריד את החלק הרצוי מתוך האתר של המרצה .הסיסמא לחלק השני היא. ibudotot2 : אנו רוצים להמיר מספר בינארי למתח. במעבדה שלנו נדאג לגל ריבועי באורך של 256מחזורי שעון עם גובה של . 5v האות שיצא מ P3.4-הוא המתח הדרוש .השיטה נקראת.Pulse Width modulation : 5v נקבל אות ריבועי מחזורי ,מחובר ליציאה LPFונשאר עם הממוצע של האות. היות והאות ניתן לפירוק לפי פורייה ,האיבר החופשי הוא הממוצע ושאר ההרמוניות יחסמו ע"י ה.LFP- אם רוחב הפולס הוא Hנקבל: 5v H 256 H 0v 2 5 6 cks . b0 כעת יש לנו אפשרות לתרגם ערך בינארי למתח כלשהו. הערך Hיושב בזיכרון ה ADuC-וניתן להוציא מתח הפרופורציונאלי ל.H- המסנן :ברור שאם התדרים מאוד גבוהים ניתן ליצור את המסנן עם נגד וקבל. היות ואין הרבה זמן במעבדה נשתמש במסנן הטבעי והמהיר ביותר – העין שלנו! (באמת – זאת לא בדיחה). אנו נראה את הממוצע של האות כאשר נסתכל על הלד דולק. במעבדה שלנו נבנה תכנית שבה לוחצים למשל 0 4 0והמעבד ידע להמיר זאת ל 40D-ולהשתמש בטיימר כדי להוציא את הגל הרצוי( .המשמעות היא שהגל יהיה בגובה של 5vבמשך 40מחזורי שעון). נשתמש ב Autoreload mode -עבור הטיימרים. הרחבה -התקני קלט/פלט: ראינו את התיאור הנ"ל בשבוע שעבר. בעמוד הבא ישנו תיאור יותר מדויק את אופן הפעולה של ההתקן: |8 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן כאשר מכניסים 5vהמתח באמצע הוא אפס והטרנזיסטור אינו מוליך ומופיע בחוץ מתח של . 5v אם יש מתח של אפס בכניסה אז המתח בניהם הוא 5vוהטרנזיסטור מוליך ולכן המתח ביציאה הוא אפס. VDD ערך הנגד שנוי במחלוקת: עבור מתחים נמוכים ,וכאשר נקצר את היציאה לאדמה, נרצה התנגדות גדולה כדי שיזרום כמה שפחות זרם מבוזבז. לעומת זאת כאשר נרצה הרבה זרם אנו בבעיה .לכן יש לנו דרישות מנוגדות. האמנם אין לנו נגד שמשתנה בהתאם לצורך אבל יש מערכות כאלו. VDD PM . N נסכם ונאמר כי יש לנו שתי דרישות סותרות עבור הנגד: .1אם מחברים קיבול לפורט ורוצים שהוא ייטען מהר בפקודה SETBאז נרצה נגד קטן (קבוע זמן קטן). .2אם מקצרים את הכניסה (מכניסים אפס למעבד) זורם זרם מבוזבז לאדמה ולכן נרצה נגד גדול. להלן תיאור המערכת שמבצעת את הנדרש: VDD VDD Q3 מבחינת גדלי ההתקנים (היחס :) WL ההתקן Q1הוא גדול מאוד. ההתקן Q2הוא קטן מאוד. ההתקן Q3הוא בינוני. Q2 VDD משהה של 2 מחזורי שעון. Q1 PM . N Q הטרנזיסטור Q1תמיד בקיטעון חוץ מ 2-מחזורי שעון שבהם האות משתנה מ 0-ל( 1-וזה אומר ש Q -הולך מ 1-ל.)0- בשלב זה הטרנזיסטור הגדול הזה מוליך ועוזר להטעין עומס קיבולי מהר יחסית. ה NOT-האחרון מונע מצב שבו נקצר את היציאה כי אז Q3יהיה בקיטעון ולא יזרום זרם זליגה שיכול להרוס את המעבד כפי שראינו בשבוע שעבר .הטרנזיסטור – Q2תפקידו למנוע ירידה של מתח בעקבות רעשים ולכן הוא קטן כי השימוש בו נדיר יותר יחסית. במצב שבו אנו מקצרים את המוצא יוצא מהתרשים הלוגי ש Q1-ו Q3-יהיו בקיטעון ולא יזרימו זרם .רק Q2יזרים זרם קטן מאוד. כך לא יהיה בזבוז גדול מדי .כאשר PM.Nאינו לחוץ מקבלים כי Q2פעיל ומושך את המתח עליו ל V D D -חזרה. עד כאן הרצאה .9תאריך20.12.11 : סוגים שונים של ממירי דיגיטל לאנלוג – :Resistor Chain DAC להלן תיאור המבנה הכללי: עבור Nביטים יש צורך ב 2 -נגדים זהים. N V R REF המתח לפי מחלק מתח עולה בשיעורים של. 2 N R V R E F 2 N : כעת ניתן להתאים בין n :לממתח כלשהו: V REF N 2 V REF n nR N 2 R . כאשר . 0 n 2 N 1 :ב ADuC -המתח הבנוי הוא. V REF 2.5 v : יש מצביע שבהכנסה של מספר nמודד את המתח בין הנגד במקום 2 nוהאדמה. ב ADuC-ה N -המובנה הוא .12יש דרך להפוך אותו ל 16-ולאפשר לו להעביר מידע בגודל של בית אחד ע"י חילוק ב 2-של המדידות. ניתן להגדיר גם V R E F 5 vאך נעדיף שלא כי אז נאבד דיוק היות והמתח הוא לא בדיוק 5וולט. כעת מחברים נגד R LO A Dמהפין החוצה וכלפי האדמה .במצב זה נקלקל את המתח היחסי שרצינו להוציא. כדי להתגבר על זה נעזר בחוצץ כמתואר בעמוד הבא. |9 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן V o u t ,in t Vout השימוש במגבר שרת שומר על המתחים הפנימיים של המעבד. במצב זה המתח בחוץ נשמר וזהה למתח הפנימי של המעבד כפי שאנו רוצים כאשר נחבר עומס כלשהו.(int=internal) . עד כאן הרצאה .10תאריך27.12.11 : המרצה רצה ליצור ניסוי שבו אנו יכולים לראות את אופן התִפקוד של כל אחד משלושת הטרנזיסטורים בנפרד. כדי לבצע זאת ניתן לקצר בין הפינים p3.1 , p0.0 :כאשר ל p3.1-מחובר נגד ול p0.0-לא מחובר כלום. כאשר נרשום CPL P3.1לאחר שעשינו SETBלשני הפינים נקבל גל ריבועי במוצא. שניהם גם כאשר נשאיר את P3.1פתוח בלבד עדיין נקבל בפקודה CPL P0.0את הגל הריבועי. ברוויה ההבדל בין שתי האפשרויות הוא הזמן שלוקח למתח לחזור חזרה ל. V D D - רוויה M באפשרות הראשונה נקבל עלייה עד למצב יציב של 2 0 n sובאפשרות השנייה מקבלים . 3 s 3 s כך נוכל לראות את התִפקוד של הטרנזיסטור הגדול. באופן העלייה של האפשרות השנייה ניתן לראות עלייה ליניארית המתאימה לרוויה של הטרנזיסטור הקטן ולאחר מכן עלייה חדה יותר הנובעת מהמצב הפעיל של שני הטרנזיסטורים הקטן והבינוני. 1 המשך :DAC 0 /V R E F b0 נכיר סוג חדש של ממיר – .Simple DAC המוצא כתלות בכניסות הוא: 4 b 2 2 b1 b 0 7 .V0 ז"א יש לנו מילה בינארית b 2 b1b0והמשמעות היא בכלליות: 0 /V R E F V REF 7 b2 b1 4R " " b 2 b1b 0 0 /V R E F 2R R Vout .V0 הערכים הלוגיים הם 0, V R E F :בתור 0,1 :לוגים. b2 כיצד ניגשים למערכת? נעבוד עם המערכת לפי סופרפוזיציה: א .נתחיל מ: b2 0 , b1 b0 0 - נקבל: לכן: R 4 7 b2 4 7 b2 R R Vout R 2 R 4 R בחישוב הנגדים. 2R Vout 4R .V0 ב+ג .באותו האופן נקבל גם כי: b1 2 7 V 0 וb 0 - 1 7 .V0 נחבר לפינים b0 P 3.0 , b1 P 3.1 , b2 P 3.2 :ונוכל להזין מילה בת 3ביטים. קיימת בעיה שלא מוציאים זרם מהמערכת ולכן הוא יכול לחזור אחורה ולגרום בעיות .לכן נעדיף להשתמש בחוצץ מתח ביציאה . V 0 | 10 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן R 4 3 סוג רביעי של ממיר:Binary Weighted DAC : R לפי כללי הזהב יש הארקה בכניסה למגבר ולכן הזרמים יהיו: V REF R b 0 N 1 ..... b N 1 Vout .I 2R bN 2 N 1 R 2 R b N 1 R 2 b0 b b המתח ביציאה הוא. V 0 IR R N 1 ..... N 01 V R E F 2 1 N 2 N 1 b N 1 2 N 1 b N 2 ... b0 V R E F : 2 R R שוב קיבלנו בדיוק מילה בת Nביטים. עד כאן הרצאה .11תאריך3.1.12 : ממיר:R-2R DAC : מתח היציאה הוא: 4 b 4 2 b1 b 0 8 b2 . Vout נקבל: 2 2R .V out נקבל בסוף: 8 b2 2R 2R R R R Vout Vout R 2R 2R 2R . V out b0 th even in R REF b0 2 b0 / 2 R REF באופן זהה נקבל כי: לכן בסה"כ: b1 2R .V out 4 4 b 4 2 b1 b 0 8 b0 I SC 2R 2R 2R I SC Vout R . Vout | 11 R R Vout 2R R b0 4 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן 2R 2R 2R 2R Vout R R b0 b0 R 2R b2 נקבל את המעגל המתואר. מומלץ לפתור ע"י משפט תבנין. 2R Vout באופן דומה כאשרb0 0, b 2 b1 0 : b0 2R R כדי להבין את אופן פעולת הממיר נעזר בסופרפוזיציה. נתחיל מ: b2 0, b0 b1 0 - b2 b1 b0 2R 2R R b0 / 2 נעבור לממירים :A/D :Successive Approximation A/D הבקר מזין מתח דיגיטלי שהולך וגדל ,המתח נכנס ל DAC-והולך למשווה. המשווה מקבל את האות האנלוגי (הכניסה לצורך העניין) ומוציא 1כאשר המתח שהתקבל מהבקר עובר את המתח של האות האנלוגי .הערך 1הנ"ל הולך חזרה לבקר ומורה לו להוציא את ערך המתח הנ"ל (שבו הוא עבר את .) V in השיטה הנ"ל לא חכמה במיוחד כי עבור אות של 16ביטים למשל נצטרך 16000השוואות. מוצא V in כדי להתגבר על הקושי נעזר בשיטת החצייה (כן – מתברר שנומרית עזר למשהו.).. " " C DAC נעשה זאת באופן הבא: יחידת הבקרה תזין ערך מתח ,למשל 100 :השקול ל. 4 v - נניח כי ביציאה יש . 4 .6 vהבקרה בשלב זה מקבל 0מהמשווה המעיד כי הערך הקיים גדול מהמוזן ,לכן נבדוק את 110השקול ל . 6 v -נקבל מהמשווה 1המעיד כי עברנו את המתח בכניסה. לכן נרד ל 101-השקול ל 5 v -אשר עדיין גדול מ 4 .6 v -המקורי אבל היות והוא קרוב יותר הבקר ידע להוציא אותו. (התחלנו מערך אמצעי ,במקרה שלנו אנו נעים מ 000-עד ל 111-עבור 3ביטים ולכן הוא.)100 : עד כאן הרצאה .12תאריך10.1.12 : יש לנו בעיה רצינית בהמרה של אות אנלוגי לדיגיטלי עקב השינוי של האות בזמן. המערכת שנועדה להתמודד עם זה נקראת – Sample&Holdשמה מעיד על תפקידה.. יש אות אנלוגי שנכנס למערכת והמוצא הוא מדרגות שנשמרות לפרק זמן מספיק ארוך כדי לאפשר למעבד לעבוד עם המתחים. להלן מתוארת הסכמה של המערכת: אנו נעזרים ב MOSFET-כדי לטעון את הקבל: כאשר נשתמש ב NMOS-תהיה בעיה – לא יהיה ניתן לטעון את הקבל עד לערך הרצוי מכיוון שערך המירבי הוא. V out V D D V t : V in Vout RL לכן נשתמש ב PMOS-כי בו V t 0ולכן המתח המירבי שנופל על הקבל הוא: כעת יש לנו בעיה אחרת והיא הפריקה של הקבל .לא ניתן לפרוק את הקבל כי בהכנסת 0 vעדיין יש מתח על הקבל (והוא ) V tז"א הטרנזיסטור עדיין יכול להימצא בהולכה כלשהי. לשם כך נעזרים ב NMOS-נוסף במקביל אליו: V out V D D V t אשר יכול להיות גדול מ. V D D - V in V D D Vout ממירים בעלי שיפוע 1ושני שיפועים – :Single&Dual Slope A/D מתוארת המערכת הבאה (:)Single Slope בתחילה המעבד נותן הוראה למתח .0 לאחר פרק זמן מסוים המתח עולה ל. V R E F - המתח הזה נופל כולו על הנגד כי המגבר מוארק ווירטואלית. לכן הזרם בנגד הוא: V REF R R . הזרם הולך לקבל ולכן הוא נטען והביטוי המשקף את הטעינה של המתח הוא: | 12 V in S& H מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן C t V REF RC V REF / 0 v (אנו מתייחסים ל V R E F -כשלילי ולכן הביטוי הוא ליניארי חיובי). עליית המתח מגיעה למשווה הסופי אשר מוציא 1כאשר המתח משתווה למתח . V inמהירות המעבד קובעת את דיוק המדידות. השיטה הזאת סובלת מהבעיה הבאה: הקבועT s n : המאפיינים של הקבל והנגד יכולים להשתנות עם הזמן ולכן גם V REF RC V in C כדי להתגבר על זה בנו את ה:Dual-Slope - המערכת מכניסה בהתחלה את V inלזמן מסוים, הקבל מקבל זרם בקצב מסוים: V in I . V in R והמתח במוצא הוא: t R V in . V R E F / V in RC V in במצב זה המתח על הקבל יורד ליניארית עם שיפוע: . RC לאחר nT Sאשר מובנה במערכת ,מחליפים את המתח ל- המשווה בודק מתי המתח על הקבל מתאפס. ז"א: V REF m n m T S 0 V in V REF RC nT S V in V REF אשר הפוך מV in - בסימן ,אז המתח על הקבל עולה ליניארית. ואין לנו תלות בנגד והקבל כלל. S RC VREF RC mT S nT V in RC עד כאן הרצאה .13תאריך17.1.12 : V REF ממיר A/Dמסוג :Flash a2N 2 היתרון שלו הוא מהירות והחיסרון מתבטא בדיוק. N V REF אופן פעולת הממיר: יש לנו שרשרת של 2נגדים .מכניסים מתח מסוים ויש להשוות בין המתח הזה ומתחי הייחוס .לפי עיקרון זה יש לנו 2 Nמשווים דיגיטלים .אותנו מעניין לדעת את נקודת המעבר בין ה 1-ל .0-השיטה לא יעילה מכיוון שעבור 8ביטים יש להיעזר ב 256-משווים .לכן שמים מעגל צירופי המחבר את כל המשווים ומוציא מתח בדיוק הרצוי .לרצף ה 1/0-של המעגל הצירופי קוראים.Thermonitor code : N מעגל 2 `1 N V REF b0 0 1 0 1 X 0 X 1 X X | 13 b1 V in . b1b0 a 2 a1 \ a 0 0 1 00 0 0 01 X 1 10 X 1 11 X X מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן a2 b1 b0 1 N 2 R דוגמא: עבור N 2נקבל את האיור הבא: אנו רוצים לדעת את המוצא שהוא בן 2סיביות: לשם כך נעזר במפת קרנו: 2 a0 צירופי R מעגל V REF 11 3 REF V R 4 10 a1 צירופי 1 REF V 2 01 a0 VREF R 1 R 4 00 R עבור מתח בתחום 00מקבלים a 2 a1 a 0 000 :ואנו רוצים להוציא - b1b0 00 :סימנו זאת בטבלה. עבור מתח בתחום 01מקבלים a 2 a1 a 0 001 :ואנו רוצים להוציא - b1b0 01 :סימנו זאת בטבלה. עבור מתח בתחום 10מקבלים a 2 a1 a 0 011 :ואנו רוצים להוציא - b1b0 10 :סימנו זאת בטבלה. עבור מתח בתחום 11מקבלים a 2 a1 a 0 111 :ואנו רוצים להוציא - b1b0 1 1 :סימנו זאת בטבלה. שאר הצירופים הם צירופים אדישים. כאשר ניקח דומיינים עיקריים נקבל . b0 a 2 a 0 a1' :רואים כי אם a 2דלוק אז הספרה התחתונה צריכה להיות .1 הפונקציה השנייה היא . b1 a1 :גם זה מעיד כי הביט העליון דלוק כאשר אנו נמצאים בחצי המערכת ולמעלה. לכן נקבל את המעגל הצירופי הבא: V REF V in a2 11 R 3 REF b1 V 4 10 a1 1 b0 R REF V 2 01 a0 VREF R 1 4 R 00 :Pipelined A/D בונים ממיר A/Dמממירים קטנים שכל אחד מהם A/Dבעצמו. לוקחים את היחידה המתוארת ומשרשרים אותה לעצמה מספר פעמים. הממיר A/Dהוא בן מספר סיביות קטן (אחת או שתיים). בסכימה אנו רואים את ההפרש בין הערך המדוד והערך היוצא מהממיר .D/A ההגבר Kיהיה 2, 4, 8.....בהתאם למשמעות הסיבית. K D / A A/D V in S& H דוגמא: כאשר N 2 נקבל את הסרטוט הבא: A/D S& H K D / A A/D S& H V in היחידה האחרונה צריכה רק את שתי הקופסאות הראשונות. נניח V R E F 4 v :ונחלק אותו ל 4-חלקים עבור 2ביטים כמו מקודם .נפעיל את היחידה ל 4-שעונים: יש לנו 2דרגות N 2 :ולכן ההגבר צריך להיות פי 2 N 2 2 4כדי להעביר את השארית לדרגה הבאה. 3 נניח שהכל מאופס בתחילה ,בזמן אפס אנו רואים בכניסה את . 1 .8v 2 1 3 .3 v 2 .1v 1 .8 v 11 10 01 3v 2v 1v 0 .3 v 0 .1v 0 .8 v 1 .2 v 0 .4 v 3 .2 v 0 .4 v 3 .2 v 0v 00 11 00 1.8 v , 2.1v , 3.3 v , 0.6 v נקבל את המספרים הבאים בכל קופסה: בשורה הראשונה כתבנו את המחזורים ,ז"א בכל כניסה של מתח כיצד מגיבה כל קופסא. ננתח את אופן הפעולה: הדוגם מקבל ערך התחלתי של . 1 .8vהוא מעביר אותו לממיר A/Dאשר ממיר ל 01-היות ואנו נמצאים בתחום זה בחלוקת המתח V R E F 4 vל .4-הממיר D/Aמעביר את הערך המתאים ל 01-שהוא . 1v המסכם מחזיר הפרש בין המתח הנמדד והמתח היוצא מהממירים (הוא ) 0 .8 vומעביר למגבר. | 14 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן . V in המגבר מכפיל פי 4ושולח לדרגה הבאה את הערך . 3 .2 vכעת בדוגם של הדרגה הבאה נמצא עדיין נמצא הערך הבינארי .00עד כאן פירוט המחזור הראשון. במחזור השני נכנס המתח 2 .1vועובר את כל התהליך בצורה דומה .כאשר מגיעים למגבר (מתח של ) 0 .4 vהמתח שנמצא בדוגם של הדרגה השנייה הוא 3 .2 vאשר מועבר לממיר ומחזיר את הערך הבינארי .11 רק עכשיו אנו יכולים לדעת את הערך הבינארי המתאים למתח הראשון שהכנסנו 1 .8v :וזאת באופן הבא: ניקח את הסיביות של הממיר A/Dמכל דרגה ונחבר לפי סדר חשיבות יורד ,דהיינו. 0 1 1 1 : N זה הוא הערך המתאים שמחזירה המערכת ל . 1 .8v -כשנרצה לדעת את ערכו המקורי נחלק את הערך הבינארי ב2 - 0v ונכפיל ב . V R E F -נקבל: 4 1 .7 5 v 7 16 V REF 7 ובממיר שאחריו . 16 בעמודה הבאה מתואר מחזור נוסף (שלישי) אשר בו ניתן לראות כי עבר המידע הבינארי מהשלב הקודם. לכן ניתן לחשב את הערך הבינארי של המתח השני והוא .1000קל לראות כי ערכו הוא . 2 v באופן כללי ,המערכת נקראת Pipelineמכיוון שיש לחכות Nמחזורים לאחר שהמערכת נותנת את הערך הבינארי של המתח הראשון ומשם והלאה בכל שלב היא מחזירה ערך של המדידה הבאה. עד כאן הרצאה .14תאריך24.1.12 : ממירים מסוג: : N s יש לנו אות אנלוגי או דיגיטלי נכנס ויוצא השני. הרכיב המרכזי הוא אינטגרטור. בנוסף יש לנו גם רעש. Vout D k /s V out נמצא את פונקצית התמסורת של הממיר: V in k s A D A V in V out s N s או: V in k sk N s s sk . V out מקבלים כאן מצב שבו ככל שההגבר של האינטגרטור יותר גדול כך אנו מקבלים סינון טוב יותר. יחד עם זאת ניתן לראות כי אפשר ליצור סינון ללא תלות דווקא במגבר אלא בתדר השידור: פונקציות התמסורת של המוצא ושל הרעש הן: כאשר k :נקבל 1 : k j j k s sk , TN out s Tin outו 0 - j j k k sk . Tin o u t s . T N out j רואים כי המערכת יחסית "מושלמת" עבור תדרים נמוכים. לכן נעדיף לעבוד איתם ונשים LPFבמוצא. ממיר : A/D t נכנס עם אות האינטגרטור e y d y : 0 1 Ts . dig . 1 b LPF A/D לאחר מכן הוא עובר בדוגם וחוזר כרעש למערכת. בסוף יש לנו מסנן LPFומקבלים את האות. המסנן A/Dמעביר מידע על הסימן בלבד 1 ,עבור חיובי ו 0-עבור שלילי. המסנן D/Aמעביר Aעבור אות חיובי ו -A-עבור אות שלילי. e kT s e kT s S& H 1 b D/A 1 1 b A/D A A | 15 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן V in 1 b D/A דוגמא: נתון אות קבוע עם הנתונים. 0 , A 5 v , V in 2 v : בטבלה הבאה ניתן לראות את המתחים בכל שלב בזמנים שלפני הדגימה ואחרי הדגימה. D / A in t A / D in t in t e in t in t 5v 5v 5v 5v 0v 1v 1v 0v 3v 4v 1v 2v 3v 7v 3v 3v 2v 2v 2v 2v 5v 5v 5v 5v 5v 1v 1v 0v 1v 1v 5v 2v 1v 6v 3v 7v 3v 3v 7v 3v 2v 2v 2v 2v 2v 5v 1v 0v 3v 2v ניתן לראות כי ממוצע המוצא הוא בדיוק 2v 5 3 5 7 10 V in . V out עשינו הרבה שורות כי יש להגיע שוב לשלב שבו האינטגרטור מתאפס .רק אז ניתן לקבל את המידע על אות המוצא. מבנה המבחן: שאלה אחת היא על תיכנות -יש לתכנן תוכנה קצרה 50 -נק'. שאלה שנייה היא על פורטי קלט/פלט – יש לדעת מרמת הטרנזיסטורים ועד בכלל... -כנראה ששאלה שלישית תהיה על ממירים. עד כאן הרצאה .15תאריך31.1.12 : הדרן עלך ממירי A/Dוסליקא לה קורס מעבדה במיקרו מעבדים חזק חזק ונתחזק | 16 מעבדה למיקרו מחשבים -סיכום ועריכה מאת שי ידרמן