میهن داکیومنت                میهن داکیومنت                      میهن داکیومنت              میهن داکیومنت

مرکز دانلود پایان نامه ، پروژه ، روش تحقیق ، مقاله 


میهن داک - میهن داکیومنت

مقاله شبكه كنترل كننده CAN


کد محصول : 10001657 نوع فایل : word تعداد صفحات : 30 صفحه قیمت محصول : رایگان تعداد بازدید 412

دانلودرایگان فایل رمز فایل : m1d1657

فهرست مطالب و صفحات نخست


شبكه كنترل كننده CAN

تاريخچه: پروتكل ارتباطي شبكه كنترل كننده CAN ابتدا در اروپا براي استفاده در ماشينهاي حمل و نقل طراحي شد. بدنبال استفاده موفقيت آميز از اين روش در صنايع اتوماسيون مانند وسايل كنترل كننده ، سنسورها و تحريك كننده ها ، استفاده از روش CAN در نقاط ديگر دنيا رواج پيدا كرد. در نهايت اين روش تحت عنوان ISO 11898 به صورت استاندارد شده مدون گرديد.

كاربردهاي CAN:
در اتومبيل ها: با توجه به نياز روز افزون صنعت اتومبيل سازي به امنيت بيشتر ، راحتي و پيروي از قراردادهاي جهاني پيرامون مسئله آلودگي محيط زيست ،‌هم چنين نياز به كاهش مفرد سوخت ، در صنايع خودروسازي سيستم هاي متنوع الكترونيكي طراحي شده و مورد استفاده قرار گرفته است. از جمله اين سيستم ها به عنون مثال مي توان به سيستم كنترل ترمز هوشمند (ABS) ، كنترل اصطكاك ، كيسه هاي هوايي ، سيستم كنترل قفل مركزي ، كمربندهاي ايمني هوشمند و … اشاره كرد.
پيچيدگي اين سيستم هاي الكترونيكي به همراه نياز به تبادل اطلاعات بين اين سيستم ها نياز به خطوط انتقال سيمي اطلاعات را بيش از پيش افزون كرد. روش CAN پاسخ كامل به اين نياز بود. با به كارگيري اين روش ، كنترل كننده ها ،‌ سنتورها و تحريك كننده ها با يكديگر اولاً به وسيله تنها دو سيم و ثانياً به صورت همزمان و تا سرعت حداكثر 1MB/S  ارتباط برقرار مي كنند.
در مصارف صنعتي: مزاياي استفاده از پروتكل CAN مانند كاهش هزينه ها و بالاتر رفتن اطمينان به سيستم كه با بكارگيري اين روش در صنايع خودروسازي بدست آمد ، سازندگي محصولات متنوع ديگر را به استفاده بيش از پيش اين روش ترغيب و تشويق نمود. مثالهايي از مصارف صنعتي اين پروتكل عبارتند از: كنترل در صنايع وابسته به كشتيراني و راهبري دريايي سيستم هاي كنترل آسانسورها ، ماشين هاي متنوع كشاورزي ، اتوماسيون كارخانجات ، دستگاههاي فتوكپي ، سيستم هاي پزشكي ، صنايع نساجي و بافندگي.
مزاياي شبكه CAN: به طور خلاصه مي تون مزاياي اين روش را به صورت زير بر شمرد.
-    در جهت طراحي و پياده سازي مقرون به صرفه هستند.
-    قابل اطمينان در محيط هاي پر نويزو اغتشاش مي باشند.
-    به سادگي قابل پياده سازي و پيكر بندي هستند.
-    به طور اتوماتيك خطاهاي احتمالي در ارتباط اطلاعات را مشخص مي كنند.
-    يك محيط مركزي جهت تشخيص و خطاها در هنگام طراحي و يا زمان بهره برداري از آنها فراهم مي شود. به عبارت ديگر در زمان طراحي يا بكارگيري از اين شبكه مي توان در يك مركز مشخص خطاهاي احتمالي كاركرد آنها را پيگيري كرد.
به دنبال استفاده روزافزون از اين روش ، در جهت توسعه و تكميل آن پروتكلهاي ديگري مانند based CAL سيستم باز CAN ، شبكه وسيله , Oerice Net پادشاهي CAN J1939 , SDS , و … از بطن روش اصلي ، طراحي و پيشنهاد شده است.

مفاهيم سخت افزار و نرم افزاري CAN:
يك سيستم شبكه شده نمونه با كنترل كننده هاي مجزا در شكل(1) نمايش داده شده است. در اين مورد از يك ميكروكنترلر براي كنترل محل سيستم كه جزئي از كل پروسه مورد نظر را كنترل مي كند استفاده گرديده است. آلگوريتم مشخصي نيز جهت بررسي و تجزيه و تحليل اطلاعات دريافتي از سنسورها – مثلاً سنسورهاي نوري – تعبيه شده است. هم چنين از تحريك كننده هاي مشخصي نيز براي اعمال فرامين و دستورات لازم – مثلاً چرخش شيء كنترل شونده به اندازه زاويه مورد نظر استفاده مي گردد.
تصوير 1


رگولاتور محلي نيز با هر كدام از رگولاتورهاي ديگر تعبيه شده در سيستم و با كنترل كننده مركزي ارتباط برقرار مي كند. كنترل كننده مركزي نيز كه در رتبه بالاتري قرار دارد براي تنظيم كل سيستم و يا دستيابي به اطلاعات اجزاء آن و اطلاعات آماري از كل پروسه ها با اجزاء كنترل كننده مرتبط است. اين ارتباط بين سيستم ها با استفاده از گذرگاه (باس) CAN برقرار مي گردد. اينگونه ارتباط سريال براي مواردي كه ارتباط بين اجزاء سيستم به طور تقريباً هميشگي زيست توصيه مي شود. در اين حالت ديگر نيازي به سيم كشي مخصوص بسيار قابل انعطاف يا گران قيمت نخواهد بود. بنابراين مي توان سيستم را به صورت گره هايي از شبكه بدون نياز به اعمال تغييرات در سيم كشي توسعه داد. از مزاياي ديگر استفاده از شبكه هايي با قابليت آدرس دهي منطقي يا ساختار آدرس پذيري بر اساس ظرفيت مي توان به مورد زير اشاره كرد: اطلاعات گرفته شده از واحد كاري مرتبط به كنترل كننده شماره 1 در شبكه مي تواند در اختيار كنترل كنده شماره 2 يا كنترل كننده مرتبه بالاتر به طور همزمان قرار گيرد بنابراين ديگر نيازي نيست كه اين اطلاعات دو مرتبه براي رسيدن به كنترل كننده مركزي آدرس دهي شوند. اين الگوريتم به صورت زير است: پيامي كه حاوي اطلاعات واحد كاري است با يك معرفي كننده (Iden tifier) مخصوص بر روي گذرگاه (باس) منتقل مي شود. اين معرفي كننده ، كليدي است كه هركدام از گره هاي موجود در شبكه را جهت دسترسي به اطلاعات اين واحد كاري مقدور مي سازد. در نتيجه هركدام از واحدهاي موجود در شبكه كه علاقه مند به اين اطلاعات باشد مي توانند نتايج آنرا بدست آورد و مورد استفاده قرار دهند.

ويژگيهايي با گذرگاه CAN:
لايه هاي 1و2 انتقال اطلاعات در استاندارد بين الملي ISO 1159 – 2 جهت ارتباطات با سرعت كم و در استاندارد و ISO 11898 براي ارتباط با سرعت بالا بيان شده اند. علاوه بر آن ، مشخصات گذرگاه CAN نيز براي استفادة سازنده ها به طور جدا گانه اي بيان شده وتشريح گرديده است . در اين استاندارد مشخصات CANبه دو قسمت CAN.2.OAوCAN Z.OBتقسيم شده است. مهمترين تفاوت بين اين دو روش در فرمت ابتدايي يك پيام بخصوص تحت تعيين هويت (Identifier)  آنست . در استاندارد CAN 2.0 A قسمت تعيين هويت هر پيام از 11 بيت استاندارد تعيين شده در صورتيكه استاندارد CAN 2.0A كه به CAN توسعه يافته نيز معروف است. تحت تعيين پيام 36 بيت را تشكيل مي دهد . در بخشهاي آينده انواع مختلف پيامها و خصوصيات آنها توضيح داده شده است .
هر پيام سيستم CAN در بردارنده تعداد مشخصي از بيتهاي اطلاعاتي است كه به قسمتها و ميدانهاي مختلف تقسيم مي شوند. اين قسمتها داراي مباني مختلفي مانند : انتهاي فريم ، كه تصحيح و تشخيص خطاي ارتباط ، قسمت اطلاعات و قسمت داوري مي باشد . معني قسمت داوري از يك طرف تعيين اولويت پيام و از طرف ديگر آدرس منطقي اطلاعات است . اين آدرس منطقي در پيامهاي CAN 2.0 n  شامل 11 بيت و در CAN 2.0B شامل 29 بيت است . همانگونه كه در استاندارد هاي 11898 و 2- 11519 ISO آمده است ، در استاندارد CAN 2.0A تعداد 2032 آدرس منطقي مجاز وجود دارد . اين موضوع بدان معني است كه تعداد 2032 موضوع مخابراتي مختلف (پيام ) در اين استاندارد CAN تعريف شده است .اين تعداد پيام در استاندارد CAN توسعه يافته معادل 536 , 870 , 912  عدد مي باشد ( 229) چگونگي تركيب پيامها در سيستم CAN در شكل 1 نمايش داده شده است.

تصوير 2
توضيح اين بيتها در پيامهاي CAN به شرح زير مي باشد :
-    بيت شروع (1بيت ) : اين بيت ابتداي هر پيام را مشخص مي كند . پس از مدت رساني كه خط ارتباطي مورد استفاده قرار نگرفته و درحالت اصطلاحاً بيكار (Idle)  مي باشد ، لبه پايين رونده بيت شروع جهت سنكرون كردن ( همزمان كردن ) نقطه هاي مختلف شبكه مورد استفاده قرار مي گيرد.
-    بيت هاي تعيين هويت = 11 بيت : آدرس منطقي و اولويت پيام را تعيين مي كند . هر چه مقدار اين پيام كمتر باشد . اولويت آن بيشتر است (عدد صفر داراي بالاي اولويت است ) .
-    بيت درخواست انتقال اطلاعات از راه دور (RTR) = 1 بيت  :‌اين بيت مورد استفاده گيرنده براي در خواست اطلاعات از يك فرستنده و ديگر در راه دور مورد استفاده قرار مي گيرد . اگر اين بيت معادل 1 (گرفتن) باشد ، به معني آنست كه فريم اطلاعات صرفنظر از آنچه كه كدهاي ديگر مشخص مي كنند ، حاوي هيچ گونه اطلاعاتي نيست ، در اين حالت بقيه گره هاي شبكه چك مي كنند كه آيا اطلاعاتي جهت ارسال به نقطه اي كه تقاضاي اطلاعات دارد ، را دارند يا خير ، اين تقاضاي در سال و پاسخ احتمالي به آن و فريم متفاوت اطلاعاتي بر روي گذرگاه داده ها مي باشند . اين مسئله بدان معني است كه پاسخ اين در خواست مي تواند بدليل وجود پيامهاي ديگر با اولويت ارتباطي بالاتر به تأخير بيفتد.
-    بيتهاي كنترل ( = 6 بيت ) : اولين بيت اين فريم بيت تعيين هويت است . اگر اولين بيت صفر منطقي باشد بدان معني است كه بيتهاي تعيين هويت ديگر فرستاده نخواهند شد و فريم اطلاعاتي يك فريم استاندارد CAN مي باشد . بيتro  براي استفاده هاي بعدي رزرو شده و چهار بيت بعدي كه تعيين كننده طول اطلاعات براي فريم اطلاعات همراه با اين پيام را مشخص مي كنند.
-    بيتهاي اطلاعات (‌0 تا 64 بيت معادل 5 تا 8 بايت ) : محتويات اطلاعات پيام را منتقل مي كنند.
-    كد تشخيص خطا = 16 بيت : كه مشخص كننده خطا در بيت هاي قبلي ارسال شده در پيام را نشان مي دهد. اين بيتها تنها براي تشخيص خطا مورد استفاده قرار مي گيرند و نمي توان از آن براي تصحيح خطا استفاده كرد . فاصله همينك اين كدها معادل 6 است . يعني مي توان با استفاده از اين كدها معادل 6 بيت خطا را تشخيص داد كه در كل پيام پراكنده شده يا خطاهاي تجمعي (buist)  تا 15 بيت را مشخص مي كنند .
-    بيت تأييد ACK = 2 بيت :‌هر نقطه از شبكه كه پيام درستي را بر روي سيم هاي انتقالي در يافت نمود در قسمت تأييد علامتي را جهت تأييد دريافت درستي پيام ارسال مي دارد . اين علامت به وسيله فرستنده پيام خوانده مي شود و اگر اين تأييد به توسط فرستنده خوانده نشد نشاندهنده بروز خطا در ارتباط مي باشد . توجه شود كه اگر فرستنده اين تأييد را در يافت كرد نمي تواند مطمئن باشد كه پيام مورد نظرش توسط گيرنده مربوط دريافت شده است . بلكه اين تأييديه تنها نشان مي دهد كه پيام به طور درستي بر روي گذرگاه CAN منتقل شده است .
-    بيت هاي انتهاي فريم Eof = 7 بيت :‌در اين قسمت از روش كدنيك شكستي (violated code )  استفاده مي شود . بدين صورت كه در شرايط عادي بعد از 5 بيت معادل يكديگر بيت بعدي به طور مخالف به جريان اطلاعات اضافه مي شود . اين بيتها هنگاميكه Eof  فعال است به همين ترتيب ادامه مي يابد اين بيتها انتهاي فريم CAN را مشخص مي كنند.
-    بيتهاي فاصله داخل فريم (IFS)  = 7 بيت : اين بيتها زماني را براي كنترل كننده CAN جهت انتقال يك فريم اطلاعات سالم به ناحيه اي كه اطلاعات در آنجا ذخيره مي شوند تا توسط دستگاه مربوطه مورد استفاده قرار گيرند را بوجود مي آورد .
-    بيت بيكار (IOLE)  : در اين هنگام گذرگاه مورد استفاده هيچ دستگاهي نبوده و هر نقطه شبكه مي تواند ارتباط مورد نظر خود را شروع كند .
پيامهاي سيستم CAN توسعه يافته در موارد زير با سيستم استاندارد متفاوت است :‌
-    بيت SSR  = 1 بيت : اين بيت جايگزين بيت RTR  شده و معني جديد ديگري ندارد .
-    بيت IDE = 1  :‌اين بيت در سيستم CAN توسعه يافته همواره يك است كه مشخص مي كند بيتهاي تعيين هويت بيشتري نيز به دنبال آن خواهد آمد .
-    فريم كنترل = 6 بيت : در بيت اول اين فريم ( r1 و r0) براي استفاده هاي بعدي رزرو شده ، بقيه اين بيتها به همراه قسمتهاي ديگر پيام معني مشابه پيامهاي CAN استاندارد دارد .
طول مجاز اطلاعات در اين روش 0 تا 8 بايت است بنابراين اطلاعات بيش تر از 8 بايت بنابه مشخصات تعريف شده در سيستم CAN  مجازنيست . هم چنين امكان بگارگيري پيامهاي استاندارد و توسعه يافته در يك شبكه به طور همزمان وجود دارد . اين امكان با به كارگيري كنترل كننده هاي CAN با مشخصات CAN 2.0B امكان پذير ا ست . دراين صورت كه اين كنترلر ها با ارزيابي بيت IOE  پيامهاي نوع توسعه يافته از استاندارد را تشخيص مي دهند. اين نوع كنترل كننده ها از دريافت پيامهاي توسعه يافته خود داري مي نمايند . كنترل كننده كه بدون اين امكان باشد نسبت به پرچمهاي خطا از خود عكس العمل نشان مي دهد .
كنترل كننده هاي CAN  كه مطابق با استاندارد CAN 2.0 B  طراحي شده اند ، نيز مي توانند با پروتكل استاندارد به طور همزمان كار كنند . پيامهايي كه شكل آنها در شكل (1) آماده اند ،‌پيامهاي معمولي فرستاده شده هستند كه اطلاعات عملي را به همراه خود دارند . در شرايط معمولي ارسال اين پيامها توسط فرستنده آغاز مي شوند. در شبكه هاي CAN  اين امكان وجود دارد كه عمليات انتقال و ارسال پيامها به وسيله گيرنده مربوطه با استفاده از بيت در خواست پيام از راه دور (RTR)  نيز شروع شود. هر گرهي از شبكه امكان دريافت فريم درخواست پيام (RTR)  را دارد . با استفاده از قسمت تعيين هويت اين پيام ، مشخص مي شود كه آيا آن گره بايد اطلاعات مورد نياز را ارسال كند يا خير . اين ارزيابي هم به صورت كاربردي و هم توسط كنترل كننده CAN  به طور اتوماتيك امكان پذيراست . همچنين پيام در خواست و جواب  آن در پيام كاملاً مجزاست . مزيت اين كار در اين است كه پيام جواب كه توسط فرستنده ارسال شده و حاوي اطلاعات كاربردي است نه تنها توسط در خواست كننده آن پيام دريافت مي شود ، بلكه توسط ديگر گيرنده هاي احتمالي كه ممكن است به اين پيام علاقمند بوده و اطلاعات موجود در آن براي آنها ارزشمند باشند نيز دريافت مي گردد. بنابراين اطلاعات در شبكه پراكنده مي گردد.
امكان در خواست اطلاعات در مواردي نيز كه جزئي از شبكه به طور موقت خاموش بوده و پس ازمدتي روشن مي گردد نيز كاربرد دارد . در اين حالت ديگر نيازي نيست كه گيرنده تا هنگام فرستادن اطلاعات توسط فرستنده ها منتظر بماند بلكه مي تواند اطلاعات مورد نياز خود رابا بررسي تمام پيامهاي لازم بدست آورد .
تصوير 3

كدنيگ فريم :‌
اجزاء‌موجود در قالب اطلاعات شامل بيت شروع ، قسمت انتخاب شامل بيتهاي تعيين هويت و بيت درخواست ارسال اطلاعات ، قسمت كنترل و قسمت كد CRC با روش اضافه كردن بيت به كد مي شود. هنگاميكه فرستنده 5 بيت پشت سرهم (همراه با بيتهاي اضافه شده ) را به طور يكسان دريافت مي كند ، به طور اتوماتيك يك بيت مكمل در جريان اطلاعات كه به طور واقعي ارسال مي شود نيز اضافه مي كند .
اين روش براي تشخيص خطا مورد استفاده قرار مي گيرد . بقيه قسمتهاي اطلاعات دست نخورده باقي مي ماند و بيتي به آنها اضافه نمي شود . اين روش كدنيگ بنابه روش عدم بازگشت به صفر (NR2)  اعمال مي گردد. اين بدان معني است كه سطح بيتهاي توليد شده در كل زمان ارسال و انتقال اطلاعات ثابت باقي مي ماند .

انتخاب :‌
روش دسترسي در سيستم CAN  به صورت انتخاب غير مخرب و براساس بيتهاست . انتخاب غير مخرب بدين معني است كه كسي كه در انتخاب داراي اولويت بالاتري است و كنترل خطا را بدست مي گيرد و ارسال پيام را از ابتدا مجدداً شروع نمي كند . براي پياده سازي اين روش بايد مقدماتي در خط فيزيكي انتقال اطلاعات پيش بيني شود . بنابراين بايد بتوان سطح منطقي صفر را بر روي سطح منطقي 1 مسلط نمود . بنابراين سيستم فيزيكي و مداري پياده شده بايد بتواند از چند نقطه فرمانپذير باشد . با توجه به ظرفيت كار كردن به چند عامل به طور همزمان ،‌سيستم شبكه اي CAN  بايد به طور غير فعال عمل كند تا در صورت بروز تداخل بين دو سيستم مرتبط به CAN  ، دستگاه با اولويت بالاتر بتواند انتخاب شود .
در صورتيكه در هنگام ارسال اطلاعات ، خط اشغال باشد ،‌عمليات ارسال اطلاعات تا پايان پيام منتقل شونده بر روي شبكه ، به تأخير مي افتد.
تصوير 4

آنچه در هنگام انتخاب اتفاق مي افتد در شكل 3 به صورت مثالي نشان داده شده است . در اين شكل دوگره از شبكه درخواست انتقال اطلاعات مي كنند . روش دسترسي به گذرگاه به صورت امكان دسترسي چند گانه گره ها به همراه با تشخيص اختلال و انتخاب براساس اولويت بالاتر (CSMA/ CD TAMP )  مي باشد. در اين حالت هر دو گره تا زمانيكه گذرگاه ،‌خالي از ترافيك باشد صبر مي كنند . هرگره بيتهاي ارسال شده در گذرگاه اطلاعات را دريافت كرده و مقادير فرستاده شده توسط خودش را با مقادير خوانده شده توسط خودش و با مقادير خوانده شده مقايسه مي كند . در صورتيكه تفاوتي بين اين دو مقدار نباشد . نشان ميدهد كه اتفاق جديدي نيافتاده است . در لحظه اي كه اختلافي در اين دو مقدار پديد آيد.
آلگوريتم انتخاب فعال مي شود – مثلاً در شكل ، اين اختلاف در بيت هفتم پديد آمده است. دراين حالت گره A بيت صفر و گره B  بيت يك را ارسال كرده است و چون در گذرگاه بيت صفر بر بيت يك غالب است اين اختلاف در آينده گره B از خط انتقال مي خواند خود را نشان ميدهد .  در اين لحظه است كه تداخل اتفاق افتاده است . در اين حالت گره B از ارسال بقيه اطلاعات خود دست مي كشد و حالت خود را به صورت يك گيرنده تغيير مي دهد به اين دليل كه گره A با اولويت بالاتر شروع به ارسال اطلاعات كرده و ممكن است مقصد اطلاعات فرستاده شده توسط دو گره B  باشد .
اگر اين اتفاق بعد از فرستادن بيت شروع رخ دهد ، قسمت انتخاب و پذيرش (ACK) به عنوان بيتهاي خطا تلقي شده و توسط قسمتي از كنترل كننده CAN  كه وظيفه رسيدگي به وضعيت خطا را بر عهده دارد ، اقدامات لازم انجام مي شود . علاوه براينگونه خطاها  خطاهاي و ديگري نيز ممكن است در سيستم اتفاق بيافتد كه توسط قسمت رسيدگي به خطا اعمال لازم انجام مي شود . اين قسمت ، بخشي از تجهيزات مربوط به ارتباطات اطلاعات گذرگاه CAN  مي باشد كه بنابه استاندارد تدوين شده بايد در هر كنترل كننده CAN  وجود داشته باشد . يكي از تواناييها و مزيتهاي روش CAN  همين مسئله تشخيص خطا   در اطلاعات انتقال يافته بر روي گذرگاه داده هاست . هر خطايي كه بر روي گرهي از شبكه تشخيص داده شود بالافاصله به تمام نقاط ديگر شبكه نيز اطلاع داده مي شود بعد ازاينكه پيام مورد نظر به عنوان پيام خط شناسايي شده تمام گره ها بيتهاي دريافتي خود را دور مي ريزند . فرستنده  نيز ازوقوع اين خطا اطلاع يافته ( با خواندن اطلاعات بر روي خط ) و هنگاميكه مجدداً گذرگاه اطلاعات خالي باشد ، نسبت به ارسال مجدد پيام اقدام مي كند. اين اعمال به طور اتوماتيك توسط كنترل كننده CAN  انجام شده و نياز به اعمال تغييرات بر نرم افزار سيستم براي انجام اينكار نيست . وجود خطا ارتباطات شبكه بوسيله يك فريم خط گزارش داده مي شود كه در شكل 4 آمده است .

تصوير 5
با استفاده از 6 بيت صفر كه پشت سر هم آمده است ، وجود خطا در شبكه اطلاع داده مي شود . اين 6 بيت صفر توسط همه گره هاي شبكه دريافت شده و خطا به اينصورت به آنها گزارش داده مي شود .
در صورت بروز خطاي محلي در هر كدام از گره هاي متصل به شبكه ، اين فريم خطا پشت سر هم اتفاق مي افتد . براي جلوگيري از بروز اينحالت ، هركدام از گره ها مرحله به مرحله از شبكه خود را جدا مي كنند تا محل وقوع خطا مشخص شود . بنابراين گره هاي سالم مي توانند با يكديگر ارتباط داشته باشند و گره معيوب در اين ارتباط اختلال ايجاد نمي كند . پس از اولين قدم در جدا شدن گره اي در شبكه ،‌آن گره تنها مجاز به فريم خطاي غير فعال مطابق شكل 4 است . فرآيند مربوط به خطا در سه مرحله پردازش مي شود : تشخيص خطا – بررسي وضعيت خطا و محدود كردن خطا . قسمت مديريت خطا مي تواند پنج نوع مختلف خطا را تشخيص دهد .
تشخيص خطا : 
1-خطاي بيت : گرهي كه بيتي را بر روي گذرگاه ارسال مي كند با اين كار قادر به روشن كردن وضعيت خط نيز مي باشد . بدين صورت كه اگر بيت خوانده شده توسط گره با مقدار اوليه آن كه ارسال شده است متفاوت باشد ، خطاي بيت اتفاق افتاده است.
2- خطاي بيتهاي اضافه شده  :‌ در صورتيكه 6 بيت مساوي بر روي خط خوانده شود نشان مي دهد كه خطايي بر روي خط ظاهر شده است زيرا در روش اضافه كردن بيت ، پس از  5 بيت مساوي يك بيت مخالف به جريان اطلاعات اضافه مي شود . در صورتيكه اين بيت مخالف در جريان اطلاعات نباشد ، گره فرستنده يا گيرنده متوجه بروز خطا مي شود.
3- خطاي ناشي از كدنيگ CRC  :‌ در اين حالت CRC  دريافت شده مساوي CRC  محاسبه شده نيست .
4- خطاي فرم :  در صورتيكه در فرم اطلاعات دريافت شده در موارد مختلف بيتهاي غير مجاز وجود داشته باشد .
5- خطاي تأييد :‌ اين خطا در صورتيكه قسمت تأييد ACK  توسط فرستنده دريافت نشود مشخص مي شود .

مديريت خطا :
 پس از اينكه يكي از موارد فوق الذكر اتفاق افتاد ، يك فريم بلافاصله فرستاده مي شود . اين فريم خطا از 2 قسمت مجزا تشكيل شده است . اولين قسمت حاصلجمع پرچمهاي خطايي است كه از گره هاي مختلف جمع آوري شده است . قسمت بعدي صفرهاي نشاندهنده خطا مي باشد. گرهي كه خطا را به اطلاعات دريافت شده توسط خود دريافت مي كند ، پرچم خطاي مربوط به خود را ارسال مي كند . در اين فريم خطا ، قوانين تعريف شده در روش اضافه كردن بيت و يا قسمتهايي كه بايد داراي فرمت خارجي باشند رعايت نمي شود. به دنبال اين اتفاق بقيه گره ها نيز خطا را تشخيص داده و پرچم خطاي مخصوص خود را ارسال مي كنند . بنابراين فريم خطاي واقعي در شبكه ، حاصل جمع اين پرچمهاي خطاي فرستاده شده توسط تمام گره هايي است كه خطا را تشخيص داده اند . كل طول اين فريم بين مي مينيم 6 و ماكزيمم 12 بيت متغيير است . پرچمهاي غير فعال خطا توسط فرستنده اي كه موجب ايجاد خطا در دريافت كننده هاي اطلاعات ارسال مي گردد.
بنابراين ارسال اين پرچمهاي خطا در هنگام فاز انتخاب گره ديگر براي ارسال اطلاعات خود ،‌ارسال نمي‌گردد . همچنين از ارسال اين پرچمها تا چند بيت قبل از اتمام بيت هاي كدنيگ CRC  كه به همه گيرنده‌ها مي رود ، نيز ممانعت بعمل مي آيد . پس در مورد خطاي غير فعال گيرنده ها بايد تا 6 بيت بعداز تشخيص صبر كنند و پس از آن پرچم خطاي خود را بالا ببرند.
نشاندهنده خطا شامل 8 بيت دريافتي است . پس از فرستادن يك پرچم خطا ،‌ گره بيتهاي دريافتي توسط خود را مجدداً ارسال مي كند و وضعيت گذرگاه اطلاعات را تا دريافت مجدد بيت مورد نظر خود بررسي مي نمايد. سپس آن گره مجدداً نسبت به ارسال 7 بيت دريافتي اقدام مي نمايد.
مديريت خطا به ترتيب زير انجام مي شود :
1-    تشخيص خطا
2-    يك فريم خطا فرستاده مي شود .
3-    پيام دريافت شده توسط تمام گره ها دور ريخته مي شود .
4-    شمارنده مربوط به خطاي هر گره اضافه مي شود .
5-    پيام قبلي مجدداً فرستاده مي شود .

محدوديت خطا :
جهت جلوگيري از خرابي موقت گذرگاه اطلاعات توسط يك گره يا گروهي از گره هاي خراب ، الگوريتم هاي مشخصي براي محدود كردن اثر اين خرابي وجود دارد . هركنترل كننده CAN  داراي 3 وضعيت خطاست:‌
1-    خطاي فعال : يك گره فعال خراب مي تواند عملاً در گذرگاه وارد شده و نسبت به ارسال اطلاعات خط اقدام كند و در زماني هم كه خطا در شبكه شناسايي شده است ،‌پرچم خطاي فعال را ارسال نمايد.
2-    خطاي غير فعال :‌يك گره غير فعال خراب نيز مي تواند در ارتباطات شبكه وارد شود و اطلاعات يا پرچم  سر خطا ارسال و يا دريافت كند . يك خطاي غير فعال ، پس از فرستادن اطلاعات ، بايد زمان اضافي ، قبل از آغاز اطلاعات بيشتر صبر كند.
3-    خاموش باس : در صورت بروز خطا در گذرگاه اطلاعات يك گره ممكن است از باس جدا شده و اصطلاحاً به حالت خاموشي باس برود . در اين حالت گره مذكور ديگر قادر به ارسال يا دريافت اطلاعات نخواهد بود .
تغيير حالت گره از حالت خطاي فعال به صورت غير فعال يا بر عكس برعهده كنترل كننده CAN  است . يك گره نيز تنها در صورت درخواست كاربر مانند روشن شدن مجدد سخت افزاري يا نرم افزاري مي تواند از حالت خاموشي باس خارج شود . نمودار اين وضعيت اين شكل 5 نمايش داده شده است :
تصوير 6


شمارنده خطاي ارسال شده = ‏TEC      شمارنده خطاي دريافتي REC =
در مورد شمارنده خطاي ارسال شده حد آستانه خطا 96 عدد بوده و در مورد وقفه مربوط به وضعيت خطا اين حد بستگي به CPU  دارد.

حالتهاي مختلف به مقادير شمارنده هايي كه از آنها نام برده شده بستگي دارد . در هر كنترل كننده CAN  يك شمارنده خطاي فرستنده (TEC)  و شمارنده خطاي گيرنده (REC)   وجود دارد . حالتهاي خطا بر اساس شرايط زير تعريف مي شود:
1-    خطاي فعال : مقادير REC , TEC  (خطاي فرستنده و گيرنده ) با هم كمتر و يا مساوي 127 باشد.
2-    خطاي غير فعال :‌حداقل يكي از شمارنده هاي REC  يا TEC  بيش از 127 عدد بوده و TEC  كمتر يا مساوي 255 باشد .
3-    خاموشي باس : شمارنده فرستنده TEC  بيش از 255 باشد.
شمارنده هاي خطا براساس قوانين زير تعيين مي شوند (ممكن است در حين ارسال يك فريم بيش از يك قانون اعمال شود ) 
الف ) وقتي فرستنده يا گيرنده خطايي را تشخيص مي دهد شمارنده REC  يك واحد افزايش مي يابد مگر در هنگامي كه خطاي تشخيص داده شده يك بيت در هنگام فرستادن پرچم فعال باشد.
ب) وقتي يك گيرنده يك بيت صفر به عنوان اولين بيت پس از فرستادن پرچم خطا دريافت مي كند ،‌REC  ، هشت واحد افزايش مي يابد.
ج) هنگامي كه فرستنده يك پرچم خطا را مي فرستد TEC  هشت واحد اضافه مي شود ، TEC  درهنگام وقوع شرايط زير تغيير نمي كند:
حالت خاص 1 : فرستنده در حالت خطاي غير فعال قرار دارد و تأييدي براي خطا دريافت ميكند چونكه يا تأييديه تمام صفر غالب را دريافت نكرده است و يا بيت غالب را در هنگام فرستادن پرچم خطاي غير فعال خود دريافت نكرده است .
حالت خاص 2 :‌اگر گره فرستنده يك پرچم خطا ارسال كند بدليل اتفاق افتاده در مرحله انتخاب ،‌در حاليكه بايد اطلاعات مربوط را دريافت مي نمود.
د) اگر فرستنده يك بيت خطا را درهنگام فرستادن يك پرچم خطا يا پرچم اضافه بار (over load )  تشخيص دهد ، TEC  هشت واحد افزايش مي يابد.
هـ ) اگر گيرنده يك بيت خطا را در هنگام فرستادن پرچم خطا و يا اضافه بار تشخيص دهد ، REC  هشت واحد اضافه مي شود .
ن) هر گره تا 7 عدد بيت پشت سر هم غالب را پر از فرستادن يك پرچم خطاي فعال ، غير فعال يا پرچم اضافه بار تحمل مي كند .
پس از دريافت چهاردهمين بيت غالب (در حالت خطاي فعال يا وضعيت اضافه بار) يا پس از دريافت هشتمين بيت غالب كه بدنبال پرچم خطاي غير فعال آمده است هر فرستنده TEC  و هر گيرنده REC  را هشت واحد اضافه مي كند . همچنين اين عمل در مورد هر 8 بيت غالب پشت سر هم نيز انجام مي شود .
و ) پس از ارسال موفق يك فريم اطلاعات ( دريافت تأييد و عدم تشخيص خطا تا زمان پايان فريم Eof ) ،‌عدد TEC  يك واحد كاهش مي يابد تا وقتيكه صفر شود .
ي) پس از دريافت موفق يك فريم ( دريافت اطلاعات تا زمان دريافت تأييديه و ارسال موفق بيت تأييديه ACK) عدد REC  اگر بين 1 و 127 باشد ، يك واحد كاهش مي يابد. اگر اين شمارنده صفر باشد صفر باقي مي ماند و اگر بيشتر از 127 باشد مقدار بين 119 و 127 مي شود .
در صورت رخداديكي از موارد زير بيش از يك قانون اعمال مي شود :‌
وقتي يك گره از شبكه (مثلاً گره A) كه مد پيامي را دريافت كرده است خطايي را بدليل خرابي محلي خود تشخيص دهد ، يك پرچم خطا مي فرستد . بقيه گره هاي شبكه خطا را حداقل در ششمين بيت پرچم خطاي گره A تشخيص داده ( براساس قانون اضافه كردن بيت ها ) و آنها نيز پرچم خطاي خود را بلافاصله ارسال مي كنند. گره A – گرهي كه خود خراب شده است – بيتهاي خطاي غالب را پس از  ارسال پرچم خطاي خود تشخيص داده و شمارنده خطاي گيرنده REC  خودرا تا واحد افزايش مي دهد . ( يك واحد بدليل قانون الف و 8 واحد بدليل قانون ب ) بقيه گره ها كه خود خراب نبوده اند REC  را تنها يك واحد افزايش مي دهند به اين دليل كه آنها بيت هاي غالب را پس از پرچم خطاي خود دريافت نكرده اند . بنابراين گره A  به عنوان دومين گره در حالت خطاي غير فعال قرار مي گيرد.
براي سادگي در اسر فاز ابتدايي بسته ، استثناهايي در مورد پياده سازي قانون ج وجود دارد :
در شرايط مساوي فاز آماده سازي گره هاي مختلف زمانهاي متفاوتي بطول مي انجامد . اگر در زبان بالا آمدن يك گره ، آن گره يك فريم اطلاعات را ارسال كند ، تأييديه اي از گره هاي ديگر جهت دريافت آن فريم دريافت نخواهد كرد بنابراين از ديد خود خطايي دريافت كرده و فريم را مجدداً ارسال مي كند . در اينصورت آن گره در حالت خطاي غير فعال قرار مي گيرد و نه در حالت خاموشي باس . اين مورد درحالت خاص توضيح داده شده اول از قانون ج تضمين مي شود .
تغييرات شمارنده هاي خطا در شكل 0.6 آمده است .
 


منابع :


دانلود پایان نامه,خرید پایان نامه,فروش پایان نامه,پایان نامه,آرشیو پایان نامه,پایان نامه عمران,پایان نامه روانشناسی,

پایان نامه حقوق,پایان نامه اقتصاد,پایان نامه برق,پایان نامه معدن, پایان نامه کارشناسی ,پایان نامه صنایع,پایان نامه علوم سیاسی ، پایان نامه کاردانی

طراحی سایت : سایت سازان