طراحی و مدل‌سازی اولیهECU خودروهای سری Logan بر مبنای مقاوم‌سازی در برابر خطاهای ناشی از عوامل فیزیکی با استفاده از ترکیب روش‌های SPRIT3E و TMR

نوع مقاله: مقاله پژوهشی

نویسنده

چکیده

با پیشرفت تکنولوژی ساخت خودرو و نیاز به بهینه‌سازی مواردی همچون مصرف سوخت، شتاب و سرعت خودروها، روش‌های مکانیکی کنترل عملیات موتور خودرو، پاسخگو نمی‌باشند و کنترل الکترونیکی راه‌کاریست که در خودروهای نوین بکار گرفته می‌شود. در این روش یک کامپیوتر نهفته ماموریت کنترل اعمالی از قبیل نحوه پاشش سوخت و زمان جرقه‌زنی را کنترل می‌نماید.
یکی از خودروهایی که در سالهای اخیر در کشورمان بسیار مورد توجه مصرف‌کنندگان قرار گرفته‌است، خودروهای سری لوگان می‌باشد. از طرفی نیاز به بومی‌سازی ساخت این خودرو احساس می‌شود و از سوی دیگر تغییراتی در ECUی این خودرو با هدف سازگاری با شرایط آب‌وهوایی کشور، می‌تواند عملکرد خودرو را بهبود بخشد. به همین دلیل طراحی اولیه یک ساختار سخت‌افزاری با کارایی بالا و امنیت مطلوب، هدف این مقاله می‌باشد.
در این مقاله ابتدا نحوه مدیریت سیستم سوخت‌رسانی توسط ECUبررسی می‌شود سپس مدل‌های سخت‌افزاری پردازنده‌یمناسب ECU بررسی شده و یک روش ترکیبی برای پیاده‌سازی بخش پردازشی ECUی خودروهای سری لوگان ارائه خواهد شد. در ادامه به بررسی و شبیه‌سازی این ساختار ترکیبی خواهیم پرداخت و نشان می‌دهیم چنین ساختاری کارایی و امنیت درخور سیستم کنترلی موتور خودروهای نوین را داراست. نتایج شبیه‌سازی نشان می‌دهد این ساختار کنترلی، توانایی ارائه کارایی بالا همراه با مقاومت در برابر خطاهای حاصل از اختلالات محیطی را داراست. همچنین در صورت بروز یک نقص در قسمت پردازشی این ساختار، سیستم می‌تواند همچنان به عملکرد خود ادامه ‌دهد و راننده را جهت تعویض قطعه معیوب مطلع ‌سازد، این ویژگی امنیت بالای ساختار پیشنهادی را نشان می‌دهد.

کلیدواژه‌ها


1.مقدمه

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

نظر به اینکه در حال حاضر خودروی تندر90 در داخل کشور در 3 مدل و 7 تیپ به صورت بنزینی تولید می‌شود، این خودرومیزان بالایی از تولیدات داخلی را به خود اختصاص می دهد که با توجه به سیاست‌های جاری بهنظرمی‌رسد این میزان دائما در حال افزایش است. در حال حاضرتندر90تولیدی در داخل کشور در استاندارد یورو2 پذیرفته می‌شود، که باید به یورو3 و4 ارتقا یابد. مؤثرترین عامل در این ارتقا ECU است. موتور این خودرو از نوعK4M می باشد. موتور 6/1 لیتری با 16سوپاپ، توانی حدود 110 اسب بخار[1] تولید می‌کند. این موتور در کنار جعبه‌دنده دستی 5 سرعته، مصرف سوخت نسبتاً پایینی ارائه می‌دهد. لازم به ذکر است در این خودرو به منظور افزایش کارایی موتور از سیستم پاشش سوخت انژکتوری چند نقطه‌ای جهت تزریق مستقل سوخت برای هر سیلندر استفاده شده‌است.

از سال‌های ابتدایی ورود ECU به صنعت خودروسازی، تلاش‌های فراوانی جهت بهینه‌سازی این ابزار کنترلی صورت گرفته‌است. در سال 1980 علاقه به استفاده از ECU در خودروها افزایش یافت[1].

در[1] نویسنده سعی دارد با استفاده از میکروپروسسور Z80 که یک پردازنده 8 بیتی می‌باشد، اقدام به پیاده‌سازی ECU نماید.[1] نشان می‌دهد یک پردازنده 8 بیتی در دهه 90 میلادی پاسخگوی نیازهای ECU بوده‌است که این امر نشان از پیشرفت گسترده ساخت ECUها تاکنون دارد. در اواخر قرن بیستم که مبحث هم‌طراحی سخت‌افزار و نرم‌افزار، مورد توجه قرار گرفته بود، ECU بعنوان یک مسئله هم‌طراحی سخت‌افزار و نرم‌افزار مطرح شد. در [2] نویسندگان، به حل مسئله ECU بعنوان یکی از مهمترین مسائل هم‌طراحی سخت‌افزار و نرم افزار، پرداخته و الگوریتم‌هایی را جهت پیاده‌سازی ECU ارائه کرده‌اند. تحقیقات در راه طراحی ECUهایی با قدرت بالاتر ادامه داشت ولی طراحی یک سخت‌افزار با کارایی بالا و امنیت بالا هدف تمام این مطالعات بود. در[3]نویسندگان بیشتر به مباحث سخت‌افزاری طراحی ECU پرداخته‌اند. تلاش‌ها در جهت طراحی یک سیستم کنترل الکترونیکی برای خودروها همچنان ادامه داشته‌است و پردازشگر ECU از یک میکروپروسسور 8 بیتی که در [1]مطرح شد به ساختارهای انطباقی تبدیل شده‌است.[4] تلاشی در جهت شبیه‌سازی یک کنترلر انطباقی برای ECU می‌باشد.

هدف این مقاله حرکت بسوی طراحی و ساخت کامل ECUی خودروی تندر90 مطابق با استاندارد یورو3 و یا 4 و سازگار با شرایط آب‌وهوایی کشورمان ایران می‌باشد. آنچه در ادامه خواهد آمد سعی دارد اولا سیستم یک ECU را تشریح کرده و ملاحظات یک طراحی موفق را بیان نماید و ثانیا قدم در راه طراحی اجزای یک ECU نهاده و مدلی مطلوب از یک سیستم پردازشی کنترل‌کننده موتور خودروی لوگان ارائه دهد و به بررسی آن بپردازد.بخش‌های بعدی این مقاله عبارتند از:

بخش2 که در آن نحوه مدیریت سیستم سوخت‌رسانی توسط ECU بیان می‌شود، در بخش3 مقدمه‌ای داریم بر طراحی یک ECU، در این بخش که خود از زیربخش‌های متعددی تشکیل شده‌است ابتدا بهملاحظات طراحی یک ECU پرداخته می‌شود و سپس اجزای مهم ECU را بررسی می‌کنیم و در انتهای بخش3 یک مدل ساده از ECUطراحی نموده و تحت نرم‌افزار به بررسی عملکرد آن می‌پردازیم.

ECU یک سیستم بلادرنگ می‌باشد و به همین دلیل تعدادی از تکنیک‌هایی که در سخت‌افزار سیستم‌های بلادرنگ مطرح هستند در بخش4 بصورت مختصر شرح داده می‌شوند.در بخش5 قدم در راه طراحی ECU می‌نهیم و با بررسی ساختارهای با کارایی بالا و ساختارهای مقاوم دربرابر خطا و ترکیب آنها یک سیستم پردازشی مناسب برای ECUارائه می‌کنیم وهمچنین به شبیه‌سازی ساختار ترکیبی ارائه‌شده و مقایسه آن می‌پردازیم. در انتها نیز بخش6 می‌آید که در آن به نتیجه‌گیری و پیشنهاداتی برای تحقیقات آینده خواهیم پرداخت.

 

2.نحوه مدیریت سیستم سوخت‌رسانی توسط ECU

این سامانه از سه بخش ECU، حس‌گرها و فرمان‌برها تشکیل می شود. در ECU راهبردهای محاسباتی و منطقی متعددی وجود دارد که بر اساس اطلاعات حس‌گرها، نهایتا منجر به صدور فرامینی به عملگرها می‌شود.

ECUیک کامپیوتر نهفته است که می‌تواند به کمک اطلاعاتی که به صورت زمان‌واقعی[2] از حس‌گرها می‌گیرد، با تعیین شرایط محیطی، به فرمان‌برهای نصب شده روی موتور خودرو فرمان دهد تا از این طریق، زمان و مدت پاشش سوخت و زمان جرقه را تنظیم کند وشرایط مناسب برای ایجاد بهترین احتراق در داخل سیلندرها را تأمین نماید. سوکت ECU لوگان یک تکه بوده و مجموعاً دارای 90 پایه است.این ترمینال دارای 53 پایه فعال در دو قاب 45 پایه‌ای می‌باشد. محل قرارگیری ECU کنار جعبه باطری داخل اتاق موتور می‌باشد.

ECUمجهز به دو نوع حافظه می باشد:

حافظه موقت کهدارای ساختاری همچون حافظه RAM است و اصلی‌ترین مشخصه آن فرّار بودن می‌باشد. حافظه موقت، مسئولیت ثبت وضعیت لحظه‌ایحسگرها و همچنین نتایج موقتی محاسبات را بر‌عهده دارد و محلی برای نگهداشتن معایب موقت سیستم انژکتور است.

حافظه دائم که حافظه‌ای غیر‌فرّار می باشد. حافظه دائم شامل جدول بزرگی به نام جدول تصحیح است که دراینجدول، ردیف‌ها و ستون‌هایی وجود دارد؛ ابعاد جدول تصحیح برابر تعداد حس‌گرها می‌باشد. ECU پس از باز کردن سوئیچ به بررسی حس‌گرها و گرفتن اطلاعات آنها به صورت لحظه‌ای و تجزیه و تحلیل آنها می‌پردازد. ECU با هر بار بررسی، اطلاعات حس‌گرها را دریافت داشته و از طریق اینجدول و با استفاده ازاین جدول  یک خانه  از جدول را هدف‌یابی می کند. در این خانه از جدول که طی آزمایشات متعدد در شرکت‌های سازنده برنامه‌ریزی شده‌است، سه عامل زیر مطابق شرایط موتوری و محیطی تعیین می‌گردد:

1- مدت زمان پاشش سوخت

2- لحظه پاشش سوخت توسط انژکتور

3- زمان ایجاد جرقه یا میزان آوانس جرقه

وجود دقت در این جدول که البته به صورت نمودارهایی برآورد می شود دقت کار موتور را تعیین می‌کند، البته لازم به ذکر است در ECUهای نوین این جدول به مرور زمان بسته به شرایط کار موتور به‌روز می‌شود.اصولاً طراحی سخت‌افزاری ECU نسبتاً ساده اما پرکردن جدول تصحیح آن کاری پیچیده وزمانبر می‌باشد و به مهندسی همزمان ساخت موتور و برنامه‌ریزی جداولنیازمند است.

مجموعه حس‌گرهای موتور خودروی Logan شامل دور موتور، سرعت خودرو، فشارو دمای هوای چندراهه ورودی، دمای مایع خنک‌کن، حس‌گر ضربه یا کوبش‌سنج، دمای محیط، حس‌گر اکسیژن قبل از کاتالیست[3]، حس‌گر خطی فشار گاز کولر و حس‌گر زاویه دریچه گاز می‌باشد.

عملگرها شامل انژکتورها، کویل ها، موتور پله‌ای دریچه گاز، فرمان روشن شدن رله پمپ بنزین، شیر برقی کنیستر[4]، گرم‌کن حس‌گر اکسیژن پیش از کاتالیست، چراغ انژکتور(چراغ عیب)، چراغ آب(چراغ اعلام داغی مایع خنک کن) و چراغ خطر است. برای آشنایی با حسگرها و عملگرهای متصل‌شونده به ECU به شکل(1) توجه نمایید.

 

شکل(1) حسگرها و عملگرهای متصل‌شونده به ECU

 

3. مقدمه‌ای بر طراحی یک ECU

 

1-3.ملاحظات طراحی ECU

یکیاز مشخصه‌های مهم یک ECU سرعت پردازش آن است. به اینگونه از سیستم ها بلادرنگ[5] گفته می‌شود، به این معنی که باید سرعت پردازش اطلاعات و صدور دستورات به حدی بالا باشد که به نظر آید به محض رسیدن هر نوع اطلاعاتی به ECU بلافاصله پاسخ ارسال می‌شود. اینمفهوم سطح بالا به معنی ملاقات تمام ضرب‌الاجل‌های پردازه‌های سیستم می‌باشد. از سوی دیگرECU وسیله‌ای را کنترل می‌کند که با جان انسان در ارتباط است و در صورت وقوع یک اشکال در سیستم کنترلی، امکان بروز فاجعه می‌باشد.

در چنین مواردی بحث مقاوم‌سازی در برابر خطا را داریم. این مبحث سعی دارد تاسیستم دیجیتالی را به نحوی تغییر دهد که با وجود انواع تهدیدات، سیستم هم چنان با موفقیت ماموریت خود را انجام دهد. هدف مقاوم‌سازی در برابر خطا سیستم‌های کامپیوتری فعال در محیط‌های نویزی است که ECU نیز چنین سیستمی می‌باشد.

از سمت دیگر ECU به هیچ عنوان نباید از لحاظ نرم‌افزاری قفل شود، به بیان دیگر باید الگوریتم‌های متفاوتی در نظر گرفته‌شود تا به محض خارج شدن برنامه از روند تعیین‌شده، سیستم خود را بازیابی کرده و به حالت امن بازگردد. یکی از این روش‌ها استفاده از سگ‌نگهبان[6] در سخت‌افزار می‌باشد. همانطور که از نام آن پیداست،این سگ‌نگهبانیک تایمر است که بعد از مدت معینی سیستم آن را بازآغاز[7]می‌کند و در صورتیکه بعد از مدت معینی سیستم آنرا بازآغاز نکند، نتیجه می‌گیرد که سیستم دچار مشکل شده‌است و یک شروع مجدد سریع در سیستم رخ می‌دهد. درضمن برنامه‌نویس باید طوری برنامه‌ریزی نماید که برنامه بصورت خودکار قبل از پرشدن تایمر سگ‌نگهبان، آنرا بازآغاز نماید. مشکل این روش احتمال عدم ملاقات ضرب‌الاجل می‌باشد، به این دلیل که بازآغاز هرچند سریع یک سیستم پیچیده، زمانبر خواهد بود و در این مدت ممکن است ضرب‌الاجل یک و یا حتی چند پردازه عبور کند. به همین علت سگ‌نگهبان به عنوان تکنیک اصلی در سیستم‌های بلادرنگ مورد استفاده قرار نمی‌گیرد.

ECU باید تا حد امکان در ابعاد فیزیکی کوچک طراحی شود، زیراکه هر چه ابعاد بزرگ‌تر باشد در مقابل صدمات فیزیکی آسیب پذیرتر خواهد شد. به همین دلیل مدارات تا حد امکان فشردهطراحی می‌گردند.

انتظار دیگری که از یکECUداریم، توانایی برقراری چندین ارتباط موازی در هر لحظه است که این امر با توجه به ساختار درونی ECU و گذرگاه‌های انتقال اطلاعات، می‌تواند بعنوان تنگنا در سیستم مطرح باشد.

 

2-3. اجزای یک ECU

اولین و مهم‌ترین جزء یک سیستم دیجیتال هسته پردازشی مرکزیمی‌باشد. در طراحی یک ECU دو روش برای پیاده‌سازی هسته وجود دارد. روش اول استفاده از هسته‌های از قبل طراحی‌شده‌ی موجود در بازار و روش دوم طراحی یک هسته با توجه به نیاز می‌باشد. هر کدام از این‌دو، معایب و مزایایی دارند.

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

این نوع طراحی معمولا توسط مجموعه‌ای از نرم‌افزارهایشبیه‌سازی و سنتز کدهای  توصیف سخت‌افزاری صورت می‌گیرد و در انتها روی یک FPGA[8]منعکس می‌گردد. از سوی دیگر FPGAهای معمول و موجود دربازار به خوبی پاسخگوی نیازهای ما هستند و هزینه تامین آنها نیز معقول می باشد.

جزء دیگرECU، حافظه جانبی غیرفرّار می‌باشد. این حافظه‌ها قادرند حجم زیادی اطلاعات درون خود حفظ کنند. یک ECU دارای جداول زیادی می باشد که رفتار آن‌را تعیین می‌کنند. این جداول باید در مکانی به صورت ثابت ذخیره گردند حافظه‌های غیر فرّار قادرند این کار را انجام دهند. لازم به ذکر است که بخشی از FPGAهای کنونی دارای ساختارهای حجیم حافظه درونی هستند ولی هدف طراح کاهش هزینه به‌همراه ارائه بهترین کارایی است و به همین دلیل از FPGAهای ارزانتربه همراه حافظه‌های جانبی غیرفرار بزرگ با درنظر گرفتن ساختارهای سلسله مراتبی،استفاده خواهیم کرد.

جزء دیگر، واسط‌های الکترونیکی[9] مورد نیاز است؛ یک واسط وظیفه دارد تا زبان دستگاه‌های متصل‌شونده به سیستم را برای هسته مرکزی قابل فهم کند. به عنوان یک مثال ساده می توان مفسر درگاه I2C متصل شونده به گذرگاه را ذکر نمود.

بخش دیگر که در این سیستم وجود دارد برد مادر[10] است که تمامی قطعات و ادوات الکترونیکی روی آن قرار خواهند گرفت. گر چه یک برد الکترونیکی چیزی جز مجموعه‌ای از مسیرهای مسی نیست ولی با توجه به حجم و فشردگی زیاد قطعات درECUو محدودیت‌های دیگر همچون محدودیت‌های حاصل از وجود سیگنال‌هایی با فرکانس‌ بالا،طراحی برد مادر  بسیار  پیچیده  می‌باشد.

بخش مهم دیگر یک ECU، منبع انرژی الکتریکی می‌باشد که باید بتواند یک ولتاژ ثابت و پایدار، برای سیستم تولید نماید. البته این انرژی از باتری ماشین تامین خواهد‌شد ولی ECU درون خود نیازمند مدارات تثبیت‌کننده ولتاژ می‌باشد تا دربرابر نوسانات باتری مقاوم باشد و همچنین سطح ولتاژ باتری خودرو را به سطح ولتاژ مورد نیاز سیستم دیجیتال تبدیل نماید.

هر کدام از بخش‌های یک ECU که دربالا ذکر شدند، خود دارای زیربخشهای متعددی هستند که ارتباطات همگی از طریق مسیرهای تعبیه‌شده روی برد مادر تامین می‌شود. از سوی دیگر این ارتباطات تحت قراردادهای[11]متفاوتی هستند. پیاده‌سازی همگی آنها بعنوان یک سیستم منسجم، نیازمند تکنیک‌های همگام‌سازی می‌باشد.

 

3-3. مدل‌سازی یک ECU

هدف از این بخش مقاله پیاده‌سازی و مدل‌سازی راه‌کارها در یک سیستم ECUی سادهمی‌باشد. در این بخش واحد کنترل الکترونیکی یک خودرو طراحی شده‌است و نویسنده سعی دارد  پیاده سازیرا بر اساس روش Platform-Based انجام داده و تکنیک‌های متفاوت را بصورت اولیه آزمایش نماید. سخت‌افزار استفاده شده در این طرح دو میکروکنترلر‌ خانواده AVR می‌باشند که کارایی پایینی را ارائه می کنند ولی از دید مدل‌سازی این مطلب موثر نمی‌باشد. در این طرح سعی شده‌است در برنامه شبیه‌سازی مدارات دیجیتالی تمام اجزاء مذکور با قطعات متداول و ساده مدل شوند تا عملکرد سیستم مورد بررسی قرار گیرد. در شکل(2) این سیستم را مشاهده می نمایید.

 

 

شکل (2)مدل اولیه‌ی یکECU

 

در این سیستم از یک پردازنده بعنوان هسته مرکزی استفاده شده‌است و پردازنده دیگر در حکم مفسر اطلاعات حسگرها برای هسته مرکزی می‌باشد. هدف از این عمل اولا افزایش کارایی سیستم و ثانیا آزمایش تکنیک‌های همگام‌سازی می‌باشد.

در وسط شکل(2)، چهار عدد حس‌گر آنالوگ مشاهده می‌شود که سیستم سعی در ارتباط همگام با آنها دارد و دیتای خروجی آنها را بصورت همزمان تحلیل کرده و البته روی نمایشگر نیز نشان می‌دهد. در این سیستم تعدادی سوئیچ قرار دارند که مدلی از حس‌گرهای تک‌بیتی می‌باشند. در این مدل ورودی‌هایی با اطلاعات مبتنی بر تغییرات فرکانس نیز درنظر گرفته شده است که دور موتور را اندازه‌گیری می‌کند. این نوع ورودی جهت خواندن سرعت میل‌لنگ کارایی دارد.

در طرح شکل(2) انواع خروجی‌ها نیز درنظر گرفته شده‌است.خروجی‌های تک‌بیتی که به دو عدد لامپ اخطار متصل شده‌اند. همچنین خروجی های دیجیتال سری و موازی که به نمایش‌گرها متصل هستند. این مدل همچنین دارای یک خط ارتباطی بین دو هسته می‌باشد تا روش‌های همگام‌سازی تحت این خط ارتباطی راستی‌آزمایی شوند.

از دیگر قطعاتی که در این مدل آمده‌اند، نمایش‌گرها هستند که حضور آنها صرفا جهت اطمینان  از صحت عملکرد سیستم است. حس‌گرها نیز قادرند اطلاعاتی مانند درجه حرارت آب، درجه حرارت گاز خروجی و میزان اکسیژن خروجی را به سیستم کنترلی ارسال کنند.

البته باید توجه نمود که یک ECU کامل پیچیده‌تر از این مدل می باشد و در اینجا صرفا سعی کردیم رفتار چنین سیستمی را مورد آزمایش قرار دهیم و مدلی از پیچیدگی‌های یک طرح اصلی، بدست آوریم.

 

4. تکنیک‌های مربوط به سیستم‌های بلادرنگ

جهت پیاده‌سازی یک سیستم دیجیتال بلادرنگ، تکنیک‌های متفاوتی مطرح می‌باشد. از بین تمامیه آنها، تکنیک‌هایی که سازگاری بیشتری با یک ECU دارند، باید مدنظر قرار گیرند.نویسنده بعد از بررسی تکنیک‌های مربوطه چهار دسته اصلی و جمع بندی شده‌ی زیر را پیشنهاد می‌دهد.

  1. یک سیستم سخت‌افزاری بلادرنگ مناسب باید بتواند ضرب‌الاجل‌های تمام پردازه‌ها را ملاقات کند از سوی دیگر اغلب الگوریتم‌های زمانبندی در سیستم‌های بلادرنگ از مفهوم WCET[12]برای زمانبندی استفاده می‌کنند. این پارامتر بیانگر بیشترین مدت زمان اجرای یک پردازه در سیستم‌های بلادرنگ می‌باشد که میزان WCETهای تمام پردازه‌ها در موفقیت و یا عدم موفقیت یک سیستم بلادرنگ نقش بسزایی دارد. یک سیستم بلادرنگ قدرتمند باید بتواند WCETهای پردازه‌های متفاوت را ردیابی کرده و در صورت نیاز بصورت پویا تغییراتی در مشخصات پردازه‌ها اعمال کند. این تکنیک نیازمند تعبیه تایمرهای مورد نیاز در سیستم و همچنین پیاده‌سازی الگوریتم‌های پیچیده زمانبندی می‌باشد[5].
  2. یک سیستم بلادرنگ مناسب باید از مشخصه چندپردازنده‌ای برخوردار باشد و این امر با توجه به محاسبات حجیم در این نوع سیستم‌ها معقول می‌باشد. لازم به ذکر است در این طرح برخی از پردازنده‌ها می‌توانند صرفا جهت مقاصد مقاوم‌سازی دربرابر خطا استفاده شوند.
  3. یک سیستم بلادرنگ باید تا حد امکان ساده طراحی شود و باید از تعبیه کردن ادوات اضافی در سیستم خودداری شود، به بیان دیگر ایجاد سربار سخت‌افزاری و یا نرم‌افزاری برای این دسته از سیستم‌ها نتیجه‌ای جز عدم کامیابی سیستم در ملاقات ضرب‌الاجل‌هانخواهدداشت.
  4. آخرین و مؤثرترین ایده، ساختار خط‌لوله[13] در اینگونه سیستم‌هامی‌باشد. این ساختار به طراح اجازه می‌دهد اولا کارایی را تا حد مطلوبی بالا ببرد و ثانیا با درنظر گرفتن طبقات و یا بخش‌هایی صرفا جهت مقاصد مقاوم‌سازی دربرابر خطا، بدون کاهش محسوس کارایی، مقاومت سیستم در برابر خطا را افزایش دهد.

 

5. طراحی بخش پردازشیECU

 

1-5. خط‌لوله ساختاری مناسب سیستم‌های زمان‌واقعی

یکی از اصول افزایش کارایی در سیستم‌های دیجیتالی استفاده از خط‌لوله است. این ساختار بصورت طبقاتی می‌باشد، بدین صورت که اطلاعات خام به اولین طبقه وارد می شود و طبقه اول بعد از انجام پردازش‌هایی روی این اطلاعات، نتایج را به طبقه دوم ارائه می‌دهد. به این ترتیب اطلاعات، طبقه به طبقه پیش می رود تا به خروجی برسد. به بیان دیگر اطلاعات خام در بدو ورود به مرور تکامل می‌یابند تا نتایج خروجی را تولید نمایند.

این ساختار به وفور در سیستم های بلادرنگ کاربرد دارد و از تکنیک‌هایی می‌باشد که در پردازنده‌های با عملکرد بالا مورد استفاده قرار می‌گیرد. در تحقیقات گذشته، خط‌لوله تنها در مقاصد افزایش کارایی به کار می‌رفت، در حالیکه این ساختار قابلیتی گستردهدر پیاده‌سازی سیستم‌های مقاوم‌ دربرابر خطا دارد. ایجاد تعدادی طبقه مقاوم‌ساز در برابر خطا در بین طبقات منطقی،ایده‌ای بسیار کارآمدمی‌باشد[6].

یکی از مشکلاتیخط‌لوله، استفاده از یک فرکانس کاری ثابتبا توجه به طول مسیر بحرانی می‌باشد، با اینکه بدترین مسیر شاید به ندرت تحریک شود[6]. حال اگر بخواهیم کارایی خط‌لوله را بالا بریم، تکنیک OverClocking[14]بکار می‌آید. این تکنیک می‌تواند باعث کاهش قابلیت اطمینانسیستم شود. توجه کنید که در حالت OverClocking در صورت تحریک شدن مسیر بحرانی یک خطای زمانبندی رخ خواهد داد و جلوگیری از آن بدون درنظر گرفتن تمهیداتی خاص غیر ممکن است.[7] راه‌کاری نوین پیش‌روی قرار می‌دهد، نویسنده در [7] سعی دارد با استفاده از درک وقوع خطای زمانبندی توسط سیستم، خط‌لوله را در حالت OverClocking قرار داده و بعد از وقوع خطای زمان‌بندی، اقدام به کاهش فرکانس کاری کرده و خط‌لوله را نیز تصحیح نماید. نمونه‌ای دیگر از چنین تکنیکی را می‌توان در [6] مشاهده کرد.

 

2-5. ساختار خط‌لوله SPRIT3E

تکنیکی که ما در این تحقیق ارائه می دهیم، در اصل ترکیبی از SPRIT3E[7]و TMR[15]می‌باشد. در ساختار SPRIT3E در هر طبقه خط‌لوله یک مدار ترکیبی قرار دارد که این طبقه تحت فرکانسی بیش از فرکانس مسیر بحرانی کار می کند ولی بعد از صدور خروجی توسط هر طبقه از خط‌لوله، مهلتی درنظر می‌گیرد تا در صورتی که خروجی صادرشده اشتباه بود، خط‌لوله را تصحیح کنیم. برای درک این ساختار به شکل(3) که از [7] آمده‌است توجه نمایید.

 

شکل(3) ساختار SPRIT3E(شکل از [7])

 

 به بیان دیگر SPRIT3E قادر است تا با کارایی بالایی ماموریت خود را انجام دهد ولی به دلیل اینکه از یک مدار ترکیبی در هر طبقه از آن استفاده می‌کنیم و هیچ نوع افزونگی برای آن درنظر نگرفتیم، در صورت بروز هرگونه خطای ناشی از عوامل محیطی همچون نویز، ساختار SPRIT3E، این خطا را بعنوان خطای زمان‌بندی حاصل از افزایش فرکانس تلقی کرده و علاوه بر پایین آوردن فرکانس کاری، کل خط‌لوله را خالی و آنرا تصحیح می کند!

 

3-5. ارائه ساختار ترکیبی خط لوله جهت استفاده درECU

در این بخش قصد داریم،SPRIT3E را به نحوی با تکنیک TMR درهم آمیزیم.در SPRIT3E از یک واحدخط‌لوله استفاده می‌کنیم و به همین دلیل این سیستم قادر نخواهد بود خطاهای زمان‌بندی و خطاهای حاصل از محیط نویزی را از یکدیگر تشخیص دهد و همین امر موجب کاهش کارایی خط‌لوله در محیط‌های نویزی می‌شود. در این ساختار ترکیبی، بعد از طراحی کامل خط‌لوله، سه نمونه از خط‌لوله طراحی شده مبتنی بر SPRIT3E را کنار هم قرار داده و خروجی همه را به یک رای‌گیرنده متصل می‌کنیم.شکل(4) این ساختار ترکیبی را نمایش می‌دهد.

 

 

شکل(4) ساختار ترکیبی SPRIT3E و TMR

 

در شکل(4)، هر یک از سه خط‌لوله‌ی SPRIT3E‌خروجی خود را تولید می‌کنند و نتایج را به رای‌گیرنده می‌دهند حال درصورت بروز یک خطای حاصل از محیط نویزی در این ساختار، یکی از سه خط‌لوله به اشتباه خطا را از نوع زمانبندی تشخیص داده و فرکانس خود را پایین آورده و خود را بازآغاز می‌کند، درحالیکه دو خط‌لوله دیگر فعالیت عادی خود را ادامه می‌دهند. در انتها نیز به دلیل صحت عملکرد دو خط‌لوله رای‌گیرنده نتیجه صحیح را صادر می‌کند.البته به دلیل اینکه یکی از خط‌لوله‌ها بازآغاز شده است، حالت این خط‌لوله با دو خط‌لوله دیگر متفاوت خواهد‌بود و در محاسبات بعدی، مشکل بروز خواهدکرد. برای حل این مشکل باید رای‌گیرنده بعد از ملاحظه تفاوت خروجی یک خط‌لوله با خروجی دو خط‌لوله دیگر که نشان از بروز یک خطای نویزی می‌باشد، تمام اطلاعات یکی از دو خط لوله سالم را روی خط‌لوله معیوب بازنویسی کند، که این عمل در یک دوره سیگنال ساعت ممکن است.

لازم به ذکر است درصورت بروز خطای زمانبندی حاصل از افزایش فرکانس کاری، هر سه خط‌لوله‌ی SPRIT3E آنرا تشخیص داده و فرکانس خود را پایین آورده و خود را بازآغاز می‌کنند که در این وضعیت، حالت هر سه خط‌لوله SPRIT3E‌یکسان است و عملکرد به صورت صحیح ادامه می‌یابد.

 

4-5. شبیه‌سازی سیستم دیجیتال مبتنی بر ساختار ترکیبی

سیستم ترکیبی ارائه شده در این مقاله از دو جهت قابل بررسی می‌باشد، اول توانایی سیستم در مقابله با خطاهای زمانبندی که حاصل افزایش فرکانس کاری سیستم می‌باشد و این توانایی نشان از قدرت افزایش کارایی سیستم دارد، دوم توانایی سیستم در مقابله با اختلالات محیطی و هر تاثیر مخرب محیط روی سیستم. برای بررسی هر یک از این دو باید شبیه‌سازی و آزمایش‌هایی صورت گیرد، به همین دلیل شبیه سازی این سیستم در دو حالت صورت می‌گیرد.

شبیه‌سازی اول در یک محیط عاری از نویز و اختلال صورت خواهد گرفت که نتایج این شبیه سازی صرفا توانایی سیستم در تحمل OverClocking را نمایش خواهد داد. به بیان دیگر در این شبیه سازی سعی داریم حداکثر میزان مناسب OverClockingبرای ساختار ترکیبی پیشنهادی را بیابیم. شبیه‌سازی دوم رفتار سیستم را در یک محیط نویزی مورد بررسی قرار می‌دهد وقدرت سیستم در مقابله با اختلالات محیطی را نمایش می‌دهد.

 

1-4-5. شبیه‌سازی در محیط‌ عاری از نویز

ابتدا نیاز است تا شناختی از سخت‌افزار شبیه‌سازی داشته‌باشیم. در این شبیه‌سازی یک طبقه نسبتا پیچیده از خط‌لوله ترکیبیSPRIT3E‌ و  TMR، با کدهای توصیف سخت‌افزاری طراحی گردید. این طبقه قادر است دو چندجمله‌ای درجه2 را دریافت کرده و بصورت ترکیبی، عملیات ضرب را انجام داده و چندجمله‌ای حاصلضرب درجه4 را بعنوان خروجی صادر می‌کند. تعداد مسیرهای تولید خروجی از ورودی، در چنین سخت‌افزاری بسیار زیاد می‌باشد و به همین دلیل مورد مناسبی جهت شبیه‌سازی می‌باشد.

برای شبیه‌سازی تاخیرها، برای هرماژول منطقی یک تاخیر درنظر گرفته ‌شد که فرکانس کاری این طبقه بنابر تاخیر مسیر بحرانی، 15.6Mhz محاسبه شد. این فرکانس کاری همان فرکانس تحمیلی از سوی مسیر بحرانی و یا فرکانس مرجع می‌باشد.

سپس فرکانس مدار رابالا بردیم و عملیات OverClocking صورت گرفت. در ادامه به ازای مقادیر مختلف میزان OverClocking، تعداد خطاهای زمانبندی را شمارش کردیم[16] و تعداد خطای زمانبندی را شمارش نمودیم. نتایج را می‌توان در جدول(1) مشاهده نمود.

 

جدول(1)نتایج حاصل از اعمال OverClocking روی سیستم ترکیبی

50

35

30

25

20

15

10

میزان OverClocking (درصد)

71

22

14

3.6

2.2

1

0.3

میزان خطای زمانبندی (درصد)

 

جدول(1) نشان می‌دهد هنگامیکه فرکانس را به میزان 10 درصد افزایش داده‌ایم یعنی به حدود17.1Mhz رسانده‌ایم تنها 0.3% از کل آزمایشات با خطای زمانبندی مواجه شده‌اند و نسبت خطای زمانبندی در فرکانس کاری 18.7Mhz متحد با 2.2% بوده است. نتایج فوق را می‌توانید روی نمودار شکل(5) نیز مشاهده نمایید.

 

 

شکل(5) نمودار میزان خطای زمان‌بندیبه میزان افزایش فرکانس مدار نسبت به فرکانس مرجع

 

با توجه به شکل(5) نقطه جهش نمودار در 25درصد افزایش فرکانس رخ می‌دهد. لازم به ذکر است میزان خطای زمان‌بندی با این میزان OverClocking تنها 3.6% می‌باشد. به بیان دیگر تا 25درصد افزایش فرکانس، برای این ساختار ترکیبی مناسب می‌باشد. در این بخش به هیچ  عنوان خطای ناشی از اختلالات محیطی به سیستم ترکیبی وارد نکردیم و تنها هدف مقایسه ساختار ترکیبی با SPRIT3E بود. نتایج در این مرحله نشان می‌دهد ساختار ترکیبی همچون SPRIT3E قادر است در مقابل خطای زمانبندی مقاومت نماید. حداکثر میزان OverClocking در ساختار ترکیبی نیز تقریبا همان مقداریست که در [7] برای ساختار SPRIT3E گزارش شده‌است.

 

2-4-5. شبیه‌سازی در محیطی با اختلالات محیطی

در این شبیه‌سازی، سیستم ترکیبی را تحت تزریق خطا قرار دادیم و همانند بخش قبل فرکانس سیستم را افزایش داده و رفتار سیستم را مشاهده نمودیم.

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

در ادامه شبیه‌سازی به دو خط‌لولهSPRIT3E خطا تزریق کردیم و ساختار ترکیبی دیگر نمی‌توانست نتیجه صحیح را صادر نماید. البته در این حالت نیز تشخیص وقوع خطای حاصل از اختلالات محیطی ممکن است و سیستم قادر خواهد بود خود را بازآغاز نماید.

نتایج شبیه‌سازی نشان می‌دهد ساختار ترکیبی مزایای هر دو ساختار SPRIT3E و TMR را دربردارد و از آنجا که مزایای این دو مکمل یکدیگر هستند، این سیستم ترکیبی عملکرد مناسبی خواهد داشت. از سوی دیگر ساختار ترکیبی حتی در هنگام وقوع یک خطای دائم می‌تواند به عملکرد خود ادامه دهد که این امر برای استفاده در ECUی خودرو بسیار مناسب می‌باشد زیراکه سیستم می‌تواند بعد از تشخیص یک نقص دائم در یکی از خط‌لوله‌های SPRIT3E، یک اخطار نقص ECU به راننده اعلام کند، تا راننده در اسرع وقت اقدام به تعمیر ECU نماید. این خصوصیت ساختار ترکیبی خود عامل مهمی در امنیت سیستم کنترلی می‌باشد که امنیت در ECUی یک خودرو بسیار حیاتی می‌باشد. در جدول(2) ساختارهای SPRIT3E و TMR و همچنین ساختار ترکیبی با یکدیگر مقایسه شده‌اند.

 

جدول(2) مقایسه بین SPRIT3E و TMR و ساختار ترکیبی

 

نوع خط‌لوله

مقاومت در برابر یک خطای گذرا

مقاومت در برابر دو و یا سه خطای گذرا

مقاومت در برابر یک خطای دائم

قابلیت ارائه کارایی بالا

TMR

دارد

ندارد ولی شناسایی می‌کند

دارد

ندارد

SPRIT3E

ندارد

ندارد

ندارد

دارد

ساختار ترکیبی

دارد

ندارد ولی شناسایی می‌کند

دارد

دارد

 

جدول(2) بخوبی نشان می‌دهد که ساختار ترکیبی، فرزند خلف ساختارهای TMR و SPRIT3E می‌باشد که تمام صفات مثبت والدین خود را به ارث برده‌است.

هسته پردازشی طراحی شده مبتنی بر ساختار ترکیبی پیشنهاد شده در این مقاله قابلیت تحمل وقوع خطای حاصل از اختلالات محیطی را داشته و جهت استفاده درECUیخودرو بسیار مناسب می‌باشد، همچنین این امکان را به خودروساز می‌دهد تا در صورت وقوع نقص دائم در ECU این نقص را به راننده اطلاع دهد و به این ترتیب از وقوع حادثه در اثر خرابی بخش پردازشی ECU جلوگیری کند.

 

6. نتیجه گیری و پیشنهادات

با پیشرفت تکنولوژی ساخت خودرو، نیاز خودروسازان به ادوات پردازشی قدرتمندتر رو به افزایش می‌باشد. هنگامیکه برای اولین بار شرکت‌های خودروسازی تصمیم به کنترل سیستم احتراق در خودرو توسط واحدهای الکترونیکی گرفتند هیچگاه تصور نمی‌کردند که بهبود مشخصه‌هایی همچون سرعت، شتاب و مصرف سوخت خودروها کار را بدان آنجا رساند که ساختارهای نسبتا پیچیده پردازشی برای کنترل اعمال درون موتور خودرو نیاز باشد.

در این مقاله یک سیستم دیجیتالی ترکیبی معرفی شد که نتایج حاصل از شبیه‌سازی و بررسی این ساختار نشان می‌داد چنین ساختاری برای استفاده در ECUی خودرو بسیار مناسب است. این ساختار ترکیبی، سرعت پردازشی بالا همراه با قابلیت اطمینان مناسبی ارائه می‌داد و به این ترتیب جهت پیاده‌سازی یک سیستم پردازشی سریع و زمان واقعی، مطلوب می‌نمود.ECUی مبتنی بر چنین ساختار ترکیبی برای خودروهای سری لوگان که دارای شتاب و سرعت مناسبی هستند، بسیار مطلوب می‌باشد.

در آینده خودروهای سریعتر و با امنیت بیشتر تولید خواهند‌شد و نسل‌های آینده خودروها نیازمند ECUهای قدرتمندتر و امن‌تری هستند.طراحانECU در آینده پیشرفت‌ها و تکنیک‌های موجود در علوم کامپیوتر را به ساختارهای ECU‌ وارد می‌کنند.

 یکی از این تکنیک‌ها که در پردازنده‌های نوین بسیار مورد توجه قرار گرفته‌است چندپردازندگی می‌باشد. در صورت استفاده از این تکنیک در پردازشگر ECUهای نسل آینده، قدرت پردازش موازی همزمان با قابلیت اطمینان بالا در دسترس خواهد بود و این زمینه می‌تواند پیشرفت‌های زیادی در طراحی ECUهای آینده ایجاد نماید.

 



[1]طبق اظهارات سازنده

[2]Real-Time

[3]Catalytic Converter

[4]Canister solenoid valve, Canister purge valve

[5]Real-Time

[6]Watch dog

[7]Restart

[8]Field-Programmable Gate Array

[9]Interface

[10]Mother board

[11] Protocol

[12]Worst Case Execution Time

[13]Pipeline

[14]در این تکنیک، فرکانس کاری سیستم دیجیتال را بیش از فرکانسی که مسیر بحرانی سیستم به آن تحمیل می‌کند، قرار می‌دهیم.

2Triple Modular Redundantکه در این تکنیک سه ماژول از یک نوع قرار می‌دهند و خروجی نهایی حاصل از اکثریت خروجی‌ها می‌باشد.

[16]تعداد اطلاعات وارد شده به خط‌لوله در هر آزمایش حدود 27000 نمونه می‌باشد.

[1] H.Hosoda, K.Ohtsuka, H.Shimomura.A Microcomputer-Based System for Electronic EngineControl Unit Development.IEEE Journal, 1983

 

[2]T.Cuatto, P .di. Torino,L.Lavagno, A.Jurecska, M.Marelli, V.Reale, C. Sansok. A Case Study in Embedded System Design: an Engine Control Unit. DAC 98, San Francisco, Califomia, 1998

 

[3]L. Glielmo, F. Vasca, C. Rossi.Architecture for Electronic Control Unit Tasksin Automotive Engine Control, Symposium on Computer-Aided Control System DesignUSA September 25-27,2000

 

[4]E. V. Vijay,V. Kumar, C. V. R.Rao,G. N.Swamy. Electronic Control Unit for an Adaptive Cruise Control System & Engine Management System in a Vehicle using Electronic Fuel Injection , IEEE Journal 2010

 

[5]M.B.Saïd, K. Loukil, N.B. Amor,M. Abid. A timing constraints control technique forembeddedreal time systems. International Conference on Design & Technology of Integrated Systems inNanoscale Era, 2010

 

[6]V.Subramanian , A.K. Somani. Conjoined Pipeline: Enhancing Hardware Reliability and Performance throughOrganized Pipeline Redundancy, 14th IEEE Pacific Rim International Symposium on Dependable Computing, 2008

 

[7] V. Subramanian, M.Bezdek, N.D. Avirneni, A.Somani. Superscalar ProcessorPerformance Enhancement Through Reliabl

[1] H.Hosoda, K.Ohtsuka, H.Shimomura.A Microcomputer-Based System for Electronic EngineControl Unit Development.IEEE Journal, 1983

 

[2]T.Cuatto, P .di. Torino,L.Lavagno, A.Jurecska, M.Marelli, V.Reale, C. Sansok. A Case Study in Embedded System Design: an Engine Control Unit. DAC 98, San Francisco, Califomia, 1998

 

[3]L. Glielmo, F. Vasca, C. Rossi.Architecture for Electronic Control Unit Tasksin Automotive Engine Control, Symposium on Computer-Aided Control System DesignUSA September 25-27,2000

 

[4]E. V. Vijay,V. Kumar, C. V. R.Rao,G. N.Swamy. Electronic Control Unit for an Adaptive Cruise Control System & Engine Management System in a Vehicle using Electronic Fuel Injection , IEEE Journal 2010

 

[5]M.B.Saïd, K. Loukil, N.B. Amor,M. Abid. A timing constraints control technique forembeddedreal time systems. International Conference on Design & Technology of Integrated Systems inNanoscale Era, 2010

 

[6]V.Subramanian , A.K. Somani. Conjoined Pipeline: Enhancing Hardware Reliability and Performance throughOrganized Pipeline Redundancy, 14th IEEE Pacific Rim International Symposium on Dependable Computing, 2008

 

[7] V. Subramanian, M.Bezdek, N.D. Avirneni, A.Somani. Superscalar ProcessorPerformance Enhancement Through Reliable DynamicClock Frequency Tuning, DSN 2007

 

e DynamicClock Frequency Tuning, DSN 2007