WikiDer > Локальная межкомпонентная сеть
LIN (Локальная межкомпонентная сеть) это серийный сетевой протокол используется для связи между компонентами транспортных средств. Потребность в дешевой последовательной сети возникла по мере того, как технологии и возможности, реализованные в автомобиле, росли, в то время как CAN-шина было слишком дорого внедрять для каждого компонента в машине. Европейские производители автомобилей начали использовать различные технологии последовательной связи, что привело к проблемам совместимости.
В конце 1990-х годов консорциум LIN был основан пятью автопроизводителями (BMW, Volkswagen Group, Audi, Volvo автомобили, Мерседес Бенц), с использованием технологий, поставляемых (сетевой и аппаратный опыт) от 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 в автоматизации был назначен Советом технического управления ISO (TMB) в качестве органа регистрации для идентификатора поставщика LIN, стандартизированного в серии ISO 17987.
Топология сети
LIN - это транслировать серийный сеть, состоящая из 16 узлов (один главный и обычно до 15 подчиненных).[2][3][4][5]
Все сообщения инициируются ведущим устройством, причем не более одного ведомого отвечает на заданный идентификатор сообщения. Главный узел также может действовать как подчиненный, отвечая на свои собственные сообщения. Поскольку все коммуникации инициируются мастером, нет необходимости реализовывать столкновение обнаружение.[6]
Мастер и подчиненные обычно микроконтроллеры, но может быть реализован на специализированном оборудовании или ASIC для экономии средств, места или энергии.
Текущее использование сочетает низкую эффективность LIN и простые датчики для создания небольших сетей. Эти подсистемы могут быть связаны магистральной сетью (например, CAN в автомобилях).[7]
Обзор
Шина LIN - это недорогой протокол последовательной связи, который эффективно поддерживает удаленное приложение в сети автомобиля. В частности, он предназначен для мехатронных узлов в распределенных автомобильных приложениях, но в равной степени подходит и для промышленных приложений. Он предназначен для дополнения существующей сети CAN, ведущей к иерархическим сетям в автомобилях.
В конце 1990-х годов пять европейских автопроизводителей основали консорциум Local Interconnect Network (LIN). Наставник Графика (Ранее Volcano Automotive Group) и Freescale (Ранее Motorola, сейчас же NXP). Первая полностью реализованная версия новой спецификации LIN была опубликована в ноябре 2002 г. как LIN версии 1.3. В сентябре 2003 года была представлена версия 2.0 для расширения возможностей конфигурации и обеспечения значительных дополнительных функций диагностики и интерфейсов инструментов.
Основные функции протокола перечислены ниже:
- Один ведущий, до 16 ведомых (т.е. без арбитража шины). Это значение, рекомендованное LIN Consortium для достижения детерминированного времени отклика.[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 должны быть как можно дешевле, они могут генерировать свои внутренние часы, используя Генераторы 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 Master, следуя своему внутреннему расписанию, либо одним из подключенные подчиненные устройства LIN активируются своим внутренним программным приложением. После того, как все узлы пробуждаются, мастер продолжает планировать следующий идентификатор.
Заголовок
Заголовок состоит из пяти частей:
ПЕРЕМЕНА:Поле BREAK используется для активации всех подключенных ведомых устройств LIN для прослушивания следующих частей заголовка. Он состоит из одного стартового бита и нескольких доминирующих битов. Длина не менее 11-битных раз; стандартное использование на сегодняшний день составляет 13-битное время и поэтому отличается от основного формата данных. Это используется для обеспечения того, чтобы прослушивающие узлы LIN с основными часами, отличающимися от установленной скорости передачи данных по шине в указанных диапазонах, обнаруживали BREAK как фрейм, запускающий связь, а не как стандартный байт данных со всеми нулевыми значениями (шестнадцатеричный 0x00).
СИНХРОНИЗАЦИЯ:SYNC - это байт стандартного формата данных с шестнадцатеричным значением 0x55. Подчиненные устройства LIN, работающие на RC-генераторе, будут использовать расстояние между фиксированным количеством нарастающих и спадающих фронтов для измерения текущего битового времени на шине (нормальное время ведущего) и для пересчета внутренней скорости передачи.
МЕЖБАЙТОВОЕ ПРОСТРАНСТВО:Межбайтовое пространство используется для регулировки дрожания шины. Это необязательный компонент в спецификации LIN. Если этот параметр включен, все узлы LIN должны быть готовы к этому.
Между полями BREAK и SYNC есть межбайтовое пространство, одно между SYNC и IDENTIFIER, одно между полезной нагрузкой и контрольной суммой и одно между каждым байтом данных в полезной нагрузке.
ИДЕНТИФИКАТОР:ИДЕНТИФИКАТОР определяет одно действие, которое должно быть выполнено одним или несколькими подключенными подчиненными узлами LIN. Разработчик сети должен обеспечить безотказную работу на этапе проектирования (одному ведомому устройству разрешается отправлять данные на шину за один цикл).
Если идентификатор вызывает один физический LIN slave для отправки ответа, идентификатор может называться Rx-идентификатором. рабская задача господина отправляет данные в шину, может называться Tx-идентификатором.
ПРОСТРАНСТВО ОТВЕТА:Пространство ответа - это время между полем IDENTIFIER и первым байтом данных, который запускает часть LIN RESPONSE кадра LIN. Когда конкретный кадр LIN передается полностью, заголовок + ответ, LIN MASTER, LIN MASTER будет использовать полное ВРЕМЯ ОТВЕТА, чтобы вычислить, когда отправлять ответ после отправки заголовка. Если ответная часть кадра LIN поступает от физически другого ПОДЧИНЕННОГО УЗЛА, то каждый узел (главный и подчиненный) будет использовать 50% времени пространства ответа в своих вычислениях тайм-аута.
Ответ
Ответ отправляется одним из подключенных подчиненных устройств LIN. задачи и делится на данные и контрольная сумма.[9]
ДАННЫЕ:Отвечающее ведомое устройство может отправить на шину от нуля до восьми байтов данных. Объем данных фиксируется разработчиком приложения и отражает данные, относящиеся к приложению, в котором работает подчиненное устройство LIN.
КОНТРОЛЬНАЯ СУММА:В LIN доступны две модели контрольных сумм: первая - это контрольная сумма, включающая только байты данных (спецификация до версии 1.3), вторая - дополнительно включает идентификатор (версия 2.0 +). Используемая модель контрольной суммы предопределена разработчиком приложения.
Определение положения подчиненного узла (SNPD) или автоадресация
Эти методы позволяют определять положение подчиненных узлов на шине LIN и позволяют назначать уникальный адрес узла (NAD).[12]
- Позволяет подключать похожие или одинаковые устройства к шине без программирования конца линии или программирования контактов разъема.
Ограничения:
- Все ведомые устройства с автоадресацией должны быть в одной строке
- Стандартные ведомые устройства можно подключать любым способом
Метод SNPD | ID метода SNPD | Компания |
---|---|---|
Дополнительная проводная гирляндная цепь | 0x01 | NXP (ранее Philips) |
Метод шинного шунтирования | 0x02 | Элмос Полупроводник |
Зарезервированный | 0x03 | TBD |
Зарезервированный | 0x04 | TBD |
Зарезервированный | 0xFF | TBD |
Дополнительная проводная гирляндная цепь (XWDC)
Каждый подчиненный узел должен предоставить два дополнительных контакта, один вход, D1, и один выход, D2.
- Первый вход узла SNPD D1 либо установлен на GND, либо подключен к выходу ведущего устройства.
- Выход первого узла, D2, подключен ко входу D1 второго узла и так далее, в результате чего получается шлейфовое соединение.
Каждый вывод конфигурации DИкс (x = 1-2) имеет дополнительную схему для помощи в определении положения.
- Переключаемая резистивная нагрузка до Vлетучая мышь
- Понижение к GND
- Компаратор ссылается на Vлетучая мышь/2
Процедура автоадресации XWDC
В начале процедуры ни одному из устройств SNPD не назначен NAD.
1 Первое сообщение LIN с автоматической адресацией
- 1.1 Все выходы (D2) установлены на высокий уровень, все выпадающие меню отключены
- 1.2 Выбирается первый узел SNPD. Он идентифицируется входом D1 низкий (проводной).
- 1.3 Выбранный узел берет адрес из сообщения конфигурации LIN
- 1.4 Обнаруженный узел включает выпадение на выходе D2
2 Последующие сообщения LIN с автоадресацией
- 2.1 Выбирается первый неадресированный узел SNPD. Он идентифицируется входом D1 низкий (D2 предыдущего узла).
- 2.2 Выбранный узел берет адрес из сообщения конфигурации LIN.
- 2.3 Обнаруженный узел включает выпадение на выходе D2
- 2.4 Шаги 2.1-2.4 повторяются, пока всем подчиненным узлам не будет присвоен адрес.
3 Все подтягивающие и опускающиеся отключаются после завершения процедуры адресации.
Метод шинного шунтирования (BSM)
Каждый подчиненный узел имеет два контакта LIN
- bus_in
- bus_out
Каждому подчиненному узлу требуется дополнительная схема по сравнению со стандартной схемой LIN для помощи в обнаружении положения.
- Стандартное подтягивание должно быть отключаемым.
- Переключаемый источник тока 2 мА от Vлетучая мышь
- Шунтирующий резистор
- Дифференциальный усилитель
- Аналого-цифровой преобразователь
Процедура автоадресации BSM
В начале процедуры ни одному из устройств SNPD не назначен NAD. Процедура автоадресации выполняется в поле синхронизации. Поле синхронизации разбито на три фазы:
1 Измерение тока смещения
- 1.1 Все выходы подтяжки и источники тока отключены
- 1.2 Ток шины измеряется, якомпенсировать
2 Режим подтягивания
- 2.1 Подтягивания включены, а источники тока остаются выключенными
- 2.2 Ток шины измеряется, яПУ
- 2.3 Узлы с ΔI = яПУ-якомпенсировать <1 мА "выбраны"
3 Режим источника тока
- 3.1 Выбранные узлы включают источник тока, а другие отключают подтягивания
- 3.2 Ток шины измеряется, яCS
- 3.3 Узел с ΔI = яCS-якомпенсировать <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 в автоматизации это орган, ответственный за присвоение таких идентификаторов.
Инструменты разработки
При разработке и / или поиске и устранении неисправностей шины LIN очень важным может быть изучение сигналов оборудования. Логические анализаторы и анализаторы шин - это инструменты, которые собирают, анализируют, декодируют и хранят сигналы, чтобы люди могли просматривать высокоскоростные сигналы в любое время.
Смотрите также
Рекомендации
- ^ . "ISO / AWI 17987-8".
- ^ Мэри Тамар Тан, Брайан Бейли, Хан Линь.«Microchip AN2059: Основы LIN и реализация библиотеки стеков LIN MCC на 8-битных микроконтроллерах PIC».
- ^ "ATAN0049: Двухпроводная сеть LIN".
- ^ Стив Уиндер.«Блоки питания для светодиодного вождения».п. 284
- ^ "Краткая история LIN".
- ^ «Лин Концепт». Обзор LIN. Администрирование LIN. Архивировано из оригинал 5 октября 2011 г.. Получено 28 октября 2011.
- ^ «Целевые приложения». Обзор LIN. Администрирование LIN. Архивировано из оригинал 5 октября 2011 г.. Получено 28 октября 2011.
- ^ а б c "Лаборатория автомобильной электроники Клемсона: АВТОБУСЫ". Архивировано из оригинал на 2012-04-14. Получено 2009-01-14. 090114 cvel.clemson.edu
- ^ а б c d е Пакет спецификаций LIN, ред. 2.2a В архиве 2008-04-26 на Wayback Machine
- ^ "Описание шины LIN, автомобильный автобус, локальная межсетевая сеть". 090114 interfacebus.com
- ^ Технический обзор LIN В архиве 2011-07-19 на Wayback Machine
- ^ Ананд Гопалан, Аким Уайтхед.«Автоматическое определение положения подчиненного узла (SNPD)».
внешняя ссылка
- Консорциум LIN он больше не доступен, потому что последняя спецификация LIN (2.2A) транскрибируется в ISO (Международная организация по стандартизации) как часть процесса, который будет принят в качестве стандарта ISO 17987, часть 1-7.
- Орган регистрации идентификаторов поставщиков LIN Орган регистрации для идентификатора поставщика LIN, стандартизованного в серии ISO 17987
- Учебный курс Deep Dive LIN с практическими примерами
- CAN / LIN обучение
- Краткая справочная информация о CAN / LIN (китайский)
- Статья о бесплатной открытой аппаратной / программной реализации протокола LIN
- Анализатор протокола LIN с открытым исходным кодом на базе Arduino
- Платформа на основе Arduino с открытым исходным кодом и возможностью подключения по LIN
- Бесплатный онлайн-калькулятор контрольной суммы LIN