• ارسال کننده: سمیه مظفری
  • تاریخ انتشار: 2015 / 03 / 12

آشنايي با باس CAN و نقش آن در خودروهاي امروزي

با نفوذ روز افزون صنعت الكترونيك به صنعت خودرو سازي و به خاطر سخت گيري هايي كه دولت ها در زمينه كنترل آلودگي خودرو ها و ايمني سرنشينان انجام مي دهند تجهیزات الکترونیکی و کامپیوتر های متعددی در یک خودروی مدرن وجود دارد به همین دلیل ارتباط بین این همه سنسور و کامپیوتر ها به شکل سنتی امکان پذیر نیست و سیستم کارآمدتری جایگزین آن شده است. امروزه عموماً معماري الكترونيك خودرو ها به شبكه اي از كامپيوتر ها كه مزاياي زير را دارند وابسته است:

  • كاهش تعداد مدار هاي سيم كشي
  • كمتر شدن وزن خودرو
  • افزايش قابليت اطمينان سيستم هاي الكتريكي به خاطر كمتر شدن تعداد اتصالات فيزيكي
  • نياز كمتر به استفاده از سنسور هاي ريداندانت (سنسور هايي كه به خاطر افزايش ضريب اطمينان به صورت مشترك و همزمان يك كميت را سنس مي كنند.)

اين مقاله به اختصار به بررسي سيستم CAN كه در بيشتر خودرو هاي امروزي متداول است مي پردازد به گونه اي كه پس از خواندن آن درك بهتري از عيب يابي و اساس كاركرد آنها داشته باشيد.

معماري باس CAN

باس CAN كه مخفف Controller Area Network است به معناي شبكه حوزه كنترلر مي باشد. و اما اين شبكه كنترلي چه نقشي در خودرو دارد؟

با گسترش و توسعه صنعت خودرو از كامپيوتر ها براي كنترل و حفاظت سيستم هاي موتوري و ايمني استفاده شد و به مرور كامپيوتر ها يا ECU هاي بيشتري در خودرو ها مورد استفاده قرار گرفت ECU كه مخفف Electronic Control Unit است و به معناي واحد كنترل الكترونيكي مي باشد. همانطور كه گفته شد تعداد ECU هايي كه در خودرو ها استفاده شد روز به روز بيشتر شد و لازم بود كه بين اين واحد هاي كنترلي يا كامپيوتر ها ارتباطي برقرار شود. و براي اين منظور بهترين كار استفاده از يك شبكه كامپيوتري بود و يكي از شبكه ها يا معماري هاي شبكه اي كه براي اين منظور مناسب بود شبكه كامپيوتري CAN بوده است. شكل زير يك نماي ساده از اين معماري شبكه را كه در بيشتر خودرو های امروزی استفاده مي شود را به نمايش مي گذارد.

معماری کن باس

 

باس CAN يك سيستم ارتباطي است كه در آن هر ECU قبل از ارسال اطلاعات بايد مطمئن شود كه باس اشغال نيست. اين فرايند به

 CSMA/CD (Carrier Sense Multiple Access, Collision Detect)

 معروف است. به سادگي يك سيم به ECU ها متصل مي شود و همه ECU ها با يكديگر در رقابت هستند تا از طريق اين سيم به تبادل اطلاعات بپردازند و از آن به صورت مشترك استفاده مي كنند. و زمانيكه ECU اي مي خواهد اطلاعاتي را روي باس ارسال كند و باس اشغال باشد منتظر مي ماند تا باس خالي شود آنگاه اطلاعات خود را ارسال مي كند.

در سيستم باس CAN اگر چند ECU بخواهند همزمان به تبادل اطلاعات بپردازند تلاقي اين اطلاعات سبب از بین رفتن ديتا مي شود بنابراين يك سيستم تعيين الويت مشخص مي كند كه اطلاعاتي كه مهمتر هستند و در الويت هستند اول ارسال شوند آنگاه اجازه مي دهد بقيه اطلاعات به نوبت ارسال شوند به عنوان مثال سرعت چرخ ها در درجه الويت بالايي است چون به ايمني خودرو مربوط مي شود و در مقايسه با آن دماي موتور از الويت پايين تري برخوردار است. اين فناوري شباهت زيادي به شبكه هاي كامپيوتري خانگي و اترنت دارد.

به اين ترتيب برخي از اطلاعات كه پايين ترين الويت را دارند ممكن است با تاخير بالايي ارسال شوند. براي جلوگيري از چنين معضلي كه به هم ريختگي اطلاعات منجر مي شود اطلاعاتي كه الويت پاييني دارند از طريق يك باس CAN جداگانه ارسال مي شوند و اين باس به كمك يك گذرگاه يا Gateway به باس با الويت بالاتر متصل مي شود. گذرگاه مانند يك فيلتر عمل مي كند تا اطلاعاتي را كه بين باس الويت پايين يا Body Control Can Bus و باس الويت بالا يا Powertrain Control Can Bus را فيلتر كند. در شكل بالا اين معماري و نحوه اتصال دو باس به يكديگر را مي توانيد به خوبي مشاهده نماييد.

ارتباط ECU با باس CAN

در خودرو هاي امروزي بيشتر ECU ها از طريق باس كن به ديگر قسمت هاي شبكه متصل مي شوند. در شكل زير ساختار ECU را مي بينيد كه شامل يك ميكروكنترل و يك رابط شبكه است كه خود شامل كنترل باس كن و فرستنده/گيرنده كن مي باشد. ميكروكنترلر در حقيقت بخش اصلي اين كنترل است كه شامل برنامه كنترل به عنوان مثال موتور يا سيستم تعليق است. و كنترلر كن ارتباط با شبكه را كنترل مي كند تا اطلاعاتي را كه بايد ارسال شوند از ميكروكنترلر گرفته و به ECU ديگر ارسال نمايد و همچنين اطلاعات را به شكل استانداردي مطابق با باس كن در آورد. و Transceiver يا فرستنده/گيرنده سيگنال هاي الكتريكي كه بايد روي باس ارسال شوند را توليد يا دريافت مي كند. اتصال يك كنترل باس كن به يك ميكروكنترلر مشابه اتصال يك رابط اترنت به يك كامپيوتر است.

canb2

 

قالب CAN و فيلد اطلاعات آن

وقتي كه قرار است اطلاعات كنترلي به ECU ديگري ارسال شود ميكروكنترلر اين اطلاعات را به كنترلر كن ارسال مي كند و در آنجا اين اطلاعات در قالب مشخصي قرار مي گيرد به گونه اي كه مشخص شود مقصد اين اطلاعات كجاست و همچنين اطلاعات را به شكلي در مي آورد كه براي مقصد قابل درك باشد. در شكل زير يك ساختار ساده از اين قالب را مي بينيد كه Header دربرگيرنده شناسه و سايز اطلاعات است. شناسه  به بقيه قسمت هاي سيستم مي گويد كه اين اطلاعات چيست و به كجا مي خواهد برود به عنوان مثال مشخص مي كند كه يكي از پارامتر هاي مربوط به موتور خودرو است. فيلد يا بخش داده از اين قالب حاوي مقادير واقعي پارامترها از قبيل سرعت، درجه حرارت، فشار روغن و… است. و بخش Trailer حاوي اطلاعاتي مانند خطاها و مشخص كننده انتهاي قالب است.

canb3

به عنوان مثال فرض كنيد كه ECU كنترل موتور بايد سرعت موتور را به ECU گيربكس ارسال كند تا نشان دهد كه زمان تعویض دنده است و در بازگشت ECU گيربكس بايد اطلاعات تعويض دنده را به ECU موتور ارسال نمايد تا به اين ترتيب از تعويض دنده اي نرم و بدون مشكل اطمينان حاصل شود. دو ECU اطلاعات را به كمك قالب ها و از طريق يك جفت سيم باس كن رد و بدل مي كنند.

باس CAN از نظر فيزيكي و سيگنال هاي الكتريكي

همانطور كه در شكل ما قبل ديديد باس كن در حقيقت دو سيم به دور هم تابيده است تا از نويز هاي الكتريكي مصون باشد. زمانيكه بايد اطلاعاتي ارسال شود فرستنده كن موجود در ECU سيگنالي به شكل قطاري از پالس و تفاضلي توليد مي كند كه مجموع آنها معادل سيگنال نهايي يا همان قالب كن است. شكل ظاهري يك قالب كن را از نظر سيگنال الكتريكي مي توانيد در تصوير زير مشاهده كنيد. اگر دقت كنيد متوجه خواهيد شد كه CAN_H و CAN_L در حقيقت يك سيگنال هستند با پلاريته معكوس. و به همين دليل به آنها تفاضلي مي گويند. تصوير زير از آنچه در اسيلوسكوپ نمايش داده شده است تهيه شده است.

canb4

همانظور كه در تصوير مي بينيد وقتي كه باس خالي است CAN_H و CAN_L داراي اندازه ولتاژ برابري هستند برابر 2.5 ولت ولي در خلاف جهت هم. يعني برايند آنها مي شود صفر و زماني كه قالبي ارسال مي شود CAN_H مقدارش افزايش مي يابد و CAN_L مقدارش كاهش مي يابد. و به اين ترتيب در سمت گيرنده قالب تشخيص داده مي شود چون برايند سيگنال ديگر صفر نيست. ارسال اطلاعات به اين روش حذف نويز را ساده مي كند چون هر نويزي كه روي CAN_H داشته باشيم همان را در جهت مخالف در CAN_L داريم بنابراين مجموع آنها تغييري نمي كند و به اين ترتيب عملاً نويز حذف مي شود.

این محتوا اختصاصاً برای یاد بگیر دات کام تهیه شده است استفاده از آن با ذکر منبع همراه با لینک آن و نام نویسنده یا مترجم مجاز است
برچسب ها:

صفحه بعد >>



  1. سلام
    CNA توی ماشین های آلمانی کجا ECUقرار داره?

نظر شما چیست؟

پرسش های خود را در بخش پرسش و پاسخ مطرح کنید

لطفا جای خالی را پر کنید







صفحه ما را در فیس بوک دنبال کنید صفحه ما را در توییتر دنبال کنید صفحه ما را در  اینستاگرام دنبال کنید صفحه ما را در لینکداین دنبال کنید