اگر بخواهیم بگوییم پروگرام چیست به زبان ساده، یعنی بازگردانی یا تغییر کدهای حیاتی خودرو برای رفع مشکلاتی مثل کپ کردن، بد روشن شدن یا ناهماهنگی قطعات. در واقع با استفاده از یک دستگاه پروگرامر، جان تازهای به مغز خودرو بخشیده میشود تا بدون نیاز به تعویض سختافزار، ایرادات نرمافزاری برطرف گردند.
بر روی برد الکترونیکی که ادوات و قطعات سختافزاری دیده میشود، برنامههای نرمافزاری از قبل بارگذاری شده است تا بوسیله این برنامهها، ایسیو قادر به تصمیمگیری و انجام وظایف خود باشد. عملیات بارگذاری برنامههای نرمافزاری ایسیو را پروگرام کردن ایسیو یا Programming میگویند به عبارتی سادهتر، به عملیات خواندن و ویرایش کردن و نوشتن دادههای موجود در حافظههای مختلف ایسیو به منظور بازیابی، به روزرسانی و تغییر در کارکرد ایسیو را پروگرام کردن گفته میشود. در این مقاله دلایل اصلی و انواع روشهای پروگرام کردن ایسیو و همچنین تفاوت پروگرام کردن ایسیو، فلش کردن و ریمپ کردن مورد بررسی قرار می گیرد.
آنچه در این مقاله خواهید خواند...

شکل 1 یک نوع حافظه EEPROM یا Electrically Erasable Programmable Read-Only Memory را نشان میدهد. اطلاعات ذخیره شده در این حافظه برای انجام تنظیمات پایدار و حفظ کالیبراسیون انجام شده مورد استفاده قرار میگیرد و پارامترهایی مثل کد ایموبلایزر، ذخیره مقادیر مرتبط با تنظیمات و کالیبراسیون، ذخیره اطلاعات شماره شاسی یا VIN Code، ذخیره کدهای خطا، وضغیت قفل یا باز بودن ایسیو و غیره را حفظ و نگهداری میکند.
شکل 1- یک نوع حافظه EEPROM
نوعی دیگر از حافظه ایسیو Flash memory است که در شکل 2 مشاهده میشود. این حافظه نقش بسیار مهمی در کارکرد ایسیو دارد و وظیفه آن نگهداری و مراقب از برنامهها و نقشههای کارکردی موتور از جمله ذخیرهسازی نرمافزار اصلی یا firmware، نگهداری نقشهها یا mapهای ایسیو، ایجاد قابلیت به روزرسانی و reprogramming، ذخیره کردن برخی دادههای موقت، ایجاد ارتباط با سایر ایسیوها و غیره است.
دوره آموزش تعمیر ایسیو با ارائه مدرک معتبر از دانشگاه شریف

شکل 2- یک نوع حافظه Flash Memory
لازم به توضیح است که که حافظه موقت یا RAM یا Random-Access Memory برای نگهداری دادههای لحظهای مثل دور موتور، زمان تزریق فعلی، وضعیت دریچه گاز و غیره در ایسیو مورد استفاده قرار میگیرد.
چرا به پروگرام کردن ایسیو نیاز داریم؟ (دلایل اصلی و کاربردها)
- برطرف کردن عیوب نرمافزاری که به دلیل نوسان ولتاژ جریان برق، ایجاد پارازیت، خرابی حافظه، ایراد برنامه نویسی و غیره ایجاد میشود.
- اگر حافظههای EEPROM و FLASH سوخته باشد، پس از تعویض نیاز به احیای نرمافزاری دارند که باید برنامه مخصوص همان ایسیو روی حافظهها بارگذاری شود و عملیات پروگرامینگ انجام شود.
- هنگامی که ایسیو جدید بر روی خودرو نصب میشود برای سازگاری نرمافزار و کد ایموبلایزر، نیاز به بارگذاری مجدد برنامه ایسیو وجود دارد.
- به روزرسانی کارکرد موتور خودرو از طریق بارگذاری برنامههای جدید ایسیو که توسط خودروسازان ارائه میشود.
- حذف خطاهای دائمی سیستمهای مکاترونیکی خودرو که ناشی از خرابی قطعات نیست و به صورت نرمافزاری ایجاد شده است.
در چه شرایطی به پروگرام کردن ایسیو (ECU) نیاز است؟
معمولا در شرایط زیر میتوان پروگرام کردن ایسیو را انجام داد:
- پاک شدن، آسیب دیدن یا سوختن آیسیهای EEPROM و FLASH
- عدم برقراری ایسیو
- پاک کردن کد ایموبلایزر
- پاک کردن کدهای خطای نرمافزاری که با دیاگ پاک نمیشوند.
- افزایش کارایی و به روزرسانی نرمافزارهای ایسیو
- روشن نشدن موتور و عدم ارتباط ایسیو با دیاگ
- ایجاد مشکلات سختافزاری برای ایسیو مانند نفوذ آب به داخل ایسیو یا تغییرات ولتاژ زیاد جریان برق یا ایجاد شوک الکتریکی به ایسیو
انواع پروتکلهای ارتباطی؛ پروگرام کردن ایسیو چگونه انجام میشود؟
دستگاههای پروگرامر بر اساس پروتکلهای استاندارد شده و مشخصی با ایسیو ارتباط برقرار میکنند و پس از آن میتوان عملیات بارگذاری برنامههای ایسیو را انجام داد لازم به ذکر است که ایسیوهای مختلف به پروتکلهای متفاوتی مجهز هستند و قبل از اتصال دستگاه پروگرامر به ایسیو، باید از صحت پروتکل انتخابی اطمینان حاصل کرد. برخی پروتکلهای ارتباطی بین ایسیو و پروگرامر به شرح زیر هستند:
- پروتکل K-LINE که به ISO 9141 نیز معروف است، یک پروتکل تک سیمه و با سرعت پایین است که در ایسیوهای نسل قدیم همانند ساژم و زیمنس ( تفاوت ایسیو ساژم و زیمنس ) مورد استفاده قرار میگرفت.
- پروتکل CAN که برگرفته از کلمات Controller Area Network است، یک پروتکل دو سیمه و با سرعت بالا است که در بسیاری از ایسیوها همانند Valeo، ME17، SSAT و غیره مورد استفاده قرار میگیرد.
- BDM که از کلمات Background Debug Mode گرفته شده است و برای پروگرام کردن ایسیو در حالتی که ایسیو باز شده است و به صورت آفلاین مورد استفاده قرار میگیرد
- JTAG برای پروگرام کدرن و دیباگ کردن ایسیوهای جدیدتر و پیچیدهتر مورد استفاده قرار میگیرد.
- BOOT MODE برای دسترسی کامل به حافظه داخلی و باز نویسی کامل Firmware بخصوص در ایسیوهای بوش مورد استفاده قرار میگیرد.
انواع روشهای پروگرام کردن ایسیو؛ از درگاه دیاگ تا جیتگ (JTAG)
برای پروگرام کردن ایسیو معمولا از روشهای زیر استفاده میشود:
- پروگرام کردن از طریق پورت OBD یا On-Board Diagnostic
مطابق شکل 3، در این روش، کابل دستگاه پروگرامر به ترمینال OBD خودرو متصل میشود و به سادگی عملیات بارگذاری اطلاعات یا پروگرامینگ در زمان کوتاه انجام میشود. این روش نیاز به باز کردن ایسیو از روی خودرو ندارد.
شکل 3- پروگرام کردن از طریق پورت OBD -
پروگرام کردن در حالت Boot Mode
در این روش مطابق شکل 4، باید ایسیو را از روی خودرو باز کرد و با استفاده از دستگاههایی مانند K-TAG، CMD FLASH، TRASDATA و غیره عملیات پروگرام کردن انجام میشود. در حالتهایی که امکان پروگرام کردن ایسیو از طریق OBD نیست یا ایسیو قفل شده است، این روش میتواند مفید واقع شود.
شکل 4- پروگرام کردن به روش Boot Mode
- پروگرام کردن مستقیم EEPROM یا MCU
هنگامی که ایسیو دچار مشکلات اساسی میشود، میسوزد و یا نیاز به ویرایش و نوشتن کامل اطلاعات سیستم ضدسرقت وجود دارد، باید آیسی مربوطه را از روی برد ایسیو مطابق شکل 5، جدا کرد و سپس با استفاده از دستگاههای پروگرام کردن همانند TL866، XPROG، VVDI PROG و غیره نسبت به پروگرام کردن ایسیو اقدام کرد.
شکل 5-پروگرام کردن به روش مستقیم
تفاوت پروگرام کردن ایسیو با فلش و ریمپ چیست؟
تفاوتهای چشمگیری بین عبارات پروگرام کردن، فلش کردن و ریمپ کردن وجود دارد که افراد پیش از مبادرت به انجام آنها باید آگاهی لازم از کارکرد آنها داشته باشند که در ذیل به آن پرداخته میشود.
عملیات پروگرام کردن ایسیو به عملیات نوشتن نرمافزار اصلی روی حافظه داخلی ایسیو برای ایجاد کالیبراسیون کارخانهای یا حالت تنظیمات اصلی است. با انجام این حالت، ایسیو با تنظیمات کارخانهای باز میگردد و در صورت سالم بودن سایر اجزای سیستم مکاترونیکی موردنظر، کارکرد آن سیستم باید مطابق استانداردهای کارخانهای باشد.
با انجام عملیات Flashing یا فلش کردن ایسیو، بازنویسی نرمافزار ایسیو از طریق پورت OBD یا BOOT انجام میشود و این موضوع عملیات به روزرسانی نرمافزار ایسیو و همچنین برطرف کردن مشکلات نرمافزاری ایسیو را آسان میکند.
عملیات ریمپ کردن یا Remapping به اصلاح جداول کنترل مقادیر و پارامترهای مختلف اطلاق میشود که منجر به افزایش توان موتور، کاهش مصرف سوخت، کاهش آلایندگی و اصلاح برخی پارامترها مانند کنترل دمای مایع خنک کننده موتور میشود.
کاربرد دستگاه پروگرامر در عیبیابی و تعمیرات نرمافزاری ایسیو
مهارت کار کردن با دستگاههای پروگرامر و پروگرام کردن ایسیو، یکی از مهارتهای مهم و انکارناپذیر در فرآیند تعمیرات ایسیو و نودهای مالتیپلکس محسوب میشود. عملیات پروگرام کردن ایسیو در شرایط زیر باید انجام شود:
- احیای ایسیوی سوخته که دادههای آن پاک شده و یا حافظه آن آسیب دیده است.
- استفاده از ایسیوی استوک جدید که نیاز به کد ایموبلایزر و تنظیمات جدید دارد.
- برطرف کردن خطاهای نرمافزاری که قابلیت پاک کردن با دستگاه دیاگ ندارد
- ایجاد تغییرات در کد ایموبلایزر
- به روزرسانی نرمافزار ایسیو به منظور کارکرد بهتر ایسیو
دستگاه پروگرامر چیست؟
دستگاه پروگرامر یک ابزار تخصصی الکترونیکی است که برای برقراری ارتباط با حافظههای ایسیو و خواندن یا نوشتن داده روی آنها طراحی شده است. این دستگاه از طریق پروتکلهای ارتباطی مختلف مانند OBD، BDM یا JTAG به ایسیو متصل میشود و امکان پروگرامینگ را فراهم میکند.
رایجترین دستگاههای پروگرامر که در تعمیرگاههای ایسیو استفاده میشوند:
- K-TAG : پروگرام در حالت Boot Mode
- CMD Flash : مناسب ایسیوهای اروپایی
- XPROG و TL866 : پروگرام مستقیم روی آیسی
- VVDI PROG : مناسب کد ایموبلایزر و کلید
نکات حیاتی که پیش از پروگرام کردن ایسیو باید بدانید
پیش از شروع انجام فرآیند پروگرام کردن ایسیو، باید نکات فنی و ایمنی را در نظر گرفت تا از آسیب دیدن ایسیو و اتلاف هزینه و زمان پیشگیری شود، بدین منظور نکات زیر را باید مورد توجه قرار داد:
- از منبع تغذیهای استفاده کنید که جریان و ولتاژ خروجی پایداری داشته باشد. این منبع تغذیه باید توانایی تامین ولتاژ پایداری بین 5/13 تا 14 ولت و جریان حداقل 3 آمپر را داشته باشد.
- پیش از انجام پروگرام کردن ایسیو، حتما برنامه اولیه در EEPROM و FLASH را تهیه و ذخیره کنید.
- از انطباق شماره سختافزار(HW) و شماره نرمافزار(SW) اطمینان حاصل کنید.
- در صورت باز بودن ایسیو و آیسیها، چندین بار نقشه و اتصالات را بررسی کنید تا از اتصال صحیح پایهها اطمینان حاصل کنید.
- در صورت نیاز به انجام BOOT MODE، پین BOOT را به منفی وصل کنید تا دسترسی به اطلاعات حافظه امکانپذیر شود.
- بعد از انجام فرآیند پروگرام، CHECKSUM فایل را اصلاح کنید تا عملیات BOOT شدن ایسیو انجام شود.
- در پایان عملیات پروگرام شدن ایسیو، ایسیو را روی خودرو نصب کنید و بوسیله دستگاه دیاگ، پارامترهای آن را بررسی کنید تا از صحت پارامترها اطمینان حاصل کنید.
در صورت عدم رعایت نکات فوق، مشکلاتی همچون بوت نشدن ایسیو، قفل شدن MCU، سوختن آیسی حافظه، روشن نشدن موتور و غیره ایجاد خواهد شد. به همین خاطر مهارت انجام پروگرام کردن ایسیو از اهمیت بسیار زیادی در فرآیند تعمیرات ایسیو و نودهای مالتیپلکس برخوردار است.
انتخاب ابزار باکیفیت تضمینکننده سلامت ایسیو است. لیست کامل ابزارهای مورد نیاز برای تعمیرات ایسیو را در اینجا ببینید.
سوالات متداول
۱. پروگرام کردن ایسیو چقدر طول میکشد؟
بسته به روش، از چند دقیقه (OBD) تا چند ساعت (پروگرام مستقیم آیسی) متفاوت است.
2. آیا پروگرام کردن ایسیو خطرناک است؟
اگر توسط متخصص و با ابزار مناسب انجام شود خیر ولی اما بیدقتی میتواند ایسیو را کاملاً از کار بیندازد.
3. آیا میتوان ایسیو یک خودرو را روی خودروی دیگری پروگرام کرد؟
بله، در برخی مدلهای مشابه امکانپذیر است. مثلاً ایسیو زیمنس پراید قابل تبدیل به پژو ۴۰۵ است.
4. تفاوت دانلود ایسیو با پروگرام کردن چیست؟
در عرف تعمیرگاهها دانلود به معنی پروگرام از طریق OBD است عملاً هر دو یکی هستند.
5. قبل از پروگرام کردن ایسیو چه کاری باید انجام داد؟
حتماً یک نسخه پشتیبان از اطلاعات ایسیو تهیه کنید و اگر ایسیو قبلاً سفارشیسازی شده باشد، بازیابی آن بدون بکاپ ممکن نیست.
جمع بندی
پروگرام کردن ایسیو، یکی از ارکان مهم تعمیرات ایسیو و نودهای مالتیپلکس به شمار میرود. بدین منظور یکی از سرفصلهایی که در دوره تعمیر ایسیو و نودهای مالتیپلکس که در مجموعه ایمگ در دانشگاه صنعتی شریف مورد بررسی دقیق قرار میگیرد نحوه پروگرام کردن ایسیو به صورت عملی است. بدون شک انجام تعمیرات ایسیو بدون مهارت پروگرام کردن ایسیو و حذف مشکلات نرمافزاری ایسیو امکانپذیر نیست و این مهم در دوره آموزش تعمیر ایسیو ایمگ در دانشگاه شریف به آن پرداخته میشود.

شکل 3- پروگرام کردن از طریق پورت OBD






















