بررسی شبکه های VAN و CAN در سیستم مالتی پلکس
در این نوشته به بررسی دو شبکه مهم ارتباطی در سیستم های مالتی پلکس یعنی VAN و CAN می پردازیم. همچنین در دوره آموزش ECU که توسط مجموعه ما برگزار می شود، آموزش مالتی پلکس ایرانی و فرانسوی و شبکه های CAN و CAN به طور کامل آموزش داده می شود.
شبکه VAN چیست ؟
تولد شبکه VAN مربوط به سال 1985 تا 1986 می شود . تولید اولین قطعات آن سال در 1989 صورت گرفت و استانداردهای آن در پایان سال 1992 کامل شدند . بدین ترتیب اولین خودروها مجهز به این شبکه در سال 1993 به بازار عرضه شدندو تولید انبوه آن در سال 1994 آغاز شد .
ساختار اطلاعات ارسالی در شبکه VAN
Start : فیلد مشخص کننده شروع ارسال اطلاعات توسط یک ECU بوده که شامل 10 بیت است .
Identifier : دوازده 12 بیت شامل سناسایی کننده فریم و سطح الویت آن نسبت به فریم ارسالی دیگر ECU ها .
Com : فیلد 4 بیتی کنترل اطلاعات
Information : فیلد اطلاعت ارسالی تا 28 بایت
Control : فیلد کنترل کردن صحت اطلاعات ارسالی
End Data :فیلد اعلام پایان اطلاعات
Ack : فیلد آگاه کننده دریافت اطلاعات توسط ECU دریافت کننده اطلاعات
End : فیلد مشخص کننده پایان ارسال اطلاعات توسط یک ECU است .
الف ) شبکه Body Bus
این شبکه بر روی ساختاری بر مبنای استاندارد Master/slave استوار است . در این شبکه یونیت مرکزی عبور و مرور و کنترل اطلاعات را بر عهده دارد که به دو صورت زیر انجام می گیرد :
- در صورتی که این اطلاعات تنها توسط ایسیو ، Slave مصرف شود ایجاد تغییرات دیتا توسط تغییر در فریم اطلاعات انجام خواهد شد .
- در صورتی که این اطلاعات می بایست توسط ایسیو ، Master ایجاد شود تغییر در دیتا به روش پاسخ سریع ( Immediate response ) انجام می شود .
این استراتژی موجب می گردد ، تا میزان لود شبکه کاهش یافته و از میزان پیچیدگی برای هر ECU کاسته شود ، انتقال اطلاعات در Body Bus بر روی دو خط سیم به هم پیچیده به نامهای Data و BataB انجام می شود .
ب ) شبکه Comfort Bus
بر خلاف شبکه Body Bus در شبکه Comfort Bus ارتباط ECU ها به صورت Multi-Master می باشد و هر ایسیو می تواند اطلاعات فرمان و یا پاسخ را بر روی شبکه ارسال نماید . انتقال اطلاعات در Comfort Bus نیز بر روی دو خط سیم به هم پیچیده به نامهای Data و BataB انجام می شود.
شبکه CAN چیست ؟
امروزه ، استفاده از لوازم برقی و الکترونیکی در خودرو ، روز به روز در حال افزایش بوده و این قطعات به تدریج جایگاه ویژه ای در میان قطعات خودرو می یابند . ارتباط این گونه قطعات در یک خودروی مدرن ، حجم دسته سیم ها را به شدت افزایش داده و نصب آنها را پیچیده می کند . این مسئله باعث شده تا شرکت های خودروساز برای تسهیل در ارتباط قطعات برقی ، از روش های جدیدتری استفاده کنند . این روش ها بر اساس اصول شبکه ها ، طراحی شده و در نهایت باعث ایجاد و توسعه روش های استاندارد ارتباطات در خودرو همانند VAN و ABUS و CAN و غیره شد.
در این میان ، تکنیک CAN به دلیل سرعت زیاد ، قابلیت اطمینان بالا ، انعطاف پذیری بیشتر و سهولت استفاده ، از روش های دیگر پیشی گرفته است . پروتکل ارتباطی CAN ، برای اولین بار توسط شرکت بوش در 1984 طراحی و قطعات الکترونیکی مورد نیاز آن به بازار عرضه شد . این پروتکل ، در یکی از مدل های سواری بنز به منظور کنترل عملکرد موتور مورد استفاده قرار گرفت .
این روش در 1994 توسط سازمان استاندارد جهانی تحت استاندارد ISO 11898 مورد پذیرش قرار گرفت . این سیستم ، به تدریج جایگاه خود را در کنترل قسمت های مختلف خودرو پیدا کرده و توسط خودروسازان اروپایی و سپس امریکایی مورد استفاده قرار گرفت . مثلا ، شرکت ولوو با بهره گیری از این تکنیک در مدل خودروی سواری S80 خود توانست به میزان یک کیلومتر از طول دسته سیم این خودرو بکاهد . در شبکه CAN ، قطعات از طریق گره ها به گذرگاه های اصلی وصل می شوند و پیام توسط واحدهای کنترلی در خطوط اصلی جاری شده و گیرنده ها از طریق اتصال گره پیام مرتبط را دریافت می کنند و متعاقب آن ، عملیات مورد نظر انجام می شود .
این شبکه ابتدا توسط شرکت بوش آلمان در سال 1980 معرفی شده است ، اولین قطعات این سیستم را شرکت های Intel و Phillips در سال 1987 تهیه کرده اند و در سال 1991 استاندراد لازم برای استفاده از آن تهیه شده و در خودروهای مرسدس کلاس S برای اولین بار در سال 1992 استفاده شده است . شبکه CAN همانند شبکه VAN بوده با این تفاوت که به جای هفت لایه استاندارد ارتباطی در خودرو تنها از دو لایه اول استفاده شده است و سرعت انتقال اطلاعات تا یک مگابیت بر ثانیه می تواند باشد . شبکه CAN جهت انتقال از دو سیم CAN Hi و CAN Low استفاده می کند . Baudrate انتقال اطلاعات در CAN Low برابر با 125kbit/s و در CAN Hi برابر با 1Mbit/s می باشد.
اصول تبادل اطلاعات در شبکه CAN
در شبکه های CAN ، برای ارسال داده ها به یک گره ، آدرس دهی مشخصی صورت نمی گیرد بلکه محتوای پیام ارسالی ( مثلا دمای موتور و یا فرمان روشن شدن چراغ راهنما ) به همراه اولویت آن ، توسط شناسه ای اختصاصی در شبکه مشخص می شود . این موضوع هنگامی اهمیت دارد که دستگاه های مختلف نیاز به دسترسی همزمان به خطوط شبکه داشته باشند.
برای ارسال پیام ، داده ها به همراه شناسه از طریق مبدل های CAN برای ارسال آماده شده و به محض آزاد شدن خطوط ، ارسال به تمام گره ها انجام می شود . دستگاه ها ( که اکنون در وضعیت گیرنده قرار دارند ) پیام را بررسی کرده و در صورتی که به آنها مربوط باشد ، آن را می پذیرند . در این گونه شبکه ها ، افزوردن گره های جدید ( قطعات جدید ) به سادگی امکان پذیر بوده و نیاز به تغییر سخت افزاری چندانی نیست .
روش های برقراری ارتباط بین قطعات برقی در سیستم CAN
برقراری ارتباط به شکل CAN به دو فرم کلی انجام می شود . در یکی از این دو حالت ، از مدارها و تراشه های مخصوص این گونه ارتباط که به صورت مجزا ساخته شده اند ، استفاده می شود و ارتباط از طریق اتصال این قطعات به میکروکنترلر و برنامه نویسی تراشه ها صورت می پذیرد . روش دوم ، استفاده از میکروکنترلرهایی است که قابلیت های فوق ، درون آنها تعبیه شده است .
هر کدام از این روش ها مزایایی دارند . مثلا در روش اول ، در صورت تغییر نوع CPU به تعویض مدارات جانبی نیازی نیست در حالی که در روش دوم ، فضای مورد نیاز کمتر بوده و قیمت مجموعه ارزان تر است . همچنین ، به دلیل اینکه خواندن و نوشتن اطلاعات از طریق خطوط داخلی انجام می شود ، این روش برای کاربردهای با سرعت زیاد مناسب است.
ساختار پیام در شبکه CAN
فرم کلی پیام در شبکه های CAN : شروع پیام با بیت SOF است . به دنبال ارسال این بیت ، پیام مورد نظر فرستاده خواهد شد . در این پیام ، ایتدا بیت های Arbitration ارسال می شوند . این بیت ها شامل بخش شناسه ID و بیت RTR هستند . در صورتی که بیت RTR صفر منظقی باشد ، معرف فریم داده ها و در صورتی که یک منطقی باشد ، معرف درخواست فریم داده است . طول شناسه در CAN استاندارد ، 11 بیت بوده و در CAN توسعه یافته ، به 29 بیت می رسد .
پس از آن ، بیت های کنترلی وجود دارند که شامل بیت IDE ( در صورت استفاده از CAN توسعه یافته ) ، یک بیت ذخیره و 4 بیت دیگر است که معرف تعداد بایت های داده آماده برای ارسال می باشد . طول داده ها می تواند از صفر تا 8 بایت باشد و توسط DLC3 – DLC0 مسخص می شود . بیت های CRC برای تشخیص خطا بوده و پس از ارسال اطلاعات ، آورده می شوند . دو بیت بعدی ، با عنوان ACK برای تشخیص خطا وکنترل صحت پیام ارسالی هستند . هفت بیت بعدی EOF بوده و پایان ارسال پیام را مشخص می کنند .
شبکه CAN یکی از معتبرترین روش های تبادل اطلاعات بوده و یکی از مزایای آن ، تشخیص و تصحیح خطا و قابلیت اطمینان بالاست . مثلا ، در شبکه های CAN برای کنترل خطا در تبادل اطلاعات ، پنج روش وجود دارد که عبارتند از :
- Bit Monitoring
- Bit Stuffing
- Frame Check
- ACK Check
- CRC check
با استفاده از روش های فوق ، میزان خطای تشخیص داده نشده در ارسال 8 به کمتر از نرخ ارسال خطا 4/7*10-11 کاهش می یابد و خطای احتمالی ایجاد شده در پیام ، شناسایی شده و تصحیحات لازم صورت می گیرد.
طریقه عملکرد شبکه CAN
انتقال داده در شبکه CAN بر این اصل استوار است که وقتی داده توسط یکی از گره ها در شبکه ارسال می شود ، ایستگاه بخصوصی آدرس دهی نمی شود یعنی تمام گره های موجود در شبکه پیغام ارسالی را دریافت می کنند در عوض محتوی پیغام توسط یک شناسه که در شبکه یکتاست برچسب گذاری می شود . این شناسه نه تنها محتوی پیغام را ( مثلا در خودروها این شناسه است که مشخص می کند داده موحود در پیغام حاوی اطلاعات دور موترو است یا دمای موتور ) بلکه الویت پیغام را نیز مشخص می کند . این مورد در مواقعی که چند گره بطور همزمان می خواهند اختصاص گذرگاه را در دست بگیرند اهمیت پیدا می کند .
معمولا هر گره CAN از سه قسمت تشکیل شده است :
- میکروکنترلر
- CAN کنترلر
- CAN ترانسیور
برای ارسال و دریافت یک پیغام بدین صورت عمل می شود که در ابتدا پردازنده گره ای که قصد ارسال پیغام را دارد ، داده ای که باید ارسال شود و همچنین شناسه ای که به آن نسبت داده شده است را به تراشه CAN کنترلر آن گره ارائه می دهد . این عملیات توسط پرازنده برای مشخص کردن انتقال داده انجام می گیرد . حال تراشه CAN کنترلر با استفاده از داده و شناسه قالب پیغام را طبق پروتکل CAN ایجاد می کند و به محض اینکه اختصاص گذرگاه را در دست گرفت پیغام را بوسیله تراشه ترانسیور ارسال می کنند و بقسه گره ها در شبکه ، دریافت کننده های این پیغام می شوند .
هر گرهی که پیغام را بصورت صحیح دریافت کرده است برای تعیین اینکه داده دریافت شده به آن گره بخصوص با ارزش باشد ، پردازش می شود در غیر اینصورت نادیده گرفته می شود . در بعضی از مواقع بعلت اینکه یک گره احتیاجی به پردازش و تحلیل اطلاعات ندارد و فقط بصورت I/O عمل می کند می توان به جای میکروکنترلر از یک تراشه بنام SLIO ، استفاده کرد که مخفف Serial Link Input Output می باشد .
در CAN مفاهیم Broadcast و Multicast صادق هستند . در حالت Broadcast transmission یک فرمانده می تواند پیغامش را برای کل گره های شبکه اعم از فرمانده و فرمانبر ارسال کند ولی در حالت Multicast transmission ، یک فرمانده فقط می تواند پیغامش را برای یک گره از پیش تعیین شده از فرمانده و فرمانبرها ارسال نماید .
تنظیم ولتاژ بیت خروجی و انتقال آنها در CAN از وظایف لایه فیزیکی مدل OSI می باشد ، سیگنالهای روی گذرگاهی که شامل دو سیم با نامهای CAN Low و CAN High است ارسال می شوند . این دو سیم برای کاهش اثر اغتشاش روی گذرگاه ، در حالت تفاضلی کار می کنند.
مشخصات عمده CAN
در این بخش به صورت مختصر به بررسی برخی از ویزگی های پروتکل CAN می پردازیم.
1 – قابلیت Multimaster
این قابلیت CAN به جهت ایمنی و دسترسی قرار گرفته است . اگر یک گره دچار اشکال گردد کل سیستم دچار مشکل نمی گردد و فقط کارایی سیستم قدری تنزل می یابد.
2 – تکنیک دستیابی به مسیر
CAN دارای تکنیک دستیابی چنگانه با قابلیت کشف خطای برخورد ( دستیابی همزمان چند فرستنده به خط ) و رفع آن می باشد . هر گره که قصد تصرف مسیر را دارد صبر می کند تا BUS بیکار شود و سپس اقدام به ارسال اولین بیت شروع اطلاعات برای سنکرون کردن تمامی اطلاعات می کند و در ادامه 11 بیت مشخصه که بیان کننده اسم و الویت پیام است را ارسال می کند و سپس 6 بیت کنترل ، 8 بایت اطلاعات ، 16 بین CRC ، 2 بیت تصدیق و در انتها 7 بیت پایان فریم و 3 بیت فاصله بین فریم ها را ارسال می نماید .
در حالتی که بیش از یک گره به صورت همزمان تقاضای دسترسی به باس را داشته باشند ، برخورد به وجود می آید که پروسه داوری بیتی که بر روی فیلد مشخصه صورت می گیرد این مشکل مرتفع می گردد . این ویژگی تضمین می کند که پیغام هایی با الویت بالا بدون آنکه تاخیری صورت بگیرد ارسال شوند و سپس پیامی با الویت پایین تر انتقال یابد . پس از اینکه قالب داده ارسال گردید یک دور جدید برای الویت دسترسی به باس آغاز می گردد .
3 – پراکندگی Broadcast
در CAN اصولا ارتباط به صورت Broadcasting است . وقتی یک فرستنده اطلاعات باس را در اختیار گرفت و اطلاعاتش را ارسال کرد تمامی گره ها این اطلاعات را دریافت می کنند و مبادرت به بررسی خطاهای آن می نمایند ولی تنا آن دسته از اطلاعاتی که از فیلتر مشخصه پیغام رد می شوند وارد کنترلر می شوند . فیلتر پیغام توسط برنامه کاربردی تعریف می شود و از طریق این فیلتر است که تعیین می شود چه پیغامی برای ذخیره در بافر انتخاب شود . روشهای متعددی برای فیلتر کردن وجود دارد که عبارتند از :
معماری Full can و Basic can . بسیاری از پروتکلهای Auto Bus نیز این خاصیت را دارند .
4 – کشف خطا و تصحیح آن در سطح پیام
این ویژگی در CAN شامل یکی از قوی ترین روش های کشف خطا می باشد که اساس آن کد 15 بیتی CRC با فاصله همینگ 6 ، که کشف خطای خرابی 5 بیت در هر پیام را تضمین می کد می باشد . علاوه بر این روش مکتنیزم های کشف خطاهای دیگری نیز در CAN پیش بینی گردیده مانند قالب کشف خطا ، خواندن بعد از نوشت و بیت توازن .
تصحیح خطا با ارسال مجدد بعد از تشخیص خطا توسط گره گینده و ارسال قالب خطا توسط آن صورت می گیرد . در مورد پروتکل های دیگر باید گفت که از روش های مختلفی استفاده می کنند ولی قوی ترین آنها را CAN دارا می باشد.
5 – کشف خطا در سطح خط انتقال
CAN می تواند خرابی های مختلف خط انتقال را از قبیل : قطع خط ، اتصال خط به زمین ، اتصال خط به VCC ، قطع خط ، اتصال یک خط ب خط دیگر ( در مد دیفرانسیل ) و مشکلاتی که در مدار ترمیناتور بوجود می آید را تشخیص دهد . پروتکل CAN مشخص نکرده است که در صورت بروز این خطاها چه واکنشی باید صورت گیرد.
با این وجود در طراحی های جدید فرستنده گیرنده های CAN این مسئله منظور شده است . در حالتی که خطا رخ دهد و سیستم در حالت دیفرانسیل باشد ( از یک زوج سیم برای هر خط ارتباط استفاده می کنند ) سیستم بطور خودکار به حالت غیر دیفرانسیلی رفته و از خطی که هنوز سالم است برای ارتباط استفاده می نماید . با آنکه فرستنده گیرنده ها ممکن است مشکلات خط را حل کنند ولی در معماری CAN برای این مسئله پیش بینی نشده و اطلاعات کنترلی وضعیتی برای این منظور وجود ندارد مگر آنکه از پین های ورودی خروجی کنترلر CAN برا این منظور استفاده کنیم.
در این خصوص نسل جدید کنترلرهای CAN در حال تکامل هستند و با استفاده از استاندارد CAN بهبود یافته این معایب نیز مرتفع گردیده است.
6 – تصدیق کردن
CAN دارای یک فیلد تصدیق کلی می باشد در صورتیکه حتی یکی از گیرنده ها پیغامی را دریافت کند فرستنده را از دریافت پیغام مطلع می گرداند . بنابراین فرستنده در می یابد که آیا هنوز به باس متصل است یا نه . با توجه به اینکه CAN بر اساس Broadcast ارتباط بر قرار می کند تمامی گره هایی که پیغام را بدون خطا دریافت می کنند سیگنال را ارسال می کنند.
7 – ثبات انتقال پیام گسترده
هر پیامی که در CAN انتقال می یابد ، توسط تمامی گره ها پذیرفته می شود و یا رد می گردد . اگر حتی یک گره خطایی را کشف کند سیگنال خطا را می فرستد و سپس قالب خطا به گره فرستنده اطلاع می دهد که پیغام را تکرار کند و به تمامی گره های دیگر ابلاغ می کند که پیام دریافتی را در نظر نگیرند . این به معنی آن است که یا تمامی گره ها یک پیام را در یک زمان می گیرند و یا هیچکدام . این نکته از ویژگی های مهم یک سیستم کنترل توزیع شده می باشد زیرا این روش امکان اینکه هیچ گاه کنترلری با اطلاعات متفاوت با دیگران غمل نکند را تضمین می کند.
خطوط K و L در سیستم مالتی پلکس و اکو مکس
در 206 پژویی خط K line ارتباطی که توسط یک تک سیم به ECU های انژکتور ، کیسه هوا و ABS متصلند ، توسط پروتکلی بنام KWP2000 – Key Word Protocol پشتیبانی شده و می توانند با سرعت 10 Kbit/s اطلاعات حافظه داخلی این ECU ها را که در محلی برای حفظ معایب سیستم موجود است به سوکت عیب یاب انتقال دهد . از طریق این خطوط می توان توسط دستگاه های دیاگ با ECU های مذکور ارتباط برقرار کرده و آنها را عیب یابی و رفع عیب نمود . این انتقال اطلاعات می تواند به صورت درخواست فعال کردن فرمانبر و یا درخواست خواندن عیبهای ECU های خودرو باشد.
نکته بسیار مهم :
در خودرو 206 و رانای اکومکس ایسیو مرکزی BCM توسط دو سیم CAN به پایه های 6 و 14 EOBD متصل است و دیاگ از طریق شبکه CAN با آن ارتباط برقرار می کند سه عنصر شبکه ای دیگر یعنی ICN , MFD , FCM از طریق واسطه BCM با کانکتور EOBD و دیاگ در ارتباط خواهند بود .
ساختار ارسال پبام در خطوط K و L
- Fmt : فرمت فریم
- Tgt : آدرس ایسیو یا دستگاه عیب یابی بر حسب ارسال پیام از ECU به دستگاه عیب یابی یا برعکس
- Src : آدرس ECU یا دستگاه عیب یابی بر حسب ارسال پیام از دستگاه عیب یابی به ECU یا برعکس
- Sld : شماره سرویس
- Data : اطلاعات و پارامترها
- CS : چک سام تشخیص خطا
تذکر :
در آینده نزدیک انتظار میرود ECU هایی مانند ECU انژکتور یا Airbag نیز که ارتباط عیب یابی آنها از طریق پروتکل KWP2000 برقرار می شود و یا از نظر اطلاعاتی با شبکه مالتی پلکس ارتباط ندارند وارد حوزه شبکه CAN شوند.
نکته :
در خودرو 206 و رانا سیم های این شبکه بنابر استاندارد های موجود دارای شماره سیم های ذیل هستند :
- 779 برای یونیت ABS
- 6220 برای یونیت ACU کیسه هوا
- 9019 و 9020 برای یونیت انژکتور
- 9019 و 9020 برای یونیت ICU
- 9019 و 9020 برای یونیت BCM
مقایسه تفاوت های دو لایه اصلی شبکه های VAN و CAN
VAN | CAN | نوع تفاوت | |
TREE | BUS | هندسه | لایه 1 |
15 | 30 | حداکثر تعداد ECU | |
Manchester | Stuffing | کدینگ سنکرونیزاسیون | |
جریان | ولتاژ | سیگنالها | |
125 Kbit/s | 1 Mbit/s | حداکثر سرعت انتقال اطلاعات | |
0 | 2 | مقدار مقاومت انتهایی شبکه ( اهم ) | |
انجام عملیات ACK فقط در مورد ECU های مصرف کننده اطلاعات که ارتباط با آنها به طریق نقطه به نقطه است باید انجام شود .
انجام عملیات ACK در موارد ارتباط چند نقطه ای و انتشاری لازم نیست . |
تمامی گیرنده ها باید تمامی فریم ها را ACK کنند | تایید پیام ارسالی | لایه 2 |
Multi-Master و Multi-Slave | Multi-master | نوع تبادل اطلاعات | |
خیر | بله | ارسال فریم خطا | |
28 | 8 | تعداد بایت اطلاعات |
نتیجه گیری
به کارگیری تکنولوژی دیجیتال در خودرو علاوه بر کاهش هزینه ها منجر به افزایش ایمنی و اطمینان سیستم می شود . چند بخش مختلف در یک سیستم مثل سیستم موتور خودرو ، که باید کارکرد آنها را کنترل کرد به عنوان یک گره واحد در یک شبکه در نظر گرفته می شوند ، این گره با گره های دیگر تشکیل یک شبکه مالتی پلکسینگ را می دهند .
با توجه به مزایایی همچون ارزانی ، سهولت استفاده ، سرعت بالا ، قابلیت اطمینان و کار در شرایط مختلف و Real Time بودن ، روند عمومی در طراحی سیستم های برقی خودروهای جدید به سمت استفاده از این گونه سیستم هاست . امروزه ، این شبکه ها علاوه بر صنعت خودرو ، در صنایع کنترلی نیز از اهمیت ویژه ای برخوردار بوده و کاربردهای فراوانی در اتوماسیون دارند .
آموزش تعمیرات ایسیو
دوره تعمیرات ایسیو در 16 روز ( 10 روز تئوری – 6 روز عملی ) | آموزش کامل تعمیرات سخت افزاری و نرم افزاری ایسیو های بوش ، زیمنس ، ساژم ، والئو و … | برای دریافت مشاوره ” رایگان ” روی لینک زیر کلیک کنید و یا فرم انتهای صفحه را پر نمایید
ثبت نام
ثبت نام دوره های آموزشی ایسیو و الکترونیک خودرو