- עקרון בסיסי של מקודד:
- בניית קודנים באמצעות עיצובים לוגיים משולבים
- מקודדים 8: 3:
- חסרון מקודדים רגילים:
- מקודד עדיפות:
קודנים, כפי שהשם מרמז, מקודדים קצת מידע גדול יותר לערך ביט קטן יותר. ישנם סוגים רבים של מקודדים המבוססים על מספר הכניסות והיציאות ועל סמך אופן פעולתו. אך לכל מקודד יש כלל בסיס אחד, מספר קווי הפלט בקודן תמיד יהיה פחות ממספר קווי הקלט. נלמד עוד על מקודדים, מהו מקודד, כיצד ומדוע משתמשים בהם במעגלים דיגיטליים במאמר זה.
עקרון בסיסי של מקודד:
בואו נדמיין שמקודד יהיה קופסה שחורה כפי שמוצג להלן, שמפחיתה בצורה קסומה את מספר שורות הקלט מ -4 לשתי קווי פלט בלבד, אך עדיין מספקת את אותו מידע ללא אובדן נתונים.
ראשית בואו נקבע מה יהיה המקודד הזה. יש לו ארבע כניסות ושתי יציאות ולכן שמו של המקודד הזה יהיה 4: 2 מקודד. אם למקודד יש מספר " n " של קווי יציאה, מספר שורות הקלט יהיה 2 n, במקרה שלנו מספר שורות הפלט הוא שניים (n = 2) מכאן שמספר שורות הקלט צריך להיות (2 2 = 4) ארבע וזה בדיוק המקרה. ארבעת סיכות הקלט מסומנות מ- I0 ל- I3 ושתי סיכות הפלט מתויגות מ- O0 ל- O1
אז איך המקודד ממיר ארבעה אותות לשניים, ניתן להבין זאת על ידי התבוננות בטבלת האמת שלהלן. חשוב גם לדעת כי למקודד רגיל כמו זה שמוצג כאן יש כלל שבזמן נתון רק סיכת קלט אחת צריכה להיות גבוהה ולכן בטבלת האמת הבאה רק קלט אחד יהיה גבוה.
כל תנאי אפשרי של קלט הפלט מוצג בטבלת האמת שלעיל. למשל כשרק O1 הוא גבוה (1) וכל שאר התשומות נמוכות (0) אז שתי סיכות המוצא יהיו נמוכות (0). באופן דומה בכל מקרה, סיכות הפלט ישנו גם את מעמדו. על ידי שימוש בסטטוס פלט ביטים זה המשתמש יוכל להתחקות אחר איזה אות קלט היה ניתן למקודד.
אוקיי, מה מהודר בהמרת 4 שורות ל -2 שורות למה בכלל אנחנו צריכים את זה?
לצורך ההבנה הסברנו מקודד 4: 2, אך ישנם מקודדים אחרים אשר יכולים לקחת מספר כניסות גבוה יותר ולהמיר אותם למספר יציאות נמוך יותר כמו המקודד 8: 3, מקודד 16: 4 וכו '. של מקודד שימושיים מאוד כאשר עלינו לצמצם את מספר הפינים המשמשים ב- MCU / MPU או להפחית את מספר החוטים הנושאים אותות ב- PLC ובמערכות אחרות בהן מערך של מתג או LED. הוא משמש גם להעברת נתונים ביעילות באמצעות חוטים פחותים. ביישומים מסוימים יתכן מצב בו יותר מקלט אחד יכול להיות גבוה (1) במקרה זה אנו נקרא Priority Encoder שעליו נדון במאמר זה.
בניית קודנים באמצעות עיצובים לוגיים משולבים
עכשיו כשאנחנו יודעים איך מקודד עובד ואיפה משתמשים בו. בואו ללמוד כיצד לבנות אחד באמצעות שערי לוגיקה פשוטים. למרות שקודנים כמו 8: 3 זמינים כמארז יחיד מסודר כמו SN74LS148, חשוב לדעת כיצד הם בנויים כדי שנוכל ליצור מקודדים מותאמים אישית לפרויקטים שלנו על סמך טבלת האמת הנדרשת.
ביטוי בוליאני:
הראשון בעיצוב מכשיר ה- Logic Combinational הוא למצוא את הביטוי הבוליאני לטבלת האמת. זה קל מאוד וניתן לקבוע אותו רק על ידי התבוננות בטבלת האמת. אותה טבלת אמת שראינו קודם מובאת להלן עם כמה איורים כדי לגרום לך להבין טוב יותר.
מספר הביטויים יהיה שווה למספר קווי הפלט, כאן יש לנו שתי פלט ומכאן שיש לנו שני ביטויים. עבור הפלט הראשון O0, בדוק רק באיזה מצב הוא גבוה (1) ועקוב אחר מספר סיכת הקלט המתאימה שנשאר גם גבוה (1). באופן דומה עבור כל הערכים הגבוהים של O0 שימו לב איזה מספר סיכות קלט גבוה והוסיפו את הסיכות. סיכות הקלט המתאימות לסיכת הפלט O0 מודגשות באדום למעלה ול- O1 מודגשת בכחול. אז הביטוי עבור O0 ו- O1 יהיה
O 1 = I 3 + I 2 O 0 = I 3 + I 1
4: 2 תרשים מעגל מקודד:
ברגע שנקבל את הביטוי הבוליאני אנחנו רק צריכים לצייר אותו בצורה של שערים. הנה מכיוון שיש לנו פעולת תוספת (+) נשתמש בשערי OR לבניית המעגלים שלנו. אתה יכול גם לפשט או לשנות את הביטוי הבוליאני בהתאם לצרכים שלך. תרשים המעגל לביטוי לעיל מוצג להלן
המעגל יכול להיבנות בקלות באמצעות IC שער 7432 או. בניתי את מעגל המקודד שלי מעל קרש לחם כמוצג להלן
ארבעת קווי הכניסה (I0, I1, I2 ו- I3) מסופקים על ידי ארבעת כפתורי הלחיצה, כאשר לוחצים על הכפתור הוא מקשר + 5V לסיכה מה שהופך אותו לוגי 1 וכאשר הכפתור לא נלחץ הסיכה מוחזקת לקרקע. דרך הנגד למשוך 10k כדי להפוך את ההיגיון לאפס. היציאות (O0 ו- O1) מיוצגות באמצעות זוג נוריות LED אדומות. אם נורית הנורית זוהרת, משמעות הדבר היא כי לוגיקת הפלט היא 1 ואם הם כבויים, פירוש הדבר שלוגיקת הפלט 0. העבודה המלאה של מעגל המקודד מוצגת בסרטון למטה.
כפי שניתן לראות כאשר לוחצים על הכפתור הראשון, הקלט I0 נעשה גבוה ומכאן ששני הפלטים נשארים נמוכים. כאשר לוחצים על הכפתור השני, הכניסה I1 מופעלת וכך נורית LED אחת גבוהה כדי לציין ש- O0 גבוה. לבסוף, כאשר לוחצים על הכפתור הרביעי קלט I3 עשוי גבוה וכך גם ה- LED עולה גבוה. זהו מעגל פשוט מאוד ולכן בנינו אותו בקלות על קרש לחם, אך עבור מקודדים מעשיים המעגל יהיה קצת יותר מורכב. עם זאת מקודדים זמינים גם כחבילות IC שניתן לרכוש אם זה מתאים לפרויקט שלך.
מקודדים 8: 3:
העבודה והקידוד של מקודד 8: 3 דומה גם למקודד 4: 2 למעט מספר סיכות הכניסה והפלט. המקודד 8: 3 נקרא גם כמקור מקודד בינארי, דיאגרמת החסימה של מקודד 8: 3 מוצגת להלן.
כאן לקודן יש 8 כניסות ו -3 יציאות, שוב רק כניסה אחת צריכה להיות גבוהה (1) בכל זמן נתון. מכיוון שיש 8 כניסות זה נקרא ככניסה אוקטלית ומכיוון שיש שלוש יציאות זה נקרא גם פלט בינארי. טבלת האמת של המקודד מוצגת להלן.
טבלת האמת של מקודד 8: 3:
ביטוי בוליאני:
מכיוון שיש לנו תפוקות יהיו לנו שלושה ביטויים כמוצג להלן
O 2 = I 7 + I 6 + I 5 + I 4 O 1 = I 7 + I 6 + I 3 + I 2 O 0 = I 7 + I 5 + I 3 + I 1
תרשים מעגלי מקודד 8: 3:
ברגע שמתקבל הביטוי הבוליאני כמו תמיד אנו יכולים לבנות את דיאגרמת המעגל באמצעות שערי OR כמוצג להלן.
המעגל משתמש ב- IC עם שער כניסה בעל 4 כניסות, אתה יכול גם לפשט את הביטוי הבוליאני לשימוש בשערי כניסה רגילים אחרים של 2 כניסות.
חסרון מקודדים רגילים:
סוגים אלה של קודנים סובלים מהחסרונות העיקריים הבאים
- כאשר אף אחד מהקלטים אינו גבוה, הפלט יהיה שווה לכל האפס, אך תנאי זה מתנגש גם עם הסיבית הראשונה שהיא גבוהה (MSB). מכאן שיש להקפיד תמיד שלפחות כל סיבית אחת תישאר דולקת תמיד
- כאשר יותר מקלט אחד גבוה, הפלט יתמוטט ויכול לתת את התוצאה עבור אחד הקלט מה שמוביל לבלבול.
כדי להתגבר על קשיים אלו אנו משתמשים בקודן מסוג אחר הנקרא Priority Encoder המשתמש בפלט נוסף כדי לקבוע אם הפלט תקף, וכאשר יותר מקלט אחד מסייע גבוה זה שמתחיל גבוה החל מה- LSD נחשב לבדו בעוד מתעלם מהתשומות האחרות.
מקודד עדיפות:
בואו ננתח מקודד עדיפות 4: 2 כדוגמה כדי להבין במה הוא שונה ממקודד רגיל והוא יכול להתגבר על שני החסרונות שהוזכרו לעיל. תרשים החסימה של מקודד עדיפות 4: 2 מוצג להלן
לקידוד עדיפות 4: 2 יש גם 4 כניסות ו -2 יציאות, אך נוסיף יציאה נוספת הנקראת V אשר מייצגת ביט חוקי. סיבית חוקית זו תבדוק אם כל ארבע סיכות הקלט נמוכות (0) אם הסיבית נמוכה תגרום לעצמה להיות נמוכה, בקביעה שהפלט אינו תקף וכך נוכל להתגבר על החיסרון הראשון שהוזכר לעיל.
טבלת האמת של מקודד עדיפות 4: 2:
ניתן להימנע מהחסרון הבא על ידי מתן עדיפות לביטים של MSB, המקודד יבדוק מה- MSB וברגע שהוא ימצא את הסיבית הראשונה הגבוהה (1) היא תייצר את הפלט בהתאם. לכן לא משנה אם הסיכות האחרות גבוהות או נמוכות. מכאן שבטבלת האמת שלהלן ברגע שמגיעים ל -1 הערכים שלא אכפת להם מוצגים על ידי "X".
ביטוי בוליאני:
כעת עלינו להפיק שלושה ביטויים המיועדים ל- O0, O1 ו- V. מכיוון שלטבלת האמת אין אכפת לפריטים עלינו להשתמש בשיטת K-map כדי להפיק את הביטוי הבוליאני לכך. אנחנו לא מתכוונים לכסות כיצד לפתור באמצעות K-maps מכיוון שזה מחוץ לתחום של מאמר זה. אבל המפה מוצגת למטה כדי שתוכל להתערב וללמוד בעצמך.
במפות לעיל, השמאלית מיועדת ל- O1 והימינה היא ל- O0. קווי הפלט מוזכרים על ידי y וקווי הקלט מוזכרים על ידי x. אז אם נסדר את המשוואה בהתאם נקבל את הדברים הבאים.
O 1 = I 3 + I 2 O 0 = I 2 I 1 '+ I 3
באופן דומה, עבור הביט החוקי "V" ניתן לתת את הביטוי הבוליאני כ-
V = I 3 + I 2 + I 1 + I 0
תרשים מעגל:
ניתן לבנות את תרשים המעגל עבור פרויקט זה באמצעות הביטויים הבוליאניים.
ניתן לבנות את המעגל באמצעות השערים הבסיסיים NOT, AND ו- OR. כאן הביטים O0 ו- O1 נחשבים לפלטים, בעוד שהסיבית V משמשת לאימות הפלט. רק אם הסיבית V גבוהה, הפלט ייחשב אם הערך של V נמוך (0) יש להתעלם מהפלט, מכיוון שמשמעותו היא שכל סיכות הכניסה אפסות.