הממשק ההיקפי הניתן לתכנות של אינטל 8255 (PPI) היה מרכיב מרכזי בגישור בין מיקרו-מעבדים להתקנים חיצוניים בימים הראשונים של מערכות דיגיטליות. עם יציאות I/O רב-תכליתיות, מצבי הפעלה מרובים וקלות תכנות, ה-8255 איפשר תקשורת אמינה עם צגים, חיישנים ובקרים, מה שהופך אותו לשימושי הן בחינוך והן בתעשייה.
ג1. 8255 סקירה כללית של ממשק היקפי ניתן-לתכנות (PPI)
ג2. תכונות של שבב 8255 PPI
ג3. פינאוט של שבב 8255 PPI
ג4. ארכיטקטורה של שבב 8255 PPI
ג5. מצבי הפעלה ועקרון עבודה של שבב 8255 PPI
ג6. שיקולי ממשק של שבב 8255 PPI
ג7. היתרונות של שבב 8255 PPI
ג8. יישומים של שבב 8255 PPI
ג9. השוואת שבב PPI 8255 עם PPIs אחרים
ג10. פתרון בעיות ובעיות נפוצות
ג11. מסקנה
ג12. שאלות נפוצות [שאלות נפוצות]

סקירה כללית של ממשק היקפי הניתן לתכנות (PPI) 8255
שבב Intel 8255 PPI הוא שבב קלט/פלט בשימוש נרחב שנועד לחבר מיקרו-מעבדים עם התקנים חיצוניים. הוא משמש כגשר תקשורת עבור ציוד היקפי כמו ממירי ADC, ממירי DAC, מקלדות וצגים. הוא תומך ב-I/O ישיר ומונע-פסק כאחד, ומספק גמישות בתכנון המערכת. עם שלוש יציאות דו-כיווניות של 8 סיביות (A, B, C), הוא מספק 24 קווי קלט/פלט הניתנים להגדרה. עלות-תועלת ותאימותו למעבדים כמו אינטל 8085/8086 הפכו אותו למרכיב עיקרי במערכות מחשב מוקדמות, ערכות הדרכה ובקרים תעשייתיים.
תכונות של שבב 8255 PPI
• ממשק ניתן לתכנות - ניתן להגדרה באמצעות הוראות תוכנה להתאמה למכשירים כמו צגים, חיישנים ומודולי קלט.
• שלוש יציאות של 8 סיביות - יציאות A, B ו-C מספקות 24 שורות שיכולות לתפקד כקלט או פלט.
• מצבי הפעלה מרובים -
מצב 0: קלט/פלט פשוט ללא לחיצת יד.
מצב 1: קלט/פלט מהבהב עם אותות לחיצת יד לתקשורת מסונכרנת.
מצב 2: העברת נתונים דו-כיוונית עם לחיצת יד (רק ביציאה A).
• סט/איפוס סיביות (BSR) - ניתן להגדיר או לנקות סיביות יציאה C בנפרד עבור יישומי בקרה/סטטוס.
• קיבוץ גמיש - ניתן לפצל יציאות לקבוצות של 8 סיביות או 4 סיביות.
• תאימות TTL - אינטגרציה קלה עם מעגלים משולבים דיגיטליים סטנדרטיים.
• אוגרי בקרה עצמאיים - כל יציאה יכולה לפעול בנפרד, במצבים או כיוונים שונים.
פינאוט של שבב 8255 PPI

| מספר סיכה | קבוצה | סיגנל | תיאור |
|---|---|---|---|
| 1–8 | פורט א' | PA0–PA7 | יציאת קלט/פלט לשימוש כללי של 8 סיביות |
| 9–16 | פורט ג' | PC0–PC7 | פיצול ל-PC0-PC3 (תחתון) ו-PC4-PC7 (עליון); משמש כקווי קלט/פלט או לחיצת יד |
| 17–24 | פורט ב' | PB0 – PB7 | יציאת קלט/פלט לשימוש כללי של 8 סיביות |
| 25 | בקרה | מדעי המחשב | בחירת שבב (פעיל נמוך) |
| 26 | מתח | כרטיס אשראי וירטואלי | הספקה של +5 וולט |
| 27 | בקרה | RD' | קריאה, הפעלה |
| 28 | בקרה | WR' | הפעל כתיבה |
| 29 | בקרה | איפוס | מאפס את כל היציאות למצב קלט |
| 30–37 | אפיק נתונים | D0–D7 | העברת נתונים/פקודות בין CPU ל-8255 |
| 38–39 | סיכות כתובת | A0, A1 | בחר אוגרים/יציאות פנימיות: 00=יציאה A, 01=יציאה B, 10=יציאה C, 11=בקרה |
| 40 | קרקע | מניית GND | הפניה לקרקע |
ארכיטקטורה של שבב 8255 PPI

| בלוק פונקציונלי | תיאור |
|---|---|
| מאגר אפיק נתונים | פועל כממשק בין אפיק הנתונים הדו-כיווני של המעבד (D7-D0) לבין אפיק הנתונים הפנימי של 8 סיביות של ה-8255. הוא מאחסן ומעביר נתונים באופן זמני בין המעבד לבין אוגרים או יציאות פנימיים. |
| לוגיקת בקרת קריאה/כתיבה | מנהל את כל התקשורת בין המעבד ל-8255. הוא מפרש אותות בקרה כגון RD , WR , A0 , A1 , CS ו- RESET כדי לקבוע את סוג הפעולה (קריאה, כתיבה או בקרה) ובוחר את היציאה או אוגר הבקרה הנכונים. |
| לוגיקת בקרה (מפענח) | מפענח את מילת הבקרה שנשלחה על ידי המעבד כדי להגדיר את היציאות במצבים שונים (מצב 0, 1 או 2) או במצב Bit Set/Reset (BSR). הוא קובע כיצד כל יציאה תפעל - כקלט, פלט או לחיצת יד. |
| קבוצת בקרה א' | שולט ביציאה A (8 סיביות: PA7–PA0) וביציאה העליונה C (4 סיביות: PC7–PC4). הוא תומך במצבים 0, 1 ו-2, המאפשרים קלט/פלט פשוט, קלט/פלט בלחיצת יד והעברת נתונים דו-כיוונית |
| בקרה מקבוצה ב' | שולט ביציאה B (8 סיביות: PB7–PB0) וביציאה C התחתונה (4 סיביות: PC3–PC0). הוא תומך במצבים 0 ו-1, המאפשרים פעולות קלט/פלט בסיסיות או מבוקרות בלחיצת יד. |
| פורט א' | יציאת I/O של 8 סיביות שיכולה לתפקד כקלט או פלט בהתאם לתצורת המצב. תומך במצבים 0-2 תחת בקרת קבוצה A. |
| פורט ב' | יציאת קלט/פלט נוספת**8 סיביות** להעברת נתונים. פועל תחת בקרת קבוצה B ותומך במצבים 0 ו-1. |
| פורט ג' | יציאה מפוצלת של 8 סיביות המחולקת לשתי קבוצות של 4 סיביות: עליונה (PC7-PC4) ותחתונה (PC3-PC0). אלה יכולים לשמש כיציאות קלט/פלט עצמאיות, קווי בקרה או אותות לחיצת יד. ניתן לשלוט בסיביות בודדות גם באמצעות מצב Bit Set/Reset (BSR). |
| אפיק נתונים פנימי (8 סיביות) | מחבר את כל הבלוקים הפנימיים של ה-8255, ומעביר נתונים ומידע בקרה בין המעבד, לוגיקת הבקרה והיציאות. |
| ספק כוח | השבב פועל עם אספקת +5V DC וחיבור GND להפעלת המעגל כולו. |
מצבי הפעלה ועקרון עבודה של שבב 8255 PPI
ה-Intel 8255 משמש כממשק הניתן לתכנות בין המעבד לציוד היקפי, ומתרגם את פעולות האוטובוס להעברות נתונים מקבילות. פעולתו נשלטת על ידי שלבי אתחול ומצבים הניתנים לבחירה:
איפוס מצב
בעת הפעלה או איפוס, כל היציאות (A, B ו-C) עוברות כברירת מחדל למצב קלט כדי למנוע נזק לציוד היקפי עם יציאות לא מכוונות.
אתחול
המעבד חייב לשלוח מילת בקרה המגדירה כל יציאה כקלט/פלט ובוחרת באחד מארבעת אופני ההפעלה. עד שזה נעשה, היציאות נשארות לא פעילות.
מצבי הפעלה
מצב הגדרה/איפוס של 5.3 סיביות (BSR).
• חל רק על יציאה C.
• מאפשר להגדיר או לנקות ביטים בודדים למשימות בקרה/סטטוס.
מצב 0 - קלט/פלט פשוט
• קלט/פלט בסיסי ללא לחיצת יד.
• משמש להעברות פשוטות כגון נוריות LED, מתגים ותצוגות.
מצב 1 - קלט/פלט מתנופף
• מוסיף אותות לחיצת יד (STB, ACK, IBF, OBF) דרך יציאה C.
• מבטיח העברת נתונים היקפית מסונכרנת של המעבד ↔.
מצב 2 - קלט/פלט דו כיווני
• זמין רק בפורט A.
• תומך בהעברה דו כיוונית עם בקרת לחיצת יד, שימושי עבור מכשירים מהירים או אסינכרוניים.
פעולות קריאה/כתיבה
• כתוב: המעבד מציב נתונים על אפיק המערכת, וה-8255 מפענח את שורות הכתובת (A0, A1) כדי לכוון אותם לתפס הפלט של היציאה הנכונה.
• לקרוא: התקנים חיצוניים מציבים נתונים על קווי יציאה, שה-8255 נועל והופך אותם לזמינים למעבד במהלך פקודת קריאה.
סנכרון
• במצב 0, העברות נתונים מתרחשות ישירות ללא לחיצות ידיים.
• במצבים 1 ו-2, אותות לחיצת יד מיציאה C מתאמים מוכנות וקבלה, ומונעים אובדן נתונים במהלך העברות מהירות או אסינכרוניות.
שיקולי ממשק של שבב 8255 PPI
בעת תכנון מערכות עם ה-8255, ממשק זהיר מבטיח אמינות ומונע נזק הן לשבב והן להתקנים חיצוניים:
• מצב קלט ברירת מחדל - באיפוס, כל היציאות מוגדרות כברירת מחדל לכניסות. זה מונע התנגשויות אך גם אומר שהפלטים אינם פעילים עד להגדרתם. המעבד חייב תמיד לשלוח מילת בקרה כדי להגדיר כראוי כיוון ומצב לפני ניסיון תקשורת.
• מגבלות כונן פלט - היציאות של ה-8255 יכולות להפיק או לשקוע זרם מוגבל בלבד (כמה מיליאמפרים). נהיגה ישירה של מטענים כבדים כמו מנורות, סולנואידים או ממסרים אינה בטוחה. במקום זאת, משתמשים בדרך כלל במעגלים-משולבים (IC) של חוצץ או דוחף כגון ULN2803 (מערך דרלינגטון) או שערי אספן פתוח כמו 7406. אלה מספקים יכולת זרם גבוהה יותר ומגנים על ה- PPI.
• בקרת מנוע - עבור מנועי DC או מנועי צעד, יציאות 8255 לא צריכות להתחבר ישירות. במקום זאת, יש לנתב יציאות דרך שלבי טרנזיסטור או מעגלי דוחף גשר-H. סידור זה מאפשר זרימת זרם דו-כיוונית תוך בידוד ה-PPI משיאי מתח אינדוקטיביים.
• מיתוג עומס AC - התממשקות עם מכשירי AC דורשת בידוד לבטיחות. ממסרים מכניים או ממסרי מצב-מוצק (SSR) המונעים דרך שלבי חיץ מבטיחים שה-8255 מטפל רק באותות בקרה, בעוד שעומס המתח הגבוה בפועל מועבר בבטחה חיצונית.
• הגבלות יציאה C - הביטים של Port C לא תמיד ניתנים לשימוש חופשי כקלט/פלט כללי. במצבים 1 ו-2, מספר פינים (למשל, STB, ACK, IBF, OBF) שמורים אוטומטית לשליטה בלחיצת יד. עליך לקחת בחשבון את השורות השמורות הללו כדי למנוע התנגשויות בעת ערבוב קלט/פלט כללי עם לחיצת יד.
היתרונות של שבב 8255 PPI
• תאימות מעבד - ה-8255 עובד בצורה חלקה עם מעבדים כמו Intel 8085, 8086 והתואמים שלהם. התכן שלו תואם לפרוטוקולי אפיק סטנדרטיים, מה שהופך את האינטגרציה לפשוטה ללא לוגיקת דבק נוספת.
• תצורת יציאות גמישה - עם שלוש יציאות 8 סיביות (A, B, C), משתמשים יכולים להגדיר אותן כקלט, פלט או מיקס בהתאם ליישום. היכולת לעבור בין I/O פשוט (מצב 0) לתקשורת מונעת לחיצת יד (מצבים 1 ו-2) מאפשרת לאותו שבב להתמודד עם מגוון רחב של משימות.
• פעולת אספקה יחידה - פועל מהספקה סטנדרטית של +5 וולט, ה-8255 קל להפעלה במערכות מבוססות TTL. אין צורך במייצבים מיוחדים או ברמות מתח מרובות, מה שמפשט את תכנון הלוח.
• העברת נתונים מקבילה אמינה - השבב מספק תקשורת מקבילה יציבה וצפויה של 8 סיביות, מה שמפחית את אי הוודאות בתזמון. אמינות זו הופכת אותו למתאים עבור תצוגות נהיגה, קריאת חיישנים וניהול אותות בקרה במערכות בפועל.
• ערך חינוכי - מכיוון שהוא מתועד היטב וזמין באופן נרחב, ה-8255 היה כלי הוראה מרכזי במעבדות מיקרו-מעבדים וערכות הדרכה. אתה יכול להבין במהירות מושגי ממשק קלט/פלט באמצעות ניסויים מעשיים עם מכשיר זה.
יישומים של שבב 8255 PPI
• מערכות חינוך - ערכות הדרכה ולוחות מעבדה כוללים לעתים קרובות את ה-8255 כדי להדגים מושגי ממשק היקפיים. אתה יכול לתרגל תכנות מצבים שונים ולצפות באינטראקציה בפועל עם מכשירים חיצוניים.
• בקרת תצוגה - השבב מניע התקני פלט חזותיים כגון נוריות LED בנות שבעה מקטעים, מודולי LCD ופאנלים אלפאנומריים. עם קווי ה-I/O המרובים שלו, הוא יכול לרענן צגים או לשלוח פקודות בקרה למעגלים-משולבים (IC) של מנהלי התקנים.
• ממשק מקלדת - מקלדות מטריקס במסופים מוקדמים ובמחשבים אישיים נסרקו לעתים קרובות באמצעות ה-8255. על ידי הגדרת קווים מסוימים כנהגי שורות ואחרים כחיישני עמודות, הוא זיהה ביעילות לחיצות מקשים.
• בקרת מנוע - ניתן לשלוט במנועי צעד ומנועי DC כאשר ה-8255 משויך לשלבי טרנזיסטור, מערכי דרלינגטון או גשרי H. זה הפך אותו לשימושי ברובוטיקה, מערכות מיקום ופרויקטים של אוטומציה.
• רכישת נתונים - כאשר הוא מחובר ל-ADC (ממירים אנלוגיים לדיגיטליים) ו-DAC (ממירים דיגיטליים לאנלוגיים), ה-8255 סיפק ממשק שלם למשימות מדידה ובקרה. זה איפשר למיקרו-מעבדים לטפל באותות בציוד מדעי ותעשייתי.
• אוטומציה תעשייתית - ה-8255 מצא שימוש בבקרת רמזורים, לוגיקת מעליות ולוחות ניטור תהליכים. היכולת שלו לנהל באופן אמין כניסות ויציאות מרובות הפכה אותו לפתרון בעלות נמוכה עבור מערכות בקרה משובצות.
• מחשוב רטרו – מכונות קלאסיות כמו מחשבי IBM PC/XT ו-MSX השתמשו ב-8255 לממשק היקפי. הוא שימש גם במדפסות ובכרטיסי הרחבה, וביסס את מקומו בהיסטוריה המוקדמת של המחשבים האישיים.
השוואת שבב 8255 PPI עם PPIs אחרים
8255 לעומת 8155

ה-Intel 8155 משלב מספר פונקציות בחבילה אחת: הוא מציע בלוק קטן של זיכרון RAM סטטי, טיימר הניתן לתכנות ויציאות קלט/פלט לשימוש כללי. זה הפך אותו למתאים למערכות קומפקטיות שבהן היה צורך בבקרת זיכרון ותזמון. לעומת זאת, ה-8255 מתמקד כולו ב-I/O ניתן-לתכנות, ללא זיכרון או תזמון מובנים. העיצוב הפשוט יותר שלו הפך אותו לזול וקל יותר לתכנות כאשר היישום לא דרש זיכרון RAM משולב או טיימרים.
8255 לעומת 8259

בקר הפסקה ניתן-לתכנות 8259 משרת מטרה שונה מאוד: ניהול פסיקות חומרה כדי לעזור ל- CPU להגיב במהירות לאירועים חיצוניים. בעוד שה- 8255 מטפל בהעברת נתוני I/O מקבילים, קואורדינטות 8259 מפסיקות אותות. במערכות רבות המבוססות על מיקרו-מעבדים, שני השבבים שימשו יחד, 8255 להתממשקות למכשירים כמו מקלדות וצגים, ו-8259 לניהול בקשות הפסק שנוצרו על ידי מכשירים אלה.
8255 לעומת מרחיבי GPIO מודרניים

המערכות של ימינו משתמשות לעתים קרובות במרחיבי GPIO מבוססי I²C או SPI (כגון MCP23017 או PCF8574). התקנים אלה מספקים פיני I/O נוספים עם פחות חיבורים, חוסכים מקום בלוח ומפחיתים את ספירת הפינים במעבד. עם זאת, הם פועלים באופן סדרתי, שיכול להיות איטי יותר בהשוואה לגישה המקבילה הישירה של ה-8255. בעוד שה-8255 דורש יותר קווי אוטובוס, המבנה המקביל שלו מאפשר העברות מהירות יותר והופך אותו לבעל ערך רב בסביבות חינוכיות, שבהן שליטה ישירה בפינים בודדים והבנת תזמון האוטובוס חשובים ללמידה.
פתרון בעיות ובעיות נפוצות
עבודה עם ה-8255 עלולה לפעמים להוביל לתקלות במערכת אם לא מקפידים על כללי התכנון. בעיות נפוצות ותרופות כוללות:
• יציאות לא מאותחלות - לאחר האיפוס, כל היציאות מוגדרות כברירת מחדל למצב קלט. אם המעבד אינו שולח מילת בקרה מתאימה, היציאות נשארות לא פעילות או מתנהגות באופן בלתי צפוי. תכנת תמיד את אוגר הבקרה לפני שתנסה לקרוא או לכתוב נתונים.
• מילות בקרה שגויות - מילות בקרה שהוגדרו בצורה שגויה עלולות להקצות כיוונים או מצבים שגויים ליציאות, ולנעול את האותות הצפויים. הצלבה של ערכי מילות בקרה מול טבלאות גליון נתונים כדי להבטיח הגדרות סיביות מתאימות.
• כשלים בלחיצת יד - במצבים 1 ו-2, יציאה C מספקת אותות לחיצת יד נחוצים (STB, ACK, IBF, OBF). חיבורים חסרים, מחווטים באופן שגוי או מפורשים באופן שגוי מובילים להעברות תקועות או אובדנות. ודא בזהירות הן את החיווט והן את ציפיות רמת ההיגיון של מכשירים מחוברים.
• יציאות עומס יתר - כל סיכת יציאה יכולה להתמודד רק עם זרמים קטנים. דחיפת נורות LED ישירות אפשרית עם נגדים, אך מנועים, ממסרים ומנורות דורשים שלבי חיץ חיצוניים כגון מערכי טרנזיסטורים או מעגלים-משולבים (IC) של דוחפים. התעלמות ממגבלה זו מסתכנת בנזק קבוע לשבב.
• התנגשויות אפיק - אם מספר מכשירים מנסים להניע את אפיק המערכת בו זמנית, עלולה להתרחש פגיעה בנתונים או נזק לחומרה. בוררות אפיק נכונה ושימוש באותות אפשר (RD', WR', CS') מונעים בעיה זו.
• כלי איתור באגים - כאשר הבעיות נמשכות, ציוד בדיקה מסייע בבידוד תקלות. מנתחי לוגיקה יכולים לאשר אותות תזמון ובקרה, בעוד אוסילוסקופים יכולים לבדוק אם הבעיה נובעת מחיווט חומרה רועש או מאתחול תוכנה שגוי.
סיכום
Intel 8255 PPI נשאר אבן פינה של ממשק מיקרו-מעבדים. למרות שהוחלף במידה רבה על ידי מרחיבי GPIO מודרניים ו-I/O מובנה של מיקרו-בקר, הוא ממשיך לשמש ככלי הוראה פעיל. הבהירות שלו בהדגמת העברת נתונים מקבילה, תצורת יציאות ולחיצת יד הופכת אותו ליקר ערך עבור כל אחד.
שאלות נפוצות [שאלות נפוצות]
מהי מילת השליטה ב-8255 ומדוע היא חשובה?
מילת הבקרה היא הוראה של 8 סיביות שנשלחת על ידי המעבד כדי להגדיר את היציאות והמצבים של ה-8255. בלעדיו, כל היציאות נשארות במצב הקלט המוגדר כברירת מחדל. הוא מגדיר אם כל יציאה פועלת כקלט או כפלט ובוחר בין מצבים 0, 1, 2 או Bit Set/Reset.
האם ה-8255 יכול להניע ישירות מנועים או ממסרים?
לא. יציאות 8255 יכולות להפיק או לשקוע רק כמה מיליאמפרים, וזה לא מספיק עבור מנועים או ממסרים. יש להשתמש במעגלי דרייבר חיצוניים, כגון מערכי טרנזיסטור או גשרי H, כדי לטפל בזרם גבוה יותר בבטחה.
מדוע ה-8255 עדיין בשימוש בחינוך כיום?
ה- 8255 מספק דרך ברורה ומעשית ללמוד על קלט/פלט של מיקרו-מעבד, מילות בקרה והעברת נתונים מקבילית. הארכיטקטורה הפשוטה שלו עוזרת לתלמידים להבין מושגי ליבה לפני שהם עוברים למיקרו-בקרים מודרניים.
מה קורה אם אתה משתמש ביציאה C במצבי לחיצת יד?
במצבים 1 ו-2, חלק מקווי Port C שמורים לאותות לחיצת יד (כמו STB, ACK, IBF, OBF). לא ניתן להשתמש בפינים אלה כקלט/פלט למטרות כלליות במהלך מצבים אלה, שעליך לקחת בחשבון כדי למנוע התנגשויות.
במה שונה ה-8255 ממרחיבי GPIO מודרניים?
בניגוד למרחיבי I²C/SPI המשתמשים בתקשורת טורית, ה-8255 עובד עם אפיק מקבילי, המאפשר העברות מהירות יותר אך דורש יותר פינים. זה הופך את ה-8255 לפחות חסכוני במקום אך בעל ערך לבקרה בפועל ולתזמון אפיק למידה.