مقدمهای بر CAN bus
معماری پایه CAN
رابرت بوش با توسعه پروتکل ارتباطی برای سیستمهای باس که در ابتدا فقط در خودروها استفاده شد، یک واحد کنترل الکترونیکی [1] در سال 1983 را ساخت. نتیجه آن شد CAN. اولین چیپ CAN در اواخر دهه 1980 به تولیدکنندگان خودرو عرضه شد. در نهایت CAN در نوامبر 1993 تحت عنوان ISO11898 استاندارد سازی شد. اولین مقاله منتشر شده در مورد CAN در کنفرانس SAE[2] در دیتروید در سال 1986 ارائه شد. اولین نسخه منتشر شده از کل پروتکل CAN نسخه1.1 بود. پروتکل بعدا به نسخه1.2توسعه یافت و در ادامه نسخههای A2.0 و B 2.0 منتشر شدند. نسخهها با یکدیگر سازگارند؛ ماژولهای CAN با نسخه پروتکلهای مختلف ممکن است با مقدار کمی محدودیت در یک شبکه واحد کار کنند. در نسخه 1.2CAN تحمل[3] نوسانگر بیشتر از نسخه 1.1 است. نسخه A2.0 همانند نسخه 1.2 است و دارای 11 بیت شناسه است، اما مشخصات نسخه B2.0 فریمهایی با 29 بیت شناسه میباشد که به آن فریم-بلند میگویند.
پروتکل CAN توسط ISO استاندارد سازی شده است و برای نرخ بیت تا 125کیلوبیت بر ثانیه استاندارد ISO11519 و برای نرخ بیت تا 1مگابیت بر ثانیه استاندارد ISO11898 معرفی شده است.
پروتکل ارتباطی (CAN (ISO 11898 چگونگی تبادل اطلاعات بین دستگاهها در یک شبکه را توصیف میکند و مطابق مدل OSI است که از لحاظ لایهها تعریف شده است. ارتباط واقعی بین دستگاههای متصل شده توسط رسانه فیزیکی توسط لایه فیزیکی مدل تعریف میشود. در شکل 1 دو لایهی پایینی از هفت لایه مدل OSI/ISO را تحت عنوان لایه فیزیکی و لایه پیوند داده توصیف شدهاست.
چهار نوع فریم در پروتکل CAN داریم:
فریم داده، فریم خطا، فریم راه دور [4] و فریم اضافه بار. فقط فریم داده پیام را منتقل میکند و دیگر فریمها برای مهار خطا، راهاندازی [5] و همزمان سازی هستند. هر پیغام CAN به قسمتهای مختلف با طول مشخص تقسیم میشود. بهعنوان مثال این قسمتها شامل پایان فریم، بخش [CRC [6، بخش داده و بخش قضاوت [7]. بخش قضاوت که در شناسه است، اولویت پیام با آدرس منطقی اطلاعات را ترکیب میکند.
دو نوع فرمت برای شناسه در CAN داریم. اولی با طول 11بیت که در CAN 2.0A مشخص شده است و امکان 2048 آدرس منطقی مختلف را فراهم میکند. این به آن معناست که حداکثر 2048 پیام مختلف (در صورتی که هیج وجه تمایز دیگری اعمال نشده باشد) را در شبکه میتوان ارسال کرد. در بعضی کاربردها این تعداد ممکن است خیلی کم باشد. بنابراین مشخصات افزایش یافتند به طوریکه ارسال پیامها با 29 بیت شناسه امکان پذیر شد. این شناسه ارسال 536870912 پیام مختلف را فراهم میکند که فریمهای بلند شده نامیده میشود و مطابق مشخصات نسخه B2.0 میباشد. در شکل 2 ساختار فریم داده آمده است.
در CAN bus دسترسی با روش قضاوت غیرمخرب [8] بیتی تنظیم میشود. غیر مخرب به این معناست، فریمی که پیروز قضاوت است (اولویت بیشتری دارد) مزاحم نیست و نیازی به راه اندازی مجدد [9] آن نمیباشد. این مکانیسم نیازمند درایورهای فیزیکی مربوطه است تا به روش مشخصی پیاده سازی شوند: دو سطح منطقی در CAN bus میتوانند dominant و recessive باشند که به این معناست گرهی که سطح dominant ارسال میکند، بر روی تمامی گرههایی که سطح recessive را ارسال میکنند، بازنویسی [10] میکند. در پروتکل CAN “یک” منطقی recessive و “صفر” منطقی dominant را ارسال میکند.
در شبکههای چندتایی فلسفه تخصیص حق دسترسی در باس، فاکتور مهمی است که توان عملیاتی [11]، تاخیر انتقال و قابلیت بلادرنگی یک سیستم شبکه شده را مشخص میکند. در این رابطه CAN عملکرد خوبی را نشان داده است: وقتی چند گره به صورت همزمان اقدام به دسترسی به CAN bus را میکنند، مهمترین رقیب [12] به صورت خودکار انتخاب میشود. وقتی یک گره با یک درخواست انتظار برای انتقال مواجه میشود، متوجه میشود که باس اشغال است و درخواستش برای دسترسی به باس را به تعویق میاندازد تا باس به حالت آمادهکار [13] برگردد.
علاوه بر بیت خطا، خطاهای دیگر باید توسط CAN شناسایی و برطرف شوند. این تعریف به مدیریت خطا در لایهی پیوند داده بر میگردد. همچنین مدیریت خطا بخشی از استانداردسازی ISO11898 میباشد که به این معناست که هر مدار مجتمع [14] CAN رسیدگی [15] یکسانی به خطا دارد.
این یک قاعده برای CAN است که هرچه زودتر خطاها در IC شناسایی و برطرف شوند. هر خطایی که توسط یک گره شبکه شناسایی شود به سرعت به دیگر گرهها مخابره میشود بعد از این اطلاع رسانی خطا، تمامی گرههای حاضر در شبکه، پیامی را که در حال حاضر در حال پردازش باشد، حذف میکنند.
لایه پیوند داده و لایه سیگنالینگ فیزیکی در شکل 1، در هر کنترل کنندهای که پروتکل CAN را اجرا میکند وجود دارد. اتصال به رسانه فیزیکی توسط یک مبدل خط صورت میگیرد که در شکل 3 نشانداده شدهاست.
سیگنالینگ به صورت تفاضلی است که در آن CAN در برابر نویز و تحمل خطا قوی میشود. سیگنالینگ بالانس شده تفاضلی نویز را کاهش میدهد و امکان سیگنالینگ نرخ بالا را در یک زوج سیم فراهم میکند. بالانس شده به این معناست که جریان منتشر شده در هر خط سیگنال برابر ولی خلاف جهت یکدیگر میباشد که منجر به خنثی سازی میدان میشود که کلیدی اساسی برای انتشار کم نویز است. استفاده از گیرندههای تفاضلی بالانس شده و کابل زوج سیم [16]CMR را بهبود میدهد و شبکه را در برابر نویز بسیار مقاوم میکند.
مشخصات استاندارد سرعت بالای ISO 11898 برای حداکثر سرعت 1 مگابیت برثانیه با طول باس حداکثر 40 متر و حداکثر 30 گره دادهشده است. همچنین توصیه میکند حداکثر فاصله گره تا خط 30سانتی متر باشد(تصویر 4).
کابل مشخص شده یک زوج سیم با امپدانس مشخصه 120 اهم میباشد که میتواند شیلد شده یا بدون شیلد باشد. در انتهای باس دو مقاومت 120 اهم با شبکه تطبیق [17] یافته است که از بازگشت سیگنال به داخل شبکه جلوگیری شود.
در مهندسی خودرو، سیستمهای باس بر اساس کلاس بندی SAE تقسیم بندی شدهاند:
کلاس A: سیستم باس برای کاربردهای ساده با نرخ دادهی حداکثر 10کیلو بیت برثانیه.
کلاس B: سیستم باس برای کاربردهایی با نرخ دادهی بین 10تا 125 کیلوبیت بر ثانیه.
کلاس C: سیستم باس برای کاربردهایی که نیاز به رفتار بلادرنگ دارند و با نرخ دادهی 125کیلوبیت بر ثانیه تا یک مگابیت بر ثانیه میباشد.
کلاس D: سیستم باس برای انتقال داده رشتههای بلند با پهنای باند زیاد( رشتههای صدا و تصویر).
بر اساس منطق SAE پروتکل CAN در کلاسهای B و C جای میگیرد.
در ادامه سیستم کنترلی مبتنی بر CAN 4 وسیله نقلیه مورد بررسی قرار میگیرد. معماری پیاده سازی شده در یک خودرو شخصی، یک کامیون، یک قایق و یک فضا پیما.
1.خودرو سواری ولوو
در صنعت خودرو سازی تحول قابل ملاحظهای در چند سال اخیر ملاحظه شده است که در آن سیستمهای کنترل تعبیه شده از سیستمهای کنترل مستقل [18] به سیستمهای کنترل مجتمع و شبکه شده رشد داشته است. در اصل با انگیزه کاهش کابلکشی و افزودن چند ویژگی خاص با اشتراک سنسور و عیب یابی [19]، درحال حاضر چندین سیستم X-by wire در حال توسعه هستند که هماهنگی توزیع شدهی تعداد زیادی زیر سیستم را در بر میگیرد.
شکل 5 معماری کنترل توزیع شده یک ولوو XC90 را نشان میدهد. بلوکها نشانگر ECUها و خطوط ضخیم نشاندهنده شبکهها هستند. محل واقعی یک ECU در خودرو به طور تقریبی با محلش در بلوک دیاگرام نشان داده شده است. سه نوع ECU داریم: انتقال قدرت و شاسی، سرگرمی و تجهیزات الکترونیکی بدنه. بسیاری از کلمات اختصاری ECU در شکل توضیح داده شدهاست. شبکههای متعددی برای اتصال ECU و زیر سیستمها به کار رفته است. دو خط CAN وجود دارد. چپترین شبکه مربوط به زیر سیستمهای انتقال قدرت و شاسی میباشد. به عنوان مثال کنترل موتور و ترمز را به یکدیگر متصل میکند و نرخ تبادل اطلاعات 500کیلو بیت بر ثانیه را دارد. شبکه CAN دوم تجهیزات الکترونیکی بدنه مانند کنترل در و اب و هوا را به یکدیگر متصل میکند و نرخ تبادل اطلاعات 125کیلوبیت بر ثانیه را دارد. ماژول الکترونیکی مرکزی یک ECU است که به عنوان دروازهای بین دو شبکه CAN باس عمل میکند. یک شبکه حمل و نقل سیستم رسانه گرا [20] وظیفه شبکه سازی برای سیستمهای سرگرمی و مخابراتی را دارد. در نتیجه ECU ها را برای چندرسانهای، تلفن و آنتن متصل میکند. در نهایت شبکههای متصل محلی [21] برای اتصال گرههای پیرو [22] به زیرسیستم استفادهشده است و در بلوک دیاگرام با خط تیره مشخص شدهاست. حداکثر پیکربندی که برای خودرو میتوان استفاده کرد حدود 40 ECU میباشد.
2-کامیون اسکانیا
شباهتهای زیادی بین معماری کنترلی خودرو شخصی و کامیون وجود دارد. همچنین تفاوتهای اساسی مهمی به خاطر تفاوت در ساختار فیزیکی و طول عمر زیاد مورد انتظار از آنها، وجود دارد. این ویژگیها سبب اعمال تجهیزاتی منعطف، با توجه به اتصال، افزودن و جدا کردن و تریلر، میباشد.
معماری کنترلی یک کامیون اسکانیا در شکل 6 نشان داده شده است. شامل سه خط CAN که با رنگهای سبز زرد و قرمز کشیده شدهاست میباشد که توسط اسکانیا بر اساس میزان اهمیت رنگ بندی شدهاست. چپترین(عمودی) CAN در برگیرنده کم اهمیت ترین ECU ها همچون سیستم صوتی و سیستم تهویه میباشد. CAN وسط(عمودی) به ارتباطات مربوط به زیرسیستمهای مهم که بهطور مستقیم در مدیریت ترمز و موتور دخیل نیستند، رسیدگی میکند. در نهایت راستترین(افقی) خط مهمترین CAN میباشد که تمام ECUها برای زیر سیتمهای محرک را متصل میکند. ECU سیستم هماهنگ کننده(COO) دروازهای بین سه خط CAN میباشد. به سمت چپترین CAN یک خط عیب یاب متصل است که برای جمعآوری اطلاعات مربوز به وضعیت ECUها به کار میرود.
پروتکل غالب در لایههای بالا برای کامیون ها SAE J1939 میباشد که قابلیت plug and play را تسهیل میکند اما تغییرات و بهینه سازی سیستم را سخت میکند.
3-قایق دریایی ایالات متحده
کاربردهای دریایی متعددی برای CAN وجود دارد. در اینجا مثالی از یک شناور دریایی بدون سرنشین که توسط نیروی دریایی ایالات متحده فراهم شده است ذکر میکنیم. نیروی دریایی معماری الکترونیکی توزیع شدهای را تحت عنوان SeaCAN توسعه داده است که بر روی تمام شناورهای دریایی جدید نصب شده است. معماری یک SeaCAN برای یک قایق بادبانی کنترلی از فاصله 7متری، در شکل 7 نشان داده شده است. سیستم SeaCAN از تعدادی برد CPU که با CAN باس به یکدیگر متصل و با نرخ 125کیلوبیت بر ثانیه کار میکنند، استفاده میکند. دلیل پاینن بودن نرخ ارتباط این است که امکان استفاده از فیبر و مس طولانی تر در قایقهای بزرگ و کشتیها را میدهد.
SeaCAN از یک سیستمعامل که حول CAN باس ساخته شده است و بر اساس پروتکلهای لایههای بالا و تحت عنوان CANKingdom میباشد. سیستمعامل شامل زمانبندی[23] برای وظایف[24] میباشد که با کلاک محلی همزمان شده است. بنابراین امکان رفتار هماهنگ شده بین دو گره، بدون هیچ شبکه ارتباطی اضافی، فراهم میشود.
پهنای باند کم، کلاک محلی با رزولوشن 100میکرو ثانیه و تدارکات خاص با توجه به امنیت و خاموش کردن امن، از مشخصات این پروتکل است.
4-فضا پیما
پروتکل CAN در فضا پیما و هواپیما نیز استفاده میشود. [SMART-1[25 اولین پروژه فضایی اروپایی است که مخفف “ماموریت کوچک برای تحقیقات پیشرفته در فن آوری” است. در شکل 8 اجزای معماری کامپیوتر این سازه نشان دادهشده است. بلوک دیاگرام سیستم را به صورت دو بخش مجزا نشان میدهد: یک زیر سیتم نشاندهنده سیستم کنترلی و دیگری برای آزمایشات علمی است. هرکدام از آنها از یک CAN جدا استفاده میکند؛ بنابراین یک سیستم CAN و یک payload CAN داریم. کنترل فضاپیما از طریق کنترلکنندههای اضافی CON-A و CON-B که در وسط شکل هستند، صورت میگیرد.
گرههای CAN روی باس فقط کنترلکنندهها نیستند بلکه شامل کنترل دما، ردیابی ستاره و سنسور خورشید، ژیروسکوپ، کنترل توان و… نیز میباشد. هر CAN باس یک مسیر اسمی و یک مسیر اضافی دارد. کنترلکننده میتواند تصمیم بگیرد تا از کدام خط استفاده کند.[5]
نتیجهگیری
CAN برای کاربردهایی که نیاز به تعداد زیادی پیام کوتاه با قابلیت اطمینان بالا در محیطهای عملیاتی سخت دارند، ایده آل است. زیرا CAN پیام محور است نه آدرس محور. از بین بردن خطا یکی از مزایای مهم CAN است.گرههای خراب به صورت خودکار از باس خارج میشوند که از قطع شدن شبکه جلوگیری میکند و تضمین میکند که همیشه پهنای باند برای انتقال پیامهای حیاتی فراهم است. همچنین محدودیت خطا به گرهها این امکان را میدهد که حین کار کردن سیستم، به باس اضافه شوند.
به طور خلاصه مزایای مهم عبارتند از: کاهش کابل کشی، قابلیت تشخیص خطا، امنیت بالا نسبت به نویز خارجی، استحکام بالا، توانایی در حل تصادمها بدون نیاز به انتقال مجدد دیتا، کنترل توزیع شده و اتصال گرم. از آنجایی که فریمها کوتاه هستند، زمان پردازششان نیز کوتاه است.
برای مشاهده سایر نوشتارهای مربوط به الکترونیک و مخابرات، اینجا کلیک کنید!
منبع:
[21] LIN | [16] Common mode rejection | [11] throughput | [6] Cyclic Redundancy Check | [1] ECU |
[22] slave | [17] match | [12] competitor | [7] arbitration | [2] Society of Automotive Engineers |
[23] scheduler | [18] Stand alone | [13] idle | [8] nondestructive | [3] tolerance |
[24] tasks | [19] diagnostics | [14] IC | [9] restart | [4] remote |
[25] small missions for advanced research in technology | [20] A media oriented system transport | [15] handling | [10] overwrite | [5] triggering |