پروتکل LIN (شبکه اتصال محلی Local Interconnect Network) یک پروتکل شبکه سریال است که مانند پروتکل CAN برای ارتباط بین اجزای خودرو در سیستم مالتی پلکس استفاده می شود. پروتکل لین، شبکه سریال تک سیمی است که از ارتباطات تا ۱۹.۲ کیلوبیت بر ثانیه در طول باس ۴۰ متر پشتیبانی می کند.
با رشد فناوری در خودروها و امکانات جدید پیاده سازی شده در آن ها نیاز به یک شبکه سریال ارزان پدید آمد. زیرا استفاده از شبکه CAN BUS برای پیاده سازی ارتباطات هر جزء در خودرو بسیار گران تر بود. شرکت های خودروسازی اروپایی شروع به استفاده از فناوری های ارتباطی سریالی مختلف کردند که در نهایت منجر به مشکلات سازگاری زیادی شد.
در اواخر دهه ۱۹۹۰ میلادی، کنسرسیوم LIN توسط پنج خودروساز (BMW، گروه فولکس واگن، آئودی، ولوو کارز، مرسدس بنز) با فناوری های ارائه شده (تخصص شبکه و سخت افزار) از Volcano Automotive Group و Motorola تأسیس شد. اولین نسخه کاملاً پیادهسازی شده مشخصات جدید پروتکل LIN (نسخه LIN 1.3) در نوامبر ۲۰۰۲ منتشر شد. در سپتامبر سال ۲۰۰۳، نسخه ۲.۰ شبکه لین برای گسترش قابلیتها و پیشبینی ویژگیهای تشخیصی اضافی معرفی شد. همچنین ممکن است از LIN روی خط برق باتری خودرو با یک فرستنده گیرنده LIN ویژه روی خط برق DC (DC-LIN) استفاده شود. LIN روی خط برق DC (DC-LIN) به عنوان ISO/AWI 17987-8 استاندارد شد.
توپولوژی شبکه LIN
LIN BUS یک پروتکل ارتباطی سریال ارزان قیمت است که به طور موثر از برنامه های راه دور در شبکه مولتی پلکس خودرو پشتیبانی می کند. این به ویژه برای نودهای مکاترونیک در کاربردهای توزیع شده خودرو در نظر گرفته شده است، اما به همان اندازه برای کاربردهای صنعتی مناسب است. پروتکل LIN در نظر گرفته شده است که شبکه CAN موجود را تکمیل کند که منجر به شبکه های سلسله مراتبی در خودروها می شود.
پروتکل LIN یک شبکه سریال است که شامل ۱۶ گره در شبکه مالتی پلکس خودرو (یک Master و معمولاً حداکثر تا ۱۵ Slave) است. همه پیامها توسط Master شروع میشوند و حداکثر یک Slave به شناسه پیام ارسال شده پاسخ میدهد. نود [گره] اصلی همچنین می تواند با پاسخ دادن به پیام های خود به عنوان یک Slave عمل کند. در این پروتکل Slave Node Position Detection (SNPD) امکان تخصیص آدرس گره را پس از روشن شدن فراهم می کند.
Master و Slave معمولاً میکروکنترلرها هستند، اما ممکن است در سخت افزارهای تخصصی یا ASIC به منظور صرفه جویی در هزینه، فضا یا نیرو پیاده سازی شوند. کاربردهای فعلی کارایی کم هزینه شبکه LIN و حسگرهای ساده را برای ایجاد شبکه های کوچک ترکیب می کنند. این زیرسیستمها را میتوان با شبکههای پایه (یعنی شبکه CAN در خودروها) متصل کرد.
در شبکه LIN به منظور کاهش توان مصرفی، يك نود یا گره میتواند به حالت خواب برود و در اين حالت اين نود هيچگونه اثری روی باس نميگذارد.
فریم پیام در پروتکل LIN
به عبارت ساده، فریم (قاب) پیام LIN BUS از یک Header هدر (سربرگ) و یک پاسخ Response تشکیل شده است.
به طور معمول، Master LIN یک هدر را به LIN BUS ارسال می کند. این یک Slave را راه اندازی می کند که در پاسخ تا ۸ بایت داده ارسال می کند.
این قالب کلی قاب LIN را می توان به صورت زیر نشان داد:
یک پیام در شبکه لین حاوی فیلدهای زیر است:
- قطع همگام سازی (Synchronization break): فیلد شکست همگام سازی (SBF) با نام مستعار Break حداقل ۱۳ + ۱ بیت طول دارد (و در عمل اغلب ۱۸ + ۲ بیت). فیلد Break به عنوان یک اعلان “شروع Frame” برای تمام گره های LIN در گذرگاه عمل می کند.
- بایت همگام سازی (Synchronization byte): فیلد ۸ بیتی Sync دارای مقدار از پیش تعریف شده 0x55 است (در باینری، ۰۱۰۱۰۱۰۱). این ساختار به نودهای LIN اجازه میدهد تا زمان بین لبههای افزایش/افت و در نتیجه baud rate (تعداد تغییرات سیگنال یا سطح ولتاژ در هر ثانیه در یک کانال ارتباطی) استفاده شده توسط گره اصلی را تعیین کنند. این به هر یک از آنها امکان می دهد در همگام سازی بمانند.
- بایت شناسه (Identifier byte): شناسه ۶ بیتی است و به دنبال آن ۲ بیت برابری قرار می گیرد. ID به عنوان یک شناسه برای هر پیام LIN ارسال شده عمل می کند و حالا کدام نودها به هدر واکنش نشان می دهند. Slave اعتبار فیلد ID (بر اساس بیت های برابری) را تعیین می کند و از طریق زیر عمل می کند:
- انتقال داده های بعدی را نادیده بگیرید.
- به داده های ارسال شده از گره (Node) دیگری گوش دهید.
- داده ها را در پاسخ به هدر منتشر کنید.
- به طور معمول، یک Slave برای اطلاعات در یک زمان نظرسنجی می شود – به این معنی که خطر برخورد (collision risk) صفر است.
- توجه داشته باشید که ۶ بیت اجازه ۶۴ ID را می دهد که شناسه ۶۰-۶۱ برای تشخیص (diagnostics) استفاده می شود (بیشتر در) ۶۲-۶۳ رزرو شده است.
- بایت داده ها (Data bytes): هنگامی که یک Slave LIN توسط master نظرسنجی می شود، می تواند با ارسال ۲، ۴ یا ۸ بایت داده پاسخ دهد. طول داده را می توان سفارشی کرد، اما معمولاً به محدوده ID مرتبط می شود (شناسه ۰-۳۱: ۲ بایت، ۳۲-۴۷: ۴ بایت، ۴۸-۶۳: ۸ بایت). بایت های داده حاوی اطلاعات واقعی هستند که در قالب سیگنال های LIN مخابره می شوند. سیگنال های LIN درون بایت های داده بسته بندی می شوند و ممکن است به عنوان مثال فقط ۱ بیت طولانی یا چند بایت باشند.
- بایت چکسام (Checksum byte): مانند CAN، یک فیلد چکسام اعتبار فریم LIN را تضمین می کند. چکسام کلاسیک ۸ بیتی فقط بر اساس جمع بایت های داده (LIN 1.3) است، در حالی که الگوریتم چکسام پیشرفته شامل فیلد شناسه (LIN 2.0) نیز می شود.
سخت افزار LIN
مشخصات LIN به گونه ای طراحی شده است که امکان استفاده از نودهای سخت افزاری بسیار ارزان را در یک شبکه فراهم کند. پروتکل LIN یک شبکه کم هزینه و تک سیم بر اساس ISO 9141 است. در توپولوژی های شبکه مالتی پلکس خودروهای امروزی، از میکروکنترلرهایی با قابلیت UART یا سخت افزار اختصاصی LIN استفاده می شود. میکروکنترلر تمام دادههای LIN مورد نیاز (پروتکل …) را (تا حدی) توسط نرمافزار تولید میکند و از طریق یک فرستنده-گیرنده LIN (به زبان ساده، یک تغییر دهنده سطح با برخی افزودنیها) به شبکه LIN متصل میشود.
نمای کلی LIN BUS
شبکه LIN قابلیت ها و اطمینان کمتری را به ما ارایه می دهد، اما همچنان هزینه های کمتری هم دارد. در ادامه یک نگاه کلی به پروتکل LIN را داریم؛
- گزینه کم هزینه (اگر سرعت را خیلی مدنظر نگیریم)
- شبکه LIN اغلب در خودرو برای شیشه ها، برف پاک کن ها، تهویه هوا و غیره استفاده می شود.
- (clusters) کلاسترهای لین از یک گره اصلی و حداکثر شانزده گره slave تشکیل شده اند.
- تک سیم (+زمین) با ۱-۲۰ کیلوبیت بر ثانیه در حداکثر طول باس ۴۰ متر.
- زمانبندی راهاندازی شده با زمان تأخیر تضمینشده.
- طول داده متغیر (۲، ۴، ۸ بایت).
- پروتکل LIN از تشخیص خطا، جمعبندی و پیکربندی پشتیبانی میکند.
- ولتاژ کاری ۱۲ ولت.
- لایه فیزیکی بر اساس ISO 9141 (K-line).
- پشتیبانی از حالت خواب و بیداری.
- اکثر خودروهای جدیدتر دارای ۱۰+ گره LIN هستند.
تاریخچه شبکه LIN
در زیر به طور خلاصه تاریخچه پروتکل LIN را مرور می کنیم:
- ۱۹۹۹: LIN 1.0 توسط کنسرسیوم LIN (BMW، VW، Audi، Volvo، Mercedes-Benz، Volcano Automotive و Motorola) منتشر شد.
- ۲۰۰۰: پروتکل LIN به روز شد (LIN 1.1، LIN 1.2)
- ۲۰۰۲: LIN 1.3 منتشر شد که عمدتاً لایه فیزیکی را تغییر داد
- ۲۰۰۳: LIN 2.0 منتشر شد، با اضافه کردن تغییرات عمده (به طور گسترده استفاده می شود)
- ۲۰۰۶: مشخصات LIN 2.1 منتشر شد
- ۲۰۱۰: LIN 2.2A منتشر شد که اکنون به طور گسترده اجرا شده است
- ۲۰۱۰-۱۲: SAE LIN را به عنوان SAE J2602 استاندارد کرد، بر اساس LIN 2.0
- ۲۰۱۶: CAN در اتوماسیون استاندارد LIN (ISO 17987:2016)
ویژگی های شبکه لین
- سيستمی با يك گره Master و يك يا چند گره Slave است بنابراين در مساله انتقال اطلاعات، مشكل بر سر باس و تصاحب آن وجود نخواهد داشت.
- تعداد بيت های حجم پيام، انتخابی است.
- سيستم در اضافه کردن گره جديد انعطاف پذیر است.
- گره ها قابليت دريافت اطلاعات به صورت چندتايی (Multi Task) را دارند.
- امنيت انتقال اطلاعات بالا بوده و عيب يابی نيز به نحو مطلوبی ميسر است.
- سيستم مي تواند گره های معيوب را شناسايی کند.
مقایسه شبکه CAN و شبکه LIN
LIN BUS مکمل CAN BUS است. اما تفاوت شبکه کن و شبکه لین در چیست؟
- شبکه LIN نسبت به شبکه CAN هزینه کمتری دارد.
- CAN از سیم دوگانه شیلد دار به هم تابیده ۵ ولت در مقابل تک سیم ۱۲ ولت LIN استفاده می کند.
- یک LIN master معمولاً به عنوان دروازه به کن باس عمل می کند.
- LIN قطعی است، نه رویداد محور.
- کلاسترهای LIN یک Master واحد دارند – CAN می تواند چندین Master داشته باشد.
- CAN از شناسه های ۱۱ یا ۲۹ بیتی در مقابل شناسه های ۶ بیتی در LIN استفاده می کند.
- CAN حداکثر ۱ مگابیت بر ثانیه در مقابل LIN با حداکثر ۲۰ کیلوبیت بر ثانیه ارائه می دهد.
پیشنهاد مطالعه: آشنایی با پروتکل CAN در شبکه مالتی پلکس+پادکست
کاربردهای شبکه LIN در سیستم مالتی پلکس خودرو
امروزه، LIN BUS یک استاندارد عملی در تمام خودروهای مدرن است و کاربردهای مختلفی دارد که در ادامه شما را با چند مورد آشنا می کنیم:
- فرمان: کروز کنترل، برف پاک کن، تهویه مطبوع، رادیو
- آسایش: سنسورهای دما، سقف خورشید، نور، رطوبت
- پیشرانه: سنسورهای موقعیت، سرعت، فشار
- موتور: موتورهای کوچک، موتورهای فن خنک کننده
- تهویه هوا: موتورها، پانل کنترل (AC اغلب پیچیده است)
- در: آینه های بغل، پنجره ها، کنترل صندلی، قفل
- صندلی ها: موتورهای موقعیت، سنسورهای فشار
- موارد دیگر: برف پاک کن، سنسور باران، چراغ های جلو، جریان هوا
جالب است بدانید که شبکه لین علاوه بر خودرو در صنایع دیگر هم مورد استفاده قرار می گیرد. مانند: لوازم خانگی: ماشین لباسشویی، یخچال، اجاق گاز و اتوماسیون: تجهیزات تولیدی، فلزکاری.
مثال کاربردی از عملکرد شبکه LIN
مثال کاربردی: کنترل شیشه LIN در مقابل CAN
گرههای LIN معمولاً در دستههایی قرار میگیرند که هر کدام دارای یک Master است که با گذرگاه اصلی CAN ارتباط برقرار میکند.
مثال: در صندلی سمت راست خودرو می توانید پنجره صندلی چپ را پایین بیاورید. برای انجام این کار، دکمه ای را فشار دهید تا پیامی از طریق یک کلاستر LIN به کلاستر LIN دیگر از طریق گذرگاه CAN ارسال شود. این باعث می شود که دومین کلاستر LIN از پنجره صندلی سمت چپ پایین بیاید.
شبکه لین در کدام خودروهای ایرانی استفاده شده؟
از پروتكل شبكه LIN در حال حاضر در سيستم برف پاک کن خودروی پژو ۴۰۷ و سيستم سنسور دنده عقب خودروی Localize 206 استفاده شده است.
منابع: wikipedia و css electronics و مستندات شرکت ایران خودرو