• باس CAN در شبکه های صنعتی. توضیحات اتوبوس CAN

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

    در حال حاضر رابط CAN به طور گسترده در بسیاری از زمینه ها از جمله اتوماسیون صنعتی و ابزار دقیق هوافضا استفاده می شود. رابط CAN
    (یا CAN-Bus) بیشتر به عنوان استفاده می شود لینک اتصالبین خط اصلی دستگاه کنترل و بسیاری از سنسورها، مکانیسم ها و غیره کمکی که اتصال آنها به خط مرکزی همیشه توصیه نمی شود.

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

    پروتکل CAN با افزایش ایمنی نویز، قابلیت اطمینان مشخص می شود و دارای ویژگی های زیر است:

    انعطاف پذیری پیکربندی؛

    دریافت پیام توسط تمام گره ها با همگام سازی زمان.

    داوری دسترسی غیر مخرب اتوبوس؛

    حالت مولتی مستر؛

    تشخیص خطا و گزارش خطا؛

    انتقال خودکار پیام های ناموفق هنگام دسترسی مجدد به اتوبوس امکان پذیر است.

    تفاوت بین خطاهای تصادفی و شکست دائمی گره با توانایی خاموش کردن گره های معیوب.

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

    نمونه های معمولی از برنامه های شبکه CAN عبارتند از سیستم های کنترل و مدیریت ماشین آلات نساجی که توسط Cezoma، Lindauer Dornier، Rieter، تولید شده اند.
    شلافهورست، سولزر.

    از دیگر کاربردهای مهم شبکه می توان به اتوماسیون صنعتی و سیستم های کنترل ربات اشاره کرد. ABB، Bosch، Engel و دیگران در حال حاضر از CAN در تجهیزات خود استفاده می کنند. Edeka از CAN در مرکز تدارکات خود استفاده می کند. اتوماسیون ساختمان و سیستم های پشتیبانی زندگی نمی توانند بدون استفاده از فناوری های CAN انجام دهند، جایی که آنها در کنترل تهویه مطبوع استفاده می شوند (Colt)
    بین المللی)، نگهداری دما (Buderus)، اتاق یکپارچه و کنترل روشنایی.

    رابط CAN یک گذرگاه سریال چند استاد است، به این معنی که تمام گره‌های شبکه CAN می‌توانند داده‌ها را انتقال داده و گذرگاه را به چندین گره به طور همزمان درخواست کنند.

    دستگاه های موجود در سیستم CAN از طریق یک گذرگاه متشکل از سه سیم (2 سیگنال و یک سیم مشترک) متصل می شوند.

    پیام های داده از هر گره ای منتقل می شود
    گذرگاه CAN، ممکن است از 1 تا 8 بایت باشد. هر پیام با شناسه‌ای مشخص می‌شود که در شبکه منحصربه‌فرد است (به عنوان مثال، "حرارت تا 240"، "عیب گرمایش"، "Hopper loaded"، و غیره). در طول انتقال، میزبان های دیگر در شبکه پیام را دریافت می کنند و هر کدام از آنها شناسه را بررسی می کنند. اگر پیام مربوط به این گره باشد، پردازش می شود، در غیر این صورت نادیده گرفته می شود. کنترلر CAN هر یک از دستگاه ها می تواند چندین شناسه را همزمان پردازش کند (به عنوان مثال، کنترلرهای زیمنسو اینتل می تواند تا 15 شناسه را مدیریت کند). بنابراین، در هر یک از دستگاه ها، می توانید به راحتی چندین کانال مجازی را برای تبادل اطلاعات با دستگاه های مختلف سازماندهی کنید، از جمله کانال هایی برای دریافت همزمان پیام.


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

    CAN دارای مکانیزم تشخیص خطای 5 مرحله ای است:

    بررسی افزونگی چرخه ای (CRC)؛

    کنترل میدان بیت ارسالی؛

    کنترل سیگنال "تأیید دریافت"؛

    کنترل فعلی سطح منطقی بیت ها؛

    کنترل پر کردن بیت

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

    لایه فیزیکی رابط CAN توسط استاندارد ISO 11898 تعریف شده است و با ویژگی های زیر مشخص می شود: سوئیچینگ دیفرانسیل فرستنده گیرنده ها باعث سرکوب تداخل حالت مشترک می شود، در حالی که سطح سیگنال 1/3 مقدار ولتاژ تغذیه است و منبع تغذیه است. خود ولتاژ دقیقاً تعریف نشده است.

    به عنوان مثال، مقادیر معمولی در ولتاژ تغذیه +5 ولت در شکل نشان داده شده است. 5.18، و سطح پایین به ترتیب سطح غالب و سطح بالا مغلوب است.

    حداکثر فاصله بین گره ها - تا 1 کیلومتر؛

    نرخ ارز تا 1 مگابیت در ثانیه با طول خط 60 متر؛

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


    عملکرد CAN یا بین تراشه و بقیه سیستم (شکل 5.19).

    پروتکل CAN موارد زیر را تعریف می کند انواع قاب:

    یک قاب داده، داده ها را از فرستنده به گیرنده (ها) منتقل می کند.

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

    چارچوب خطا بیان می کند که کدام گره یک خطای گذرگاه/شبکه ​​را شناسایی کرده است.

    اضافه بار فریم تاخیری بین انتقال فریم ها برای کنترل جریان داده ها ایجاد می کند.

    برنج. 5.18. سطوح سیگنال در اتوبوس CAN

    برنج. 5.19. دو نوع عایق گالوانیکی

    بیایید نگاهی دقیق تر به چارچوب داده بیندازیم (شکل 5.20).

    برنج. 5.20. فیلد کنترل قاب داده (پایان)

    این شامل یک فیلد شروع SOF، یک فیلد داوری، یک میدان کنترل، a داده هافیلد، فیلدهای جمع کنترلی CRC، فیلدهای ACK، فیلدهای انتهای فریم EOF.

    فیلد SOF (شروع قاب) در ابتدای قاب داده و فریم راه دور قرار دارد و حاوی یک بیت غالب است.

    فیلد داوری شامل یک شناسه 11 بیتی و یک بیت RTR است که نشان می دهد فریم یک قاب داده است یا یک فریم حذف شده. شناسه برای آدرس دهی پیام ها در نظر گرفته شده است و توسط مکانیزم داوری استفاده می شود.

    فیلد کنترل (نگاه کنید به شکل 5.20) شامل
    6 بیت، که 4 بیت (DLC0-DLC4) فیلد کد طول داده را تشکیل می دهد که نشان دهنده تعداد بایت های داده ای است که باید در فیلد داده ارسال شود. دو بیت دیگر برای بازبینی‌های پروتکل آینده رزرو شده‌اند.

    فیلد داده فیلد داده حاوی داده های ارسال شده است و تعداد بایت های ارسال شده در قسمت Control Field نشان داده شده است و نمی تواند از 8 بیشتر باشد.

    فیلد CRC یک مکانیسم برابری اضافی برای داده های ارسالی فراهم می کند.

    فیلد ACK (شکل 5.21 را ببینید) شامل بخش های ACK Slot و ACK Delimiter است و انجام می دهد. تابع بعدی: گره فرستنده در هر قسمت یک بیت مغلوب می فرستد و گیرنده در صورتی که پیام را بدون نقص دریافت کند، بیت غالب را روی خط در قسمت ACK Slot تنظیم می کند. هنگامی که سطوح مغلوب و غالب همپوشانی دارند، خطوط غالب می شوند و این رویداد به گره فرستنده سیگنال می دهد که انتقال عادی بوده و نیازی به تکرار نیست.

    فیلد انتهای فریم EOF در قاب داده و قاب راه دور قرار دارد و از هفت بیت مغلوب تشکیل شده است.

    برنج. 5.21. فیلد تایید قاب داده

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

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

    فیلد داوری موجود در تمام فریم های داده شامل: یک فیلد شناسه 11 بیتی است. بیت RTR.

    بیت RTR نشان می دهد که فریم یک قاب داده است یا یک فریم راه دور.

    فیلد شناسه 11 بیتی MSB به LSB ارسال می شود. سطح غالب منطق 0 است. انتقال همزمان یک بیت سطح غالب (منطقی 0) و یک بیت سطح مغلوب (منطقی 1) منجر به یک سطح منطقی 0 می شود.

    در طول انتقال میدان داوری، هر فرستنده سطح جریان را در گذرگاه نظارت می کند و آن را با بیتی که باید ارسال کند مقایسه می کند. اگر مقادیر برابر باشند، گره می تواند به ارسال ادامه دهد. اگر یک بیت غیرفعال (منطقی 1) منتقل شده باشد، و یک بیت فعال (0 منطقی) در گذرگاه شناسایی شود، آنگاه این گره حق ارسال را از دست می دهد و باید انتقال داده های بعدی را متوقف کند (شکل 5.12). گرهی که گذرگاه را گم کرده است ممکن است پس از تکمیل انتقال فعلی، دوباره تلاش کند که ارسال کند.

    نکته مهم این است که شناسه با کمترین مقدار برنده داوری است.

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

    در این حالت آدرس گیرنده در خود گیرنده با تنظیم فیلترهای ورودی ریز مدارهای مربوطه تنظیم می شود.

    فیلترهای ورودی غربال یا صفحه شناسایی هستند. هر پیامی که از فیلترهای ورودی عبور می کند باید توسط پردازنده خدمات کنترلر CAN پردازش شود. هر چه واحدهای بیشتری را بتوان فیلتر کرد، بار CPU کمتر می شود.

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

    ثابت - فیلترهایی که نیاز دارند بیت ها دقیقاً یک به یک (یک به یک) مطابقت داشته باشند.

    Mask-and-Match (ماسک شده) - فیلترهایی که یک ماسک را روی قسمت شناسه قبل از مقایسه با ثبت کد دریافت کننده اعمال می کنند.

    در حال حاضر پروتکل CAN به طور فعال در شبکه های صنعتی استفاده می شود. شرکت های معروفی مانند Hoheywell و Allan_Bradley پروتکل های شبکه را توسعه داده و نگهداری می کنند سطح بالا SDS و DeviceNet، که دومی باز و روشن است این لحظهبیش از 200 شرکت محصولات خود را در این استاندارد تولید و توسعه می دهند. علاوه بر این، استانداردهای شبکه سطح بالا CanOpen، CAL (آلمان) و CanKingdom (سوئد) در اروپا به خوبی شناخته شده اند. همه این شبکه ها از پروتکل CAN در لایه های فیزیکی و انتقال استفاده می کنند. تعدادی از شرکت های داخلی نیز محصولاتی با پروتکل CAN تولید می کنند، از جمله آنهایی که در قالب محبوب MicroPC هستند.

    رابط CAN در اواخر دهه 1980 توسط بوش برای ارتباط بین دستگاه های الکترونیکی مورد استفاده در خودروها توسعه یافت.

    توضیحات کلی CANاین شبکه برای ارتباط گره هایی در نظر گرفته شده است که می توانند گیرنده یا فرستنده باشند. هر گره از دو جزء تشکیل شده است: یک کنترل کننده CAN و یک فرستنده گیرنده (فرستنده گیرنده). کنترل کننده پروتکل تبادل را روی شبکه CAN پیاده سازی می کند و فرستنده گیرنده تعامل با شبکه (انتقال و دریافت سیگنال ها) را فراهم می کند.

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

    روی انجیر ساختار شبکه CAN نشان داده شده است. معمولاً از یک میکروکنترلر به عنوان کنترل کننده استفاده می شود که دارای یک ماژول CAN است که دارای یک خروجی فرستنده TxD از یک کد سریال و یک ورودی گیرنده کد RxD است. فرستنده گیرنده سیگنال های منطقی، یعنی منطق 0 و 1 را به ولتاژ دیفرانسیل اعمال شده به دو سیم باس با برچسب CAN_H و CAN_L تبدیل می کند.

    طبق استاندارد، خط باید دارای امپدانس مشخصه در محدوده 108-132 اهم باشد. برای کاهش انعکاس سیگنال، مقاومت های پایانی RC 120 اهم باید در هر انتهای گذرگاه متصل شوند. برای افزایش قابلیت اطمینان انتقال و افزایش ایمنی نویز، گاهی اوقات از سیم سوم استفاده می شود - یک سیم معمولی که به عنوان GND نامیده می شود. ولتاژ تغذیه UCC (یا UDD) با توجه به GND +5 V استاندارد است.

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

    در حالت مغلوب (یعنی منطق 1 در ورودی TxD فرستنده گیرنده)، ولتاژ دیفرانسیل UDIFF =UCANH - UCANL کمتر از حداقل آستانه است (0.5 ولت در ورودی گیرنده یا 0.05 ولت در خروجی فرستنده).

    در حالت غالب (یعنی منطق 0 در ورودی TxD فرستنده گیرنده)، ولتاژ دیفرانسیل UDIFF بیشتر از آستانه حداقل است (0.9 ولت در ورودی گیرنده یا 1.5 ولت در خروجی فرستنده).

    پیام ها در CAN.رابط از پیام های کوتاه استفاده می کند: حداکثر اندازه 94 بیت است. محتوای داده در پیام CAN، همانطور که بود، به طور ضمنی آدرس منبع این پیام و آدرس گیرندگانی که به این اطلاعات نیاز دارند را تعیین می کند.

    مثلا. یک گره CAN پیام "دمای روغن موتور 80" را به اتوبوس ارسال می کند. تمام گره های دیگر این پیام را دریافت می کنند، اما فقط گره هایی که به آن نیاز دارند از این اطلاعات استفاده می کنند.

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

    1) قاب داده که برای انتقال داده استفاده می شود.

    2) قاب درخواست داده، که برای درخواست از راه دور داده از یک گره راه دور استفاده می شود.

    3) یک چارچوب خطا، زمانی که خطاها در اتوبوس شناسایی می شوند.

    4) فریم اضافه بار، برای به تاخیر انداختن ارسال بسته ها، یک قاب داده و یک فریم درخواست، به عنوان مثال، زمانی که گیرنده آماده نیست، منتقل می شود.

    نمایی از قالب پیام استاندارد قاب داده در شکل نشان داده شده است. از هفت فیلد بیت مختلف تشکیل شده است:

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

      فیلد داوری شامل یک شناسه 11 بیتی و یک بیت RTR - (درخواست انتقال داده) است. برای یک قاب داده، این بیت باید در سطح غالب باشد.

      فیلد کنترل از شش بیت تشکیل شده است. دو بیت مهم در حال حاضر استفاده نمی شوند. کد طول داده چهار بیتی تعداد بایت های فیلد داده را نشان می دهد.

      فیلد داده شامل صفر تا هشت بایت داده است.

      قسمت checksum شامل چک جمعپیام ها (15 بیت) و یک بیت جداکننده مغلوب.

      فیلد تایید از دو بیت تشکیل شده است. مهم ترین بیت به نام Slot گره ارسال را در سطح مغلوب قرار می دهد. اگر انتقال موفقیت آمیز بود، گره دریافت کننده با تنظیم این بیت در سطح غالب سیگنال می دهد. بیت دوم در این زمینه بیت جداکننده مغلوب است.

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

    انتهای فریم (EOF) با یک میدان شکاف متشکل از سه بیت مغلوب دنبال می شود. پس از این فاصله، لاستیک آزاد در نظر گرفته می شود.

    کنترلر CAN موجود در STM32 MK یک گره CAN با امکانات کامل است که الزامات دستگاه های فعال و غیرفعال CAB 2.0A و 2.0B را برآورده می کند و از انتقال داده با سرعت حداکثر 1 مگابیت در ثانیه پشتیبانی می کند. کنترل کننده CAN همچنین به ویژگی های اضافی برای سازماندهی انتقال داده قطعی با استفاده از پروتکل انتقال بلادرنگ CAN TTCAN مجهز شده است. پس از فعال سازی عملکرد TTCAN، ارسال مجدد خودکار پیام ها و درج خودکار دو بایت اضافی در بسته CAN با زمان انتقال پیام ثابت پشتیبانی می شود. همه این ویژگی ها در سیستم های کنترل بلادرنگ از طریق رابط CAN مورد نیاز هستند.

    نام کامل کنترلر CAN ماژول bxCAN است که bx نشان می دهد که ماژول از ویژگی های اضافی پشتیبانی می کند. ماژول CAN معمولی از یک بافر دریافت و ارسال استفاده می کند، در حالی که ماژول CAN توسعه یافته از چندین بافر دریافت و ارسال استفاده می کند. ماژول bxCAN ترکیبی از دو معماری ماژول CAN است. دارای سه صندوق پستی برای ارسال پیام و دو صندوق پستی برای دریافت پیام. هر یک از میزبانان صندوق های پستیدارای یک بافر FIFO برای نگهداری سه پیام. این معماری از نظر عملکرد انتقال داده و فضای تراشه آی سی یک مصالحه است.


    ماژول CAN مجهز به سه جعبه پیام است و این قابلیت را دارد درج خودکاربه پیام زمان فعلی با استفاده از پروتکل TTCAN

    بعد عملکرد مهمکنترلر CAN - پیام های دریافتی را فیلتر می کند. از آنجایی که CAN یک گذرگاه پخش است، هر پیام ارسال شده توسط تمام گره های گذرگاه دریافت می شود. در یک گذرگاه CAN با هر درجه معقولی از پیچیدگی، تعداد نسبتاً زیادی پیام منتقل می شود. وظیفه هر CPU متصل به گره CAN این است که به پیام های CAN پاسخ دهد. بنابراین، برای نجات کنترل کننده CAN از مشکل دریافت پیام های ناخواسته در بافر، فیلتر کردن آنها ضروری است. کنترلر CAN میکروکنترلرهای STM32 دارای 14 بانک فیلتر است که می توان از آنها برای مسدود کردن تمام پیام های CAN به جز پیام ها یا گروه های پیام انتخاب شده استفاده کرد.


    14 فیلتر پیام از دو پیکربندی پشتیبانی می کنند که می توان از آنها برای فیلتر کردن پیام های فردی استفاده کرد

    هر بانک فیلتر از دو رجیستر 32 بیتی تشکیل شده است و می تواند در یکی از چهار حالت کار کند. روش پایه یک شناسه پیام برای هر ثبت بانک فیلتر می نویسد. پس از رسیدن پیام، شناسه آن بررسی می شود و بر این اساس در مورد پذیرش یا رد پیام تصمیم گیری می شود. این حالتاز دو پیکربندی پشتیبانی می کند. در پیکربندی اول، رجیسترهای بانک فیلتر 3 بیتی هستند و می توان از آنها برای فیلتر فیلدهای شناسه پیام 11 بیتی و 29 بیتی و همچنین بیت های RTR و IDE در حالت 16 بیتی استفاده کرد.

    در پیکربندی دوم، شناسه پیام در رجیستر 32 بیتی اول و ماسک پیام در رجیستر دوم نوشته می شود. ثبات ماسک بیت های ثبت شناسه را به عنوان "مهم" یا "غیر مهم" علامت گذاری می کند. این امکان دریافت گروهی از پیام ها را با استفاده از یک بانک فیلتر فراهم می کند. اگر فیلترهای دریافت کننده پیام را ارسال کنند، یک اشاره گر به فیلتری که مطابقت را تعیین کرده است به همراه آن در بافر FIFO دریافت کننده نوشته می شود. این به برنامه اجازه می دهد تا بدون نیاز به خواندن و رمزگشایی شناسه انفجار پیام، سرعت شناسایی پیام را افزایش دهد.

    همه کنترل کننده های CAN از دو حالت کار پشتیبانی می کنند: حالت عادی برای دریافت و ارسال بسته های پیام و حالت اولیه برای تنظیم پارامترهای ارتباطی. همانطور که قبلا ذکر شد، MCU های STM32 می توانند در حالت SLEEP اقتصادی کار کنند. در این حالت، همگام سازی ماژول bxCAN غیرفعال است، اما دسترسی به رجیسترهای صندوق پستی همچنان امکان پذیر است. ماژول bxCAN این قابلیت را دارد که با شناسایی فعالیت در گذرگاه CAN، بیدار شود. همچنین می توان آن را دوباره فعال کرد برنامه کاربردی. هنگام کار در حالت عادی، دو حالت فرعی اضافی پشتیبانی می شود. اولین حالت فرعی حالت SILENT است. در آن، کنترل کننده CAN می تواند پیام ها را دریافت کند، اما نمی تواند ارسال کند و بیت خطایی در ارسال و تأیید پیام ایجاد نمی کند. این حالت برای اتوبوس های CAN با نظارت غیرفعال طراحی شده است. دومین حالت فرعی حالت LOOPBACK است. در این حالت، پیام های ارسالی بلافاصله در بافر دریافت دریافت می شوند. برای اجرای توابع تشخیصی ضروری است و همچنین در مرحله اشکال زدایی کد برنامه مفید است. هر دو حالت در نظر گرفته شده را می توان ترکیب کرد. آنها برای انجام عملکردهای خودآزمایی در هنگام اتصال به اتوبوس زنده ایده آل هستند.

    ذخیره ارز روبل c.u.

    جستجو کردن

    اتوبوس CAN. قسمت 1.

    1. شبکه محلیکنترل کننده ها (CAN)

    مناطق استفاده.

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

    اطلاعات کلی

    CAN Controller Area Network یک استاندارد باس سریال است که در دهه 1980 توسط Robert Bosch GmbH برای اتصال واحدهای کنترل الکترونیکی توسعه یافت. CAN به طور خاص برای عملکرد قوی در محیط های پر سر و صدا با استفاده از یک خط متنوع مانند RS-485 طراحی شده است. اتصال ممکن است در هنگام استفاده از جفت پیچ خورده در برابر تداخل مقاوم تر باشد. در ابتدا برای کاربردهای خودرو ساخته شد، اما در حال حاضر در انواع سیستم های کنترلی از جمله استفاده می شود. صنعتی که در محیط پر سر و صدا کار می کند.
    سرعت تبادل اطلاعات تا 1 مگابیت بر ثانیه در شبکه هایی با طول بیش از 40 متر امکان پذیر است. کاهش نرخ ارز به شما امکان می دهد طول شبکه را افزایش دهید، به عنوان مثال - 250 کیلوبیت در ثانیه در 250 متر.
    پروتکل CANارتباطات بر اساس ISO 11898-1 (2003) استاندارد شده است. این استاندارد عمدتاً لایه ارتباطی متشکل از یک زیربخش کنترل منطقی (LLC) و یک زیربخش کنترل دسترسی (MAC) و برخی از جنبه‌های لایه فیزیکی مدل ISO/OSI را توصیف می‌کند. باقی لایه های پروتکل به صلاحدید طراح شبکه واگذار می شود.

    شبکه های CAN و انواع آنها

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

    ویژگی های عمومی

    گذرگاه ارتباط سریال یکپارچه برای کاربردهای بلادرنگ.
    . این شبکه با نرخ تبادل داده تا 1 مگابیت بر ثانیه عملیاتی است.
    . دارای قابلیت تشخیص و تایید خطا و خطا بسیار عالی است.
    . در ابتدا، اتوبوس CAN برای استفاده در اتومبیل طراحی شد.
    . مورد استفاده در مختلف سیستم های اتوماتیکو سیستم های کنترل
    . استاندارد بین المللی: ISO 11898

    تعریف CAN

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

    خواص CAN

    سیستم CAN در یک گذرگاه سریال با قابلیت های چند منظوره، همه گره های CAN قادر به انتقال داده هستند و برخی از گره های CAN می توانند همزمان گذرگاه را درخواست کنند. فرستنده پیام را به تمام گره های CAN ارسال می کند. هر گره، بر اساس شناسه دریافتی، تعیین می کند که آیا باید پیام را پردازش کند یا خیر. شناسه همچنین اولویتی را که پیام در هنگام دسترسی به اتوبوس دارد تعیین می کند. سادگی هزینه تجهیزات و هزینه آموزش پرسنل را تعیین می کند. برنامه نویسی تراشه های CAN نسبتاً آسان است. دوره های مقدماتی، کتابخانه های کاربردی، کیت های شروع، رابط های مختلف، ماژول ها و ابزارهای ورودی/خروجی در طیف گسترده ای از موارد ارائه شده است. فروش آزادبا قیمت های مقرون به صرفه از سال 1989، تراشه های CAN آزادانه و به راحتی به میکروکنترلرها متصل شده اند. در حال حاضر حدود 50 تراشه CAN برای میکروکنترلرها از بیش از 15 سازنده وجود دارد.
    CAN در اکثر خودروهای سواری اروپایی استفاده می شود و تصمیم سازندگان کامیون و SUV برای ادامه استفاده از CAN، توسعه را برای بیش از 10 سال تعیین کرد. در سایر زمینه های کاربردی، مانند بخش های خانگی و صنعتی، فروش تجهیزات CAN در حال رشد است و در آینده نیز ادامه خواهد داشت. تا بهار 1997، بیش از 50 میلیون گره CAN نصب شده بود. یکی از ویژگی های برجسته پروتکل CAN، قابلیت اطمینان بالای تبادل داده است. کنترل کننده CAN خطاها را ثبت می کند و آنها را به صورت آماری برای اندازه گیری های مناسب پردازش می کند، در نتیجه گره CAN که منبع خطا است از اتصال حذف می شود.
    هر پیام CAN می تواند حاوی 0 تا 8 بیت اطلاعات کاربر باشد. البته امکان انتقال داده های طولانی تری با استفاده از تکه تکه شدن وجود دارد. حداکثر نرخ ارز مشخص شده 1 مگابیت بر ثانیه است. این با طول شبکه بیش از 40 متر امکان پذیر است. برای ارتباط طولانی تر، نرخ باود باید کاهش یابد. برای مسافت تا 500 متر سرعت 125 کیلوبیت بر ثانیه و برای انتقال بیش از 1 کیلومتر سرعت 50 کیلوبیت بر ثانیه مجاز است.

    برنامه های کاربردی CAN

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

    مجوز CAN

    پروتکل CAN توسط Robert Bosch GmbH توسعه داده شده است و توسط حق ثبت اختراع محافظت می شود.

    استانداردهای اولیه CAN

    برخی از استانداردهای بین المللی CAN در زیر فهرست شده اند.
    . استانداردهای CAN:
    o ISO 11898-1 - پروتکل CAN
    o ISO 11898-2 - ساختار فیزیکی CAN با سرعت بالا
    o ISO 11898-3 - ساختار فیزیکی سازگار با خطای سرعت پایین CAN
    o ISO 11898-4 - می تواند راه اندازی شود
    o ISO 11898-5 - دستگاه ولتاژ پایین با سرعت بالا (در دست توسعه).
    o ISO 11519-2 جایگزین شده توسط 11898-3.
    . ISO 14230 - "Keyword Protocol 2000" - پروتکل تشخیصی با استفاده از خط سریال، نه CAN
    . ISO 15765 - پروتکل تشخیصی روی گذرگاه CAN - کلیدواژه 2000 در گذرگاه CAN.
    . J1939 - پروتکل اصلی CAN برای کامیون ها و اتوبوس ها که توسط SAE تعریف شده است
    . ISO 11783 - J1939 و مکمل برای ماشین آلات کشاورزی
    . ISO 11992 - رابط تراکتور و تریلر را تعریف می کند
    . NMEA 2000 - پروتکل مبتنی بر J1939 برای کشتی ها، تعریف شده توسط NMEA.

    پروتکل CAN یک استاندارد ISO (ISO 11898) برای ارتباط سریال است. این پروتکل برای کاربردهای خودرو طراحی شده است. در حال حاضر سیستم های CAN به طور گسترده ای مورد استفاده قرار می گیرند و در اتوماسیون صنعتی، حمل و نقل مختلف، ماشین آلات خاص و اتومبیل استفاده می شوند.

    مزایای CAN:

    - در دسترس بودن برای مصرف کننده
    پروتکل CAN بیش از 15 سال است که از سال 1986 با موفقیت استفاده می شود. طیف گسترده ای از محصولات و دستگاه های CAN برای فروش موجود است.

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

    - خط انتقال اولیه
    خط داده، در بیشتر موارد، جفت پیچ خورده. اما ارتباط از طریق پروتکل CAN نیز می تواند از طریق یک سیم انجام شود. که در مناسبت های مختلفمی توان از مناسب ترین کانال های ارتباطی، کانال نوری یا رادیویی استفاده کرد.

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

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

    2. اتوبوس CAN

    معرفی

    پروتکل CAN یک استاندارد ISO (ISO 11898) برای ارتباط سریال است. این پروتکل برای کاربردهای خودرو طراحی شده است. در حال حاضر سیستم های CAN به طور گسترده ای مورد استفاده قرار می گیرند و در اتوماسیون صنعتی، حمل و نقل مختلف، ماشین آلات خاص و اتومبیل استفاده می شوند.
    استاندارد CAN پارامترهای سیگنال را در لایه فیزیکی و ترتیب انتقال داده را توصیف می کند که توسط دو تعریف می شود. انواع مختلفپیام ها، قوانین داوری دسترسی اتوبوس، و روشی برای تعیین و تأیید خطا.

    پروتکل CAN

    CAN توسط ISO 11898-1 تعریف شده است و شامل اطلاعات اساسی زیر است.
    . در لایه فیزیکی، سیگنال با استفاده از یک کابل جفت پیچ خورده منتقل می شود.
    . قوانین داوری برای کنترل دسترسی به اتوبوس استفاده می شود.
    . بلوک های داده اندازه کوچکی دارند (در اکثر موارد 8 بایت) و توسط یک جمع کنترل محافظت می شوند.
    . بلوک‌های داده آدرس‌پذیر نیستند، در عوض هر بلوک حاوی یک مقدار عددی است که اولویت انتقال در گذرگاه را تعیین می‌کند و همچنین ممکن است یک شناسه برای محتوای بلوک داده داشته باشد.
    . طرح پیچیده مدیریت خطا که منجر به ارسال مجدد داده هایی می شود که به درستی دریافت نشده اند.
    . اقدام موثر برای جداسازی خطاها و قطع منبع خطا از اتوبوس.

    پروتکل های سفارش بالاتر (HLP)

    پروتکل CAN انتقال ایمن بسته های داده کوچک از نقطه A به نقطه B را با استفاده از یک خط ارتباطی مشترک تعریف می کند. پروتکل شامل کنترل جریان، آدرس دهی نیست، ارسال پیام بیش از 8 بیت را ارائه نمی دهد، اتصال برقرار نمی کند و غیره. ویژگی های فهرست شده توسط پروتکل HLP (پروتکل لایه بالاتر) یا پروتکل مرتبه بالاتر تعریف می شوند. اصطلاحات HLP مشتق شده و از هفت دستور مدل OSI تشکیل شده است.

    هدف HLP
    . استانداردسازی رویه‌های راه‌اندازی و تنظیم نرخ باود
    . توزیع آدرس‌دهی دستگاه و انواع پیام‌ها.
    . تعیین ترتیب پیام ها
    . مکانیزم تشخیص خطا در سطح سیستم را فراهم می کند

    محصولات CAN

    دو نوع محصول CAN وجود دارد، تراشه های CAN و ابزارهای توسعه CAN.
    بر بالاترین سطحدو نوع محصول دیگر، ماژول‌های CAN و ابزارهای توسعه CAN. طیف گسترده ای از محصولات مشابه به صورت تجاری در دسترس هستند.

    ثبت اختراعات CAN

    پتنت های مربوط به برنامه های کاربردی CAN می توانند انواع و جهات مختلفی داشته باشند. در اینجا چند نوع وجود دارد:
    . همگام سازی و پیاده سازی فرکانس انتقال
    . انتقال بلوک‌های بزرگ داده (پروتکل CAN از فریم‌هایی که بیش از ۸ بیت نیستند استفاده می‌کند)
    سیستم های کنترل توزیع
    پروتکل CAN یک مبنای سازنده برای ایجاد سیستم های کنترل توزیع است. روش داوری به هر دستگاه CAN اجازه می دهد تا با پیام های مربوط به آن دستگاه تعامل داشته باشد.
    یک سیستم کنترل توزیع را می توان به عنوان سیستمی معرفی کرد که در آن قابلیت های پردازنده بین دستگاه های سیستم توزیع می شود و یا بالعکس به عنوان یک سیستم با واحد پردازش مرکزیو دستگاه های I/O محلی.
    هنگام توسعه یک شبکه CAN، می توان از دستگاه های سخت افزاری سازگار مختلفی استفاده کرد که دارای ویژگی های لازم بوده و پارامترهای شبکه مشخص یا محاسبه شده مانند فرکانس پردازنده، سرعت انتقال داده و غیره را برآورده کند.

    پروتکل های مرتبه بالاتر در حال استفاده (HLP)

    پروتکل CAN انتقال ایمن بسته های داده کوچک از نقطه A به نقطه B را با استفاده از یک خط ارتباطی مشترک تعریف می کند. پروتکل شامل کنترل جریان، آدرس دهی نیست، ارسال پیام بیش از 8 بیت را ارائه نمی دهد، اتصال برقرار نمی کند و غیره. ویژگی های لیست شده توسط پروتکل لایه بالاتر HLP تعریف می شوند. شرایط HLP بدست آمده و از هفت دستور تشکیل شده است

    مدل های OSI (مدل اتصال سیستم های باز)
    CanKingdom
    CANopen/CAL
    DeviceNet
    J1939
    OSEK
    SDS

    HLPمعمولا تعریف می کند
    . پارامترهای راه اندازی
    . توزیع شناسه پیام بین دستگاه های مختلفدر سیستم
    . تفسیر محتوای بلوک های داده
    . وضعیت تعامل در سیستم

    ویژگی SDS، DeviceNet و CAN Kingdom.

    و تفاوت بین CAN Kingdom و CANopen. در حال حاضر بیش از 50 HLP وجود دارد. استفاده از HLP اجباری است، در غیر این صورت باید HLP خود را اختراع کنید.

    CANK Kingdom

    CanKingdom توسط CanKingdom International نگهداری می شود مشخصات کامل در وب سایت سازمان موجود است.
    CanKingdom معمولاً به عنوان پروتکل مرتبه بالاتر CAN (شبکه منطقه کنترل کننده) شناخته می شود. در واقعیت، سفارشی ترین پروتکل. ماژول های موجود در سیستم توسط شبکه ای به هم متصل می شوند که یکی از ماژول ها Master (King) است. به عنوان مثال: برای پلاگین و سازمان سیستم های بازی، ماژول اصلی تعیین می کند که کدام دستگاه می تواند اضافه شود و در چه شرایطی فقط دستگاه های مشخص شده مجاز به اضافه شدن هستند. CanKingdom یک شناسایی منحصر به فرد ساده از دستگاه ها در سیستم ارائه می دهد، برای این کار از استاندارد شناسایی EAN / UPC استفاده می شود، یک شناسه دستگاه فردی توسط شماره سریالدستگاه ها
    CanKingdom پتانسیل کامل CAN را در اختیار توسعه دهنده قرار می دهد.
    طراح با پروتکل چند استاد CSMA/AMP محدود نمی شود و می تواند سیستم های مدیریت گذرگاه مجازی از انواع و توپولوژی ها را ایجاد کند. امکان ایجاد ماژول های مشترک را بدون در نظر گرفتن شرایطی مانند وابستگی به HLP و ویژگی های سیستم فراهم می کند. طراح می تواند استفاده از ماژول های خاص را تعریف کند و بدین ترتیب مقادیر یک سیستم باز را با مزایای یک سیستم با دسترسی محدود و ایمن ترکیب کند.

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

    CAL و CANopen

    CAL مخفف "CAN Application Layer" Order یا لایه ای از برنامه های CAN، پروتکل پشتیبانی شده توسط CiA است. CAL به چندین تقسیم می شود قطعات تشکیل دهنده:
    . CMS (مشخصات پیام مبتنی بر CAN) پروتکل هایی را برای انتقال داده بین دستگاه های CAN تعریف می کند
    . NMT (سرویس مدیریت شبکه) پروتکل های راه اندازی و خاموش کردن، تشخیص خطا و غیره را تعریف می کند.
    . DBT (سرویس توزیع کننده) پروتکلی را برای توزیع شناسه های دستگاه های مختلف در سیستم تعریف می کند.
    - پروتکل CAL متفاوت از مدل OSI (مدل اتصال سیستم های باز (OSI))
    - CANopen زیر مجموعه ای از CAL است و به عنوان مجموعه ای از پروفایل ها ساخته شده است که نهایی نشده اند.
    - CAL/CANopen یکی از پروتکل های فعلی HLP است که توسط CiA پشتیبانی می شود.
    - مشخصات CAL و CANopen به طور کامل در دسترس است و توسط CiA پشتیبانی می شود

    DeviceNet

    این پروتکل توسط «Rockwell Automation nowadays» که توسط ODVA (انجمن فروشندگان دستگاه شبکه باز) تعریف شده است، در حال توسعه است. DeviceNet یکی از چهار پروتکلی است که توسط CiA پشتیبانی می شود.

    SAE J1939

    J 1939 ارتباطات شبکه پرسرعت کلاس C برای پشتیبانی از عملکردهای کنترل بلادرنگ بین کنترلرهایی که به طور فیزیکی در مکان های مختلف خودرو قرار دارند، طراحی شده است.
    Jl708/Jl587 نوع قبلی و گسترده شبکه کلاس B با قابلیت تبادل اطلاعات ساده، از جمله داده های تشخیصی، بین کنترلرها است. J1939 تمام ویژگی های J1708/J1587 را دارد.
    J1939 از پروتکل CAN استفاده می کند تا به هر دستگاهی اجازه دهد در زمانی که گذرگاه بیکار است پیامی را از طریق شبکه ارسال کند. هر پیام شامل یک شناسه است که اولویت پیام، اطلاعات مربوط به فرستنده داده ها و اطلاعات موجود در پیام را تعیین می کند. با یک مکانیسم داوری که با عبور یک شناسه (با استفاده از یک طرح داوری ایمن) احضار می شود، از تضادها جلوگیری می شود. این به دلیل دسترسی یکسان به اتوبوس توسط هر یک از دستگاه‌های موجود در شبکه، به پیام‌هایی با بالاترین اولویت اجازه می‌دهد با کمترین تاخیر منتقل شوند.
    J1939 در چندین بخش بر اساس (Open Systems Interconnect (OSI) Model) سازماندهی شده است. مدل OSI هفت مرتبه ارتباطی (لایه) را تعریف می کند که هر یک نشان دهنده آن است توابع مختلف. در حالی که یک سند J1939 به هر لایه اختصاص داده شده است، همه آنها به صراحت در J1939 تعریف نشده اند. لایه های دیگر عملکردهای ثانویه را انجام می دهند که در جای دیگر توضیح داده شده است. لایه فیزیکی رابط ارتباطات الکتریکی را توصیف می کند (یک جفت سیم محافظ پیچ خورده، که می تواند به عنوان اتوبوس نیز نامیده شود). لایه پیوند پروتکل را توصیف می کند یا ساختار پیام، دسترسی به گذرگاه و تشخیص خطاهای انتقال را مدیریت می کند. لایه برنامه داده های خاص موجود در هر پیام ارسال شده از طریق شبکه را تعریف می کند.
    مجموعه کاملی از مشخصات را می توان از SAE خریداری کرد، در زیر لیستی از اسناد آمده است
    J1939 با اسناد زیر تکمیل می شود:
    دستورالعمل های تمرینی J1939 برای کنترل انتقال سریال و شبکه ارتباطیوسیله نقلیه
    J1939/11 نظم فیزیکی (لایه) - 250 هزار بیت در ثانیه، جفت پیچ خورده محافظ
    کانکتورهای تشخیصی J1939/13
    داده های لایه پیوند J1939/21
    لایه شبکه J1939/31
    J1939/71 لایه کاربردی
    J1939/73 Diagnostics
    J1939/81 مدیریت شبکه

    OSEK/VDX

    OSEK/VDX یک پروژه مشترک در صنعت خودروسازی است. به عنوان استاندارد صنعتی برای معماری فضای باز برای کنترلرهای خودروی توزیع شده ایجاد شده است. سیستم عامل بلادرنگ، رابط های نرم افزاری و وظایف مدیریت شبکه به طور مشترک مشخص شده اند. OSEK" (سیستم های باز و رابط های مربوطه برای الکترونیک خودرو.) سیستم های باز و رابط های اطلاعاتی برای الکترونیک خودرو. VDX "Whicule Distributed eXecutive"
    شرکت هایی که به طور مشترک در توسعه مشارکت دارند: Opel، BMW، DaimlerChrysler، IIIT - دانشگاه کارلسروهه، PSA، رنو، بوش، زیمنس، فولکس واگن.
    سایت رسمی: www.osek-vdx.org

    سیستم توزیع هوشمند (SDS)

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

    ویژگی های مقایسه ای پروتکل های اصلی HLP
    اطلاعات کلی

    DeviceNet، SDS و CAN Kingdom بر اساس پروتکل ارتباطی CAN ISO 11898 هستند و مطابق با الزامات مشخصات CAN عمل می کنند. هر ماژول CAN که از یک پروتکل خاص پیروی می کند، می تواند با همان پروتکل به یک گذرگاه CAN متصل شود. در هر صورت، هنگام اتصال ماژول هایی که بر روی پروتکل های مختلف کار می کنند، در بیشتر موارد به دلیل تضاد در تفسیر پیام ها در سطح برنامه، مشکلاتی ایجاد می شود. CAN Kingdom از لحاظ اساسی با SDS و DeviceNet متفاوت است: CAN Kingdom بر خلاف SDS و DeviceNet به عنوان یک گره ارتباطی اصلی ("King") در هنگام راه اندازی راه اندازی می شود. چنین سازمانی این امکان را فراهم می کند که توسعه مجموعه ای از سیستم های بلادرنگ را ساده کند و تعداد مورد نیاز ماژول ها را که مشخصات هماهنگ کننده هستند، که اغلب به آنها پروفایل می گویند، کاهش می دهد.
    SDS در اتصال دستگاه های ورودی/خروجی، سوئیچ ها و سنسورهای مختلف به PLC موثر است، در واقع اتصالی بین ماژول اصلی و دستگاه های ورودی/خروجی راه دور است.
    DeviceNet سیستم باز، که در آن همه ماژول ها دارای حقوق برابر برای استفاده از گذرگاه هستند و ترتیب استفاده از گذرگاه توسط مجموعه کوچکی از دستورالعمل ها تعیین می شود. طراح ماژول سیستم می تواند اختیار کنترل ارتباطات را به ماژول های دیگر، مانند ماژول اصلی در حالت Master/Slave از پیش تعریف شده، واگذار کند، اما DeviceNet توانایی تفویض اختیار به ماژول های دیگر را ندارد. ویژگی های SDS با استفاده از دستگاه های I/O و DeviceNet در حالت Master/Slave مشابه هستند.
    Can Kingdom یک پروتکل متمرکز بر تولید، اتصال و سیستم های کنترل است و از پروفایل های دیجیتال و پشتیبانی نمی کند دستگاه های آنالوگ. ویژگی اصلی پروتکل این است که ماژول متصل به سیستم فقط منتظر دستورالعمل های دستگاه اصلی است. همه اولویت‌ها و شناسه‌های CAN متعلق به استاد هستند و ارائه می‌شوند. در طول راه اندازی، هر ماژول توسط دستگاه اصلی پیکربندی می شود، اولویت ها و شناسه های تولید و مصرف اشیاء تعیین می شود. دستگاه اصلی دستگاه اصلی است، اما فقط در طول دوره پیکربندی سیستم. میزبان را نمی توان در طول یک جلسه ارتباطی بین برنامه های در حال اجرا ماژول های مختلف جاسازی کرد. دستگاه اصلی را می توان پس از پیکربندی و تأیید کامل بودن حذف کرد و هر ماژول دستورالعمل های دریافتی را در حافظه ذخیره می کند.


  • DIY یا DIY،
  • الکترونیک برای مبتدیان
  • امروز می خواهم یک پلتفرم میکروکنترلر جالب CANNY را به شما معرفی کنم. این یک مقاله اجمالی است که در آن با این فناوری آشنا می شوید و در مقالات بعدی در مورد کار با پیام های CAN، ادغام CANNY با مگا سرور آردوینو و امکاناتی که این بسته ارائه می دهد به شما خواهم گفت.

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

    اتوبوس CAN

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

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

    کنترل کننده ها

    این یک خانواده کامل از کنترلرهای تخصصی با پشتیبانی داخلی "بومی" برای کار با اتوبوس CAN است. این هم برای قسمت "آهن" و هم برای پشتیبانی در سطح "نرم افزار" صدق می کند.

    پرچمدار این خط کنترلر CANNY 7 است که قدرتمندترین و با حداکثر قابلیت هاست. تعداد زیادی ازحافظه، خروجی های قدرتمند که به شما امکان می دهد مستقیماً رله خودرو را کنترل کنید، محافظت هوشمند در برابر اتصال کوتاهمحافظت در برابر نوسانات جریان و ولتاژ در شبکه سواری خودرو - همه اینها این کنترلر را به یک راه حل عالی برای اجرای هر یک از ایده ها و پروژه های شما تبدیل می کند.

    علاوه بر CANNY 7، چندین مدل دیگر در ردیف کنترلرها وجود دارد، ما آزمایش های خود را با یک مدل داخلی ساده تر CANNY 5 Nano انجام خواهیم داد. همچنین از گذرگاه CAN پشتیبانی می کند، اما مشابه آردوینو نانو است که قبلاً می شناسیم.

    برنامه نویسی بصری

    پشتیبانی توسعه‌یافته از گذرگاه CAN تنها ویژگی این کنترل‌کننده‌ها نیست، علاوه بر این، CANNY ویژگی‌های خاص خود را دارد. محیط خودبرنامه نویسی، CannyLab، اما نه "عادی"، بلکه بصری، که در آن کل فرآیند نوشتن برنامه ها به دستکاری بلوک های ساختاری آماده، تنظیم پارامترهای آنها و اتصال ورودی ها و خروجی های این بلوک ها در یک توالی خاص، مطابق با الگوریتم مسئله در حال حل

    نه یک خط کد!

    این خوب است یا بد؟ به نظر من این یک عادت است. به عنوان فردی که به برنامه نویسی "سنتی" عادت داشت، برای من غیرعادی بود که بلاک ها را به جای نوشتن خطوط کد دستکاری کنم. از سوی دیگر، طرفداران زیادی از این رویکرد برای کامپایل کردن الگوریتم‌ها وجود دارد، و اعتقاد بر این است که برای مهندسان و "غیر برنامه‌نویسان" این ساده‌ترین و ساده‌ترین روش است. روش موجودبرنامه نویسی میکروکنترلر

    من، حداقل، "باحال" بودم که به این شکل برنامه بسازم، و بعد از مدتی حتی شروع به دوست داشتن آن کردم. ممکن است اگر به این کار ادامه دهید، پس از مدتی نوشتن کد ناخوشایند به نظر برسد.

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

    ارتباط

    اتصال CANNY 5 Nano به کامپیوتر تفاوت چندانی با اتصال ندارد کنترلرهای آردوینو. اگر سیستم دارای درایور Silicon Labs CP210x باشد یا پس از نصب آن از توزیع CannyLab دانلود شده، ویندوز یک پورت COM مجازی ایجاد می کند و CANNY آماده کار است. در مورد من، من همچنین نیاز به راه اندازی مجدد کامپیوتر داشتم، اما شاید این یکی از ویژگی های سیستم من باشد.

    مثال های کاربردی

    بیایید از مثال‌های ساده برای درک نحوه انجام اقدامات آشنا در Arduino IDE در CannyLab استفاده کنیم. بیایید با LED چشمک زن سنتی شروع کنیم.

    در کنترلر CANNY 5، یک LED آزمایشی روی پایه C4 (کانال 4) وجود دارد (مشابه LED روی پایه 13 در آردوینو). و همچنین می توان از آن برای نشان دادن و آزمایش استفاده کرد که ما از آنها استفاده خواهیم کرد.

    برای چشمک زدن LED در کنترلر CANNY چه چیزی لازم است؟ شما فقط باید دو کار را انجام دهید - پین کانال چهارم را به عنوان یک خروجی پیکربندی کنید و یک سیگنال از ژنراتور PWM را به این خروجی اعمال کنید. ما قبلاً همه این اقدامات را بیش از یک بار در Arduino IDE انجام داده ایم، بیایید ببینیم در CannyLab چگونه به نظر می رسد.

    بنابراین، پین کانال چهارم را به عنوان خروجی پیکربندی می کنیم

    یک ژنراتور PWM راه اندازی کنید. دوره را روی 500 میلی ثانیه تنظیم می کنیم، پر شدن 250 میلی ثانیه (یعنی 50٪) و 1 (درست) در ورودی ژنراتور "شروع" و ... همه چیز است! هیچ چیز دیگری لازم نیست انجام شود - برنامه آماده است، فقط کافی است آن را در کنترلر آپلود کنید.

    حالت شبیه سازی

    در اینجا لازم است چند کلمه در مورد روند شبیه سازی عملکرد کنترلر در رایانه و بارگذاری برنامه توسعه یافته در حافظه کنترل کننده "آهن" گفته شود.

    محیط توسعه CannyLab به شما امکان می دهد برنامه را بدون نوشتن در حافظه کنترلر اجرا و اشکال زدایی کنید. در حالت شبیه سازی می توانید نتیجه برنامه را در زمان واقعی مشاهده کنید و حتی در کار آن اختلال ایجاد کنید.

    کنترلر را پر کنید

    برای اینکه کنترلرهای CANNY کار کنند، قبل از آپلود برنامه (در اصطلاح توسعه دهندگان "نمودار")، ابتدا باید سیستم عامل "دستگاه / نرم افزار سیستم / رایت" را آپلود کنید. این باید فقط یک بار انجام شود، برای این کار باید فایلی را با پسوند مربوط به کنترلر خود انتخاب کنید. ccx.

    بعد از اینکه برنامه نوشته شد و اشکال زدایی شد، می توان آن را در کنترلر شما بارگذاری کرد. این به سادگی انجام می شود - در منو، مورد "دستگاه / نمودار / نوشتن" را انتخاب کنید و پس از چند ثانیه برنامه روی کنترلر نوشته می شود.

    ورودی های آنالوگ

    برای درک بهتر اصل برنامه نویسی کنترلرهای CANNY در محیط توسعه CannyLab، اجازه دهید نگاهی دیگر به مثالی از کار با ورودی آنالوگ در این سیستم بیندازیم.

    سطح ولتاژ را در پایه دهم کنترلر کنترل می کنیم و اگر در محدوده 20 ± 2.5 ولت باشد، LED تعبیه شده در برد را روشن می کنیم.

    مانند مثال قبلی، پایه چهارم را به عنوان خروجی پیکربندی می کنیم تا بتوانیم عملکرد LED را کنترل کنیم.

    ADC را در کانال 10 روشن می کنیم.

    بلوک Logic AND کار را کامل می کند و عملکرد LED روی برد را از خروجی آن کنترل می کند.

    همین. کاری که قبلا در آردوینو انجام می دادیم، به راحتی در CannyLab انجام دادیم. تنها برای عادت کردن به این محیط برنامه نویسی باقی مانده است و می توانید به راحتی و به طور طبیعی پروژه های خود را روی این پلتفرم ایجاد کنید.

    این مثال های برنامه نویسی ساده برای کمک به شما در درک نحوه برنامه ریزی بصری میکروکنترلرهای CANNY ارائه شده است. که در کار بیشتراسناد کمک عالی و پشتیبانی توسعه دهندگان در وب سایت و انجمن سیستم به شما کمک خواهد کرد.