شبکه CAN
مشخصات فني
حداکثر تعداد گره: ٤٦ عدد
بعد مسافت :
سرعت : قابل تنظيم از sec /kbit ٠١١ – ٠٢٠
اندازه بسته داده ( Message Size ) : صفر تا ٩ بايت
به صورت Trunk و line –drop پياده سازي مي شود و در هر انتها يک ترميناتور ٠٢٠ اهمي بسته مي شود.
– اگر يک Node در شبکه Fail کند ، کل شبکه از کار نمي افتد.
– ارسال اطلعات به صورت Broadcast انجام شده ، يعني براي همه فرستاده مي شود و گيرنده اطلعات مربوط
به خود را تشخيص و از روي خط بر مي دارد.
– از CAN براي اتصال دو يا چند دستگاه مبتني بر ميکرو – کنترلر استفاده مي شود.
– شبکه اي که در داخل اتومبيل هاي سواري براي اتصال کنترلر هاي مختلف نظير درها ، موتور و غيره به کار مي رود
CAN است. (قطار ها ، اتوبوس ها ، هواپيما )
– در هواپيما سنسورها سيستم ناو بري و کامپيوتري مخصوص پرواز با CAN به هم متصل
هستند
ساختار
از نظر مدل OSI شبکه CAN به صورت زير نمايش داده مي شود:

يعني CAN تنها در دو لايه کار مي کند:
– لايه physical که بيت ها را ارسال مي کند
– لايه Data link که خود به دو زيرلايه تقسيم مي شود : LLC يا Logical Link
Control عمل فيلتر کردن message ها و سرويس دادن به transfer /Data request
را انجام مي دهد و MAC يا Medium Access Control نيز frame ها کنترل و بسته بندي کرده و عمليات لزم براي دسترسي به line را اجرا مي نمايد. همانطور که مشاهده مي شود، پروتکل CAN شباهت زيادي به پروتکل Ethernet دارد.
شکل زير توپولوژي يک شبکه CAN را نشان مي دهد.

خط داراي دو سيگنال CAN_H و CAN_L است. CAN_H با سيگنال ١ يا dominant و
CAN_L با سيگنال ٠ يا recessive مشخص مي شود.
مزايا
– برداشتن يک Node بدون تاثير گذاشتن روي شبکه ( يعني اگر Node خراب شود نيز مشکلي براي کل شبکه به وجود نمي آيد)
– سيگنال داده و تغذيه روي يک خط ارسال مي شوند
– CAN يک شبکه بلادرنگ (Real-time) است. يعني دريافت و ارسال داده در زمان معين را گارانتي مي کند.
– CAN در محيط هاي با نويز زياد مانند اتوموبيل بدون مشکل کار مي کند
معايب
– محدود در فاصله و حجم ارسال اطلاعات
CAN کلا با اين هدف طراحي شده که بتواند تعدادي خطا را نيز تحمل کند . به عنوان مثال اگر در اتومبيل شماره يک سيستم کنترلي
(نظير قفل مرکزي )کار نمي کند . اثري روي بقيه قسمتها نمي گذارد .
CAN ( Control Area Network –
– در يک سيستم کنترل با پردازش real_time اولويت بسته هاي ديتا ( Message ) که روي شبکه منتقل مي شوند بسيار اهميت دارد .
مثل دور موتور بايد با تاخير کمتر نسبت به دماي موتور ارسال شود. در CAN براي هر يک پيام ها از يک اولويت تعريف مي شود و سپس
در هنگام ارسال همزمان پيام با اولويت بالاتر زودتر ارسال مي گردد.
– شبيه Ethernet کار مي کند، منتها به جاي CSMA /CD براساس منطق ديگري به نام
CS MA /BA (Bitwise Arbitration ) عمل کند. يعني در هنگام رخداد تصادم يا
collision به نحو ديگري عمل مي کند.
اين مدل در زير تشريح شده است
هر بسته داراي يک شناسه (Identifier) است و مقرر شده است که ID کوچکتر، اولويت بالتري
داشته باشد. حال به مثال زير دقت کنيد:
– ٠# Node مي خواهد ديتا با ٩٣٩ ID بفرستد (١٠٠١٠١١١٠٠١)
– ٢# Node مي خواهد ديتا با ٩٦١ ID بفرستد (١٠٠١٠١١٠١١١)
– ٣# Node مي خواهد ديتا دريافت کند با فيلتر (xxxx١٠٠١٠١١)
– ٦# Node مي خواهد ديتا با ٨٠٦ ID بفرستد (١٠٠٠١١٠١١٠١)
هر سه node فرستنده ID هاي خود را ارسال مي کنند. در سه بيت اول هر node همان بيتي را که فرستاده دريافت مي کند
و بنابراين مشکلي احساس نمي کند. اما در بيت چهارم، ٦#node
بيت ٠ را ارسال مي کند در صورتيکه ١ دريافت مي کند. )دقت کنيد در arbitration bit wise
يا “داوري بيتي” بيت ١ بر بيت ٠ ارجحيت دارد. بنابراين در ارسال همزمان ١ و ٠ ، بيت ١ در نظر گرفته مي شود.
( خوب اينجا ٦#node متوجه مي شود node ديگري با ID کوچکتر )که اولويت بالتري دارد( روي خط است. پس ٦#node ارسال
را متوقف کرده و به گيرنده تبديل مي شود. همين اتفاق در بيت هشتم براي ٢#node مي افتد و کنار مي رود.
تو این زمینه بهترین هستین
لذت بردم
سایتتون هم خیلی زیباست