Локальная межсетевая сеть
LIN ( Local Interconnect Network ) — это сетевой протокол , используемый для связи между компонентами современных автомобилей . Это недорогой однопроводной последовательный протокол , поддерживающий передачу данных со скоростью до 19,2 Кбит/с при максимальной длине шины 40 метров (131,2 фута).
История [ править ]
Потребность в дешевой последовательной сети возникла по мере роста технологий и средств, реализованных в автомобиле, в то время как шина CAN была слишком дорогой для внедрения в каждый компонент автомобиля. Европейские производители автомобилей начали использовать разные технологии последовательной связи, что привело к проблемам совместимости.
) основали Консорциум LIN В конце 1990-х годов пять автопроизводителей ( BMW , Volkswagen Group , Audi , Volvo Cars , Mercedes-Benz , при этом технологии (сетевое и аппаратное обеспечение) были предоставлены Volcano Automotive Group и Motorola . Первая полностью реализованная версия новой спецификации LIN (версия LIN 1.3) была опубликована в ноябре 2002 года. В сентябре 2003 года была представлена версия 2.0 для расширения возможностей и обеспечения дополнительных функций диагностики. аккумуляторной батареи автомобиля LIN можно также использовать по линии питания с помощью специального приемопередатчика LIN-over-DC-Power-Line (DC-LIN). LIN по линии электропередачи постоянного тока (DC-LIN) был стандартизирован как ISO/AWI 17987-8. [1]
CAN in Automation был назначен Советом технического управления ISO (TMB) в качестве органа регистрации идентификатора поставщика LIN, стандартизированного в серии ISO 17987.
Топология сети [ править ]
LIN — это широковещательная последовательная сеть, состоящая из 16 узлов (один ведущий и до 15 ведомых). [2] [3] [4] [5]
Все сообщения инициируются ведущим устройством, при этом не более одного подчиненного устройства отвечает на заданный идентификатор сообщения. Главный узел также может действовать как подчиненный, отвечая на свои собственные сообщения. Поскольку все коммуникации инициируются ведущим устройством, нет необходимости реализовывать обнаружение коллизий . [6]
Ведущее и ведомое устройства обычно представляют собой микроконтроллеры , но могут быть реализованы в специализированном оборудовании или ASIC для экономии средств, места или мощности.
Текущее использование сочетает в себе дешевизну и эффективность LIN и простые датчики для создания небольших сетей. Эти подсистемы могут быть соединены магистральной сетью (например, CAN в автомобилях). [7]
Обзор [ править ]
Шина LIN — это недорогой протокол последовательной связи, который эффективно поддерживает удаленные приложения внутри автомобильной сети. Он особенно предназначен для мехатронных узлов в распределенных автомобильных приложениях, но в равной степени подходит и для промышленных приложений. Он предназначен для дополнения существующей сети CAN, что приведет к созданию иерархических сетей внутри автомобилей.
В конце 1990-х годов консорциум Local Interconnect Network (LIN) был основан пятью европейскими автопроизводителями: Mentor Graphics (ранее Volcano Automotive Group) и Freescale (ранее Motorola , теперь NXP ). Первая полностью реализованная версия новой спецификации LIN была опубликована в ноябре 2002 года как LIN версии 1.3. В сентябре 2003 года была представлена версия 2.0, расширяющая возможности настройки и предусматривающая существенные дополнительные функции диагностики и интерфейсы инструментов.
Основные возможности протокола перечислены ниже:
- Один ведущий, до 16 ведомых (т.е. без арбитража шины). Это значение, рекомендованное Консорциумом LIN для достижения детерминированного временного отклика. [8]
- Обнаружение положения ведомого узла (SNPD) позволяет назначать адрес узла после включения питания. [9]
- Однопроводная связь со скоростью до 19,2 кбит/с при длине шины 40 метров . [8] [10] В спецификации LIN 2.2 [9] скорость до 20 кбит/с.
- Гарантированное время задержки.
- Переменная длина кадра данных (2, 4 и 8 байт).
- Гибкость конфигурации.
- Многоадресный прием с синхронизацией времени, без кристаллов и керамических резонаторов .
- Контрольная сумма данных и обнаружение ошибок.
- Обнаружение дефектных узлов.
- Недорогая кремниевая реализация на базе стандартного оборудования UART / SCI .
- Активатор для иерархических сетей.
- Рабочее напряжение 12 В. [8]
Данные передаются по шине в сообщениях фиксированной формы выбираемой длины. Основная задача передает заголовок, состоящий из сигнала прерывания, за которым следуют поля синхронизации и идентификатора. Ведомые устройства отвечают кадром данных, состоящим из 2, 4 или 8 байтов данных плюс 3 байта управляющей информации. [9]
Кадр сообщения LIN [ править ]
Сообщение содержит следующие поля: [9]
- Обрыв синхронизации
- Байт синхронизации
- Байт идентификатора
- Байты данных
- Байт контрольной суммы
Типы рамок [ править ]
- Безусловный кадр. Они всегда передают сигналы, а их идентификаторы находятся в диапазоне от 0 до 59 (от 0x00 до 0x3b). Все подписчики безусловного кадра должны получить кадр и предоставить его приложению (при условии, что ошибок не обнаружено).
- Кадр, запускаемый событием. Целью этого является повышение скорости реагирования кластера LIN без выделения слишком большой части полосы пропускания шины для опроса нескольких подчиненных узлов с редко возникающими событиями. Первый байт данных переносимого безусловного кадра должен быть равен защищенному идентификатору, присвоенному кадру, инициируемому событием. Подчиненное устройство должно ответить соответствующим безусловным кадром только в том случае, если его значение данных изменилось. Если ни одна из подчиненных задач не отвечает на заголовок, остальная часть слота кадра молчит, а заголовок игнорируется. Если более чем одна ведомая задача отвечает на заголовок в одном и том же слоте кадра, произойдет коллизия, и ведущему придется разрешить коллизию, запросив все связанные безусловные кадры, прежде чем снова запрашивать кадр, инициируемый событием.
- Спорадический кадр. Этот кадр передается ведущим по мере необходимости, поэтому коллизия не может произойти. Заголовок спорадического кадра должен отправляться в связанный с ним слот кадра только тогда, когда главная задача знает, что сигнал, содержащийся в кадре, был обновлен. Издатель спорадического кадра всегда должен предоставлять ответ на заголовок.
- Диагностический кадр. Они всегда содержат диагностические данные или данные конфигурации и всегда содержат восемь байтов данных. Идентификатором может быть либо 60 (0x3C), называемый главным кадром запроса, либо 61 (0x3D), называемый подчиненным кадром ответа. Прежде чем генерировать заголовок диагностического кадра, главная задача запрашивает у своего диагностического модуля, следует ли его отправлять или шина должна молчать. Подчиненные задачи публикуют и подписываются на ответ в соответствии со своим диагностическим модулем.
- Пользовательский кадр. Они могут нести любую информацию. Их идентификатор — 62 (0x3E). Заголовок пользовательского кадра всегда передается при обработке слота кадра, выделенного для кадра.
- Зарезервированный кадр. Они не должны использоваться в кластере LIN 2.0. Их идентификатор — 63 (0x3F).
Аппаратное обеспечение LIN [ править ]
Спецификация LIN была разработана, чтобы позволить использовать в сети очень дешевые аппаратные узлы. Это недорогая однопроводная сеть, основанная на стандарте ISO 9141 . [11] В сегодняшних топологиях автомобильных сетей UART используются микроконтроллеры с возможностью или выделенное оборудование LIN.Микроконтроллер формирует все необходимые LIN-данные (протокол...) (частично) программным путем и подключается к LIN-сети через LIN- трансивер (попросту говоря, преобразователь уровня с некоторыми надстройками). Работа в качестве узла LIN — это лишь часть возможного функционала.Аппаратное обеспечение LIN может включать этот приемопередатчик и работать как чистый узел LIN без дополнительных функций.
Поскольку ведомые узлы LIN должны быть как можно более дешевыми, они могут генерировать свои внутренние часы, используя RC-генераторы вместо кварцевых генераторов (кварцевых или керамических).Для обеспечения стабильности скорости передачи данных в пределах одного кадра LIN используется поле SYNC в заголовке.
Протокол LIN [ править ]
LIN-Master использует одну или несколько предопределенных таблиц планирования для запуска отправки и получения данных на шину LIN. Эти таблицы планирования содержат, по меньшей мере, относительный момент времени, когда инициируется отправка сообщения.Один LIN-кадр состоит из двух частей: заголовка и ответа . Заголовок всегда отправляется главным устройством LIN, а ответ отправляется либо одним выделенным подчиненным устройством LIN, либо самим ведущим устройством LIN.
Передаваемые данные внутри LIN передаются последовательно в виде восьмибитных байтов данных с одним стартовым битом, одним стоповым битом и без контроля четности (поле разрыва не имеет стартового или стопового бита). Скорость передачи данных варьируется в диапазоне от 1 до 20 кбит /с.Данные на шине делятся на рецессивные (логический HIGH) и доминантные (логический LOW).Время обычно учитывается источником стабильной синхронизации LIN Masters, наименьшее значение составляет один бит (52 мкс @ 19,2 кбит/с).
В протоколе LIN используются два состояния шины – спящий и активный. Пока данные находятся на шине, всем LIN-узлам предлагается находиться в активном состоянии. По истечении заданного времени ожидания узлы переходят в спящий режим и возвращаются в активное состояние с помощью кадра WAKEUP.Этот кадр может быть отправлен любым узлом, запрашивающим активность на шине: либо ведущим устройством LIN, следуя своему внутреннему расписанию, либо одним из подключенных подчиненных устройств LIN, активируемым его внутренним программным приложением.После пробуждения всех узлов Мастер продолжает планировать следующий Идентификатор.
Заголовок [ править ]
Заголовок состоит из пяти частей:
ПЕРЕРЫВ: Поле BREAK используется для активации всех подключенных подчиненных устройств LIN для прослушивания следующих частей заголовка. Он состоит из одного стартового бита и нескольких доминантных битов. Длина составляет не менее 11-битных раз; стандартное использование на сегодняшний день составляет 13 бит и, следовательно, отличается от основного формата данных. Это используется для того, чтобы прослушивающие узлы LIN с основной тактовой частотой, отличающейся от установленной скорости передачи данных по шине в определенных диапазонах, обнаруживали BREAK как кадр, начинающий связь, а не как стандартный байт данных со всеми нулевыми значениями ( шестнадцатеричное 0x00).
СИНХРОНИЗАЦИЯ: SYNC — это байт стандартного формата данных со значением шестнадцатеричного 0x55. Подчиненные устройства LIN, работающие на RC-генераторе, будут использовать расстояние между фиксированной величиной нарастающих и спадающих фронтов для измерения текущего времени передачи битов на шине (нормальное время ведущего устройства) и пересчета внутренней скорости передачи данных.
МЕЖБАЙТОВОЕ ПРОСТРАНСТВО: Межбайтовое пространство используется для регулировки джиттера шины. Это необязательный компонент спецификации LIN. Если этот параметр включен, все узлы LIN должны быть готовы к этому.
Между полями BREAK и SYNC имеется межбайтовое пространство, одно между полем SYNC и IDENTIFIER, одно между полезными данными и контрольной суммой и одно между каждым байтом данных в полезных данных.
ИДЕНТИФИКАТОР: ИДЕНТИФИКАТОР определяет одно действие, которое должно быть выполнено одним или несколькими подключенными подчиненными узлами LIN. Проектировщик сети должен обеспечить безошибочную работу на этапе проектирования (одному подчиненному устройству разрешено отправлять данные на шину за один кадр).
Если идентификатор заставляет одно физическое подчиненное устройство LIN отправить ответ, этот идентификатор можно назвать Rx-идентификатором.Если подчиненная задача ведущего отправляет данные на шину, ее можно назвать Tx-идентификатором.
ПРОСТРАНСТВО ОТВЕТА: Пространство ответа — это время между полем IDENTIFIER и первым байтом данных, который начинает часть LIN RESPONSE кадра LIN. Когда конкретный кадр LIN передается полностью (Заголовок + Ответ) LIN MASTER, LIN MASTER будет использовать полное время RESPONSE SPACE TIME, чтобы рассчитать, когда отправлять ответ после отправки заголовка. Если ответная часть кадра LIN поступает от физически другого ПОДЧИНЕННОГО УЗЛА, то каждый узел (главный и подчиненный) будет использовать 50% времени пространства ответа при расчете тайм-аута.
Ответ [ править ]
Ответ отправляется одной из подключенных подчиненных задач LIN и разделяется на данные и контрольную сумму . [9]
ДАННЫЕ: Отвечающее ведомое устройство может отправить на шину от нуля до восьми байтов данных. Объем данных фиксируется разработчиком приложения и отражает данные, относящиеся к приложению, в котором работает подчиненное устройство LIN.
КОНТРОЛЬНАЯ СУММА: В LIN доступны две модели контрольных сумм: первая — это контрольная сумма, включающая только байты данных (спецификация до версии 1.3), вторая включает в себя дополнительно идентификатор (версия 2.0+).Используемая модель контрольной суммы предварительно определяется разработчиком приложения.
Обнаружение положения подчиненного узла (SNPD автоадресация или )
Эти методы позволяют определять положение подчиненных узлов на шине LIN и позволяют назначать уникальный адрес узла (NAD). [12]
- Позволяет подключать аналогичные или одинаковые устройства к шине без программирования конца линии или программирования контактов разъема.
Ограничения:
- Все ведомые устройства с автоадресацией должны располагаться в одной строке.
- Стандартные ведомые устройства могут быть подключены любым способом.
Метод СНПД | Идентификатор метода SNPD | Компания |
---|---|---|
Дополнительная проволочная цепочка | 0x01 | NXP (ранее Philips) |
Шунтирующий метод | 0x02 | Элмос Полупроводник |
Сдержанный | 0x03 | подлежит уточнению |
Сдержанный | 0x04 | подлежит уточнению |
Сдержанный | 0xFF | подлежит уточнению |
Дополнительная шлейфовая цепь (XWDC) [ править ]
Каждый подчиненный узел должен иметь два дополнительных контакта: один вход D 1 и один выход D 2 .
- Вход D1 первого узла SNPD либо установлен на GND, либо подключен к выходу ведущего устройства.
- Выход первого узла D 2 соединяется со входом D 1 второго узла и так далее, образуя шлейфовую цепочку.
Каждый конфигурационный вывод D x (x=1–2) имеет дополнительную схему, помогающую определять положение.
- Переключаемое резистивное подтягивание к V bat
- Понижение до GND
- Компаратор относится к V bat /2
адресации автоматической Процедура XWDC
В начале процедуры ни одному устройству SNPD не назначен NAD.
1 Первое сообщение LIN с автоматической адресацией
- 1.1 Все выходы (D 2 ) установлены на высокий уровень, все понижения отключены.
- 1.2 Выбран первый узел SNPD. Это определяется наличием низкого уровня на входе D 1 (зашито).
- 1.3 Выбранный узел берет адрес из сообщения конфигурации LIN.
- 1.4 Обнаруженный узел включает понижение напряжения на выходе D 2
2 Последующие сообщения LIN с автоматической адресацией
- 2.1 Выбирается первый неадресованный узел SNPD. Он определяется наличием низкого уровня на входе D 1 (D 2 предыдущего узла).
- 2.2 Выбранный узел берет адрес из сообщения конфигурации LIN.
- 2.3 Обнаруженный узел включает понижение напряжения на выходе D 2
- 2.4 Шаги 2.1-2.4 повторяются до тех пор, пока всем подчиненным узлам не будет присвоен адрес.
3 Все запросы вверх и вниз отключаются, завершая процедуру адресации.
Шунтирующий метод (BSM) [ править ]
Каждый подчиненный узел имеет два контакта LIN.
- автобус_вход
- автобус_выход
Каждому подчиненному узлу требуется дополнительная схема по сравнению со стандартной схемой LIN для облегчения определения положения.
- Стандартное подтягивание должно быть переключаемым.
- Переключаемый источник тока 2 мА от V bat
- Шунтирующий резистор
- Дифференциальный усилитель
- Аналого-цифровой преобразователь
Процедура автоматической адресации BSM [ править ]
В начале процедуры ни одному из устройств SNPD не назначен NAD. Процедура автоадресации выполняется во время поля синхронизации. Поле синхронизации разбито на три фазы:
1 Измерение тока смещения
- 1.1 Все выходные подтяжки и источники тока отключены.
- 1.2 Измеряется ток шины, I смещение
2 Режим подтягивания
- 2.1 Подтягивающие напряжения включены, а источники тока остаются выключенными.
- 2.2 Измеряется ток шины, I PU
- 2.3 Узлы с ΔI = I PU - I offset < 1 мА «выбираются»
3 Режим источника тока
- 3.1 Выбранные узлы включают источник тока, а другие выключают подтягивающие устройства.
- 3.2 Измеряется ток шины, I CS
- 3.3 Узел с ΔI = I CS - I смещение < 1 мА обнаруживается как последний узел
- 3.4 Источники тока отключаются и подтягивающие устройства включаются.
- 3.5 Последний узел примет адрес, содержащийся в сообщении конфигурации LIN.
Эта технология защищена патентами EP 1490772 B1 и US 7091876.
Преимущества LIN [ править ]
- Простота в использовании
- Доступные компоненты
- Дешевле, чем CAN и другие коммуникационные шины.
- Уменьшение жгута
- Более надежные автомобили
- Расширение легко реализовать.
- Плата за лицензию протокола не требуется
LIN не является полноценной заменой CAN-шины. Но шина LIN является хорошей альтернативой там, где важны низкие затраты и скорость/пропускная способность не важны. Обычно он используется в подсистемах, которые не имеют решающего значения для производительности или безопасности автомобиля — некоторые примеры приведены ниже.
Приложения [ править ]
Сегменты приложений | Конкретные примеры применения LIN |
---|---|
Крыша | Датчик, датчик освещенности, управление освещением, люк в крыше |
Рулевое колесо | Круиз-контроль, дворники, поворотники, климат-контроль, магнитола, блокировка колес |
Сиденье | Электродвигатели положения сиденья, датчики присутствия, панель управления |
Двигатель | Датчики, малые двигатели, двигатели вентиляторов охлаждения |
Решетка | Решетка затвора |
Климат | Малые моторы, панель управления |
Дверь | Зеркало, центральный ЭБУ, переключатель зеркал, подъемник стеклоподъемника, переключатель управления сиденьем, замок двери |
Освещение | Улучшенная отделка салона автомобиля: накладки на пороги подсвечены светодиодами RGB. |
Адресация [ править ]
Адресация в LIN достигается с помощью NAD (адрес узла), который является частью PID (защищенный идентификатор). Значения NAD имеют 7 бит, то есть находятся в диапазоне от 1 до 127 (0x7F), и представляют собой комбинацию идентификатора поставщика, идентификатора функции и идентификатора варианта.
Вы можете получить идентификатор поставщика, обратившись в CAN в отдел автоматизации , который является органом, ответственным за присвоение таких идентификаторов.
См. также [ править ]
Различные шины связи транспортных средств (автомобильных):
- МОЖЕТ (ИСО 11898)
- Ethernet (одна пара)
- ФлексРэй (ISO 17458)
- ЛИН (ИСО 17987)
- ЛИН-КП (SAE J3068)
- МОСТ (ИСО 21806)
- ОТПРАВЛЕНО (SAE J2716)
Ссылки [ править ]
- ^ . «ИСО/АВИ 17987-8» .
- ^ Мэри Тамар Тан, Брайан Бэйли, Хан Линь. «Микрочип AN2059: основы LIN и реализация библиотеки стека LIN MCC на 8-битных микроконтроллерах PIC» .
- ^ «ATAN0049: Двухпроводная сеть LIN» .
- ^ Стив Уиндер. «Источники питания для управления светодиодами» .п. 284
- ^ "Рассказ LIN" .
- ^ «Лин Концепт» . Обзор ЛИН . Администрация ЛИН. Архивировано из оригинала 5 октября 2011 года . Проверено 28 октября 2011 г.
- ^ «Целевые приложения» . Обзор ЛИН . Администрация ЛИН. Архивировано из оригинала 5 октября 2011 года . Проверено 28 октября 2011 г.
- ^ Jump up to: Перейти обратно: а б с «Лаборатория автомобильной электроники Клемсона: АВТОБУСЫ» . Архивировано из оригинала 14 апреля 2012 г. Проверено 14 января 2009 г. 090114 cvel.clemson.edu
- ^ Jump up to: Перейти обратно: а б с д и Пакет спецификаций LIN, версия 2.2a. Архивировано 26 апреля 2008 г. на Wayback Machine.
- ^ «Описание шины LIN, автомобильная шина, локальная межсетевая сеть» . 090114interfacebus.com
- ^ Технический обзор LIN. Архивировано 19 июля 2011 г. на Wayback Machine.
- ^ Ананд Гопалан, Аким Уайтхед. «Автоматическое определение положения ведомого узла (SNPD)» .
Дальнейшее чтение [ править ]
Спецификация LIN v2.2A (2010 г.) была включена в ISO семейство официальных стандартов 17987. Части с 1 по 7 ISO были впервые выпущены в 2016 году, а в 2019 году — часть 8.
- ISO 17987-1 :: Транспорт дорожный. LIN Часть 1. Общая информация и определение варианта использования.
- ISO 17987-2 :: Транспорт дорожный. LIN Часть 2. Транспортный протокол и услуги сетевого уровня.
- ISO 17987-3 :: Транспорт дорожный. LIN Часть 3. Спецификация протокола.
- ISO 17987-4 :: Транспорт дорожный. LIN Часть 4. Спецификация электрического физического уровня (EPL) 12 В/24 В.
- ISO 17987-5 :: Транспорт дорожный. LIN Часть 5. Интерфейс прикладных программистов (API).
- ISO 17987-6 :: Транспорт дорожный. LIN Часть 6. Спецификация испытаний на соответствие протоколу.
- ISO 17987-7 :: Транспорт дорожный. LIN Часть 7. Спецификация испытаний на соответствие электрического физического уровня (EPL).
- ISO 17987-8 :: Транспорт дорожный. LIN Часть 8. Спецификация электрического физического уровня (EPL): LIN по линии электропередачи постоянного тока (DC-LIN).
Внешние ссылки [ править ]
- Консорциум LIN - архивный сайт
- Идентификатор поставщика LIN — орган регистрации идентификатора поставщика LIN.
- Статья о бесплатной открытой аппаратно-программной реализации протокола LIN.
- Бесплатный онлайн-калькулятор контрольной суммы LIN
- Объяснение шины LIN – простое введение
- Образовательный сетевой драйвер LIN