550 likes | 1.06k Views
מיקרו-בקר 8051. מה נלמד. מקרו-בקרים 8051 ארכיטקטורה פעולה רגיסטרים. הקדמה. מיקרו בקר היא מערכת סגורה משובצת מחשב, אשר מקיימת את התנאים הבאים: בעלת לוגיקה פנימית מוגדרת מראש. התוכנה והחומרה נקבעות בשלב התכנון. המערכת פועלת כמעט ללא התערבות אדם.
E N D
מה נלמד • מקרו-בקרים • 8051 • ארכיטקטורה • פעולה • רגיסטרים
הקדמה • מיקרו בקר היא מערכת סגורה משובצת מחשב, אשר מקיימת את התנאים הבאים: • בעלת לוגיקה פנימית מוגדרת מראש. • התוכנה והחומרה נקבעות בשלב התכנון. • המערכת פועלת כמעט ללא התערבות אדם. • המערכת נדרשת לפעול ברמת אמינות גבוהה מאוד רוב הזמן. • המערכת נדרשת לצרוך חשמל בכמות נמוכה מאד. • הדרך המקובלת לכיבוי המערכת היא ניתוקה מהחשמל. • המערכת מוגבלת בגודל היחידות הבאות: • זיכרון • יחידת עיבוד נתונים מרכזית (CPU) • יחידת קלט פלט
מיקרו-בקר: רקע • מיקרו-בקר הינו רכיב מתוכנת, שהוא למעשה מערכת מחשב פונקציונאלית שלמה, המוכללת ברכיב אלקטרוני בודד. • כך ניתן למצוא בתוך הרכיב את כל המרכיבים המקובלים של מערכת מחשב, כמו יחידת עיבוד וזיכרון. • כפי ששמו מרמז, מטרתו של המיקרו-בקר היא לבקר על תהליכים, ולצורך כך, נמצא במיקרו-בקרים גם רכיבי כניסות ויציאות (I/O), המשמשים לבקרה ולתקשורת עם העולם החיצוני. • מיקרו-בקרים מצויים כיום כמעט בכל מוצר המכיל אלמנט אלקטרוני/חשמלי כלשהו, כגון כלי רכב, מכונות ביתיות ומשרדיות וצעצועים. • השימוש במיקרו-בקר כמעגל משולב בודד, במקום מספר רכיבים נפרדים (מיקרו-מעבד, זכרונות ובקרי I/O), מאפשר להקטין בגודל ועלות היצור של מוצרים. • משפחות מיקרו-בקרים נפוצות • PIC של חברת MICROCHIP • 8051 של חברת INTEL • AVR של חברת ATMEL • ARM של חברת ARM • MSP של חברת Texas Instruments
מיקרו-בקר: מבנה • מיקרו-בקר בנוי ממספר מרכיבים עיקריים: • יחידת העיבוד המרכזית –הרכיב המרכזי במיקרו-בקר הוא יחידת העיבוד המרכזית CPU. יחידה זו אחראית בעיקר על הבאת פקודות הקוד מהזיכרון, פענוחן, הבאת נתונים שונים מהזיכרונות וביצוע הפקודות עליהן. רוחב המילה במיקרו בקרים נע מ 4 ביט בפשוטים ביותר ועד 32 ביט. • זיכרון – באופן כללי ניתן לחלק את הזיכרונות לשני קבוצות:א. זיכרון תוכנה – עליו נשמר הקוד שכתב המשתמש. זיכרון זה יהיה כמעט תמיד לא נדיף. כיום מרבית זיכרונות אלה הם מסוג פלאש FLASH כך שניתן לצרוב עליהם את הקוד מספר רב של פעמים (יעיל לשלבי פיתוח ולעדכוני תוכנה/שינויים אצל הלקוח). בייצור המוני ושיודעים שלא יעשה שינוי לקוד לאחר הייצור, עושים שימוש גם ב ROM.ב. זיכרון מידע –עליו נשמרים נתונים וערכים שונים של משתנים. זיכרון זה הוא בדרך כלל נדיף ומסוג RAM • כניסות/יציאות דיגיטאליות –דרכם יכול הבקר לקבל נתונים של אותות דיגיטאליים ולשלוט בהתקני פלט דיגיטאליים (למשל מסך LCD). • כניסות/יציאות לתקשורת –דרכם הבקר יכול לתקשר עם רכיבים דיגיטאליים אחרים. ישנם מספר פרוטוקולים שהנפוצים שבהם UART, I2C,SPI,SSP,CAN חלק מהגדרות/דרישות הפרוטוקול ממומש בחומרה בבקר. ישנם בקרים מתקדמים שאף תומכים בפרוטוקולי תקשורת כגון Ethernet , USB ועוד. • בקרת זיכרון, ספק מתח, בקרת איפוס, שעון ותזמון.
מיקרו-בקר: מבנה • אלה שלשת המרכיבים הבסיסיים של מיקרו בקר/מחשב פורטים מעבד זיכרון
בקרת איפוס פורטים שעון ותזמון RAM דיאגרמת מלבנים כללית של מיקרו בקר הזנה ספק מתח בקרת זיכרון איפוס רגלי כניסה ויציאה מעבד שעון
מה נלמד • מקרו-בקרים • 8051 • ארכיטקטורה • פעולה • רגיסטרים
הקדמה • משפחת ה- MCS-51 פותחה ע"י חברת אינטל • בשימוש נרחב במערכות משובצות מעבדים נמצא אותם ברמזורים, מקררים, מכונות כביסה, וכו'
8051- תכונות • CPUאופטימאלי 8 ביטים עבור אפליקציות בקרה • מרחב זיכרון של 64K עבור תכנות • מרחב זיכרון של 64K • עד 4K Bytes זיכרון תוכנה • 32 קווי I/O דו כיווניים • 2 שעונים/מונים של 16 bit כל אחד • 6 מקורות/5 ווקטורים של פסיקות עם שתי דרגות קדימות.
מה נלמד • מקרו-בקרים • 8051 • ארכיטקטורה • פעולה • רגיסטרים
8051- ארכיטקטורה • מבנה בלוקים • כניסות/יציאות • מיפוי הזיכרון • שעון ה-CPU • מבנה הפסיקות • מבנה הפורטים • שעונים/מונים • Reset
8051- ארכיטקטורה- מיפוי הזיכרון • הפרדה לוגית בין זיכרון התוכנה והמידע • כתובות שונות עבור זיכרון התוכנה (ROM) וזיכרון המידע (RAM) • גישת 8bits אל זיכרון המידע ע"י ה-CPU • זיכרון תוכנה • קריאה בלבד • מרחב הכתובות הוא 16bitsולכן הוא בגודל של עד 64K • בתוך הליבה (core) יש עד ל- 4K Bytes • PSEN (Program Store Enable) מאפשר גישה לזיכרון חיצוני • זיכרון מידע • 128 Bytesפנימיים עבור גישה מהירה של הפקודות • ישנם רגיסטרים מיוחדים Special Function Registers (SFRs) • הזיכרון הפנימי מחולק ל-4 בנקים של שמונה רגיסטרים • זיכרון חיצוני של עד 64K Bytesנגיש ע"י “movx”
8051- ארכיטקטורהמיפוי הזיכרון • הזיכרון הפנימי 128 Bytes
שעון ה-CPU • למיקרו-בקר 8051 יש כניסת שעון
מבנה הפסיקות • ה-8051 מספק 4 מקורות של פסיקות: • 2 חיצוניים • 2 פנימיים של השעונים
מבנה הפורטים • ה-8051 מכיל 4 פורטים • כל הפורטים הם דו-כיוונים • לכל פורט יש 4 רגיסטרים מיוחדים SFR (Special Function Registers P0 through P3) המשמשים כחוצצים עבור הכניסה ודוחפים עבור המוצא • פורט 0 (כניסה ויציאה) ופורט 2 (יציאה) משמשים גם עבור גישה לזיכרון חיצוני
מבנה הפורטים • כניסות פורט 3 הם רב שימושיים. הם מופעלים כאשר נכתב '1' ב-SFR
שעונים/מונים • ל-8051 יש שני רגיסטרים 16bits של השעונים/מונים: • Timer 0 • Timer 1 • הם יכולים לשמש כשעונים או כמוני מיקרים. • יש להם ארבעה מצבים שהם יכולים לעבוד בהם.
Reset • כניסת ה-Reset היא דרך הכניסה RST
מה נלמד • מקרו-בקרים • 8051 • ארכיטקטורה • פעולה • רגיסטרים
פקודות וגישות לזיכרון הפנימי • ל-8051 יש סט פקודות באסמבלר • יש אפשרות לגישה ישירה לזיכרון הפנימי ולרגיסטרי ה-SFR • יש אפשרות לגישה לא ישירה דרך רגיסטרים מיוחדים
סט הפקודות • ל-8051 יש סט פקודות באסמבלר • הגישות מתחלקות לשישה סוגים: • Arithmetic Instructions • Logical Instructions • Data Transfers • Lookup Tables • Boolean Instructions • Jump Instructions
פסיקות (Interrupts) • ה-8051 מספק 4 מקורות של פסיקות: • 2 חיצוניים • 2 פנימיים של השעונים • הם נשלטים ע"י הרגיסטרים: SFRs, IE and IP • ניתן למסך או לאפשר כל פסיקה בנפרד. • ניתן למסך את כל הפסיקות ביחד. • ניתן לתת קדימת לכל פסיקה בנפרד.
פסיקות (Interrupts) • ניתן להפריע לפסיקה בעלת קדימות נמוכה ע"י פסיקה בעלת קדימות גבוהה • כאשר מגיעות בו זמנית שתי פסיקות באותה קדימות, יש מנגנון בחירה למי יש את הקדימות מבין שתיהן. • המבנה הבא מראה את הקדימות בין הפסיקות בעלות אותה קדימות
פסיקות (Interrupts) • פסיקות חיצוניות ~INT0, ~INT1 • שתי אפשרויות לפעול כתלות בביטים ברגיסטרים: • רמה • שינוי מצב • פסיקות מהשעונים: TIMER 0 and TIMER 1 • הפסיקות נוצרות מהדגלים TF0, TF1ברגיסטרי השעונים
פסיקות (Interrupts)- טיפול • כמה תנאים לחסימת פסיקה: • פסיקה עם קדימות שווה או גבוהה יותר מטופלת כרגע. • מתבצעת כתיבה לרגיסטרים IE או IP • במידה ואין חסימה מתבצעים השלבים הבאים: • שמירת כל ערכי הרגיסטרים במחסנית (stack) • שמירת הערך של ה- Program Counter(PC) במחסנית ואיתחולו מחדש בערך של רוטינת הטיפול בפסיקה. • יש מיקרים בהם יש ניקוי הדגל שיצר את הפסיקה ויש מיקרים שלא. • רוטינת הטיפול בכל פסיקה נמצאת במיקום קבוע
פסיקות (Interrupts)- טיפול External Interrupt 0- שמורה במקום 0003H Timer 0- שמורה במקום 000BH External Interrupt 1- שמורה במקום 0013H Timer 1- שמורה במקום 001BH
Reset • כניסת ה-Reset היא כניסת rst • הכניסה חייבת להיות גבוהה לפחות לשני מחזורי שעון. • בתגובה ל-RESET ה-CPU מבצע Reset פנימי
Reset- פנימי • בזמן RESET לכל הרגיסטרים SFR נכתב '0' מלבד לחוצצי הפורטים ומצביע המחסנית • לחוצצי הפורטים נכתב FFH ולמצביע המחסנית נכתב: 07H • אסור לתת '0' ברגליים ALE ו- PSEN כי אז הרכיב ייכנס למצב לא ידוע. • הזיכרון הפנימי לא משתנה במהלך ה-RESET. אך כאשר מכבים את המתח ערכי הזיכרון לא מוגדרים.
מה נלמד • מקרו-בקרים • 8051 • ארכיטקטורה • פעולה • רגיסטרים
רגיסטרים • PSW: Program Status Word (bit addressable) מכיל כמה ביטי סטאטוס על מצב ה-CPU
רגיסטרים • IE: Interrupt Enable Register (bit addressable) אם הביט הוא 0 אז הפסיקה לא מאופשרת אחרת הפסיקה מאופשרת.
רגיסטרים • IP: Interrupt Priority Register(bit addressable) אם הביט הוא 0 אז הפסיקה היא בקדימות נמוכה.
רגיסטרים • TCON: Timer/Counter Control Register(bit addressable)
רגיסטרים • TMOD: Timer/Counter Mode Control Register (not bit addressable)
מעבדים-מושגים בסיסיים במיקרו-מעבדים • CISCלעומת RISC: המעבדים הראשונים תוכננו לפני המצאת צינור עיבוד הנתונים ולכן שפת הסף שלהם איפשרה ביצוע פעולות מורכבות יחסית שאינן יכולות להתחלק באופן יעיל לחלקים קטנים יותר. • מעבדים אלו כונו מעבדי CISC (ר"ת של Complex Instruction Set Computer). • עם המצאת השיטה של צינור עיבוד הנתונים, פותחו מעבדים חדשים עם שפה שהותאמה במיוחד לשיטה זו. • שפת המכונה של מעבדים אלו הכילה פקודות פשוטות יותר אותן קל לחלק לשלבים, ולכן כונו RISC (ר"ת של Reduced Instruction Set Computer). • אף על פי שמעבדי RISC נחשבו ליעילים יותר, מעבדי אינטל ותואמיהם (כולל המעבדים של AMD) המשיכו לעבוד בשיטת ה-CISC כדי לשמור על תאימות לשפת המכונה של המעבדים הקודמים. לעומתם, ה-PowerPC המשמש במחשבי המקינטוש הוא מעבד RISC. • עם זאת, עם הזמן הצטמצם הפער בביצועים בין CISC ל-RISC, כאשר מעבדי CISC מודרניים כגון הפנטיום-4 והאתלון מתרגמים כל פקודה בשפת המכונה המורכבת שלהם לשפת RISC פנימית.