تبلیغات
وبسایت مهندسین مكانیك ایران - باس LIN

وبسایت مهندسین مكانیك ایران
 
IRANIAN WEBSITE OF MECHANICAL ENGINEERS‏
امروزه، استفاده از شبکه‌‌های کامپیوتری در خودرو، بیش از پیش افزایش یافته است. خودروهای امروزی دارای چندین ECU بوده و ارتباط دیجیتال بین این واحدها توسط شبکه‌‌های دیجیتالی برقرار می‌‌شود. استفاده از کنترل‌‌کننده‌‌های الکترونیکی آن چنان در حال گسترش است که گفته می‌‌شود: «انسان به زودی سوار بر کامپیوترهایی خواهد شد که شبیه به خودرو هستند.»
با توجه به کاربردهای موجود در خودرو و نیز اقتصادی کردن استفاده از شبکه‌‌های مذکور، نیاز به استفاده از چند نوع مختلف از این شبکه‌‌ها وجود دارد. یک خودروی مدرن اروپایی، دارای یک یا 2 باسCAN است که یکی از آنها برای کنترل خودرو مانند سیستم ترمز و سیستم ضدلغزش مورداستفاده قرار می‌‌گیرد و باس دوم در کنترل لوازم اتاق خودرو مانند کنترل سیستم تهویه و کنترل آینه‌‌های برقی به کار می‌‌رود.
به دلیل افزایش قابل توجه تعداد ECUها، استفاده از باس CAN بسیار گران‌‌قیمت و غیراقتصادی خواهد بود. از سوی دیگر در این نوع کاربرد، نیازی به دقت و قابلیت‌‌های باسCAN نبوده و از آنها استفاده نخواهد شد. بنابراین، کنسرسیومی شامل تولیدکنندگان اصلی خودرو در اروپا، شامل: آئودی، BMW، دایملر/کرایسلر، فولکس واگن، ولوو، موتورولا و شرکت Volcano، شبکه‌‌ای ارزان‌‌قیمت به نام باسLIN را برای استفاده در مصارف عادی و ساده در اتاق خودرو، طراحی کرده‌‌اند. امروزه این شبکه توسط شرکت‌‌هایی مطرح مانند PSA به صورت گسترده مورداستفاده قرار می‌‌گیرد.
طراحی LIN برای جایگزین‌‌کردن باس CAN که به صورت گسترده در انواع خودرو مورد استفاده قرار می‌‌گیرد، نبوده بلکه مکملی برای باسCAN در زمینه ارتباطات ساده و غیرحساس تلقی می‌‌شود. باس LIN درکاربردهایی مورداستفاده قرار می‌‌گیرد که به پهنای باند پایینی نیاز باشد و گره‌‌ها نیز دارای طراحی بسیار ساده‌‌اند. باس LIN معمولاً با سرعت 5 تا 20کیلوبایت درثانیه برای کنترل چراغ‌‌های داخلی خودرو، کنترل شیشه بالابر، سوئیچ‌‌های داشبورد، حسگر باران و کنترل صندلی‌‌ها، مورداستفاده قرار می‌‌گیرد.
در نمودار 1، باس LIN از لحاظ قیمت و سرعت با دیگر باس‌‌های رایج در صنعت خودرو، مقایسه شده است.

نمودار1: جایگاه باس LIN


مشخصات اصلی باسLIN عبارت است از:
• یک Master و تا حداکثر 15 عددslave
• لایه فیزیکی یک سیمه ISO 9141
• سرعت باس از 1 تا 20 (Kbits/s) معمولا در کاربردهای خودرو 4/2 و 6/2 و 2/19 (Kbit/s)
• قابلیت دریافت همزمان پیام توسط همه‌‌ گره‌‌ها
• حالت همزمان‌‌سازی توسط خود slave انجام می‌‌شود. (فقط Master یک clock دقیق مانند کریستال دارد.)
• پیام 2 یا 4 یا 8 بایت دیتا و 3بایت کنترلی دارد.
• آشکارسازی خطا توسط Cehcksum 8بیتی و 2بیت توازن در شناسه‌‌ها انجام می‌‌شود.
• قابلیت راه‌‌اندازی و متوقف کردن گره‌‌ها توسط باس.
یک ECU در حالت Slave به کلاک دقیق نیازی ندارد و نوسان‌‌کننده‌‌های RC می‌‌توانند جایگزین نوسان‌‌کننده کریستالی یا سرامیکی شوند. این، روشی بسیار موثر برای طراحی حسگرها، راه‌‌اندازی‌‌ها و یا کانکتورهای هوشمند است.
در مشخصات این باس، 3 لایه از 7 لایه مدل استاندارد OSI بیان شده است.
-Applicatin layer
-data link layer
-physical layer

توپولوژی
شبکه LIN شامل یک master و یک یا چندین slave است. معمولا در کاربردهای خودرو گذرگاه LIN بین حسگرهای هوشمند، راه‌‌اندازها و واحد کنترل الکترونیکی متصل می‌‌شود. این مورد در اغلب موارد، واحد کنترل الکترونیکی گذرگاه باس CAN است.
در خوردو ممکن است چندین باس LIN که با هم ارتباط ندارند، مشاهده شود. این حالت و نحوه کاربرد باس در خودرو، در شکل 2 نمایش داده شده است. این مورد، تفاوت اصلی LIN با دیگر باس‌‌های از آن قیمت مانند K-line است. در باس K-Line، هدف اتصال تمامی ECU های داخل خودرو به وسیله تحلیل و آنالیزکننده خارجی (مانند دیاگ) برای عیب‌‌یابی است.

شكل2: باس LIN و CAN



طول باس LIN به 40 متر محدود می‌‌شود و حداکثر 16 عدد ECU می‌‌تواند به باس وصل شود. گره‌‌ها مطابق با شکل 3 به باس متصل می‌‌شوند.

شكل3: باس LIN



در شکل 4، نحوه استفاده از LIN نمایش داده شده است. مشاهده می‌‌شود که با استفاده از LIN، مقدار سیم‌‌کشی داخل درب خودرو تا حد قابل‌‌توجهی کاهش یافته است.

شكل4: استفاده از باس LIN



مزایای باس LIN
• استفاده آسان
• قطعات و تراشه‌‌های آن از شرکت‌‌های مختلف، در بازار قابل دسترس است.
• قیمت ارزان‌‌تر نسبت به CAN و دیگر گذرگاه‌‌های ارتباطی.
• سهولت بسیار زیاد در افزایش امکانات جدید به خودرو، بدون تغییر در دیگر بخش‌‌ها.

پروتکل باسLIN
گره Master در باس LIN، ترتیب توالی ارسال تمامی پیام‌‌ها را می‌‌داند و برای Slaveها درخواست ارسال می‌‌کند. درخواست از Slave توسط ارسال یک Header انجام می‌‌گیرد.
باس LIN همانند باس CAN، دارای مقادیر Dominant و Recessive بوده و باس در حالت بیکاری، در مورد Recessive قرار دارد. در شکل 5، حدود ولتاژی Dominant و Recessive نمایش داده شده است.

شكل5: محدوده ولتاژ Dominant‌ و Recessive

یک پیام در باس LIN، شامل بخش‌‌هایی زیر است:
• Synchronization break
• Synchronization byte
• Identifier byte
• Data bytes
• Checksum byte
اطلاعات، با روش INTEL کدگذاری شده‌‌اند، یعنی ابتدا کم ارزش‌‌ترین بیت (LSB) فرستاده می‌‌شود. شکل فریم یک پیام در باس LIN در شکل 6 نمایش داده شده است.

شكل6: شكل فریم در باس LIN

بخش Synchronization break
این بخش، برای همگام کردن همه گره‌‌ها مورداستفاده قرار می‌‌گیرد. گره‌‌های Slave با اندازه‌‌گیری طول این بخش، از یک بایت بیشتر آن را تشخیص می‌‌دهند. نمای این قسمت در شکل 7 نشان داده شده است. این بخش، خود شامل 3 قسمت است که در جدول 1 نمایش داده شده است.

شكل7: بخش Synchronization break

جدول1: زمان‌بندی



Synchronization byte
بایت هماهنگ‌‌سازی، تنها توسط Master فرستاده می‌‌شود و برای همگام‌‌سازی slaveها کاربرد دارد. شکل این بخش از پیام در شکل 8 نمایش داده شده است.

شكل8: بخش Synchronization byte


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

Identifier byte
این بخش محتوا و طول داده موجود در پیام را مشخص می‌‌کند. مجموعاً 64 Identifier در 4 گروه 16 تایی وجود دارد. شکل 9 نشان دهنده بخش Identifier byte در پیام است.

شكل9: Identifier byte

محتوای این بخش عبارت است از:
شماره پیام ID[0…3]=
این بخش، شماره پیام بوده و معنای آن در مشخصات باس LIN از پیش مشخص شده است. برخی شناسه‌‌ها برای استفاده در آینده رزرو شده و در حال حاضر استفاده‌‌ای ندارند.
طول داده ID[4…5]=
طبق جدول 2، طول داده‌‌ای را مشخص می‌‌کند که در ادامه پیام وجود دارد.

جدول 2

بیت‌های توازن P[0…1]=
بیت‌‌های توازن فقط براساس رشته بیت Identifier محاسبه می‌‌شوند. P0 بیت توازن زوج و P1 بیت توازن فرد است.
P0=NOT(ID1+ID3+ID4+ID5)
P1=(ID0+ID1+ID2+ID4)
Data bytes
طول این بخش توسط ID5 و ID6 مشخص می‌‌شود. این داده ممکن است توسط گره Master و یا Slave ارسال شود.

شكل10: بخش Data bytes


Checksum byte
بیت‌‌های کنترلی CRC فقط برای رشته بیت داده، محاسبه می‌‌شود.

شكل11: بخش Checksum byte



مقدار بیت‌‌های کنترلی مساوی با معکوس باقی مانده مجموع بر 256 است. یعنی:
Checksum=(1-data) mod 256
بیت carry از حاصل جمع قبلی به LSB حاصل جمع بعدی، اضافه می‌‌شود.

مدهای Wake-up/sleep
پروتکل LIN این امکان را به‌‌وجود آورده است که در حالت Sleep، تناقضی با استاندارد نداشته باشد. هنگامی که خودرو خاموش است، مقدار مصرف برق در خودرو برای جلوگیری از تخلیه ناخواسته باتری، باید کمتر از چند میلی‌‌آمپر باشد. بنابراین، باید همه ECUها وارد حالت Sleep شوند. در نتیجه، روش‌‌هایی برای کنترل حالات Sleep و Wake-up بر روی باس در نظر گرفته شده است.

1. شرایط ورود به حالت Sleep
الف. درخواست از طرف Master
گره Master باید 3 مرتبه درخواست ورود به حالت Sleep را با شرایط زیر اعلام کند.
Identifier: 0X3C
Data byte:0x00
گره‌‌های Slave باید در کمتر از 25 هزار زمان بیت وارد حالت Sleep شوند. سپس، باس وارد حالت recessive می‌‌شود. پیام Sleep در شکل 12 نشان داده شده است.

شكل12: درخواست حالت Sleep از طرف Master


شرایط غیرفعال بودن باس
هنگامی که باس برای مدت زمان مشخصی در حالت recessive بماند، ECU باید وارد حالت Sleep شود.

2. شرایط ورود به حالت Wake-up
الف. پیغام از سوی Slave پس از رخ دادن یک رویداد
اگر رویدادی رخ دهد، Slave می‌‌تواند Master را از مود Sleep خارج کرده و تبادل داده از سرگرفته می‌‌شود. برای انجام این عمل Slave شناسه 0x80 را ارسال می‌‌کند. در این حالت، Master باید پیام BAD Wake-up را ارسال کند. رفتن باس به حالت غالب، نشان‌‌دهنده پیغام Wake-up است. Master قبل از شروع تبادل داده، باید صحت و درستی پیام Wake-up را بررسی کند. پیغام Wake-up از این نوع در شکل 13 نمایش داده شده است.

شكل13: درخواست حالت Wake-up از طرف Slave

گره Master نیز می‌‌تواند دیگر Slaveها را با پیغام با شناسه 0x80 از مود Sleep خارج کند. پس از ارسال این پیام Master کار عادی خود را از سرمی‌‌گیرد. این حالت در شکل 14 نمایش داده شده است.

شكل14: درخواست حالت Wake-up از طرف Master

3. آشکارسازی خطاها
هیچ روشی برای تشخیص خطا در کنترلر باس LIN وجود ندارد، اما خطاهای زیر باید توسط ECU تشخیص داده شده و کنترل شوند:
1. خطای بیت: بیت دیده شده بر روی باس با بیت ارسالی متفاوت است.
2. خطاهای بیت‌‌های کنترل‌‌کننده Checksum
3. خطای بیت توازن در بخش Identifier
4. عدم دریافت پیام از طرف Slave
5. وجود خطا در ساختار پیام همگام‌‌سازی
6. باس غیرفعال (حالت Sleep)
در اکثر موارد، Master باید کنترل خطاها و رفع آنها را انجام دهد. یعنیMaster باید یک حالت Fail مشخص و از پیش تعریف شده را در این مواقع اعلام نماید.

تشخیص خطا توسط Master
هنگام ارسال
هنگام ارسال داده Master باید خطاهای زیر را کنترل کند:
1. خطای بیت
2. خطای اشکال در بیت توازن شناسه

هنگام دریافت
هنگام دریافت داده، Master باید خطاهای زیر را کنترل کند:
1. خطای Checksum
2. عدم دریافت پیام از طرف Slave

تشخیص خطا توسط Slave
• هنگام ارسال داده Slave باید وجود خطای بیت را کنترل کند.
• هنگام دریافت داده Slave باید خطاهای زیر را کنترل کند:
1. خطای بیت‌‌های کنترل‌‌کننده Checksum
2. خطای بیت توازن در بخش Identifier
3. عدم دریافت پیام از طرف Slave
4. وجود خطا در ساختار پیام همگام‌‌سازی

جمع‌‌بندی
برای آشنایی بیشتر با باس LIN به سایت www.lin-subbus.org و استاندارد موجود در این سایت، مراجعه کنید. از آنجا که این باس به صورت گسترده توسط شرکت PSA مورد استفاده قرار می‌‌گیرد، آشنایی و تسلط بر مشخصات آن، امری اجتناب‌‌ناپذیر به نظر می‌‌رسد.





طبقه بندی: خودرو، 
نوشته شده در تاریخ سه شنبه 3 اسفند 1389 توسط محمد محمل زاده
تمامی حقوق این سایت محفوظ است
قالب وبلاگ