בניית דופק מהירות OBD: הנה הקרח

אני coder תוכנה crappy כאשר הוא מגיע אליו. לא שימו לב כאשר הכל הלך מונחה עצמים ושורשים שלי היו תמיד שפת האסיפה ומערכות הפעלה בזמן אמת (RTOS) בכל מקרה.

אז זה רק טבעי כי הייתי מגיע עבור אמולטור אמיתי אמולטור (קרח) כדי לסיים את האוטובוס הקטן שלי obdii כדי מהירות הדופק גנרטור יישומון. קרח הוא מכשיר חומרה המשמש למערכות מוטבע Debug. זה מתקשר עם microcontroller על הלוח שלך, ומאפשר לך להציג את מה שקורה על ידי ביצוע ביצוע ובדיקה או שינוי ערכים בחומרה registers. אם אתה רוצה להיות נהדר בפיתוח מוטבע אתה צריך להיות נהדר באמצעות אמולציה במעגל.

לא רק אני מקבל ליהנות הטעויות שלי כמעט בזמן אמת, אני מקבל וידאו על זה.

קבלת נתונים מתוך רכב

אני כבר עובד על לוח קטן אשר תקע לתוך המכונית שלי ולתת גישה ישירה מהירות דיווח על רשת אזור הבקר (באוטובוס יכול).

כדי לגבות קצת, את הווידאו האחרון שלי היה על הרצון שלי innane לעשות הרכבה קטנה שיכולה לחבר את הנמל OBDII על המשאית שלי וליצור סדרה של פולסים המייצגים את המהירות של המכונית שלי GPS לתפקד הרבה הרבה במדויק יותר. אמנם היה חוט קבור עמוק בחבילות מרובות של חוטים המחוברים מודול בקרת המנוע של הרכב, עשיתי החלטה מסיבות רבות ליצור מקור האות שלי.

בלב הפרויקט שלי הוא הצורך להמיר את נמל OBDII ואת הפרוטוקול הבסיסי יכול למשתנה בסיסי המייצג את המהירות, ולאחר מכן סמוי כי ערך הדופק שבו התדירות השתנה על בסיס מהירות. OBDII / יכול פרוטוקול מטופל על ידי שבב STN1110 והומרו ASCII, ואני משתמש ATMega328 כמו למצוא על שפע של לוחות Arduino עבור ASCII כדי הדופק המרה. אני משתמש בחומרה interrupts כדי לשלוט על פלט האות עבור סלע מוצק, להתעצבן ללא תזמון.

ללכת בתהליך של שימוש אמולטור במעגל בסרטון להלן, ולהצטרף אלי לאחר הפסקה במשך כמה פרטים נוספים על התהליך.

החומרה

אני מתעדכן את הלוח בהתחשב בכך שהסרטון האחרון והסיר את התמיכה בפרוטוקולים השונים שאינם יכולים, מהו פרוטוקול לא מיושן של החבורה. על ידי הסרת חבורה של חלקים הייתי מסוגל לשנות את סגנון החבילה דרך חור אשר הרבה יותר קל עבור הרבה תחביבים הביתה, כך שתוכל להשאיר את הלחמה להדביק את המקרר.

Rev 2.

1.

את “מחבר אחר” על Arduino שלך

שלא כמו Arduino אשר מוכן לדבר עם יציאת ה- USB שלך כאשר אתה לוקח את זה מחוץ לקופסה, שבבי Atmega מגיעים ללא כל ידע של איך ללכת ולהוריד קוד, במילים אחרות אין לו מטעין אתחול. כתוצאה מכך יש לי סיכות בתכנות סידורי (ICSP) מנותבים לכותרת סיכה על הלוח שלי, כך שאני יכול לתכנת את החלק ישירות.

במחבר זה תוכלו למצוא את קו האיפוס, המציין עם כותרת זו אני יכול להשתמש בקרח אמיתי ניצול פרוטוקול Debugwire. בהתחשב בכך רוב העצום של עיצובים המשתמשים שבב AVR לא repurpose פין איפוס עבור GPIO, זה הסיכה הטובה ביותר להשתמש עבור קרח. כל התקשורת במהלך תהליך Debug יתקיימו על סיכת איפוס.

הזן את הקרח

בעת יצירת מחשב מאפס יש תמיד את הבמה שבה שום דבר עדיין עובד. במילים פשוטות, מעגל המיקרו אינו יכול לעבוד עד כמעט כל חלק של עבודות העיצוב; RAM, ROM, ואת האוטובוסים הבסיסיים כל צריך (בעיקר) עבודה לפני דברים בסיסיים ניתן לעשות. כמו מהנדס חומרה על ידי המסחר הייתי תמיד להגיע לקרח לבעוט את היישום; only after the Beta release would the ICE start to gather dust in the corner.

In the case of the ATmega, the debugging capabilities are built into the microcontroller itself. This is a much a lot more straightforward implementation than the early days when we had to have a second isolated processor running off-board with its own local RAM/ROM.

One note pointed out in the video is that a standard Arduino’ish board needs to have the filter capacitors removed from the RESET line to allow the high speed data on the line for its debugWIRE usage.

The ICE I am using here is the one made by Atmel, and is compatible with Atmel Studio, there are also other models available such as the AVR Dragon.

ICEyness

The ICE allows us to download and single step our code while being able to observe and overwrite RAM and I/O Registers from the keyboard. We are able to enjoy the program step by step or look underneath at the actual assembly code generated by the compiler. We can enjoy variables and locations directly in RAM or enjoy the C language counterparts. It’s also possible to jump over a sub-routine call in the instance of just wanting to see the result without all of the processing.

It’s worth your time to see even a look of the capabilities of an ICE in a. אני ממליץ לך ליהנות מהוידאו שבו באגים להתחיל.

מילים סופיות

וידאו זה היה באמת על גימור המעגל obdii אז לא ממש יש לי את הזמן כדי לדון כל קרח יכול לעשות, אולי אני אעשה הודעה מוקדש רק בסביבת הקרח ופיתוח בפעם הבאה.

Leave a Reply

Your email address will not be published. Required fields are marked *