Местная межкомпонентная сеть - Local Interconnect Network

LIN ( Local Interconnect Network ) - это последовательный сетевой протокол, используемый для связи между компонентами в транспортных средствах. Это однопроводной последовательный сетевой протокол, поддерживающий скорость передачи данных до 19,2 Кбит / с на длине шины 40 метров. Потребность в дешевой последовательной сети возникла по мере того, как технологии и средства, реализованные в автомобиле, росли, в то время как шина CAN была слишком дорогой для реализации для каждого компонента в автомобиле. Европейские производители автомобилей начали использовать различные технологии последовательной связи, что привело к проблемам совместимости.

В конце 1990-х годов консорциум LIN был основан пятью автопроизводителями ( BMW , Volkswagen Group , Audi , Volvo Cars , Mercedes-Benz ) с использованием технологий (сетевой и аппаратный опыт) от Volcano Automotive Group и Motorola . Первая полностью реализованная версия новой спецификации LIN (LIN версии 1.3) была опубликована в ноябре 2002 года. В сентябре 2003 года была представлена ​​версия 2.0 для расширения возможностей и обеспечения дополнительных функций диагностики. LIN может быть использован также над батареей автомобиля силовой линии с специальным LIN над DC линии электропередачи (DC-LIN) приемопередатчика.

LIN по линии электропередачи постоянного тока (DC-LIN) был стандартизирован как ISO / AWI 17987-8.

CAN in Automation была назначена Техническим советом управления ISO (TMB) в качестве органа регистрации для идентификатора поставщика LIN, стандартизованного в серии ISO 17987.

Топология сети

LIN - это широковещательная последовательная сеть, состоящая из 16 узлов (один главный и обычно до 15 подчиненных).

Все сообщения инициируются ведущим устройством, причем не более одного ведомого отвечает на заданный идентификатор сообщения. Главный узел также может действовать как подчиненный, отвечая на свои собственные сообщения. Поскольку все коммуникации инициируются мастером, нет необходимости реализовывать обнаружение коллизий .

Ведущее устройство и ведомые устройства обычно являются микроконтроллерами , но могут быть реализованы в специализированном оборудовании или ASIC для экономии затрат, места или энергии.

Текущее использование сочетает в себе низкую эффективность LIN и простые датчики для создания небольших сетей. Эти подсистемы могут быть связаны магистральной сетью (например, CAN в автомобилях).

Обзор

Шина 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 Consortium для достижения детерминированного времени отклика.
    • Определение положения подчиненного узла (SNPD) позволяет назначать адрес узла после включения питания
  • Однопроводная связь до 19,2 кбит / с при длине шины 40 метров . В спецификации LIN 2.2 скорость до 20 кбит / с.
  • Гарантированное время задержки.
  • Переменная длина кадра данных (2, 4 и 8 байт).
  • Гибкость конфигурации.
  • Многоканальный прием с синхронизацией по времени, без кристаллов и керамических резонаторов .
  • Контрольная сумма данных и обнаружение ошибок.
  • Обнаружение дефектных узлов.
  • Недорогая реализация кремния на основе стандартного оборудования UART / SCI .
  • Активатор для иерархических сетей.
  • Рабочее напряжение 12 В.

Данные передаются по шине в виде сообщений фиксированной формы выбираемой длины. Главная задача передает заголовок, состоящий из сигнала прерывания, за которым следуют поля синхронизации и идентификатора. Подчиненные устройства отвечают фреймом данных, который состоит из 2, 4 и 8 байтов данных плюс 3 байта управляющей информации.

Фрейм сообщения LIN

Сообщение содержит следующие поля:

  • Разрыв синхронизации
  • Байт синхронизации
  • Байт идентификатора
  • Байты данных
  • Байт контрольной суммы

Типы кадров

  1. Безусловный фрейм. Они всегда несут сигналы, и их идентификаторы находятся в диапазоне от 0 до 59 (от 0x00 до 0x3b). Все подписчики безусловного фрейма должны получить фрейм и сделать его доступным для приложения (при условии, что ошибок не было обнаружено).
  2. Кадр, запускаемый по событию. Целью этого является повышение скорости отклика LIN-кластера без выделения слишком большой полосы пропускания шины для опроса нескольких подчиненных узлов с редко происходящими событиями. Первый байт данных переносимого безусловного кадра должен быть равен защищенному идентификатору, назначенному кадру, запускаемому событием. Подчиненное устройство должно ответить ассоциированным безусловным фреймом, только если его значение данных изменилось. Если ни одна из подчиненных задач не отвечает на заголовок, остальная часть слота кадра молчит, а заголовок игнорируется. Если более чем одна подчиненная задача отвечает на заголовок в одном и том же слоте кадра, произойдет коллизия, и мастер должен разрешить коллизию, запросив все связанные безусловные кадры, прежде чем снова запросить инициируемый событием кадр.
  3. Спорадический кадр. Этот кадр передается мастером по мере необходимости, поэтому коллизия возникнуть не может. Заголовок спорадического кадра должен быть отправлен в соответствующем слоте кадра только в том случае, если главная задача знает, что сигнал, переносимый в кадре, был обновлен. Издатель спорадического кадра всегда должен предоставлять ответ на заголовок.
  4. Диагностическая рамка. Они всегда содержат диагностические данные или данные конфигурации и всегда содержат восемь байтов данных. Идентификатор: 60 (0x3C), называемый главным кадром запроса, или 61 (0x3D), называемый ведомым кадром ответа. Перед генерацией заголовка диагностического кадра главная задача запрашивает свой диагностический модуль, должен ли он быть отправлен или шина должна быть молчаливой. Подчиненные задачи публикуют и подписываются на ответ в соответствии с их диагностическим модулем.
  5. Пользовательский фрейм. Они могут нести любую информацию. Их идентификатор - 62 (0x3E). Заголовок определяемого пользователем кадра всегда передается, когда обрабатывается слот кадра, выделенный кадру.
  6. Зарезервированный кадр. Они не должны использоваться в кластере LIN 2.0. Их идентификатор - 63 (0x3F).

Оборудование LIN

Спецификация LIN была разработана для использования в сети очень дешевых аппаратных узлов. Это недорогая однопроводная сеть, соответствующая стандарту ISO 9141 . В современных автомобильных сетевых топологиях используются микроконтроллеры с возможностью UART или выделенного оборудования LIN. Микроконтроллер генерирует все необходимые данные LIN (протокол ...) (частично) с помощью программного обеспечения и подключается к сети LIN через приемопередатчик LIN (проще говоря, переключатель уровня с некоторыми надстройками). Работа в качестве узла LIN - это только часть возможных функций. Аппаратное обеспечение LIN может включать этот приемопередатчик и работать как чистый узел LIN без дополнительных функций.

Поскольку подчиненные узлы LIN должны быть как можно более дешевыми, они могут генерировать свои внутренние часы, используя генераторы RC вместо кварцевых генераторов (кварцевых или керамических). Для обеспечения стабильности скорости передачи в одном кадре LIN используется поле SYNC в заголовке.

Протокол LIN

LIN-Master использует одну или несколько предварительно определенных таблиц планирования для запуска отправки и получения на шину LIN. Эти таблицы планирования содержат, по крайней мере, относительное время начала отправки сообщения. Один кадр LIN состоит из двух частей: заголовка и ответа . Заголовок всегда отправляется LIN-мастером, а ответ отправляется либо одним выделенным LIN-Slave, либо самим LIN-мастером.

Переданные данные в LIN передаются последовательно в виде восьмибитовых байтов данных с одним стартовым битом, одним стоповым битом и без контроля четности (поле прерывания не имеет стартового и стопового бита). Скорость передачи данных варьируется в диапазоне от 1  кбит / с до 20 кбит / с. Данные на шине делятся на рецессивные (логический HIGH) и доминантные (логические LOW). Нормальным временем считается стабильный источник тактовых импульсов LIN Masters, наименьшим значением является время в один бит (52 мкс при 19,2 кбит / с).

В протоколе LIN используются два состояния шины - спящий режим и активное. Пока данные находятся на шине, все LIN-узлы должны находиться в активном состоянии. По истечении заданного времени ожидания узлы переходят в спящий режим и возвращаются в активное состояние с помощью кадра WAKEUP. Этот кадр может быть отправлен любым узлом, запрашивающим активность на шине, либо ведущим LIN-устройством в соответствии со своим внутренним расписанием, либо одним из подключенных ведомых LIN-устройств, активируемых его внутренним программным приложением. После пробуждения всех узлов Мастер продолжает планировать следующий Идентификатор.

Заголовок

Заголовок состоит из пяти частей:

BREAK: поле BREAK используется для активации всех подключенных ведомых устройств LIN для прослушивания следующих частей заголовка. Он состоит из одного стартового бита и нескольких доминирующих битов. Длина не менее 11-битных раз; стандартное использование на сегодняшний день составляет 13-битное время и поэтому отличается от основного формата данных. Это используется для обеспечения того, чтобы слушающие узлы LIN с основными часами, отличающимися от установленной скорости передачи данных шины в указанных диапазонах, обнаруживали BREAK как фрейм, запускающий связь, а не как стандартный байт данных со всеми нулевыми значениями ( шестнадцатеричный 0x00).

СИНХРОНИЗАЦИЯ: СИНХРОНИЗАЦИЯ - это байт стандартного формата данных с шестнадцатеричным значением 0x55. Подчиненные устройства LIN, работающие на генераторе RC, будут использовать расстояние между фиксированным количеством нарастающих и спадающих фронтов для измерения текущего битового времени на шине (нормальное время ведущего) и для пересчета внутренней скорости передачи.

МЕЖБАЙТНОЕ ПРОСТРАНСТВО: Межбайтовое пространство используется для корректировки джиттера шины. Это необязательный компонент в спецификации LIN. Если этот параметр включен, все узлы LIN должны быть готовы к работе с ним.

Между полями BREAK и SYNC есть межбайтовое пространство, одно между SYNC и IDENTIFIER, одно между полезной нагрузкой и контрольной суммой и одно между каждым байтом данных в полезной нагрузке.

ИДЕНТИФИКАТОР: ИДЕНТИФИКАТОР определяет одно действие, которое должно выполняться одним или несколькими подключенными подчиненными узлами LIN. Разработчик сети должен обеспечить безотказную работу на этапе проектирования (одному ведомому устройству разрешается отправлять данные на шину за один период кадра).

Если идентификатор заставляет одно физическое подчиненное устройство LIN отправить ответ, идентификатор может называться Rx-идентификатором. Если подчиненная задача ведущего отправляет данные на шину, это может называться Tx-идентификатором.

ПРОБЕЛ ОТВЕТА: Пространство отклика - это время между полем IDENTIFIER и первым байтом данных, который запускает часть LIN RESPONSE кадра LIN. Когда конкретный кадр LIN передается полностью, заголовок + ответ, LIN MASTER, LIN MASTER будет использовать полное ВРЕМЯ ОТВЕТА, чтобы вычислить, когда отправлять ответ после отправки заголовка. Если ответная часть кадра LIN поступает от физически другого ПОДЧИНЕННОГО УЗЛА, то каждый узел (главный и подчиненный) будет использовать 50% времени пространства ответа в своих расчетах тайм-аута.

Ответ

Ответ отправляется одной из подключенных подчиненных задач LIN и делится на данные и контрольную сумму .

ДАННЫЕ: Отвечающее ведомое устройство может отправить на шину от нуля до восьми байтов данных. Объем данных фиксируется разработчиком приложения и отражает данные, относящиеся к приложению, в котором работает подчиненное устройство LIN.

КОНТРОЛЬНАЯ СУММА: В LIN доступны две модели контрольных сумм - первая - это контрольная сумма, включая только байты данных (спецификация до версии 1.3), вторая - дополнительно включает идентификатор (версия 2.0+). Используемая модель контрольной суммы предварительно определяется разработчиком приложения.

Определение положения подчиненного узла (SNPD) или автоадресация

Эти методы позволяют определять положение подчиненных узлов на шине LIN и позволяют назначать уникальный адрес узла (NAD).

  • Позволяет подключать аналогичные или одинаковые устройства к шине без программирования конца линии или программирования контактов разъема.

Ограничения:

  • Все ведомые устройства с автоадресацией должны быть в одной строке
    • Стандартные ведомые устройства можно подключать любым способом
Метод SNPD ID метода SNPD Компания
Дополнительная проводная гирляндная цепь 0x01 NXP (ранее Philips)
Метод шинного шунтирования 0x02 Элмос Полупроводник
Зарезервированный 0x03 TBD
Зарезервированный 0x04 TBD
Зарезервированный 0xFF TBD

Дополнительная проводная гирляндная цепь (XWDC)

Каждый подчиненный узел должен иметь два дополнительных контакта, один вход D 1 и один выход D 2 .

  • Вход D1 первого узла SNPD либо установлен на GND, либо подключен к выходу ведущего устройства.
    • Выход первого узла, D 2 , соединяется со входом, D 1 второго узла, и так далее, в результате получается гирляндная цепь.

Каждый вывод конфигурации D x (x = 1-2) имеет дополнительную схему для помощи в обнаружении положения.

  1. Переключаемое резистивное подтягивание до V bat
  2. Понижение к GND
  3. Компаратор ссылается на 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

  1. bus_in
  2. bus_out

Каждому подчиненному узлу требуется дополнительная схема по сравнению со стандартной схемой LIN, чтобы помочь в обнаружении положения.

  1. Стандартное подтягивание должно быть отключаемым.
  2. Переключаемый источник тока 2 мА от V bat
  3. Шунтирующий резистор
  4. Дифференциальный усилитель
  5. Аналого-цифровой преобразователь

Процедура автоадресации BSM

В начале процедуры ни одному из устройств SNPD не назначен NAD. Процедура автоадресации выполняется в поле синхронизации. Поле синхронизации разбито на три фазы:

1 Измерение тока смещения

1.1 Все выходные подтяжки и источники тока отключены
1.2 Ток шины измеряется, смещение I

2 Режим подтягивания

2.1 Подтягивания включаются, а источники тока остаются выключенными
2.2 Измеряется ток шины, I ПУ
2.3 Узлы с ΔI = I PU - I смещение <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 (Node ADdress), который является частью PID (защищенного идентификатора). Значения NAD имеют 7 бит, поэтому в диапазоне от 1 до 127 (0x7F) и представляют собой комбинацию идентификатора поставщика, идентификатора функции и идентификатора варианта.

Вы можете получить идентификатор поставщика, связавшись с CAN in Automation, которая является органом, ответственным за присвоение таких идентификаторов.

Инструменты разработки

При разработке и / или поиске и устранении неисправностей шины LIN очень важным может быть изучение сигналов оборудования. Логические анализаторы и анализаторы шины - это инструменты, которые собирают, анализируют, декодируют и хранят сигналы, чтобы люди могли просматривать высокоскоростные формы сигналов на досуге.

Смотрите также

использованная литература

внешние ссылки