stringtranslate.com

Локальная межсетевая сеть

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

История

Потребность в дешевой последовательной сети возникла по мере развития технологий и возможностей, реализованных в автомобиле, в то время как шина CAN была слишком дорогой для внедрения для каждого компонента в автомобиле. Европейские автопроизводители начали использовать различные технологии последовательной связи, что привело к проблемам совместимости.

В конце 1990-х годов пять автопроизводителей ( BMW , Volkswagen Group , Audi , Volvo Cars , Mercedes-Benz ) основали Консорциум LIN , а технологии (сетевые и аппаратные) предоставили 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]

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

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

LIN — это широковещательная последовательная сеть, состоящая из 16 узлов (один главный и до 15 подчиненных). [2] [3] [4] [5]

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

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

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

Обзор

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

В конце 1990-х годов пять европейских автопроизводителей, Mentor Graphics (ранее Volcano Automotive Group) и Freescale (ранее Motorola , теперь NXP ) основали консорциум Local Interconnect Network (LIN) . Первая полностью реализованная версия новой спецификации LIN была опубликована в ноябре 2002 года как LIN версии 1.3. В сентябре 2003 года была представлена ​​версия 2.0, расширяющая возможности конфигурации и предусматривающая значительные дополнительные диагностические функции и интерфейсы инструментов.

Основные характеристики протокола перечислены ниже:

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

Кадр сообщения LIN

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

Типы рам

  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. [ 11] В современных автомобильных сетевых топологиях используются микроконтроллеры с возможностью UART или выделенное аппаратное обеспечение LIN. Микроконтроллер генерирует все необходимые данные LIN (протокол ...) (частично) программным обеспечением и подключается к сети LIN через трансивер LIN (проще говоря, преобразователь уровня с некоторыми дополнениями). Работа в качестве узла LIN — это только часть возможной функциональности. Аппаратное обеспечение LIN может включать этот трансивер и работать как чистый узел LIN без дополнительной функциональности.

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

LIN-протокол

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

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

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

Заголовок

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

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

SYNC: SYNC — это стандартный байт формата данных со значением шестнадцатеричного 0x55. Ведомые устройства LIN, работающие на RC-генераторе, будут использовать расстояние между фиксированным количеством восходящих и нисходящих фронтов для измерения текущего времени бита на шине (нормальное время ведущего устройства) и для пересчета внутренней скорости передачи данных.

INTER BYTE SPACE: Inter Byte Space используется для регулировки джиттера шины. Это необязательный компонент в спецификации LIN. Если включен, то все узлы LIN должны быть готовы к его обработке.

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

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

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

RESPONSE SPACE: Response Space — это время между полем IDENTIFIER и первым байтом данных, который начинает часть LIN RESPONSE кадра LIN. Когда конкретный кадр LIN полностью передается, заголовок + ответ, LIN MASTER, LIN MASTER будет использовать полное RESPONSE SPACE TIME для расчета времени отправки ответа после отправки заголовка. Если часть ответа кадра LIN поступает с физически другого SLAVE NODE, то каждый узел (главный и подчиненный) будет использовать 50% времени Response Space в своих расчетах тайм-аута.

Ответ

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

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

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

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

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

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

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

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

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

  1. Переключаемый резистивный подтягивающий резистор к V bat
  2. Подтягивание к земле
  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. автобус_в
  2. автобус_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 PU
2.3 Узлы с ΔI = I PU - I offset < 1 мА «выбираются»

3 Режим источника тока

3.1 Выбранные узлы включают источник тока, а другие выключают подтягивающие резисторы.
3.2 Измеряется ток шины, I CS
3.3 Узел с ΔI = I CS - I offset < 1 мА определяется как последний узел
3.4 Источники тока отключены, а подтягивающие резисторы включены.
3.5 Последний узел примет адрес, содержащийся в сообщении конфигурации LIN.

Эта технология защищена патентами EP 1490772 B1 и US 7091876.

Преимущества LIN

LIN не является полной заменой шины CAN. Но шина LIN является хорошей альтернативой там, где важны низкие затраты и скорость/пропускная способность не важны. Обычно она используется в подсистемах, которые не критичны для производительности или безопасности транспортного средства - некоторые примеры приведены ниже.

Приложения

Адресация

Адресация в LIN достигается с помощью NAD (Node ADdress), который является частью PID (защищенного идентификатора). Значения NAD находятся на 7 битах, то есть в диапазоне от 1 до 127 (0x7F), и представляют собой композицию идентификатора поставщика, идентификатора функции и идентификатора варианта.

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

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

Различные автобусы для подключения транспортных средств (автомобилей):

Ссылки

  1. ^ . "ИСО/AWI 17987-8".
  2. ^ Мэри Тамар Тан, Брайан Бейли, Хан Линь. «Microchip AN2059: основы LIN и реализация библиотеки стека MCC LIN на 8-битных микроконтроллерах PIC».
  3. ^ «ATAN0049: Двухпроводная сеть LIN».
  4. ^ Стив Уиндер. «Источники питания для светодиодного привода». стр. 284
  5. ^ «Рассказ LIN» Архивировано 12 ноября 2020 г. на Wayback Machine .
  6. ^ "Lin Concept". Обзор LIN . Администрация LIN. Архивировано из оригинала 5 октября 2011 г. Получено 28 октября 2011 г.
  7. ^ "Target Applications". Обзор LIN . Администрирование LIN. Архивировано из оригинала 5 октября 2011 г. Получено 28 октября 2011 г.
  8. ^ abc "Лаборатория электроники Клемсона: АВТОБУСЫ". Архивировано из оригинала 2012-04-14 . Получено 2009-01-14 .090114 cvel.clemson.edu
  9. ^ abcde LIN Specification Package Rev. 2.2a Архивировано 2008-04-26 на Wayback Machine
  10. ^ «Описание шины LIN, автомобильная шина, локальная соединительная сеть».090114 interfacebus.com
  11. ^ Технический обзор LIN. Архивировано 19 июля 2011 г. на Wayback Machine.
  12. ^ Ананд Гопалан, Аким Уайтхед. «Автоматическое определение положения подчиненного узла (SNPD)».

Дальнейшее чтение

Спецификация LIN v2.2A (2010) была транскрибирована в семейство официальных стандартов ISO 17987. Части 1–7 ISO были впервые выпущены в 2016 году, а часть 8 — в 2019 году.

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