חיווט CAN bus אמין הוא משמעת של השכבה הפיזית המוגדרת על ידי שלושה אילוצים קשיחים — טופולוגיה, אורך גזע (stub) ומיקום סיום (termination):
נקודות עיקריות
- CAN משתמש ב-bus לינארי (שרשרת בלבד) — כל צומת מתחבר לגזע יחיד בסדרה, ופריסות כוכב, עץ או טבעת אסורות מכיוון שהחזרות מהענפים פוגעות בדגימת הביטים.
- במהירות 1 מגה-ביט לשנייה, אורך הגזע הבודד צריך להישאר מתחת ל-0.3 מטר ואורך ה-bus הכולל מתחת ל-40 מטר בערך; שני הגבולות מתרככים ככל שקצב הנתונים יורד.
- ISO 11898-2 דורש נגד סיום של 120 Ω בכל קצה פיזי של ה-bus — שני מגבילים בסך הכל, לעולם לא אחד ולעולם לא שלושה.
- מדידה של ~60 Ω בין CAN_H ל-CAN_L כאשר החשמל כבוי מאשרת סיום כפול תקין; ~120 Ω מצביע על מגביל חסר ו-~40 Ω מצביע על מגביל נוסף.
- רתמות CAN מותאמות אישית עבור SAE J1939 ו-CANopen שולטות באורך הגזע בנקודת הפיצול של המחבר, ושומרות על ירידות קצרות מספיק כדי לשמר את שלמות האות במהירות 500 קילו-ביט לשנייה ומעלה.
כלל אצבע הנדסי: הניחו בדיוק שני מגבילי 120 Ω בשני הקצוות הרחוקים ביותר של הגזע, שמרו על כל גזע מתחת ל-0.3 מטר במהירות 1 מגה-ביט לשנייה, והאריכו את הגזע כדי להגיע לצומת במקום להתפצל ממנו.
מדוע CAN סובל רק טופולוגיית שרשרת לינארית
CAN הוא bus דיפרנציאלי מרובה נקודות המוגדר על ידי ISO 11898-2 כגזע לינארי יחיד. כל צומת מתחבר לגזע זה דרך גזע קצר, או ירידה (drop), ולא דרך ענף משלו. ה-bus מסתמך על כך שכל משדר יראה צורת גל דיפרנציאלית נקייה בתוך זמן ביט יחיד, כולל במהלך ארביטראז' לא הרסני שבו מצבים דומיננטיים ורצסיביים חייבים להתייצב על פני כל אורך הכבל.
טופולוגיות כוכב, עץ וטבעת שוברות זאת. כל צומת הוא אי-רציפות של עכבה (impedance discontinuity) המשגר החזרות בחזרה לאורך הגזע, והחזרות הללו מגיעות לנקודות הדגימה כ-overshoot, רינגינג (ringing) או קצוות שגויים. לכן, מקטע CAN בייצור בנוי כגזע רתמת חוטים מותאמת אישית יחיד עם פיצולים קצרים ומבוקרים לכל מחבר צומת — לא כרכזית עם זרועות מתפשטות. כאשר כוכב בלתי נמנע, נדרש משחזר CAN פעיל או רכזית כדי לסיים מחדש כל מקטע.
מגבלות אורך גזע וקצב סיביות
גדם (stub) הוא הקטע הלא-מוארך של כבל בין הראשי (trunk) לבין צומת (node). מכיוון שהעכבה הנומינלית של הכבל, 120 Ω, מופרעת בקצה הגדם הפתוח, הגדם מתנהג כאי-רציפות בקו השידור: חלק מהאות מוחזר, נוסע חזרה לראשי, ומוטמע על גבי צורת הגל החיה. כאשר השהיית הלוך-חזור לאורך הגדם מתקרבת לחלק משמעותי מזמן העלייה של האות, ההחזרה הזו נוחתת בתוך חלון הדגימה ומקלקלת את הסיבית.
ככל שקצב הסיביות מהיר יותר, זמן הסיבית קצר יותר, והגדם הנסבל קצר יותר. במהירות של 1 מגה-ביט לשנייה, המגבלה הקנונית היא בערך 0.3 מטר לגדם, כאשר גם אורך הגדם המצטבר על פני כל האפיק מוגבל. ההיגיון מאחורי יעד ה-120 Ω וכיצד הוא שונה מכבל Ethernet של 100 Ω מכוסה במדריך שלנו ל-עכבה אופיינית של כבל CAN bus. הטבלה שלהלן מסכמת הנחיות ISO 11898-2 / CiA-aligned לקצבי סיביות נפוצים.
| קצב סיביות | אורך אפיק מקסימלי (טיפוסי) | גדם בודד מקסימלי | גדם מצטבר מקסימלי |
|---|---|---|---|
| 1 מגה-ביט לשנייה | 40 מ' | 0.3 מ' | ~0.6 מ' |
| 500 קילו-ביט לשנייה | 100 מ' | 0.6 מ' | ~1.5 מ' |
| 250 קילו-ביט לשנייה | 250 מ' | 1.0 מ' | ~3 מ' |
| 125 קילו-ביט לשנייה | 500 מ' | 1.5 מ' | ~6 מ' |
| 50 קילו-ביט לשנייה | 1,000 מ' | 3 מ' | ~12 מ' |
נתוני אורך האפיק מוגבלים על ידי השהיית התפשטות ומבוססים היטב; הקצבות הגדם בקצב נמוך יותר הן קנה מידה טיפוסי בתעשייה ולא ערכים סטנדרטיים קבועים, לכן התייחס אליהן כתקרות תכנון והישאר בתוכן היטב בבנייה הרגישה ל-EMC.
Need a CAN Bus Harness Built to Spec?
מיקום סיום — שני נגדי 120 Ω, לא יותר
ISO 11898-2 מחייב סיום של 120 Ω בכל קצה פיזי של הראשי כדי להתאים לעכבת הכבל ולספוג את האות כך שלא יוחזר. שני נגדי 120 Ω במקביל מציגים 60 Ω לאפיק, וזו הסיבה שקטע מופעל כראוי ומסתיים כראוי קורא כ-60 Ω בין CAN_H ל-CAN_L. קריאה של כ-120 Ω פירושה שחסר טרמינטור אחד; קריאה של כ-40 Ω פירושה שנגד שלישי נוסף איפשהו על האפיק.
שתי תצורות נפוצות. סיום סטנדרטי ממקם נגד בודד של 120 Ω בכל קצה. סיום מפוצל מחלק כל טרמינטור לשני נגדים של 60 Ω בטור, עם קבל — בדרך כלל 4.7 nF — לאדמה בנקודת האמצע, אשר מסנן רעשי מצב משותף ומפחית פליטות קרינה בריצות תעשייתיות ארוכות.
| תצורת סיום | תצורה | מתי להשתמש | התנהגות מצב משותף |
|---|---|---|---|
| סטנדרטי | נגד אחד של 120 Ω בכל קצה של האפיק | ריצות קצרות ברכב ובתעשייה | ללא סינון מצב משותף |
| מפוצל | שני נגדים של 60 Ω בטור בכל קצה, 4.7 nF לאדמה בנקודת האמצע | ריצות ארוכות וצמתים רגישים ל-EMC | מסנן רעשי מצב משותף, מפחית פליטות |
חיווט CAN בפועל: רכב, ציוד כבד ותעשייה
ברכבים קלים, רשתות הנעה ואבחון OBD-II מריצות CAN במהירות 500 קילו-ביט/שנייה על זוג שזור, וכל רשת ה-ECU בנויה כמערכת שרשרת דג (daisy-chained) של רתמת חוטים לרכב עם טרמינטורים המשולבים בשני המודולים בקצוות. תקן SAE J1939 מנהל רשתות לרכב כבד ומסחרי, היסטורית במהירות 250 קילו-ביט/שנייה ובמהירות 500 קילו-ביט/שנייה תחת J1939-14.
ציוד שטח חקלאי וציוד שאינו מיועד לכביש מוסיף דרישות איטום, ולכן גופי J1939 מסתיימים בדרך כלל במחברי Deutsch DT ו-DTM המדורגים לעמידות בפני רעידות וחדירה; רתמת חוטים של Deutsch אטומה שומרת על המשכיות הגוף הראשי תוך פיצול ענפים קצרים לכל בקר.
ברצפת המפעל, CANopen (לפי CiA 301) ו-DeviceNet משתמשים באותו שכבה פיזית דרך מחברי M12 5-pin או DB9 לפי הקצאות הפינים של CiA 303, לעיתים קרובות בכבל גמיש רציף לשרשרת גרירה (drag chain). רתמת חוטים תעשייתית המדורגת לשרשרת גרירה חייבת לשמור על יציבות הענפים הקצרים בקטע הגמיש, שם ירידה ארוכה או משתנה תפגע בשלמות האות מהר יותר מאשר התקנה סטטית.
שאלות נפוצות לגבי חיווט CAN Bus
מהו אורך הסטאב המרבי עבור CAN במהירות 500 קילו-ביט/שנייה?
במהירות של 500 קילו-ביט לשנייה, יש לשמור על אורך כל קטע מחובר (stub) מתחת לכ-0.6 מטר ואורך הקטעים המצטבר מתחת לכ-1.5 מטר. אלו הם תקרות תכנון הנגזרות מזמן הביט וזמן העלייה של האות, ולא מגבלות תקן קשיחות, כך שתמיד בטוח יותר להשתמש באורכים קצרים יותר באפיקים רועשים או ארוכים.
האם נגד סיום (termination resistor) של CAN יכול להיות באמצע האפיק?
לא — שני הנגדים של 120 אוהם חייבים להיות ממוקמים בשני הקצוות הפיזיים של הגזע המרכזי (trunk), לא באמצע. נגד סיום באמצע האפיק מפצל את הכבל לשני מקטעים לא מסוכמים (un-terminated) שקצותיהם הפתוחים מחזירים אותות, והוא מוסיף התנגדות שלישית במקביל המורידה את עכבת האפיק (bus impedance) מתחת לערך ההתאמה.
מה קורה אם באפיק CAN יש שלושה נגדי סיום?
שלושה נגדים של 120 אוהם במקביל מורידים את עכבת האפיק האפקטיבית לכ-40 אוהם, מה שמעמיס יתר על המידה על המשדרים-מקלטים (transceivers) ומחליש את תנודת המתח הדיפרנציאלי. האפיק עשוי עדיין לעבוד במהירויות נמוכות אך יציג ספירת שגיאות עולה ככל שהמהירות או הטמפרטורה עולות.
האם CAN תומך בטופולוגיית כוכב או ענף?
CAN מוגדר רק עבור טופולוגיית שרשרת לינארית (daisy-chain); טופולוגיות כוכב או טבעת מובנות אינן מותרות. כוכב אפשרי רק באמצעות רכזת CAN פעילה (active CAN hub) או משחזר (repeater) המבצע סיום מחדש והנעה מחדש של כל זרוע כמקטע מסוכם עצמאי.
כיצד ניתן להשיג רתמת CAN מותאמת אישית עם אורכי קטעים מבוקרים?
רתמת CAN מותאמת אישית שולטת באורך הקטעים בנקודות הפיצול של המחברים ומשלבת את שני נגדי ה-120 אוהם בקצוות או במחברי הקצה. יש לציין את קצב הנתונים (bit rate), אורך האפיק הכולל, מספר הצמתים והמרווח ביניהם, משפחת המחברים (Deutsch, M12, או DB9), והאם נדרש פיצול סיום (split termination), וניתן לאמת את הבנייה מול תקציב הקטעים והאורך לפני הייצור.
אמינות CAN נקבעת ברמת הרתמה, לא בקושחה (firmware): גזע לינארי יחיד, קטעים קצרים מתחת לתקרת קצב הנתונים, ושני נגדי 120 אוהם בדיוק בקצוות הפיזיים. יש לציין את שלושת התנאים הללו כראוי והאפיק יסבול רעש, רעידות ומרחק; אם אחד מהם שגוי, הכשלים יופיעו כשגיאות סיביות לסירוגין, קשות למעקב, תחת עומס.