Что такое шина LIN - CAN Hacker

LIN шина Автомобильный справочник

для настоящих любителей техники

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

Первая спецификация стандарта под брендом LIN была издана в 1999 году по инициативе консорциума европейских автопроизводителей и других известных компаний, включая Audi AG, BMW AG, Daimler Chrysler AG, Motorola Inc., Volcano Communications Technologies AB, Volkswagen AG и VolvoCar Corporation. Последняя спецификация, LIN 2.2, издана в 2010 году. В настоящее время документы стандарта переданы под контроль Международной организации по стандартизации (ISO), где стандарту был присвоено новое наименование ISO 17987. В связи с политикой ISO копия стандарта стала платной.

Шина LIN

LIN шина (локальная сеть воздействия) была разработана для удовлетворения потребно­стей в связи для систем класса А (см. табл. «Классификация шинных систем» ) с использованием самого экономичного обо­рудования. Типичные области применения:

  • Дверной модуль с дверным замком;
  • Приводы стеклоподъемников;
  • Регулировка боковых зеркал заднего вида;
  • Система кондиционирования (передача сигналов от элемента управления, актива­ция вентилятора свежего воздуха).

Текущую спецификацию LIN можно найти на сайте консорциума LIN.

Важные особенности шины LIN:

  • Концепции с одним ведущим и несколь­кими ведомыми устройствами;
  • Небольшая стоимость оборудования за счет передачи данных по неэкранированному однопроводному кабелю;
  • Самосинхронизация ведомых устройств без кварцевого генератора;
  • Связь в виде очень коротких сообщений;
  • Скорость передачи данных до 20 кбит/с;
  • Длина шины до 40 м, до 16 узлов.

Система передачи в шине LIN

Шина LIN представляет собой неэкранированный однопроводный кабель. Уровень шины может принимать два логических состояния. Доминантный уровень соответствует напря­жению приблизительно 0 В (масса) и пред­ставляет собой логический 0. Рецессивный Уровень соответствует напряжению батареи Ubatt и представляет собой логическую 1.

Из-за наличия разных вариантов электри­ческих цепей уровни могут быть разными. Определение допусков на передачу и прием в области рецессивных и доминантных уровней обеспечивает стабильную передачу данных. Диапазоны допусков шире на приемном конце (рис. «Уровень напряжения на линии данных шины LIN» ), чтобы действительные сигналы тоже можно было получать, несмотря па излучаемые помехи.

Скорость передачи по шине LIN ограничена величиной 20 кбит/с. Это компромисс между большой крутизной фронта импульсов, не­обходимой для синхронизации ведомых устройств, с одной стороны, и небольшой его крутизной, необходимой для улучшения ЕМС — с другой. Рекомендуемая скорость передачи составляют 2400, 9600 и 19200 бит/с. Минимально допустимая скорость составляет 1 кбит/с.

Максимальное количество узлов не регла­ментируется в спецификации LIN. Теоретиче­ски оно ограничено количеством доступных идентификаторов сообщений. Возможности линии и узла и крутизна фронта импульсов ограничивают сочетание длины и количества узлов сети LIN. Рекомендуется не более 16 узлов.

Пользователи шины обычно располага­ются в линейной топологии; однако эта топо­логия не является обязательной.

Доступ к шине LIN

Доступ к шине LIN обеспечивается на основе доступа «ведущий-ведомый». В сети имеется ведущее устройство, инициирующее каждое сообщение. Ведомое устройство имеет воз­можность ответить. Обмен сообщениями происходит между ведущим и одним, не­сколькими либо всеми ведомыми устрой­ствами.

Во время обмена сообщениями между ве­дущим и ведомым устройством возможны следующие взаимосвязи:

  • Сообщение с ответом ведомого: ведущее устройство передает сообщение одному или нескольким ведомым устройствам и запрашивает данные (например, состояния измеренных значений);
  • Сообщение с инструкцией ведущего: веду­щее устройство передает инструкции ве­домому устройству (например, включение сервопривода);
  • Сообщение для использования: ведущее устройство инициирует связь между двумя ведомыми устройствами.

Протокол LIN

Фрейм данных LIN

Информация на шине LIN встраивается в определенный фрейм данных, фрейм LIN (рис. «Фрейм LIN» ). Инициированное ведущим устрой­ством сообщение начинается с заголовка. В поле сообщения (ответ) содержится раз­личная информация, зависящая от типа со­общения. Если ведущее устройство передает инструкции ведомому устройству, то оно опи­сывает поле сообщения данными, которые должно использовать ведомое устройство. В случае запроса данных адресуемое ведомое устройство описывает поле сообщения дан­ными, запрошенными ведущим устройством.

Читайте также:  Стартер крутит, а двигатель не заводится

Заголовок

Заголовок состоит из разрыва синхронизации, поля синхронизации и поля идентификации.

Синхронизация LIN

Синхронизация происходит в начале каж­дого фрейма для обеспечения последова­тельной передачи данных между ведущим и ведомыми устройствами. Сначала разрывом синхронизации четко определяется начало фрейма. Он состоит из не менее 13 после­довательных доминантных уровней и одного рецессивного уровня.

После разрыва синхронизации ведущее устройство передает поле синхронизации, состоящее из последовательности битов 01010101. Это дает ведомым устройствам возможность адаптироваться к временной оси ведущего. Тактовый импульс ведущего устройства не должен отличаться от номи­нального значения более чем на ±0,5%. Так­товый импульс ведомых устройств перед син­хронизацией может иметь разброс ±15 %, если синхронизация к концу сообщения достигает уровня ±2 %. Таким образом, ведомым устрой­ствам не нужен дорогой кварцевый генера­тор — они могут быть выполнены, например, с экономичной резистивно-емкостной цепью.

Идентификатор LIN

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

Шесть или восемь битов в поле идентифи­катора определяют сам идентификатор; из них получается 64 возможных идентифика­тора (ID). Имеются следующие значения:

  • ID = 0 — 59: передача сигналов;
  • ID = 60: запрос команд и диагностики от ведущего устройства;
  • ID = 61: отклик ведомого устройства на ID 60;
  • ID = 62: зарезервирован для связи с изго­товителем;
  • ID = 63: зарезервирован для будущих рас­ширений протокола.

Из 64 возможных сообщений 32 могут содер­жать только два байта данных, 16 — четыре байта данных, и остальные 16 — восемь бай­тов данных.

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

Поле данных

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

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

Данные в ответе ведомого устройства за­щищаются контрольной суммой (CS).

Описательный файл LIN

Конфигурация шины LIN, т.е. спецификация пользователей сети, сигналов и фреймов, выполняется в описательном файле LIN. Спецификация LIN для этой цели имеет под­ходящий язык конфигурации.

Из описательного файла LIN автоматиче­ски генерируется набор кодов на С и файлов заголовков; эти коды и файлы используются для реализации функций ведущего и ведо­мых устройств в ЭБУ, расположенных на шине. Таким образом, описательный файл LIN служит для конфигурации всей сети LIN. Это общий интерфейс между автопроизво­дителем и поставщиками ведущих и ведомых устройств.

Составление графика отправки сообщений

Таблица-график в описательном файле LIN определяет порядок и время отправки со­общений. Часто запрашиваемая информа­ция отправляется время от времени. Когда таблица проработана, ведущее устройство снова начинает с первого сообщения. После­довательность обработки можно изменить в зависимости от режима работы (например, активна/неактивна диагностика, включено/ выключено зажигание).

Таким образом, известен фрейм передачи каждого сообщения. Детерминированные характеристики гарантируются тем фактом, что все передачи инициируются ведущим Устройством в случае управления доступом по принципу «ведущий-ведомый».

Управление сетью LIN

Для минимизации тока замкнутой цепи узлы сети LIN можно переводить в спящий режим. Это можно сделать двумя способами. Веду­щее устройство передает команду «перейти в спящий режим» зарезервированным иден­тификатором 60, либо ведомые устройства переходят в спящий режим автоматически, если в течение относительно длительного времени (4 секунды) не было передачи данных по шине. И ведущее, и ведомые устройства могут снова активировать сеть. Для этого необходимо передать сигнал ак­тивации. Он состоит из байта данных с номе­ром 128, обозначающим содержание. После перерыва времени бита 4-64 (разграничитель активации) все узлы должны быть инициа­лизированы и способны ответить ведущему устройству.

Читайте также:  Как растаможить запчасти из Сша стоимость - Карго США

Что такое шина LIN

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

Для изучения шины LIN Вы можете использовать наш адаптер CAN-Hacker 3.0 с дополнительной опцией LIN-K

Пример системы управления дверью с шиной LIN и без нее:

Еще пример, в автомобиле Porsche Macan 2015 г. все привода и датчики климатической системы подключены к шине LIN а сам блок климат контроля связан с автомобилем при помощи CAN шины.

Дешевизна LIN обусловлена тем что реализация протокола LIN полностью программная и строится на базе обычного UART (родственник RS232, COM порт). Так же LIN не требует применения точных времязадающих цепей – кварцевых резонаторов и генераторов. Поэтому можно применять дешевые микроконтроллеры.

Скорость передачи данных

Скорость передачи данных на шине LIN стандартная для устройств построенных на базе UART: 2400; 9600; 10400; 19200; 20000 Бод. Это немного но достаточно для передачи данных от датчиков и для управления медленными механизмами.

Электрическая реализация LIN

Электрически интерфейс LIN реализован так же просто. В каждом узле линия шины подтянута к шине питания +12V. Передача осуществляется опусканием уровня шины до уровня массы GND. Микроконтроллер подключается к шине LIN при помощи специальной микросхемы Трансивера, например TJA1021

Подключение LIN трансивера к микроконтроллеру

Архитектура сети LIN

Особенностью шины LIN является то, что в сети присутствует два вида узлов: Master и Slave, Master – ведущий, Slave – подчиненный.

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

Структура LIN пакета выглядит так:

Frame – Header – заголовок кадра, который отправляется в шину Мастером. Включает в себя ID кадра

Frame – Response – данные которые отправляет Slave в ответ на запрос Master -а.

Уловите разницу – в шине CAN все узлы передают и ID кадра и данные. В шине LIN – заголовок пакета это задача Мастер-узла.

Поле Frame-Header состоит из полей:

BREAK – Это сигнал шине о том что мастер сейчас будет говорить

Поле синхронизации – это просто байт = 0x55. При его передаче приемники подстраивают свою скорость.

PID – это поле защищенного идентификатора. В дальнейшем будем писать просто – идентификатор.

Идентификатор может принимать значения от 0 до 59 (0x3B в HEX) для пользовательских пакетов. Так же возможно использование специальных служебных пакетов с ID 0x3C, 0x3D, 0x3E и 0x3F. Защищенность идентификатора заключена в следующем:

В структуре байта ID мы видим биты собственно самого идентификатора с ID0 по ID5, а затем идут два контрольных бита P0 и P1, которые рассчитываются так:

P0 = ID0 ⊕ ID1 ⊕ ID2 ⊕ ID4
P1 = ¬ (ID1 ⊕ ID3 ⊕ ID4 ⊕ ID5)

ID = 0x00 PID =0x80

ID = 0x0C PID = 0x4C

Если в PID контрольные биты рассчитаны неверно то пакет не будет обработан принимающей стороной.

В случае если мы будем эмулировать работу какого либо узла Master, предварительно изучив отправляемые им данные при помощи LIN сниффера, то нам не придется задумываться о расчете контрольных битов ID, поскольку в пакетах которые мы видим сниффером все уже посчитано до нас.

После того как Slave принял Header мастера он отвечает полем Frame Response который состоит из байтов данных в количестве от 1 до 8 и байта контрольной суммы.

Контрольная сумма (CRC) считается как инвертированная сумма всех байтов данных с переносом либо сумма всех байтов данных + значение защищенного ID . В первом случае CRC называется классической, во втором – расширенной. Вариант подсчета контрольной суммы определяется версией стандарта шины LIN. В версиях 1.xx применяется классический алгоритм, в версиях 2.xx применяется расширенный.

Читайте также:  Станочек для заточки сверл

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

На этой схеме мы видим как один Мастер общается с двумя узлами Slave. Обратите внимание на третий кадр, в нем заголовок Header и тело пакета Response передает Мастер – это важный момент, такие кадры используются для диагностики и конфигурирования Slave узлов.

На осциллограмме обмен одного Master и одного Slave выглядит так:

Здесь мы видим запрос мастера состоящий из полей Break – S – затем следует ответ узла Slave состоящий из четырех байт и контрольной суммы равной 0x3F.

Если мы отключим узел Slave от шины LIN, то увидим уже такую осциллограмму:

Так же в протоколе шины LIN предусмотрены и специальные служебные пакеты служащие для диагностики шины, пробуждения устройств и других функций. В этом случае Master может передавать как Frame Header так и Frame Response последовательно, тогда пакет Master -а может иметь такой вид:

ID=0x3C DATA : FF FF FF FF FF FF FF FF

Обмен диагностическими сообщениями на шине LIN выглядит так :

При помощи длинных пакетов Master может конфигурировать и программировать узлы Slave. Если для программирования или конфигурирования узла LIN необходимо более 8 байт, то поток данных сегментируется и пересылается частями. Механика передачи данных определяется специальным транспортным протоколом работающим поверх физики шины LIN, о нем мы напишем в следующих статьях.

Видео пример работы с шиной LIN и адаптером LIN-K

Мир автомобилей Volkswagen

  • Магнитола RCD 310
  • Датчик частоты вращения выходного вала G195
  • Переключатель Tiptronic F189
  • Магнитола RCD 210
  • Клапан управления фазами газораспределения N205
  • Аккамулятор Crafter VW
  • Бензиновый двигатель модели AQY
  • Датчики температуры охлаждающей жидкости
  • Датчик температуры масла G93
  • Освещение Volkswagen Crafter
  • Бензиновый двигатель (V6, 3.2 л)
  • Система отопления и вентиляции VW Crafter
  • Системы шин данных CAN, применяемые на автомобилях концерна VW
  • Охлаждение топлива в двигателе 1.9 л TDI Volkswagen
  • Замена батареи

Шина данных LIN

Шина нижнего уровня служит для связи блоков управления с подчиненными им электроприборами. К этим приборам относятся, например, выключатели, датчики, исполнительные устройства и т. п. Этот тип связи и передачи данных применяется во многих системах автомобиля Volkswagen Touran.

Используемая в автомобиле в качестве шины нижнего уровня шина данных LIN представляет собою экономически выгодное решение.

Название LIN является аббревиатурой от Local Interconnect Network (локальная внутрисистемная сеть) и предполагает нахождение всех участвующих компонентов в определенной ограниченной зоне автомобиля.

На автомобиле, как пишут на сайте автоклуба insanity-club.ru, могут быть применены несколько шин данных LIN, выполняющих разные функции. Охватываемая шиной данных LIN система состоит из ведущего блока управления и одного или нескольких ведомых приборов.

Диагностический интерфейс сопряжения шин данных

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

Данные передаются со скоростью от 1 до 20 кбит/с. Таким образом скорость передачи данных не превышает 20% от ее величины у шин CAN системы «Комфорт» или информационно-командной системы. Она обусловлена программным обеспечением ведущего блока шины LIN.

Передача производится через провод с фиолетовой базовой окраской и белой отличительной полоской. Его сечение равно 0,35 мм2. Шина данных LIN является однопроводной, причем ее провод не имеет экрана.

Величина передаваемого через шину LIN сигнала приблизительно равна напряжению на выводах аккумуляторной батареи UB (рецессивный уровень) или нулю на «массе» (доминантный уровень).

Ссылка на основную публикацию
Adblock detector