הרחבת המפרט COM Express® עבור ארכיטקטורות חלופיות של מעבדי מיקרו

סקוט פאביני, Emeson Network Power
ג’ים איניס, Freescale Semiconductor
ערך: Haim Cohen, Freescale Israel

מאז שהופיע בשנת 2005, גורם הצורה COM Express® הולך ומתקבל בשוק בתחום התעשייתי. הלקוחות נמשכים לכמה מבין תכונותיו, בהם אפשר לציין:
*גודל קטן (125 מ”מ  X 95 מ”מ)
*הספק נמוך
*חיבורי כניסות ויציאות (I/O) גמישים
*התמודדות עם סיכוני תכנון ויתרון בזמן היציאה לשוק מאחר שהיע”מ (CPU), הזיכרון, הספק הליבה זיכרון BIOS ומערכת ההפעלה (OS) ומנהלי ההתקנים כבר מתוכננים ומאושרים.
*שימוש חוזר בתכנון של מעגל נושא בדורות עוקבים של מעבדים
תכונות אלו מאפשרות ליצרנים להתמקד ביכולות של יצירת חומרה המותאמת ליישומים שלהם (על ידי תכנון מעגל נושא ייעודי ליישום), וכן לתוכנה ברמת היישום ולאינטגרציה של המערכת.
המפרט של COM Express בנוי במידה רבה בהתבסס על ארכיטקטורת המחשב האישי (PC) x86, שמשמש בהצלחה מזה זמן, בשדרוג מוצרים החל מתחום הציוד רפואי הנישא, דרך קיוסקים ומערכות גיימינג ספרתיים, ועד מערכות מידע ופנאי בכלי רכב. עם זאת, תכנון מודולים תואמים בהתבסס על מערכות יע”מ בארכיטקטורה שאינה x86 אינו נתמך על ידי המפרט. דרישות לממשקים שהם ייעודיים במיוחד ל–x86 מונעים את הפיתוח של מודולים תואמים עם מעבדים מבוססי הטכנולוגיות Power Architecture®, MIPS® או ARM®. לארכיטקטורות מעבדים אלו במערכות על שבב (SoC) יש גם מוצרים בעלי יכולת שדרוג רבה בטווח רחב של שווקים ויישומים.
מאמר זה דן בפתרונות המאפשרים התמודדות עם צרכים חוצי ארכיטקטורה וחוצי שווקים אלו, מבלי שיהיה צורך לשנות את המבנה הפיסי של גורם הצורה COM Express. השמירה על ההיבטים הפיסיים של גורם הצורה חשובה על מנת למנף את ההשקעות הקיימות, תוך כדי יצירת הזדמנויות נוספות שמשובצות באופן מעמיק יותר עבור התקן.
קיים רצון להבטיח תאימות רציפה עם מודולי COM Express הסטנדרטיים של היום. לתאימות כזו יש צורך בקיומן של כמה תכונות, בהם אפשר למנות:
*יכולת התחברות פיסית במחברים למעגל נושא COM Express קיים
*המודול שיותקן לא יגרום נזק לעצמו או למעגל הנושא (מעגלים נושאים, המתוכננים על פי המדריך לתכנון מעגלים נושאים, נדרשים להשאיר את אספקת המתח במצב כבוי אם סוג המודול אינו תואם את הסוג שבו המודול יכול לתמוך)
*אם אפשר, התייחסות לתאימות להגדרות הקיימות כיום (כמו למשל הגדרה סוג 1 עבור מחבר AB) וככל הנראה ברמת פונקציונליות נמוכה יותר
*בידול של הממשקים הייעודיים ליישום בין סוגי מודולים באמצעות יצירת הבדלים בהגדרות של מחבר CD
השימוש בשיפור של סוג קיים כבנקודת התחלה יכול להיות גישה טובה לעמידה ביעדים אלו.
מאמר זה אינו מציע לנטוש את המודולים התואמים ל–COM Express, אלא מיועד לפתוח בדיון בנושא מימושי מערכות SoC שאינן מתבססות על x86 כדי להתקדם עוד יותר לעבר אימוצם בשוק.

מתן מענה לאתגרי התכנון
הפינים שאינם מוצעים על יד מעבד SoC
קיימים כמה אותות עיקריים שיכולים לבוא בחשבון כאשר מתמודדים לראשונה עם הרעיון של פיתוח מעגל COM שאינו מבוסס x86:
*אפיק (bus) בעל כמות פינים קטנה: x86 הוא היורש של ISA, ששימש בעבר לזיכרונות הבזק של קושחה (firmware) וכיום משמש בדרך כלל להתקנת SuperIO ו–TPM ישנים
*רמקול: היום, כבר אין משתמשים ברמקול לאישור מערכת BIOS
*אודיו HD: ממשק x86 בלבד עבור השמעת אודיו (נדרש CODEC חיצוני)
*אותות A20Gate ו–KBRST: אותות של x86 בלבד עבור בקרת מקלדות ישנות, אשר נדרשים למערכות BIOS ישנות
*אותות PROCHOT# ו–THERMTRIP#: אותות המיועדים להודיע למערכת שהמעבד חורג מרמות סף פנימיות
*אפיק SM: לא קיים בדרך כלל במעבדים שאינם x86
*פינים למצב שינה בהספק נמוך עבור מעבדי x86
מעבדים משובצים המבוססים על הטכנולוגיות Power Architecture, MIPS ו–ARM אינם מספקים אותות כאלו. אותות אלו הם באמת אותות של x86 בלבד.
בנוסף קיימים כמה ממשקים שמופיעים במערכות SoC במידה מועטה יותר מאשר בהתקני x86:
*SPI: מופיעים בחלק מהתקני x86, לצורך יצירת ממשק להתקנים היקפיים איטיים כמו למשל חיבורי port לתקשורת, בקרה של מודולים חיצוניים איטיים ושל זיכרון הבזק (flash).
*USB: קיים בהתקני x86 רבים, אולם לא במידה שהוא מופיע במערכות בארכיטקטורת מחשב אישי (PC). בדרך כלל קיימים שני חיבורים לעומת עשרה ויותר שמופיעים בשבבי x86.
*קווי אספקת מתח להמתנה: בדרך כלל לא קיימים במעבדי מערכות על שבב משובצים.
מפרט COM Express מקצה אותות למגוון של ממשקי וידיאו:
*LVDS
*VGA
*SDVO (ל–x86 בלבד)
*TV–OUT
ליישומים משובצים רבים שאינם מבוססים על x86 נדרש ממשק דמוי HMI ולכן נדרשים להם אותות וידיאו הנמצאים בהגדרות של COM Express. לכך נדרש לשמור בהגדרה על אותות הווידיאו LVDS ו–VGA.
פונקציות בעלות ערך מוסף המסופקות על ידי מעבדי SoC, אם כי אינם מהווים חלק ממערך סידור הפינים
למעבדי SoC משובצים מהסוג הנדון במאמר זה יש לעתים גם ממשקים שאינם מכוסים על ידי מפרט COM Express. אלו כוללים:
*אפיק מקומי (Local Bus) כדי להתחבר ישירות בממשק לזיכרון הבזק ולהתקנים היקפיים אחרים
*כתובות MAC לרשת Ethernet עם ממשקי RGMII, SGMII או XAUI
*ממשק RapidIO® או ממשקי SerDes אחרים
*מקמ”שי UART מרובים וממשקי I2C
*ממשקים המיועדים לשימוש בתעשייה כדוגמת CANbus, TDN ופרוטוקולי תקשורת תעשייתיים שאינם לרשת Ethernet
יש לשקול שימוש בממשקים אלו על מנת לפתוח סוגים חדשים של יישומים ושווקים עבור מפרט COM Express. הזדמנויות שוק אלו כוללות בקרה תעשייתית, טלפונייה דרך IP, רישות ותקשורת, אפ כי אינן מוגבלות לתחומים אלו בלבד.
ראוי לשים לב שניתן יהיה לראות אתגרים דומים גם בעת בדיקת השימוש במערכת על השבב EP80579 של Intel® המבוססת על x86 בתכנון COM Express. לכן, על אף שמאמר זה מכוון בסעיף לעיל את תשומת הלב לממשקי מערכות שאינן מבוססות x86, הגדרה מוכוונת למערכות SoC יכולה באופן עקרוני לאפשר גם פתרונות מבוססי מערכות SoC של x86.

פתרונות אפשריים לאתגר זה:
1.להגדיר מחדש פינים המוגדרים לשימוש במפרט לשימוש למטרות אחרות. בכך יש אתגרים בפני עצמו:
*חייבים להיות פינים פנויים על מנת לעשות זאת
*יש להגדיר את הפינים כך שיהיו נוחים לשימוש במעגל נושא תואם
*על הפינים לספק פונקציה נוספת כשיחוברו למעגל נושא תואם
2. תיקנון: מאחר שנדרשים סוגים נוספים של אפיקים, תקן COM Express התפתח ליצירה של סוגי מודולים חדשים כשהוא תומך בדרישות המתקדמות ביותר של כניסות ויציאות.
דוגמה לפתרון אפשרי לסעיפים 1 ו–2 לעיל היא להוסיף ממשק ייעודי ביותר למערכת SoC, כמו למשל אפיק TDM לצורך שימוש בטלפונית IP. ייתכן שלא יהיה אפשר להתקין ממשק חדש זה בפינים השמורים שנותרו יקרי המציאות, וסביר שתידרש החלפה של ממשקים מסורתיים ישנים כגון ממשק Type2 PCI או אפיק IDE.

הבדלים בקושחה
הקושחה (firmware) המשמשת עם מעבדי x86 מספקת בדרך כלל מיספור “תקע והפעל” (plug and play) עבור התקנים אשר פועל היטב לצורך גילוי התקני במעגל הנושא בשימוש עם COM Express וביצוע קונפיגורציה בהם. אפשר לתמוך בעכבר ובמקלדת באמצעות חיבור USB ומגוון של סוגי מדיה לאתחול שנתמכים באופן פנימי.
בניגוד לאתחול מעבד אופייני שאינו x86: ייתכן שלהתקנים יש כתובות בקידוד חומרה, ולהתקנים שאינם ממוספרים במעגל הנושא PCI Express® ולרכזות USB יהיה צורך בקביעת מספור בזמן עליית הקושחה, כדי שאפשר יהיה להשתמש בהם במהלך האתחול. הפעולה האופיינית היא עם ממשק דרך חיבור port טורי: דרך זו אמורה עדיין לפעול, אך רכיבי וידיאו במעגל הנושא (אם יש כאלה) יהיו חשוכים. להתקני אתחול במעגל הנושא, כדוגמת זיכרון MicroSd וכונני SATA, יידרש קוד כונן בתוך הקושחה כדי שיוכלו לבצע אתחול.
להלן כמה פתרונות אפשריים לשימוש במערכות SoC שאינן מבוססות x86 בסביבת COM Express:
1.קושחה שמחקה רבות מבין תכונות המספור וביצוע הקונפיגורציה של BIOS/ EFI
2. קושחה שבנויה עבור מודול מסוים במעגל נושא מסוים (שים לב – אופן זה שונה ממודולים של x86 וימנע אפשרות של אספקת מודולים מבוססי מערכות SoC עם קושחה “סטנדרטית”)
קושחה שאינה משמשת לאתחול המעגל הנושא: ייתכן שחומרת המעגל הנושא לא תהיה זמינה במהלך האתחול. מערכת ההפעלה תצטרך לבצע את האתחול שלה
על מנת ליצור תקן במפרט COM Express עבור חומרה שאינה מבוססת x86, ייתכן שיש לחקור את ההבדלים האלה בהתנהגות הקושחה.

דוגמה למעגל COM Express מבוסס מערכת SoC
התפישה של מעגל COM Express, המבוססת על המעבדים P2020, P1020 ו–P1021 מסוג QorIQ של Freescale, מכילה כמה ממשקים מיוחדים שלא נחקרו במלואם במאמר זה, כולל Local Bus, ריבוי של אפיקי I2C, מקמ”שי DUART עם בקרת רצף ויצירת אותות שעון לפי IEEE® 1588. אלו מדגימים את המגוון של ממשקים שאותם יש לשקול ואת קיומם יש בהגדרה תקנית של COM Express מוכוונת מערכות SoC.
סיכום
מפרט COM Express היה מיועד מלכתחילה לשימוש עם מעבדים בארכיטקטורת x86 של מחשבים אישיים וגורם הצורה התקבל בשוק בצורה נרחבת. אנו מאמינים שאפשר להרחיב את הגישה של מחשב במודול לשימוש כללי כדי ליישם כלליות רבה יותר גם למוצרים של מערכות על שבב. היינו מעונינים לעבוד ביחד עם ארגון PICMG® על מנת לפתח תקני COM Express עבור מעבדים במערכות על שבב שאינם x86.

תגובות סגורות