מאת: ג’וני הנקוק Agilent Technologies. מבוא: כיום, מגוון רחב של מחשבים, וכן עיצובים מוטבעים, משתמשים ביציאת USB 2.0 במהירות גבוהה. למרות שמרבית יצרני ציוד מקורי שמייצרים מחשבים, דורשים מספקי התקני USB וערכות שבבי הסיליקון אישור תאימות של USB-IF (פורום המיישמים של USB) עבור השכבה הפיזית, לרוב, אישור התאימות אינו מהווה דרישה מוקדמת בכל הקשור למוצרים מוטבעים. יחד עם זאת, חשוב מאוד לבצע את בדיקות המו”פ ואימות מאפייני השכבה הפיזית של עיצובים מוטבעים בממשקי USB משולבים, על מנת לוודא את אמינות הפעולה של מוצרי הקצה.
הכלי המרכזי שבו משתמשים כיום כדי לאתר באגים ולאפיין את השכבה הפיזית של מערכות USB 2.0 במהירות גבוהה הינו אוסילוסקופ. כדי ללכוד את התוכן בעל התדרים הגבוהים ביותר באותות USB, ב-USB-IF ממליצים להשתמש באוסילוסקופ עם רוחב פס מינימלי (טווח וחיישן) של .
מאמר זה נפתח בדיון אודות בדיקת יציאת USB 2.0 במהירות גבוהה באמצעות חיישן דיפרנציאלי פעיל. לאחר מכן, יוצגו מספר שיטות איתור באגים שימושיות, באמצעות אוסילוסקופ אחסון דיגיטלי שולחני בו ניתן להיעזר כדי לאתר באגים ולשווק מהר יותר את העיצובים המוטבעים שלכם. האוסילוסקופ שמשמש להצגה הגרפית של הבדיקה ולשיטות איתור הבאגים הוא האוסילוסקופ החדש של Agilent מסדרת 4000-X, התומך ברוחבי פס עד 1.5GHz.
בדיקת אפיק דיפרנציאלי USB 2.0 מהיר
מכיוון שאפיק USB 2.0 מהיר הוא דיפרנציאלי, יש להשתמש בחיישן דיפרנציאלי פעיל. בשל העלות, מפתה להשתמש בשני חיישנים בעלי קצה בודד בשילוב יכולת חישוב צורת הגל של האוסילוסקופ, אך לשימוש בשיטה זו יש שני חסרונות גדולים. ראשית, צורת הגל המחושבת תהיה בעלת קצב עדכון איטי מאוד, ביחס לצורות גל של אותות קלט לא דיפרנציאליים, בשל עיבוד ההמשך במחשב. כתוצאה מכך, האוסילוסקופ עשוי לפספס אותות נדירים, אקראיים וחשובים בצורת הגל הדיפרצניאלית. נדון בכך בהמשך מאמר זה. שנית, לחיישנים פאסיביים רגילים, שנכללים לרוב באוסילוסקופים, אין מספיק רוחב פס כדי ללכוד אותות USB מהירים. למרות שניתן להשתמש בשני חיישנים פעילים נפרדים בעלי קצה בודד ברוחב פס גבוה, פתרון חסכוני יותר הוא להשתמש רק בחיישן דיפרנציאלי פעיל אחד כגון החיישן של Agilent מסדרת N2750A , המוצג באיור 1. חיישן זה לא רק יניב דיוק מדידה עילאי, בהשוואה לשימוש בשני חיישנים פעילים בעלי קצה בודד, אלא יש לו גם ארבעה מצבי פעולה שמאפשרים לצפות בתבניות שונות של אות הקלט. כעת, נעבור על דוגמה לאיתור באגים ב-USB באמצעות חיישן זה.
באיור 2 ניתן לראות דוגמה של צפייה באפיק USB מהיר בעזרת חיישן דיפרצניאלי פעיל. יש לשים לב לרמת הרעש המשמעותית באות הדיפרנציאלי הזה. למרות שלא ניתן להראות זאת במסמך זה, הרעש היה לסירוגין; לעיתים החבילות החוזרות שנלכדו היו יחסית ללא רעש ולעיתים הן הכילו רמת רעש משמעותית.
בנוסף, מבלי להזיז אף אחד מהחיבורים של החיישן, ניתן גם לבחור להציג כל צד של האפיק (+D או -D). איור 3 מציג רק את הצד הגבוה של האפיק. בדוגמה זו, רמת הרעש בצד +D של האפיק הייתה סבירה ונמדדה באופן פחות משמעותי מאשר המדידה המקורית של האפיק הדיפרנציאלי.
שוב, מבלי להזיז אף אחד מהחיבורים של החיישן, ניתן גם לבחור להציג רק את הצד הנמוך של האפיק (-D), כפי שמופיע באיור 4. כעת ניתן לראות שהרעש המקוטע חזר בזמן שהצגנו רק את הצד הזה של האפיק. ניתן לראות בבירור כי הרעש התחבר רק לצד אחד של אפיק ה-USB הדיפרנציאלי. למרות שזה לא מופיע כאן, ניתן גם לבחור להציג את האות במצב המשותף באמצעות חיישן זה.
השלב הבא בדוגמה זו של איתור הבאגים היה לנסות ולגלות את מקור הרעש, וגם לנסות ולקבוע מדוע הוא התחבר רק לצד אחד של האפיק. לאחר ביצוע מספר שלבים נוספים של פתרון תקלות, קבענו כי מקור הרעש הגיע ממפסק אספקת הכח של המערכת המוטבעת.
באיור 5 ניתן לראות רק ערוץ שני של האוסילוסקופ בו השתמשנו כדי ללכוד בו-זמנית את הפלט של מפסק אספקת הכח. כעת ניתן לראות את הקשר הברור בין הרעש בחבילות ה-USB שנלכדו (פס צהוב) לבין הגל/הרעש של הפעלת אספקת הכח (פס ורוד). יש לשים לב שבחצי העליון של מסך האוסילוסקופ מוצגות צורות גל באמצעות הגדרה רחבה יותר של בסיס הזמן ( 1) בעוד שבחצי התחתון של המסך מוצגת הרחבה של חבילה בודדת עם רעש ב-zoom-in ().
גילוי הפעילות של אות מקוטע
אחד מהמאפיינים של האוסילוסוקופ, שלרוב לא מייחסים לו חשיבות רבה, הוא קצב עדכון צורת הגל. אולם, עדכונים מהירים של צורת הגל לא רק משפרים את התגובה ויכולת השימוש באוסילוסקופ, אלא יש להם גם תכונה חשובה יותר – הם משפרים את הסבירות שהאוסילוסקופ ילכוד אירועים אקראיים ונדירים שעשויים להיות בעייתיים בעיצובים של מערכות USB במהירות גבוהה.
אם בחבילת USB מתרחשת חריגה, או תנועת אמפליטודה נדירה, כפי שמוצג באיור 6, לאוסילוסקופ עם קצב עדכון לא מסוכן של 1,000,000 צורות גל בשנייה, כגון אוסילוסקופ של Agilent מסדרת 4000-X, יש סיכוי גבוה יותר ללכוד אותו בהשוואה לאוסילוסקופ עם קצב עדכון נמוך יותר ויתכן אף ‘מסוכן’.
אז למה אני מתכוון כשאני אומר ‘מסוכן’? בחלק מהאוסילוסקופים נטען שהם יכולים לעדכן במהירות את צורות הגל. קודם כל, “מהר” הוא מונח יחסי. שנית, גם אם אוסילוסקופ יכול לעדכן צורות גל במהירות של מאות אלפי צורות גל בשנייה, או אפילו מהר מכך, מה קורה אם מדליקים את תכונות המדידות, או אם מדליקים את פרוטוקול הפענוח של ה-USB, או אם מדליקים את הערוצים הדיגיטליים, או אם מדליקים את הזיכרון העמוק? במרבית האוסילוסקופים, ההתוויה של קצב עדכון צורות הגל מתייחסת לפס צר במיוחד של תנאי הגדרה אופטימליים. האוסילוסקופ של Agilent מסדרת 4000-X יכול לשמור על קצב עדכון מהיר במגוון תנאי הגדרה מתקדמים, כך שניתן למצוא את אותה הבעיה שהיא מחט בערימת שחת אשר גורמת לך לעבוד עד מאוחר בלילה.
לאחר שהסברנו כיצד ניתן למצוא בעיות אקראיות ונדירות בשלמות האות, בעיצובים המבוססים על USB, בעזרת קצב עדכון מהיר ולא מסוכן לצורות הגל של האוסילוסקופ, כעת הטריק הבא הוא סנכרון ייחודי של מסך האוסילוסקופ והתבייתות רק על אירועים חריגים ובעייתיים בחבילות USB במהירות גבוהה. למרות שמרבית האוסילוסקופים שקיימים כיום מגיעים עם מגוון רחב של יכולות התבייתות להפרעות באותות, כגון הטריגר ‘זמן החזקה והגדרה’ (setup & hold time), טריגר לפולסים קטנטנים (runt trigger) ויכולות נוספות, האפשרות ‘טריגר לאזור’ (Zone Triggering) היא בדרך כלל הדרך הקלה והמהירה ביותר להתביית על בעיית שלמות אות. לאחר שניתן להתביית על אות הבעיה, ניתן לחפש את הקשר לאותות אחרים במערכת.
בעקרון, אם קצב העדכון המהיר של צורות הגל של האוסילוסקופ מגלה אותות חריגים אקראיים ונדירים, ניתן להתמקד עליהם באמצעות האפשרות ‘טריגר לאזור’. כל שעליכם לעשות הוא לצייר “תיבת אזור” באזור של ההתנהגות החריגה של האות באמצעות מסך המגע של האוסילוסקופ, ולאחר מכן לבחור שצורת הגל הנלכדת “חייבת לחצות” את האזור הזה על מנת להציג אותה באופן ייחודי, כפי שמופיע באיור 7.
כאשר משתמשים באפשרות ‘טריגר לאזור’, האוסילוסקופ קודם כל מסנן את כל האותות הנלכדים על בסיס כל תנאי הסינון הרגילים של האוסילוסקופ, כגון טריגר לקצה פשוט, או אפילו תנאי התמקדות ספציפיים לחבילת USB. לאחר מכן, האוסילוסקופ מתמקד בצורות גל שעומדות בקריטריונים של האזור הגרפי. בעקרון, אם ניתן לראות אירועים חריגים ונדירים במסך של האוסילוסקופ בזמן שמהכשיר מעדכן בקצב של 1,000,000 צורות גל בשנייה, לאפשרות ‘טריגר לאזור’ יש סבירות גבוהה להתמקד באופן ייחודי על החריגה, על ידי סינון באמצעות קצב עדכון מבוסס-חומרה לאזור זה של 200,000 צורות גל בשנייה.
סיכום
חשוב לבדוק ולאתר את הבאגים במערכות מוטבעות שכוללות ממשקי USB 2.0 במהירות גבוהה כדי לוודא את אמינות הפעולה. כדי לבדוק את איכות האות באותות דיפרנציאליים של USB במהירות גבוהה לא מספיק להשתמש באוסילוסקופ וחיישן דיפרנציאלי במערכת בעלת רוחב פס מתאים (מומלץ להשתמש ברוחב פס הגדול או שווה ל-1.5GHz), אלא ניתן גם להשתמש בקצב עדכון צורות גל לא מסוכן לצד האפשרות ‘טריגר לאזור’
(Zone Triggering), כדי לאתר מהר יותר את הבאגים בעיצובים.
אודות המחבר
ג’וני הנקוק הוא מנהל מוצר במחלקת מוצרי האוסילוסקופים של Agilent Technologies. הוא החל את הקריירה שלו בחברת היולט-פקארד בשנת 1979, כמעצב חומרה מוטמעת ולזכותו נזקף פטנט לכיול מגבר אוסילוסקופ דיגיטלי. כיום ג’וני אחראי על פעילויות התמיכה ביישום בכל רחבי העולם, לקידום הדיגיטציה של האוסילוסקופים של Agilent, והוא נואם באופן שוטף בכנסים טכניים בכל רחבי העולם. ג’וני הוא בוגר האוניברסיטה של דרום פלורידה ובעל תואר בהנדסת חשמל.