معرفی پروتکل ارتباطی CAN BUS
در پست های قبلی معرفی اجمالی در مورد ارتباط CAN داشتیم. در این مقاله با این پروتکل بیشتر آشنا می شویم.
مرور
Controller Network Network ) CAN ) یک bus ارتباطی سریال است که برای عملکرد قوی و انعطاف پذیر در محیط های پر نویز و بخصوص برای کاربردهای صنعتی و اتومبیل طراحی شده است. در این شبکه تمامی دستگاه های شبکه همه ی پیام های منتقل شده را میبینند و هر دستگاه می تواند تصمیم بگیرد که آیا این پیام را باید دریافت کند یا از آن چشم پوشی کند . هر پیام اولویتی دارد و بنابراین اگه دو گره سعی کنند همزمان پیام ارسال کنند، پیامی که اولویتش بالاتر است منتقل می شود و دیگری با اولویت پایین تر به تعویق می افتد. CAN در فریم های ارسالی اش CRC هم دارد که برای بررسی و تشخیص خطا روی محتویات هر فریم دریافتی است.
سیگنال های ارسالی پروتکل
سیگنال CAN یک سیگنال دیفرانسیلی با دو حالت منطقی است، به نام های recessive و dominant. Recessive نشان میدهد که ولتاژ دیفرانسیل کمتر از حداقل ولتاژ threshhold و Dominant نشان می دهد که ولتاژ دیفرانسیل از این حداقل threshhold بیشتر است.
پس دیوایسی که کن کنترلر دارد، سیگنالی که تولید میکند در اصل از دو سیگنال تشکیل میشود:CANL, CANH. که در شکل زیر این را میبینید که سیگنال اصلی از دو سیگنال CANL, CANH تشکیل شده است که مطابق شکل NOT همدیگر هستند. در شکل پایین سمت چپ، وقتی سیگنال میخواهد از کن کنترلر خارج شود، CANH از یک اینورتر و CANL از دو اینورتر عبور میکند که باعث میشود NOT همدیگر باشند. در ورودی دریافت کننده هم به طور مشابه سیگنال ها از یک و دو اینورتر عبور میکنند تا هردو یکی شده و وارد سیستم شوندتا پس دیکود شدن اطلاعاتشان استخراج شود.
توپولوژی شبکه
در توپولوژی یک شبکه ی ارتباطی بر اساس پروتکل CAN، پایه های CANH, CANL تمامی نودها مطابق ساختار زیر به هم وصل هستند. و دو مقاومت termination هم در هر شبکه CAN ضروریست که در ابتدا و انتهای باس قرار میگرد.
در شکل زیر نمونه ی ساده ای از ارتباط دو طرفه ی CAN را مشاهده مکنید. ماژول های بنفش رنگ وظیفه ی تولید سیگنال های CANL ,CANH براساس سیگنال های CAN-TX , CAN-RX (و بالعکس) از طرف کن کنترلر را دارند.
نویسنده: یاسمن آبادی