20
www.arikporat.com רררררר רררATmega328 1 . רררר גגגגגג גגג גגגג גגגגגג גגגגגג גגגגג גגגגAVR גגגג גג גגגגגג גג8 גגגגג. גגגגגג גג גגגגגג גג גגגגגגג :ATmega48, ATmega88, ATmega168 גגגג גגגגגג גגגגג גגגגFLASH גגגג גג4/8/16 גגגגג גגגג,)גגגגגג( גגגג גגגג( גגגגגג גגג גגג גגגגIn System , גגגגג גג גגגג גגגגגג) גגגג גגגגגג גגג גגג גגגג גגגגגג גגגג גגגגג גגגגג גגגגגגProgrammer . גגגגג גגגגגג גגגג גג גגגג גגגגגגג גגגגג גגגגג גג גגגג גגגגגג גגג גגגג. גATmega328 גג גגגגגג גגגגג גג32 גגגג גגגג גגג גגגג8 גגגגג.AVR גגג גגגג גגגגג גג :- Alf )Egil Bogen( and Vegard )Wollan('s RISC processor גגגגגגג גגגגגגגגגגג גגגגגגmodified Harvard architecture גגגגגגגגגג גגגגגגג- גגג גגגגגג גגגגגגגג גגגגגגגג גגגג גגגגג גגגגגג- גגגגגג גגגגגג גגגגג, גגגגגג גגגגגג גגגגג, גגג גג גגג גגגגג גגגג גגגגגג גגגגגגג גגגגגג גג גגגגגג גגגגג גגגגגגגג. גגגגגRISC – Reduced Instructions Set Computer – גגגג גג גג גגגגגג גגגגג , גג גגגגגג גגגגגג גג גגגגגגג גגגג גגגג גגגגגגג גגגגגג גגגגג גגגג.2 . רררררררר ררררר AVR גג8 גגג, גג גגגגגגג גגגגגג גגגגגגג גגגג גגגגג. גגגגגגגגגגRISC גגגגגגo 131 גגגגגג – גגגג גגגגגגג גגגגגג גגגג גגג1

 · Web view6 ערוצי PWM. ( Pulse Width Modulator - אפנון רוחב דופק ). 8 ערוצי של ADC של 10 ביט (באריזה -זיווד- TQFP ו QFN/MLF ) 6 ערוצים

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

www.arikporat.com

ATmega328 המיקרו בקר

מבוא.1

ביטים.8 שלהם פס נתונים בן AVRהמיקרו בקר שייך למשפחת המיקרו בקרים מסוג

שלהם זיכרוןATmega48, ATmega88, ATmega168למשפחה זו שייכים גם הרכיבים :

קילו בתים )בהתאמה(, הנצרב בתוך המערכת שבה4/8/16 בנפח של FLASHתכנית מסוג

(, כלומר לא צריך להוציא אותו מהמעגל שבו הוא נמצא ולצרוב אותוIn Systemהוא נמצא )

. המספר הראשון מתאר את כמות הבייטים ברכיבProgrammerבעזרת מכונה שנקראת

קילו בתים בכל32 יש זיכרון תכנית של ATmega328והשני את כמות הביטים בכל בייט. ל

ביטים.8בייט

AVR : הוא ראשי תיבות של - Alf )Egil Bogen( and Vegard )Wollan('s RISC

processor שקשורים לארכיטקטורה הנקראת modified Harvard architecture-

ארכיטקטורת הרווארד מותאמת - שבה התכנית והנתונים מאוחסנים בשני אזורי זיכרון פיזיים

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

קריאה ספציפיות.

– מחשב עם סט הוראות מופחת , כךRISC – Reduced Instructions Set Computerהמושג

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

מאפיינים כללים.2

AVR ביט, עם ביצועים גבוהים ותצרוכת הספק נמוכה.8 של

ארכיטקטורתRISCמתקדמת

o131הוראות – רובן מבוצעות במחזור שעון אחד

o8*32.רגיסטרי עבודה למטרות כלליות

o.)פעולה סטטית מלאה ) אפשרות עבודה בתדרים נמוכים מאד

o 20עד MIPS ( Mega Instructions Per Secondב ,)מיליוני הוראות בשנייה -

20MHz.

o בתוך הרכיב.2מכפל תדר פי

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

הנצרב בתוך המעגל שבו נמצא.FLASH קילו בתים של זיכרון תכנית מסוג 32 -

בתים .1K של EEPROMזיכרון -

- SRAM 2 בנפחK . בתים

1

www.arikporat.com

מחזורי כתיבה100000 ו FLASH מחזורי כתיבה/מחיקה לזיכרון ה 10000 -

. EEPROMמחיקה ל

מעלות25 שנים ב 100 מעלות צלסיוס ו 85 שנים ב 20שמירת נתונים בזיכרון : -

צלסיוס.

קטע קוד אתחול אופציונלי עם ביטי נעילה בלתי תלויים-

)בתוך המערכת – ללא הוצאת הרכיב ממקומו(In System+ תכנית צריבה

בתכנית האתחול בתוך הרכיב.

+ פעולת קריאה בזמן כתיבה

+ נעילת תכנות לביטחון תכנה.

: )מאפיינים היקפיים )פריפריאליים

ביט כל אחד עם אפשרות לטעינת מספר התחלתי ואופן8שני טיימרים/מונים בני -

השוואה.

ביט עם אפשרות לטעינת מספר התחלתי ואופן השוואה.16טיימר/מונה של -

מונה זמן אמת עם מתנד נפרד.-

- אפנון רוחב דופק PWM ( .Pulse Width Modulator.) ערוצי 6-

ערוצים6 ( QFN/MLF ו TQFP ביט )באריזה -זיווד- 10 של ADC ערוצי של 8-

. מדידת טמפרטורה.PDIPבאריזה

-USART ( טורי בר תכנות Universal Synchronous Receiver Transmitter-

משדר מקלט טורי סינכרוני.

עבד/אדוןSPI 1ממשק טורי היקפי -

של פיליפס(.I2C )תואם WIRE-2ממשק טורי -

בר תכנות עם מתנד. נפרד בתוך הרכיב.Watch Dogטיימר "כלב שמירה" - -

משווה אנאלוגי בתוך הרכיב-

– בשינוי מצב בהדק.Interrupt and Wake UPפסיקה והתעוררות - -

יישומי מיקרו בקר מיוחדים

בר תכנות ) גילוי נפילותBrown-out בהפעלת חשמל וגילוי RESETאתחול -

מתח(.

מתנד פנימי בר כיול.-

מקורות פסיקה פנימיים וחיצוניים.-

Power , חסכון בחשמל – ADC , הפחתת רעש ב Idle אופני שינה: סרק – 6-

Save – הורדת הספק , Power Down – היכון , Standbyוהיכון מורחב ,

Extended Standby.

קלט/פלט ואריזה

קווי קלט/פלט ברי תכנות23-

2

www.arikporat.com

32 פדים ואפשרות גם ל TQFP , 28 מוליכים ב PDIP, 32 הדקים באריזת 28-

.QFN/MLFפדים ב

מתחי הפעלה

וולט5.5 וולט עד 1.8 -

תחום טמפרטורה

מעלות צלסיוס.85 עד 40ממינוס -

דרגות מהירות

וולט.5.5 עד 1.8 מגה הרץ בכל תחום המתחים מ 20 עד 0-

מעלות צלסיוס 25 וולט , 1.8 מדה הרץ , 1צריכת הספק נמוכה ב

מילי אמפר.0.2במצב פעולה – -

מיקרו אמפר.Power Down Mode – 0.1במצב הורדת הספק – -

שלRTC1 מיקרו אמפר ) כולל Power-save mode – 0.75במצב חסכון בהספק – -

קילו הרץ(.32

.

תיאור ההדקים עבור האריזות השונות.3

3

www.arikporat.com

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

Absolute Maximum Ratingsערכים נקובים מקסימליים - א.

– ערכים נקובים מקסימאליים. 1טבלה מספר

ערכים אלו הם ערכים שאסור לעבור אותם כי יכול להיגרם לרכיב נזק בלתי הפיך.

4

www.arikporat.com

מעלות צלסיוס.125 עד פלוס 55טמפרטורת הפעלה - ממינוס א.

מעלות צלסיוס.150 עד פלוס 65טמפרטורת אחסנה - ממינוס ב.

.Vcc+0.5v עד 0.5 יחסית לאדמה – ממינוס RESETהמתח בכל הדק חוץ מ ג.

.13.0v עד 0.5v יחסית לאדמה - ממינוס RESETהמתח בהדק ה ד.

.6.0vמקסימום מתח הפעלה - ה.

40.0mAזרם ישר להדק קלט/פלט – ו.

.200.0mA והאדמה - Vccזרם ישר בהדקי ז.

DCנתונים חשמליים ב.

– נתונים חשמליים2טבלה מספר חוץ מההדקיםVil - הנקרא ( Low - 0בשורה הראשונה נתון מתח הכניסה הנחשב כ

XTAL1 והדק הRESET 0.5 הכי נמוך שניתן להכניס הוא -0(. רואים שהמתחV 0 . ה

המקסימאלי הוא0 וולט ה 2.4 וולט עד 1.8 . בין מתחי ספק של Vccהמקסימאלי תלוי במתח הספק

0.2Vcc 0.3 וולט זה 5.5 עד 2.4 ובמתחי ספק מVcc 0 וולט ה 5 . כלומר עבור מתח ספק כוח של

וולט. 1.5המקסימאלי הוא

( - חוץ מההדקיםVih הנקרא HIGH – 1בשורה השנייה נתון מתח הכניסה הנחשב כ

XTAL1 והדק הRESET במתחי1(. . גם כאן הוא תלוי במתחי הספק . המתח המינימאלי הנחשב כ

.0.6Vcc וולט זה 5.5 עד 2.4 ובמתחי ספק מ 0.7Vcc וולט המתח הוא 2.4 וולט עד 1.8ספק של

המינימאלי1 וולט ה 5 וולט. עבור מתח ספק כוח של 1.5 המקסימאלי הוא 0 וולט ה 5כלומר עבור

.Vcc+0.5 וולט . אין לתת בכניסה מתח גדול מ 3הוא

5

www.arikporat.com

. RESET וה XTAL1 בהדקי ה 1 וה 0 מציינות את רמות המתח של ה 6 עד 3השורות

RESET לוגי כאשר מתייחסים להדק ה 1 ו 0השורות שבע ושמונה מראות את המתח של

כאילו הוא הדק "רגיל" של קלט/פלט ) יש אפשרות כזאת(.

)חוץ מהדקVol - 0השורה האחרונה מראה מה המתח בהדק יציאה של הרכיב במצב של

RESET מעלות85 מילי אמפר בטמפרטורה 20 וולט ובזרם של 5 (. רואים שבמתח ספק כוח של

1 מעלות צלסיוס הוא לא יעלה על 105 וולט ובטמפרטורה של 0.9צלסיוס המתח לא יעלה על

וולט. בזרם נמוך יותר המתח יהיה נמוך יותר.

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

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

- טיימר כלב שמירה.watchdog Timerא.

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

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

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

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

Power suppression POR/BOD & RESETב.

BOD – Brown-Out - - אתחול בהפעלת החשמל. ול POR – Power On Resetמלבן זה הוא ל

Detection . לגילוי נפילות מתח -

debugWIREג.

למיקרו מעבדים מסוגdebugging ומשמש לניפוי Atmelזהו פרוטוקול תקשורת טורית שתוכנן על ידי

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

, צעדrun to cursor , רוץ עד הסמן – single stepזרימת ביצוע התכנית. הוא תומך בצעד יחד –

program logic , והוראות שבירה בתוכנה. הפרוטוקול עובד ביחד עם step outהחוצה )או מעבר ( –

- לוגיקת תוכנית.

– לוגיקת בקרהPROGRAM LOGICד.

לצורך ניפוי התכנית.debugWIREלוגיקת הבקרה עובדת ביחד עם

6

www.arikporat.com

- סכימה מלבנית2שרטוט מספר

– מעגלי המתנד / מחולל תדר השעוןOscillator circuits / clock generationה.

את תדר השעון של המיקרו ניתן לקבל ממספר מקורות : מגביש המתחבר אל הדקי המיקרו ,

מגה הרץ ) הרכיב מגיע עם פיוז הדואג8 פנימי בתדר RCממתנד חיצוני או ממעגל מתנד

– תהיה מתנד זה( . פולסי השעון המתקבלים מגיעים למעגליםdefaultשברירת המחדל –

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

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

ברכיב.CPU. ליבת ה 1ההספק של הרכיב. המעגלים המקבלים את פולסי השעון הם :

.ADC. מעגלי ה 5. מעגלי הטיימרים FLASH 4. זיכרון ה 3. מעגלי הקלט/פלט 2

7

www.arikporat.com

FLASHזיכרון ו.

In קילו בתים שניתן לתכנות חוזר כשהוא נמצא בתוך המעגל שלו – 32זהו זיכרון בגודל

System Programming בעזרת תקשורת – SPIבזיכרון זה נמצאת התוכנית שכתבנו. היות .

כתובות16K בתים( אז זיכרון זה מאורגן כזיכרון של 4 בתים )או 2ופקודות הארדואינו הן בנות

. אזור האפליקציה שם נמצאת1 אזורים. 2 ביטים . מטעמי בטחון הוא מחולק ל 16על

לתקשורת בין המעבד למחשב )כמו בארדואינוBOOT. אזור טעינת ה 2התכנית שכתבנו.

לדוגמא(.

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

קילו כתובות( . לזיכרון ביטים של נעילה כדי למנוע גניבה של התוכנה שנכתבה16)להגיע עד

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

פקודה אחר פקודה על ידי המעבד אבל לא מאפשרת לקרא את הפקודות עצמן מחוץ למעבד

כדי "להבין" מה כתוב בתוכנה.

SRAMזיכרון - ז.

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

)בכיבוי חשמל הנתונים נעלמים(.Volatileשלנו. החיסרון שלו הוא נדיפות –

AVR CPUח.

זוהי ליבת מעבד המיקרו בקר. הסבר מפורט יותר בפרק הבא.

EEPROMזיכרון ט.

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

בהפסקת חשמל ) כמו סיסמא שהמשתמש מקיש(.

ביטים8 בעל 0 - טיימר/קאונטר bit T/C 0 8י.

המשמש או כטיימר או קאונטר ) מונה רגיל (לשימוש כללי. יש לו0 ביט שמספרו 8זהו מונה בן

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

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

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

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

Timer /Counter 1 bits 16 - ביטים16 בן 1טיימר/קאונטר יא.

8

www.arikporat.com

יחידות של יציאות השוואה בלתי תלויות2 . גם לו יש 1 ביטים שמספרו 16זהו מונה בן

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

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

כקאונטר - לספירת אירועים חיצוניים(. יש לו יציאת בקשת פסיקה כאשר הוא הגיע

(.0xFFFF או מספר אחר שנרצה ) הקטן מ 0xFFFFלמקסימום שלו

. ADC - ADC CONVממיר יב.

ביט העובד בשיטת שערוך מוצלח -10זהו ממיר מאנאלוגי לדיגיטאלי עם רזולוציה של

Successive Approximation מפורט 8 . הו מתחבר ל( כניסות אנאלוגיות Aוניתן לבחור מי )

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

. מתח הייחוס יכול להיות פנימי או חיצוני.AVccמתח ספק נפרד

תכונות חשובות:

0/5LSBאי ליניאריות – .1

±2LSBדיוק .2

3. 13-260µsecזמן המרה –

קילו דגימות בשנייה ברזולוציה מלאה(.15 קילו דגימות בשנייה ) עד 76.9עד .4

ערוץ למדידת חיישן טמפרטורה..5

.Vcc עד 0תחום כניסת מתח מ .6

פסיקה בסיום המרה..7

. 1.1vניתן לבחור מתח ייחוס של .8

bit Timer/Counter 2 8 ביטים - 8 בן 2טיימר/קאונטר יג.

.PWM . גם לו יש 0דומה לטיימר

Analog Comparatorמשווה אנאלוגי - יד.

.AIN1 והכניסה השלילית AIN0המשווה האנאלוגי משווה את הערך הנכנס בכניסה החיובית

1 – נמצאת ב ACOכאשר המתח בכניסה החיובית גדול מזה שבשלילית היציאה של המשווה –

-CAPTURE במצב פעולה 1. יציאת המשווה יכולה להתניע את כניסת טיימר/קאונטר

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

בעלייה או ירידה או בהחלפת מצב ) מעליה לירידה או להפך(.

- תחום פנימיINTERNAL BANDGAPטו.

9

www.arikporat.com

1.1v ( וכמו כן עוזר ליצירת מתח הייחוס של Brown-outמלבן זה משמש לגילוי נפילות מתח )

דרך מגבר פנימי.

USART 0 - Universal Synchronous and Asynchronous Receiver Transmitter 0טז.

0- משדר מקלט סינכרוני ואסינכרוני אוניברסלי מספר

בסעיףSPI )על תקשורת Master SPIזהו רכיב תקשורת טורית וניתן להשתמש בו גם ב

הבא(. זהו משדר מקלט דו כיווני לשידור וקליטה של תקשורת טורית גם סינכרונית וגם

( או אי זוגית )evenאסינכרונית. ניתן לקבוע אם עובדים עם זוגיות ואם כן האם זוגיות זוגית )

odd.ניתן לקבוע את קצב התקשורת כאשר תדר השעון יכול להיות חיצוני או פנימי .)

– ממשק היקפי טוריSPI - Serial Peripheral Interfaceיז.

) עבד – כמוSLAVE ) אדון – מיקרו בקר( ל MASTERזוהי העברת נתונים טורית שבין

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

תכונות:

אלMASTER קווים מה 3 קווים ) 3העברת נתונים סינכרונית דו כיוונית של מינימום .1

– MOSI – בחירת העבד, קו נתון טורי SS – Slave Select והם : SLAVEה

Master Out Slave In – וקו השעון , SCLK - Serial CLocKבדרך כלל יש עוד קו .)

MISO - Master In Slave Out נתון טורי מה - SLAVE אל ה MASTERועוד קו

.MASTER אל ה SLAVEשל פסיקה בסיום הודעה מה

או להיפך .LSB אל ה MSBאפשרות להעברת הנתון מביט .2

קצבי עבודה הניתנים לתכנות.3.7

דגל פסיקה בסיום השידור..4

חוטים(.2 חוטים )תקשורת טורית עם 2 - ממשק TWI – Two Wires Interfaceיח.

- SDA קווים דו כיווניים : 2זוהי תקשורת אופיינית למיקרו בקרים. בתקשורת זו יש

Serial Data נתון טורי ו - Serial Clock - SCL 128 – שעון טורי. ניתן לחבר

.pull up resistors נגדי משיכה למעלה 2 קווים אלו. כל שצריך הוא 2רכיבים שונים על

אלף ביטים400 קילו הרץ )400לכל רכיב יש כתובת משלו . קצב התקשורת עד

בשנייה(.

D , B , C - פורטים PORT D , PORTB , PORTCיט.

10

www.arikporat.com

(. כל6 עד 0 הדקים ) מ 7 הוא בן C ( ופורט 7 עד 0 הדקים )מ 8 הם בני B ו Dפורטים

( או לתת )SINKהדק יכול להיות קלט או פלט כרצוננו. כל הדק המתוכנת כפלט יכול לקבל )

SOURCE מילי אמפר. במצב של קלט ניתן לתכנת האם קלט ללא נגד40( זרם של עד

קילו אוהם פנימית בתוך50 ל 20( או עם נגד משיכה של התנגדות בין Pull Upמשיכה )

הרכיב.

ליבת המעבד .6 מתואר מבנה מלבני של ליבת מעבד המיקרו בקר. התפקיד העיקרי של המעבד הוא3בשרטוט

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

חישובים, לשלוט על רכיבים פריפריאליים ולטפל בפסיקות.

: ליבת המעבד3שרטוט מספר

- עםHarvard בארכיטקטורת AVRכדי להגיע לביצועים ולמקביליות מיטביים – משתמש ה

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

pipeliningמביאים את הפקודה הבאה , ( בעל רמה אחת. כאשר מתבצעת פקודה כלשהי

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

11

www.arikporat.com

נתחיל ונתאר את המלבנים שבצד שמאל , נעבור למרכז ואח"כ המלבנים שמימין - בשרטוט

.3מספר

FLASH - FLASH PROGRAM MEMORYזיכרון תכנית מסוג א.

In System – הבזק, והוא נצרב בתוך המעגל שבו הוא נמצא – FLASHזיכרון התכנית הוא מסוג

Reprogrammable 32 . הוא בגודלKbytes זיכרון ה . FLASHשל התכנית מחולק לשני

) אתחול( וחלק תכנית האפליקציה – היישום )שם נמצאת התכניתBootחלקים : חלק תכנית ה

שאנחנו כתבנו(. לשני החלקים יש ביטים של נעילה עבור כתיבה ועבור הגנת קריאה/כתיבה.

הכותבות לחלק של היישום נמצאות בחלק של הSPM - Store Program Memoryהוראות

Bootקריאה ידי ועל מותנות לא או מותנות קפיצות ידי על מאופיינת התכנית זרימת .

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

ביטים.32 או 16 ביטים. כל כתובת במרחב התוכנית מכילה הוראה של 32

– רגיסטר הוראה.INSTRUCTION REGISTERב.

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

– מפענח הפקודהINSTRUCTION DECODERג.

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

ואחדים. מפענח הפקודה מפרש מה אומרת הפקודה שמתוארת על ידי האוסף של האפסים

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

– מונה תכניתPROGRAM COUNTERד.

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

הפקודה לרגיסטר ההוראה.

– סטאטוס ובקרהSTATUS and CONTROLה.

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

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

בקרה )לדוגמא : אפשור גלובאלי של פסיקות(.

ביטים לשימוש כללי8 רגיסטרים בני GENERAL PURPOSE REGISTERS – 32 8*32 ו.

12

www.arikporat.com

ביט לשימוש כללי עם זמן גישה של מחזור שעון8 רגיסטרים בני 32קבוצת הרגיסטרים מכילה

ב לוגית פעולה אריתמטית זה מאפשר דבר זו ALUיחיד. בפעולה יחיד. במחזור שעון 2

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

3 הרגיסטרים יכולים לשמש כ 32 מתוך 6נשמרת באחד הרגיסטרים והכל במחזור שעון אחד.

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

Y ו Z – אחד מהמצביעים יכול להצביע על זיכרון התכנית )למשל בטבלאות המרה . look up

tables.)

- יחידה אריתמטית לוגיתALU – ARITHMATIC LOGIC UNITז.

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

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

- כדי לתת חיווי )לשקף( על התוצאה שהתקבלה.Status Registerרגיסטר הסטאטוס –

נתוניםDATA SRAM - SRAMח.

הוא חלק מזיכרון הנתונים של המעבד. מפת זיכרון הנתונים נראית2Kbytes בן SRAMה

כך :

: זיכרון הנתונים4שרטוט מספר

הרגיסטרים שתוארו בסעיף ו' והם "תופסים" את מרחב32במפה שבשרטוט רואים למעלה את

כתובות של64 המכיל I/O . בכתובות הבאות נמצא את מרחב זיכרון ה 001Fh עד 0הכתובות מ

בקרה, כרגיסטרים של ותפקידי SPIהיחידות הפריפריאליות המתפקדות I/Oלפנות ניתן .

0x5F עד 0x20 או כמו למיקום מרחב הנתון העוקב לקובץ הרגיסטרים, I/Oישירות לזיכרון ה

.0xFF עד 0x60 מ I/Oעל תפקיד אזור זה בסעיפים הבאים. בנוסף, יש הרחבה של מרחב ה

. ניתן לפנות לזיכרון0x8FF ועד 0x100 היושב בתחום הכתובות מ SRAMאחרי אזור זה נמצא ה

.Addressing Mode באחת מחמש שיטות מיעון – SRAMה

13

www.arikporat.com

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

SRAM – כל תכניות המשתמש צריכות לאתחל את מצביע המחסנית . SP – Stack Pointer-

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

.I/Oאליו. הוא נמצא במרחב ה

זיכרון קריאה בלבד ברEEPROM – Electrically Erasable Programmable ROMט. –

תכנות ומחיקה חשמלית.

זיכרון בנפח של זיכרון בלתי נדיף שמשמש לשמירת נתונים. הוא מאורגן1Kbytesזהו . זהו

( בייט לקרא/לכתוב ממנו/אליו וניתן נפרד זיכרון לפחותBYTEכמרחב למחוק/לכתוב ניתן .)

פעם.100000

– קווי קלט / פלט .I/O LINESי.

קווי קלט פלט הניתנים לתכנות לקלט או פלט כרצוננו. במצב שקבענו קו כלשהו כפלט23יש

מילי אמפר. במצב קלט ניתן לקבוע40- עד SOURCE או לתת - SINKהוא יכול לקבל -

50 עד 20 )של Pull Up Resistorהאם ההדק יהיה קלט "רגיל" או קלט עם נגד משיכה למעלה

קילו אוהם(. ראה גם סעיף יט' בפרק הקודם.

Interrupt Unit, SPI Unit, WATCH DOG TIMER, ANALOG COMPRATOR יא.

יחידות אלו הוסברו בפרק הקודם.

עם ביט אפשור פסיקה גלובאלי הנמצא ברגיסטרI/Oלמערכת הפסיקות יש רגיסטר במרחב ה

הסטאטוס. לכל הפסיקות יש וקטור פסיקה )כתובת בזיכרון התכנית( בטבלת וקטור הפסיקות.

לפסיקות יש עדיפות. ככל שכתובת ווקטור הפסיקה נמוכה יותר העדיפות שלה גבוהה יותר.

N עד 1 - מודולים של קלט/פלט I/O MODULE 1….Nיב.

ה I/O Modulesבמילה טיימרים/קאונטרים, לממיר ל הכוונה ADC ל USARTולשאר

היחידות שהזכרנו בפרק הקודם.

14