טכניקות לרישום מוטציות ב-Cyology
רשומות הן מרכיבי בקרה בסיסיים בתוך יחידות בקרה אלקטרוניות של רכב (ECUs), השולטות בכל דבר מתזמון המנוע להפעלה בלמים. רישום לא נכון יחיד יכול לעגל את הכשל במערכת, קריאות חיישן לא יציב, או אפילו פגע בטיחות כלי רכב. Debugרישום שגיאות רישום מוטציות דורשות ניתוח גישה ממושמע, רב-שכבות משולבות המשלבות ניתוח חומרה, בדיקה, פרוטוקולים ואימות.
הבנת מיפוי מתקנות רישום ב-CDCUs
רשומות משמשות כמיקומים זיכרון תצורה המכתיבים כיצד פונקציות מודולים היקפיים - כגון ממירים אנלוגיים-לספריים, גנרטורים PWM, או בקרים יכולים. עיוותים מתרחשים כאשר הערך שנכתב לרישום אינו תואם את המצב התפעולי המיועד, לעתים קרובות הנובע מכך:
- (ב) רצף הזינוק המתוקן (ב-[[1924]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]]]]
- (ב) ,0) תנאי ההרחבה (FLT:1), שבו מספר משימות או מפריעים לכתוב לאותו רישום ללא סינכרון הולם.
- (ב) [15] ,0) ,ההפרעה האלקטרומגנטית או ההתערבות האלקטרומגנטית (FLT:1 ), מה שגורם לצריפים קטנים ברישוםים לא מוגנים על ידי קודים לתיקון שגיאות.
- (ב) [ה]ב"ה]: [ה], [ה], [ה], [ה], [ה],] ב[[1924]], ב[[1924]], ב[[1924]], ב[[1924]],]], ב[[1924]],]], [[1924]], [[1924]],]], [[1924]],]], [[1924]], [[1924]], [[1924]],]], [[1924]],]],]], [[1924]], [[1924]], [[1924]], [[1924]], [[1924]],]]]]]]]], [[1924]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]
- (ב) ,0) ,Firmware גרסה לא תואמת את ה- 1 (FLT:1 ), שם כתובות רישום או bitfields משתנות בין תיקונים בחומרה.
המונחים: noise workflow
לפני צלילה לכלים ספציפיים, לאמץ זרימת עבודה חוזרת:0. [bserve] בידוד ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ 1 [התחל] על ידי איסוף סימפטומים מבלי לשנות את המערכת, ולאחר מכן לצמצם את התחום, לבדוק ישירות, ליישם תיקונים, ולבסוף תוקף מחדש את השינוי.
1 אוקסילוסקופ וטכניקת אנליייזר
(המהירות הגבוהה של אוקטילוסקופים ( ⁇ 200 MHz רוחב פס) ללכוד את השלמות של האות על SPI, I2C, או במקביל לרשום קווי גישה.חפש glitches, תחת פתרון, או הגדרת / עכב זמן הפרות. לוגיקה מנתח עם פרוטוקול decoding (למשל, SPIp, LIN) מראה אם הכתובת הנכונה והנתונים על ידי להופיע על האוטובוס.
כאשר debugging FlexRay או CAN, השתמש oscilloscope חתומה כדי לקשור אותות שכבתיים פיזיים עם מסגרות פרוטוקולים.בדוק כי מזהה יכול מתאים שולחן מיפוי הרישום של ECU במחקר לאחרונה, יחידת בקרת שידור של רכב הציגה שקופיות הילוכים לסירוגין; ניתוח חשף מחזור Flexyra מכוער כי גרם לרשום לכתוב להיות מעוכב על ידי פרופיל אחד, המוביל להחלפת הילוכים משמרת.
ג'ט ו-In-Circuit Emulation
JTAG debuggers (למשל, לטרבך, Sgger J-Link) מאפשר גישה ישירה לרישום ממופת זיכרון בעוד ה- CPU נעצר או פועל.
- (ב) עיין ב[[1924]] ב[[1924]], ב[[1924]], ב[[1924]], [[1924]]]], [[1924]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]
- (ב) ,0) ,1,9, על מנת לרשום כתובות כדי לתפוס את הנתיב המדויק של קוד המכוון את רישום.
- [01:0] ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
חיקויים in-circuit (ICE) ממשיכים הלאה על ידי סימול ממשק האוטובוס של המיקרובקר, המאפשר לך להזריק תקלות או לעקוף את התנהגות החומרה.זה חשוב במיוחד עבור בדיקות גישה מתחת לטמפרטורה קיצונית או תנאי מתח.
3.הפניות - ציות עם IDE
IDEs מוטבעת מודרנית (IAR Embedded Workbench, MCUXpresso מבוסס Eclipse, Keil MDK) לספק חלונות שעון משתנים בזמן אמת ומפקחים.שלב באמצעות קוד ההתחלתיזציה על ידי קו, התבוננות כיצד ערכים רישום משתנים לאחר כל שיחת ספריה היקפית.
- (ב) ,0) ,Clock gating הרשמה ל- 1 (ב) אם השעון של הפריפריה אינו מופעל, כותב לרישום שלו הם התעלמות שקטה או לגרום תקלות קשות.
- (FLT:0 ⁇ -State ⁇ FLT:1 for flash memory - מדינות המתנה לא מוגדרות יכולות לגרום לשחיתות אקראית בזמן prefetch.
- (ב) ,0 ,101 ,9) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
הוסיפו טענות הגנתיות שבדקו ערכים נגד מסכות צפויות לאחר כל כתיבה, לדוגמה, cc-מספק יכול לתפוס תצורה שגויה מיד במהלך הפיתוח.
4.ניתוח פרוטוקול תקשורת
רבים להירשם שגיאות מקורן שגיאות ברמת האוטובוסים. השתמש מנתח אוטובוס CAN (למשל, Vector CANalyzer, Kvaser Memorator) כדי ללכוד ולפענוח הודעות.
- (ב) ,0) ,DLC לא מתאים ל- 1:1 - מסמך רשום המחכה ל-4 ע"י חוטים, אך שליחת רק 2 תשאיר את הרישום מעודכן באופן חלקי.
- (FLT:0)Checksum או CRC שגיאות FIRLT:1) על בקשות אבחון (UDS Service 0x2E, WriteData ByIdentifier).
- (ב) ,0) ,1 (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
(הופנה מהדף LIN LIN LIN LIN LIN LIN LIN LIN LIN LIN , עיין כי המאסטר ECU שולח את ההפסקה הסינכרון הנכונה ומזהה.A מסגרת LINPE מבוטח יכול לכתוב לאינדקס הלא נכון של הרישום.
סימולציה ו- Model- Based Verification
לפני חומרה זמינה, השתמש אבטיפוס וירטואלי (למשל, Synopsys Virtualizer, QEMU עם הרחבות רכב) כדי לדמות התנהגות רישום. להפעיל את היעד קושחה נגד מודל רישום-קורא של ECU.טכניקה זו יכולה לחשוף:
- (ב) ,0) שגיאות חד-פעמיות (ב- 1) ברישום חישובי כתובת.
- (ב) ויקרא (ב) לפני שכותב קודם משפיע.
- (ב) ,0) ,הרשמה בלתי חוקית (התמ"ג) היא זו שתביא לערכי ברירת מחדל אקראיים.
שילוב סימולציה עם כלי אימות רשמיים כי להוכיח מתמטית את דפוסי הגישה בהתאם למפרט של חברות כמו FLT:0) Ansys שרלוקרשפאל 1 לספק ניתוח מצב כשל ברמת הרישום.
שיטות טובות למניעת מיפוי מרישום
מניעת פרואקטיבית מפחיתה את המאמץ הניחת.שלב את הפעולות הבאות בתהליך הפיתוח שלך:
עיצוב-For-Test (DFT) Register Access
שמור על קבוצה של רשומות סטטוס וזיהוי לקריאה בלבד שחשפו את התצורה הנוכחית. Include a "CRC CRC" המצובר את כל ערכי הרישום הקריטיים; עיוות של דגלים באופן מיידי.
רישום אטומי כותב נבואות
עבור תצורה רב-ביוטה או רב-ביט, הפרעות בלתי ניתנות להפרעה סביב רצף הכתיבה ולהשתמש ב-one-instruction כותב (למשל, 32-bit Store) שבו ניתן. רבים מ- MCUs מציעים "double-word" הוראות חנות אטומיות ברמת האוטובוס.
אחסון מחדש
לאחסן הגדרות רישום קריטיות בשני מיקומים נפרדים של זיכרון (למשל, מראה RAM וגיבוי ב- EEPROM) לאחר איפוס, להשוות את שניהם; אם הם שונים, להפעיל כניסה של מדינת בטוח ולחתום על הסכסוך.
מעקב אחר כלבים ומרשם בריאות
יישום משימה רקע כי מעת לעת קורא בחזרה רישומים מפתח ומשווה אותם עם ערכים צפויים.אם חוסר יציבות נמשך, הגדלת ניגוד שגיאה.לאחר מעבר לסף, ECU נכנס למצב לא בטוח.זה חשוב במיוחד עבור מערכות ISO 26262 ASIL.
בקרת מסמכים וגרסה
שמור על קובץ תפוצה מפה או XML ב-Cortre repository. השתמש בכלים אוטומטיים (למשל, SVDConv, CMSIS-SVD) כדי ליצור קבצים ראשיים ישירות מן המפרט, ביטול שגיאות תמליל ידני כאשר קוד מועבר לגרסה מיקרו-בקר חדשה.
מקרה מחקר: דחיית PWM Register Misconfiguration
בקר מנוע היברידי הציג whine בלתי udible וצמצום היעילות. אוקסילוסקופ על פלט PWM Timer הראה מחזור קבוע של חובת תדירות, למרות האלגוריתם שליטה על חובת משתנה.שימוש ב JTAG debugger, הצוות בדק את הרישום של ה- PWM ומצא כי הוא כתב לכתובת הלא נכונה מלכתחילה.
מסקנה
קידוד תצורה שגויה של אלקטרוניקה לרכב דורש תערובת של חומרה probing, בדיקת תוכנה וניתוח פרוטוקול. על ידי הפעלת oscilloscopes עבור יושרת אות, JTAG עבור גישה ישירה, IDE debuggers עבור ניתוח זרימת קוד, ופרוטוקול מנתחים עבור תקלות ברמת האוטובוס, מהנדסים יכולים לבודד ביעילות לתקן בעיות הקשורות לרישום יקר - כגון אטומי כותב אטומי, תצורה מחדש של ציוד אחסון, ולהפחית את הטכניקות אחסון אוטומטיות של ציוד אחסון.