راه اندازی پروتکل CAN توسط میکروکنترلر STM32

200,000 ریال

در این آموزش پروتکل CAN را توسط میکروکنترلر  STM32 آموزش می دهیم. در این آموزش نحوه ارتباط بین دو برد STM32 با استفاده از پروتکل CAN را خواهیم دید. البته ما برای انجام این کار به 2 فرستنده گیرنده نیاز داریم ، به همین دلیل است که ما از فرستنده گیرنده با ماژول MCP2551 استفاده می کنیم.

توضیحات

در این آموزش پروتکل CAN را توسط میکروکنترلر STM32 آموزش می دهیم. در این آموزش نحوه ارتباط بین دو برد STM32 با استفاده از پروتکل CAN را خواهیم دید. البته ما برای انجام این کار به ۲ فرستنده گیرنده نیاز داریم ، به همین دلیل است که ما از فرستنده گیرنده با ماژول MCP2551 استفاده می کنیم.

در مورد پروتکل CAN

Controller Network Network (CAN )  یک bus ارتباطی سریال است که برای عملکرد قوی و انعطاف پذیر در محیط های پر نویز و بخصوص برای کاربردهای صنعتی و اتومبیل طراحی شده است. در این شبکه تمامی دستگاه های شبکه همه­ ی پیام های منتقل شده را میبینند و هر دستگاه می تواند تصمیم بگیرد که آیا این پیام را باید دریافت کند یا از آن چشم پوشی کند . هر پیام اولویتی دارد و بنابراین اگه دو گره سعی کنند همزمان پیام ارسال کنند، پیامی که اولویتش بالاتر است منتقل می شود و دیگری با اولویت پایین تر به تعویق می افتد. CAN در فریم های ارسالی اش CRC هم دارد که برای بررسی و تشخیص خطا روی محتویات هر فریم دریافتی است.

سیگنال CAN یک سیگنال دیفرانسیلی با دو حالت منطقی است، به نام های recessive و dominant. Recessive نشان میدهد که ولتاژ دیفرانسیل کمتر از حداقل ولتاژ threshhold و Dominant نشان می دهد که ولتاژ دیفرانسیل از این حداقل threshhold بیشتر است. پس دیوایسی که کن کنترلر دارد، سیگنالی که تولید میکند در اصل از دو سیگنال تشکیل می شود CANL, CANH

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

در زیر قاب استاندارد CAN Frame نشان داده شده است:

  • در اینجا ، Identifier ، ID دستگاه فرستنده است.
  • RTR (Remote Transmission Request) مشخص می کند که داده ها Remote frame یا Data frame باشند.
  • IDE مشخص می کند که ما از ID استاندارد یا ID توسعه یافته استفاده می کنیم.
  • r بیت رزرو شده است.
  • DLC طول داده را در بایت مشخص می کند.
  • Data Field جایی است که می توانیم داده ها را ارسال کنیم ، که باید حداکثر تا ۸ بایت باشد.
  • Checksum و DEL داده های CRC و Delimiter آن هستند.
  • ACK و DEL بیت تأیید است و محدود کننده آن است.

اتصال بین F446 و F103 در زیر نشان داده شده است.

نحوه ارتباط دو ماژول CAN به یکدیگر:

  • در اینجا Tx و Rx از فرستنده گیرنده به PA12 و PA11 کنترل کننده های مربوطه متصل می شوند
  • CANH و CANL به یکدیگر متصل هستند
  • همچنین در هر گره مقاومت ۱۲۰ اهم وجود دارد. این بسیار مهم است ، در غیر این صورت شما داده ها را دریافت نخواهید کرد.

انتقال دیتا در باس CAN



مدت ویدئو: ۹ دقیقه

نوع آموزش: فارسی 

کد سورس: دارد

شماتیک مدار: دارد

تست روی سخت افزار: دارد

کامپایلر: STM32Cube IDE

کتابخانه: HAL Library


توجه: برای پخش ویدئو نرم افزار های KMPlayer و K-Lite Codec Pack در سیستم شما نصب باشد. و از نرم افزار ۷zip برای خارج کردن پروژه از حالت فشرده استفاده کنید.