فونیکسریمکسبهتام

نگاهی جامع به پروتکل‌های خودرویی CAN و VAN؛

مخابرات خودرویی

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

مخابرات خودرویی
نسخه قابل چاپ
دوشنبه ۱۰ مهر ۱۳۹۶ - ۱۲:۱۷:۰۰

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

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

    آداب گفتار در دنیای شبکه و سیم
    برای برقراری ارتباط میان ECU‌های یک خودرو، از شبکه BUS استفاده می‌شود. شبکه‌های CAN و VAN نیز نوعی شبکه BUS هستند. هر خودرو می‌تواند چندین شبکه BUS مختلف داشته باشد که توسط مادول کنترل بدنه یا BCM مدیریت می‌شوند. هر شبکه BUS متشکل از دو رشته سیم به هم پیچیده است که ECU‌ها با آرایش‌های متفاوتی نظیر آرایش ستاره‌ای، حلقه‌ای، درختی و ... به آن متصل می‌شوند. هر ECU متصل به شبکه BUS نیز برای برقراری ارتباط دارای یک ترانسیور شبکه و کنترل‌کننده پروتکل (مدار مالتی‌پلکسر) است که ترانسیور ارتباط فیزیکی با خطوط BUS را فراهم کرده و کنترل‌کننده پروتکل، پیغام‌های مورد نظر را بر مبنای اساس پروتکل آن شبکه کد‌بندی کرده و به شکل سیگنال‌های آنالوگ تحویل ترانسیور می‌دهد.
    هر شبکه برای آنکه بتواند بستری برای تبادل دیتا باشد، دارای پروتکلی معین است. پروتکل هر شبکه بر اساس 7 لایه استاندارد OSI
    (Open System Interconnection) تعریف شده که در آن موارد زیادی از جمله چگونگی فریم‌بندی و کد‌بندی سیگنال پیغام، مسیرهای عبور پیغام، اولویت‌های عبور، تداخل سیگنال، کدهای شناسایی، روش کشف خطا، کنترل نویز و ... بر اساس کدهای باینری و هگزادسیمال تعریف می‌شود.
    تمامی موارد ذکر شده در پروتکل شبکه لحاظ شده تا بدین ترتیب در شرایط متنوع موجود سیستم قادر باشد بدون مشکل به کار خود ادامه دهد. در ادامه به بررسی دو پروتکل محبوب CAN و VAN و شباهت‌ها و تفاوت‌های این دو می‌پردازیم.

    شبکه‌های CAN و VAN
    در میان انواع شبکه‌های مالتی‌پلکس خودرویی، دو نوع CAN و VAN نسبت به سایر پروتکل‌ها محبوب‌ترند. شبکه CAN (مخفف Controller Area Network) یکی از موفق‌ترین استانداردهای BUS خودرویی است که برای نخستین‌بار توسط بوش آلمان توسعه یافت و عمدتا در ارتباطات مابین ECU‌های محفظه پیشرانه مورد استفاده قرار می‌گیرد.
    شبکه‌ VANا (Vehicle Area Network)‌نیز که توسط PSA و رنو به صورت مشترک توسعه یافته، دارای انواع مختلفی است که عمدتا در ارتباطات محفظه کابین کاربرد وسیع دارد.
    همانطور که گفتیم پروتکل‌ها بر اساس 7 لایه ارتباطی OSI شامل لایه فیزیکال، لایه لینک، لایه نتورک، لایه ترنسپورت، لایه هماهنگی، لایه آماده‌سازی و لایه اپلیکیشن شکل می‌گیرد.
    شبکه CAN تنها بر اساس دو لایه اول OSI یعنی فیزیکال و لینک شکل گرفته است. اساس کار این شبکه، ارسال دیتا به شیوه انتشاری (Broadcast) بدون هیچ‌گونه آدرس‌دهی مشخص است.
    هر ECU در شبکه دارای یک سری پایه ورودی یا Input و خروجی یا output است که از طریق آن به خطوط BUS متصل شده است. هنگامی که یک گره یا ECU می‌خواهد پیغامی را در شبکه ارسال کند، محتوای مورد نظر خود را (که می‌تواند شامل اطلاعات یک سنسور یا فعال شدن یک کلید باشد) تحویل کنترل‌کننده شبکه خود می‌دهد. کنترل‌کننده شبکه یا مدار مالتی‌پلکسر شامل یک مدار تولیدکننده فرکانس، یک مجموعه کنترل‌کننده پروتکل و یک مدار ترانسیور (فرستنده و گیرنده) است. پیغام مورد نظر ECU که قرار است در شبکه ارسال شود، توسط پردازنده خود ECU تولید شده و به کنترل‌کننده پروتکل (در اینجا کنترل‌کننده CAN) می‌رسد. کنترل‌کننده پیغام دریافتی را ‌روی یک فریم اطلاعاتی منطبق بر استاندارد CAN قرار داده و با توجه به مفهوم و درجه اهمیت پیغام، آن را شناسه‌گذاری (برچسب‌گذاری) می‌کند و تحویل تراشه ترانسیور می‌دهد. نهایتا پیغام تولید شده بسته به سطح نویز و ورژن CAN مورد استفاده به شیوه موازی یا دیفرانسیلی (تفاضلی) در خطوط ارسال می‌شود. همانطور که در ابتدا گفتیم در شبکه CAN آدرس‌دهی خاصی وجود ندارد بنابراین هنگامی که پیغامی توسط ترانسیور یک ECU ارسال می‌شود، تمامی ECU‌های متصل به شبکه به طور همزمان پیغام را مشاهده می‌کنند، یعنی پیغام انتشار‌یافته یا Broadcast شده است. اما از آنجایی که محتوای پیغام برچسب‌گذاری شده، تنها ECU‌هایی اقدام به دریافت و خوانش پیغام می‌کنند که متوجه شوند اطلاعات پیغام مورد نظر به آنها مربوط است. سایر ECU‌ها که نیازی به پیغام صادر شده ندارند، صرفا ناظر شبکه هستند تا زمانی که پیغام مربوط به آنها صادر شود و یا خودشان بخواهند پیغامی را صادر کنند. هنگامی‌که ECU ناظر است و نیازی به تحلیل و پردازش اطلاعات دریافتی ندارد، صرفا به صورت Input/output عمل کرده و محتوای دریافتی را نادیده گرفته و مجددا تحویل شبکه می‌دهد. مسئله شناسه‌گذاری پیغام در روش انتشاری اهمیت بسیار بالایی دارد چرا‌که بدین صورت هنگامی که ECU سیستم سوخت‌رسانی اطلاعات سرعت خودرو را در شبکه ارسال می‌کند، به عنوان مثال ECU سیستم تهویه متوجه می‌شود که نیازی به این اطلاعات ندارد و تنها اطلاعات مورد نظر برای یونیتی نظیر یونیت صفحه کیلومتر‌شمار لازم است.
    یکی از مشکلاتی که در شبکه‌های انتشاری وجود دارد، مسئله داوری حق تقدم ارسال پیغام است. در یک شبکه انتشاری نظیر شبکه CAN، تمامی ECUها مستر هستند؛ یعنی قادر به تولید فریم اطلاعاتی و ارسال و دریافت پیغام هستند. هنگامی که یک ECU می‌خواهد پیغامی را در شبکه ارسال کند، مشکل خاصی وجود ندارد اما مشکل داوری و حق تقدم هنگامی ایجاد می‌شود که چند ECU به طور همزمان قصد اشغال BUS و مخابره پیغام را داشته باشند. برای حل این مشکل، از فرایند دستیابی چندگانه به مسیر استفاده می‌شود. هر ECU که بخواهد پیغامی را مخابره کند، ابتدا صبر می‌کند که شبکه ساکت شود و بعد از آنکه کنترل‌کننده شبکه آن ECU اختیار BUS را به دست گرفته و با ارسال یک بیت به مفهوم آغاز پیغام، شروع به سنکرون کردن (هماهنگ‌کردن) اطلاعات جهت شروع  ارسال کرده و سایر ECU‌ها ساکت می‌شوند. هنگامی که چند ECU به طور همزمان بخواهند شبکه را به دست بگیرند و بیت سنکرون برای آغاز پیغام ارسال کنند، خطای برخورد رخ می‌دهد. در این حالت فرآیند داوری جهت دستیابی چندگانه به شبکه انجام می‌شود و اجازه ارسال پیغام در ابتدا به ECU‌هایی داده می‌شود که شناسه پیغام آنها اولویت بالاتری داشته باشد.
    شبکه VAN از نظر تکنیکی نسبت به CAN بسیار پیچیده‌تر عمل می‌کند. برخلاف CAN، شبکه VAN بر اساس هر 7 لایه OSI شکل گرفته و از اصول Broadcast پیروی نمی‌کند بلکه شبکه‌ای تک‌مستر یا مالتی‌مستر است. در این نوع شبکه تنها ECU‌هایی قادر هستند فریم اطلاعاتی تولید کنند که مستر باشند و باقی ECU‌ها یا صرفا شنونده هستند یا به روش دستکاری بیت‌های اطلاعاتی پاسخ می‌دهند. در این شبکه، ارسال سیگنال صرفا به صورت دیفرانسیلی صورت می‌گیرد تا اعوجاج سیگنال تا حد امکان ناچیز باشد. شبکه VAN نیازی به برچسب‌گذاری اطلاعات ندارد چرا‌که برخلاف CAN که تمامی ECU‌ها به صورت همزمان فریم را مشاهده می‌کنند، در VAN پیغام فقط برای فرستنده و گیرنده قابل مشاهده بوده و آدرس‌دهی شده است بنابراین واحد کنترلی که در این آدرس وجود ندارد، در خوانش بیت دخالت نکرده و به صورت Input/Output عمل می‌کند. این خاصیت VAN موجب می‌شود که مسئله داوری و حق‌تقدم چندان در آن مطرح نباشد چرا که هر فریم آدرس‌دهی شده صرفا توسط ECU حاکم (مستر) به ECU مستخدم ارسال شده و بازخورد آن به شیوه دستکاری بیت دریافت می‌شود.

    در شبکه مالتی پلکس خودرو از نظر سیستمی ناحیه بندی می‌شود

     

    خطوط شبکه در ارتباطات عیب یابی نیز دخالت دارند

     

    وجود تکنولوژی مالتی پلکس این امکان را به ما داده تا خودروهایی مجهزتر از گذشته داشته باشیم

     

    در نبود تکنولوژی مالتی پلکس چنین حجم سیم کشی‌ای را شاهد خواهیم بود

     

    با کمک پروتکل‌های مشترک تنها با یک دستگاه خودروهای زیادی را می‌توان عیب یابی کرد

     

    نویسنده  عارف منظری

    برچسب ها
    کرمان موتوراکستریم
    مطالب مرتبط