پروتکل CAN مجموعه ای از قوانین برای انتقال و دریافت پیام در شبکه ای از دستگاه های الکترونیکی است که
کمک می کند تا با یک کابل مشترک ماژول های الکترونیکی متفاوت با هم در ارتباط باشند.

این پروتکل به کمک مهندسین و متخصصان آمده تا پیچیدگی کنترل سیستم های الکترونیکی امروزه را بکاهد و
قابلیت و کارایی سیستم ها را افزایش دهد.

با ما همراه باشید تا به بررسی مسائل و نکات مهم و قابل توجه درباره این پروتکل بپردازیم.

1# پروتکل CAN چیست؟

پروتکل CAN یا شبکه کنترل کننده (Controller Area Network) روشی برای ارتباط بین دستگاه های الکترونیکی تعبیه شده در خودرو است.

مانند سیستم های مدیریت موتور، سیستم تعلیق فعال، قفل مرکزی، تهویه مطبوع، کیسه هوا و غیره.

این ایده توسط Robert Bosch GmbH در سال 1983 برای بهبود کیفیت و ایمنی خودروها، افزایش قابلیت اطمینان خودرو و بهره وری سوخت ارائه شد.

پیشرفت در صنایع الکترونیک و نیمه هادی منجر به فناوری های جدید اما چالش هایی برای مهندسان در صنعت خودرو شد.

به عنوان مثال، لوازم الکترونیکی ویژگی ها و پیچیدگی های بیشتری را ارائه می دهند، از جمله توانایی “ارتباط” بین دستگاه ها.

مهندسان خودرو اغلب وظیفه دارند که چنین دستگاه هایی را با یکدیگر ترکیب کنند و
اطمینان حاصل کنند که آن ها بدون خطا کار می کنند.

CAN این فرآیند را ساده می کند.

به این ترتیب ماژول های الکترونیکی مختلف می توانند با استفاده از یک کابل مشترک با یکدیگر ارتباط برقرار کنند.

پروتکل CAN

2# الزام وجود CAN

هر دستگاه الکترونیکی دارای ECU/MCU (واحد کنترل الکترونیکی/میکروکنترلر) با قوانین خاص خود برای به اشتراک گذاری و انتقال اطلاعات است.

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

قبل از استفاده از CAN در وسایل نقلیه، هر وسیله الکترونیکی از طریق سیم (به طور خاص سیم کشی نقطه به نقطه) به دستگاه دیگر متصل می شد.

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

این پروتکل برای حل این مشکل طراحی شده است.

این پروتکل قوانینی را تعیین می کند که بر اساس آن ها دستگاه های الکترونیکی می توانند،
اطلاعات را از طریق یک گذرگاه سریال معمولی با یکدیگر تبادل کنند.

این موضوع باعث کاهش اتصالات سیم کشی و پیچیدگی کلی سیستم شد.

دستگاه های الکترونیکی در یک خودرو را می توان در حوزه های مختلف طبقه بندی کرد و
CAN ارتباط چند حوزه ای را تسهیل می کند که این امر کمک بزرگی به مهندسان خودرو است.

الزام وجود C.A.N

3# پروتکل CAN چگونه اجرا می شود؟

این پروتکل مجموعه ای از قوانین برای انتقال و دریافت پیام در شبکه ای از دستگاه های الکترونیکی است که
تحت این قوانین تعیین شده، پیام ها از یک دستگاه به دستگاهی دیگر منتقل می شوند.

جالب این جاست که CAN با تمرکز خاصی بر صنعت خودرو توسعه یافته است؛
اما معماری و مزایای آن باعث شده است که
چندین صنعت دیگر (مانند راه آهن، هواپیما و بخش های پزشکی) نیز از این پروتکل استفاده کنند.

این را هم ببینید
پروتکل چیست؟

وسیله های الکترونیکی که از طریق پروتکل CAN ارتباط برقرار می کنند،
به وسیله یک گذرگاه سریال معمولی به یکدیگر متصل می شوند که امکان انتقال پیام بین آن ها را فراهم می کند.

برای وقوع این تبادل داده، گره ها ابتدا به سخت افزار و نرم افزار لازم نیاز دارند.

یک شبکه معمولی CAN از چندین گره تشکیل شده است.

هر دستگاه دارای کنترل کننده، فرستنده،‌ گیرنده CAN و کنترل کننده میزبان (ECU/MCU) است که
وظیفه عملکرد یک گره خاص را بر عهده دارد.

CAN از معماری master-slave پیروی نمی کند.

بدین معنا که هر گره به خواندن و نوشتن داده ها در گذرگاه CAN دسترسی دارد.

هنگامی که گره برای ارسال داده آماده است، در دسترس بودن گذرگاه را بررسی می کند و
یک فریم CAN را روی شبکه می نویسد.

فریم ساختاری است که دنباله معنی داری از بیت یا بایت داده را در شبکه حمل می کند.

پروتکل CAN چگونه اجرا می شود؟

4# انواع پروتکل CAN

دانلود pdf مقاله

دو نوع پروتکل وجود دارد: آدرس یا پیام.

در پروتکل مبتنی بر آدرس، بسته های داده حاوی آدرس دستگاهی هستند که
پیامی برای آن در نظر گرفته شده است.

در پروتکل مبتنی بر پیام، هر پیام به جای یک آدرس توسط یک شناسه از پیش تعیین شده مشخص می شود.

فریم CAN منتقل شده معمولاً یک پروتکل مبتنی بر پیام است.

پیام یک بسته داده است که اطلاعات را حمل می کند.

یک پیام CAN از 0 تا 8 بایت داده تشکیل شده است که در یک ساختار خاص (به نام فریم) سازماندهی شده اند.

داده های حمل شده در هر بایت در پروتکل CAN تعریف شده است.

همه گره هایی که از پروتکل CAN استفاده می کنند یک فریم دریافت می کنند و
بسته به شناسه گره، CAN تصمیم گیری می کند که آن را بپذیرد یا نه.

اگر چندین گره پیام را همزمان ارسال کنند، گره با بیشترین اولویت دسترسی به گذرگاه را دریافت می کند.

گره های با اولویت پایین باید منتظر بمانند تا گذرگاه در دسترس باشد.

انواع پروتکل CAN

5# معماری پروتکل CAN

این پروتکل از مدل مرجع OSI موجود برای انتقال داده ها بین گره های متصل به شبکه استفاده می کند.

مدل مرجع OSI مجموعه ای از 7 لایه را نشان می دهد و هر لایه عملکرد خاص خود را دارد که به شرح زیر است:

  1. لایه کاربردی: این لایه به عنوان یک پنجره برای دسترسی کاربران و فرآیندهای برنامه به خدمات شبکه است.
  2. لایه نمایشی: به عنوان یک مترجم برای داده ها در قالب استفاده شده توسط لایه برنامه در انتهای دریافت کننده ایستگاه عمل می کند.
  3. لایه جلسه: این لایه امکان ایجاد، برقراری ارتباط و خاتمه جلسات بین فرآیندهای اجرا شده بر
    روی دو دستگاه مختلف را فراهم می کند که برقراری امنیت، شناسایی نام و ورود به سیستم را انجام می دهد.
  4. لایه انتقال: لایه انتقال اطمینان می دهد که پیام ها بدون خطا، به ترتیب و بدون از دست دادن یا تکراری ارسال می شوند.
  5. لایه شبکه: این لایه یک سیستم آدرس دهی منطقی را به انتها ارائه می دهد تا
    بسته ای از داده ها در چندین لایه هدایت شوند و اتصالات شبکه را ایجاد، متصل و خاتمه دهند.
  6. لایه پیوند داده: این لایه داده های خام را به فریم های منتقل شده از لایه فیزیکی بسته بندی می کند.
    این لایه وظیفه انتقال فریم ها از یک دستگاه به دستگاه دیگر بدون خطا را بر عهده دارد.
    پس از ارسال فریم، منتظر تأیید دستگاه دریافت کننده است.
  7. لایه فیزیکی: لایه فیزیکی بیت را از یک دستگاه به دستگاه دیگر منتقل می کند و
    انتقال جریان بیت را تنظیم می کند.

پروتکل CAN از دو لایه پایین تر OSI یعنی لایه فیزیکی و لایه پیوند داده استفاده می کند.

5 لایه باقیمانده که لایه های ارتباطی هستند برای طراحان سیستم بهینه سازی شده و
با توجه به نیازهای خود سازگار می شوند.

معماری پروتکل CAN

6# مزایای CAN

  • هزینه پایین: از آن جا که یک گذرگاه سریال CAN از دو سیم (با حجم بالا و هزینه کم) استفاده می کند،
    با قیمت مناسب عملکرد خوبی را ارائه می دهد.
  • قابل اعتماد بودن: CAN مکانیزم های مناسبی را برای تشخیص و مدیریت خطا ارائه می دهد که
    به کمک این مکانیزم ها می توانیم انتقال داده قابل اطمینانی را داشته باشیم.
    همچنین این پروتکل تا حد زیادی از تداخل الکترومغناطیسی مصون است.
  • انعطاف پذیر بودن: گره های CAN توسط پروتکل محدود نمی شوند و می توانند به راحتی متصل یا قطع شوند.
  • سریع بودن: CAN سرعت داده 1 مگابیت بر ثانیه در طول 40 متر گذرگاه را پشتیبانی می کند.
  • محدودیت خطا: گره های معیوب ارتباط را مختل نمی کنند.
  • قابلیت پخش: پیام ها را می توان به یک/چند/همه گره ها ارسال کرد.
  • استاندارد: ISO پروتکل CAN را از طریق ISO-DIS 11898 (برای برنامه های با سرعت بالا) و ISO-DIS 11519-2 (برای برنامه های با سرعت پایین) استاندارد کرده است.
    پروتکل CAN همچنین توسط سازمان های صنعتی مانند SAE استاندارد شده است.

مزایای C.A.N

مقاله بالا بخشی از مطالب گسترده برنامه نویسی میکروکنترلر ARM است.

برای یادگیری صفر تا صد این حوزه به آموزش جامع میکروکنترلر آرم مراجعه کنید.

برای مشاهده توضیحات کامل بسته کلیک کنید.

مشاهده بسته میکروکنترلر آرم
بسته میکروکنترلر آرم

اگر به دنبال یاد گرفتن مهارت بیشتر و افزایش درآمد هستید،

برای دریافت آموزش های رایگان مرتبط با حوزه علاقه‌مندی خود فقط کافیه فرم رو تکمیل کنید.

لطفا موبایل خود را وارد نمایید

نظرتون درباره این مقاله چیه؟
ما رو راهنمایی کنید تا اون رو کامل تر کنیم و نواقصش رو رفع کنیم.
توی بخش دیدگاه ها منتظر پیشنهادهای فوق العاده شما هستیم.