همانطور که در مقاله انواع پروتکلهای مورداستفاده در خودرو بیان شد، پروتکل CAN خودرو رقیب بلامنازعه در بین پروتکلهای خودروها است. در این مقاله در مورد نوع پیام و نحوه انتقال آن پیام در پروتکل CAN خودرو مطالبی بیان خواهد شد.
چرا دانستن نوع و نحوه انتقال دادهها اهمیت دارد؟
شاید این سؤال پیش بیاید که آیا لازم است یک نفر که در حوزه خودرو کار میکند باید اطلاعات شبکههای و تخصصی در مورد نحوه انتقال پیام در شبکه داشته باشد؟ شاید در سادهترین حالت و برای کاربریهای معمولی پاسخ منفی باشد. اما هنگامی که به سطوح بالاتر و سایر مشاغل مرتبط در خودرو نگاه میکنیم مشاهده میشود این کار باعث ارتقا کیفیت خدمات خواهد شد. این دانش ما را به سمت درک بهتر سیستم و در نتیجه عیبیابی بهتر هدایت خواهد کرد و حتی در دید کلانتر میتوان به یکی از شاخههای گزیده کار در خودرو یعنی نصب آپشنهای خاص روی خودروها هدایت شد، با بررسی دقیقتر شبکه میتوان بهعنوان یک آپشن کار، تجهیزات مختلفی را که اصطلاحاً فابریک آن خودرو نیست، روی آن خودرو تعریف کرد یا به قول بازار آن را روی سیستم خوراند.
پیام در CAN
قبل از اینکه روش انتقال دادهها در پروتکل CAN خودرو پرداخته شود، باید پیام در پروتکل CAN خودرو شناسایی شود. بهصورت کلی پیامها در پروتکل CAN خودرو باید شامل بخشهای مطابق شکل 1 باشد.
شکل 1- اجزا عمومی پیام در پروتکل CAN خودرو
شروع پیام و انتهای پیام – Start of Frame & End of Frame
برای اینک پیامها با هم تداخل نداشته باشند باید شروع و انتهای هر پیام مشخص باشد؛ بنابراین دو بخش بهظاهر ساده اما مهم در هر پیام شروع و پایان پیام است. معمولاً برای جلوگیری از تداخل انتهای پیام با ابتدای پیام بعد، تعداد بیت (bit) های شروع و انتهای پیام با یکدیگر متفاوت است.
نام پیام – Indentifier frame
در طول پیام باید مشخص باشد که پیام مربوط به چه چیزی است. مثلاً اطلاعات پیام مربوط بهدور موتور است یا سرعت خودرو، دمای آب را نشان میدهد. یا دمای هوای ورودی! در بخش مشخصات پیام فقط عنوان یا موضوع پیام مشخص میشود به عبارت سادهتر مشخص میشود این پیام مربوط به اطلاعات وضعیت دندهاتوماتیک است. باتوجهبه اینکه نام و موضوع پیام در اولویتبندی انتقال پیام اهمیت فراوانی دارد. این بخش با نام بخش اولویتبندی Atribiation feild نیز نامیده میشود.
متن پیام – Data Field
بخش اصلی پیام در این بخش قرار میگیرد. اینکه دمای مایع خنک کننده چند درجه است در این بخش از پیام گنجانیده میشود. بنابراین هدف پیام در این بخش قرار گرفته است. بیشترین تداد بیتها در این بخش قرار میگیرد. معمول در مدل CAN ، 64 بیت برای این بخش در نظر گرفته شده است.
بخش کنترلی – Control Field
بخش کنترلی یکی از بخشهای مهم در پیام است. همانطور که در بخش متن پیام اشاره شد، تعداد بیتهای متن پیام کاملاً متغیر است و در مدل پیام CAN حداکثر 64 بیت است؛ اما ممکن است در یک پیام تعداد این بیتها کمتر باشد؛ بنابراین سؤال در به این صورت مطرح میشود که تعداد این واقعی پیام دمای هوای ورودی چند بیت است. اطلاعات مربوطه به این موارد در بخش کنترلی گنجانده خواهد شد. این بخش خود میتواند از چند بخش مختلف تشکیل شده باشد
بخش CRC – CRC Field
این بخش پیام ، در زمان عیبیابی اهمیت فراوانی دارد. در واقع خطای انتقال دادهها از فرستنده به گیرنده در این بخش مشخص میشود
بخش ACK – ACK field
بخش دیگری از فرایند بازخورد، در بخش ACK انجام میشود. . در واقع در فرایند بازخورد. این بخش نقش فراوانی دارد. نود (Node) گیرنده پس از دریافت پیام و اجرای آن باید به فرستند بازخورد دهد. این بازخورد در اینجا ثبت میشود. در مورد این بخش در ادامه بیشتر صحبت خواهد شد.
دستهبندی پروتکل CAN خودرو از نظر پیام
با اینکه در ظاهر یک پروتکل با نام CAN وجود دارد؛ اما خود این پروتکل را نیز میتوان به روشهای مختلف دستهبندی میشود. شکل 2 این دستهبندی را نشان میدهد.
شکل 2- انواع پیام در پروتکل CAN خودرو
همانطور که در شکل مشاهده میشود پیامها در این پروتکل به دودسته تقسیمبندی میشوند. CAN استاندارد (Standard CAN) و CAN توسعهیافته (Extended CAN)
نکته: باید گفت یکی از شاخصهای دستهبندی زیرشاخههای پروتکل CAN خودرو همین نوع پیام است.
Standard CAN
CAN استاندارد، به CAN از نوع 18 بیتی نیز شناخته میشود. در واقع 18 بیت تعداد بیتها در بخش Idententifier است . از نظر عملی در این پیام تعداد قطعات کمتری نسبت به CAN توسعهیافته قابلتعریف است؛ بنابراین میتوان با سرعت پایینتر نیز دادهها را جابهجا کرد به همین دلیل این پروتکل به CAN سرعت پایین (LOW Speed CAN- L CAN) نیز شناخته میشود. شکل 3 فرم پیام در CAN Standard را نشان میدهد.
شکل 3- فرم پیام در Standard CAN
CAN EXTended
برای اینکه تعداد پیامهای قابلتعریف افزایش یابد ضروری است که تعداد بیتهای اختصاصیافته به بخش Indentifier افزایش یابد. مهمترین بخش تفاوت بین CAN استاندارد و CAN توسعهیافته در همین بخش است. در CAN توسعهیافته 11 بیت دیگر به بخش Indentifier اضافه شده است؛ بنابراین این بخش مجموعه دارای 29 بیت خواهد بود. به همین دلیل این مدل به نوع 29 بیتی نیز شناخته میشود. سرعت انتقال دادهها در این CAN بالاتر رفته و با نامهای CAN High Speed یا همان H CAN نیز شناخته میشود.
نکته مهم: توجه کنید این CAN سرعت بالا و پایین را خط ارتباطی یا همان BUS اشتباه گرفته نشود. معمولاً پروتکل CAN از زوج سیم به هم تابیده فرکانس بالا استفاده میکند که سیمهای آن CAN-H و CAH-L نامیده میشوند.
شکل 4 جزییات مریوط به پیام در CAN توسعه یافته را نشان میدهد.
شکل 4- جزئیات مربوط به پیام در CAN توسعهیافته
اولویت در انتقال پیام
فرض کنید تعداد زیادی پیام میخواهد وارد خط انتقال دیتا شود. در مقاله مالتی پلکس در خودرو بیان شد، روش مالتی پلکسینگ کردن در خودرو از نوع مالتی پلکس روی زمان است؛ یعنی یک پیام پشت یک پیام دیگر باید ارسال یا دریافت شود. اما سؤال آن است کدام پیام اول وارد خط انتقال پیام شود. مفهوم اولویت در پیام در اینجا مطرح میشود. پروتکل CAN خودرو یک ساز کار نسبتاً ساده برای اولویتبندی پیامها انجام داده است. این اولویتبندی مخصوص بخش Atribiation یا همان Indentifier frame است. رویه انتخاب ساده است. پیامها در بخش Atribiation بیت به بیت با هم مقایسه میشوند. اولویت با بیت صفر است. به شکل 5 توجه کنید
شکل 5- نحوه اولویتبندی در انتقال پیام در پروتکل CAN خودرو
همانطور که در شکل 5 نشاندادهشده است. سه پیام بهصورت هم زمان میخواهند وارد خط انتقال دادهها بشوند. یک پیام از گیربکساتوماتیک، دیگری از یونیت ABS و سومی از یونیت موتور. این تصویر مقایسه بیت به بیت بخش Indentifier را نشان میدهد. بیت 1 در دو یونیت ABS و موتور صفر است؛ اما در یونیتی گیربکس اتومات 1 است. در همین لحظه آخر بودن اولویت این پیام گیربکس اتومات مشخص میشود. بیت 2 در یونیت ABS با کد صفر و در یونیت موتور با کد 1 پر شده است. پس بین این سه پیام اولویت با پیام ABS است و سپس پیام یونیت موتور و در انتها پیام گیربکس اتومات وارد خط شبکه خواهد شد. در این مقاله ساختار پیام و روش اولویتبندی پیامها در انتقال به خط دادهها بیان شد. در مقاله بعدی نحوه انتقال دادهها بین یونیتها در پروتکل CAN خودرو تشریح خواهد شد. بررسی سلسله مقالات مربوط به مالتی پلکس شما را در توسعه شغلی کمک خواهد کرد. البته این دانش به تنهایی کافی نیست. دورههای تخصصی مالتی پلکس ایمگ شما را در کسب مهارت عملی کمک خواهد کرد.