В середине 90-х годов для обеспечения безопасности и комфорта на автомобиле «представительского» класса могло быть от 10 до 15 блоков управления.
В настоящее время такого количества блоков управления уже недостаточно, оно увеличилось, возможно, в два раза (или больше).
Такое стремительное увеличение количества блоков управления заставило производителей искать новые пути решения задач для поддержания бесперебойной и стабильной связи между блоками управления.
И в настоящий момент уже существуют следующие технологии передачи данных:
– шина LIN (однопроводная шина)
– шина MOST (оптоволоконная шина)
– беспроводная шина Bluetoot h
В данной статье мы рассмотрим шину LIN .
Шина под названием » LIN » — это сокращение от полного названия: » Local Interconnect Network «, то есть, «локальная коммутируемая сеть».
Это означает. что все коммутируемые блоки управлению подключены и располагаются в пределах одного ограниченного пространства, например, крыши автомобиля, двери автомобиля и так далее.
Обмен данными между коммутируемыми блоками системы LIN происходят по шине данных CAN .
У шины LIN есть особенность: она однопроводная.
Цвет изоляции провода — фиолетовый (на нем может быть цветная маркировка).
Толщина провода (площадь поперечного сечения) составляет около 0.35 мм2.
Провода шины LIN экранировать не обязательно.
Однако, как уже говорилось, скорости передачи данных по шине CAN и шине LIN различные.
Различными также являются и сигналы.
Для этого был придуман так называемый «Блок управления LIN-Master «, который является своеобразным «переводчиком» между шиной LIN и шиной CAN :
У этого блока существует довольно много задач:
— контроль передачи данных
— контроль скорости передачи данных
— постоянная диагностика работоспособоности всех блоков, подключенных к шине LIN
Итак, что такое LIN Master мы разобрались.
Но есть еще такое понятие, как LIN Slave .
Это не что иное, как исполнительные механизмы, электронные или электронномеханические узлы или блоки, получающие команды от блока LIN Master .
Но не только команды.
Может (и постоянно идет) опрос всех подключенных компонентов по текущему и фактическому состоянию, для своевременного обнаружения неисправности и возможности выполнять заданные функции.
Как видно из фото 1, для нескольких исполнительных механизмов требуется только один контакт () в блоке pin LIN Master .
Скорость передачи данных в шине LIN невысокая и составляет приблизительно от 5 до 25 кбит\сек.
Рецессивный уровень
Если на шину данных LIN не будет послана телеграмма или рецессивный бит, то на шину данных подается напряжение, практически равное напряжению аккумуляторной батареи.
Для передачи доминирующего бита по шине данных LIN в передающем блоке управления шина данных замыкается на массу через приемопередатчик (трансивер) — см. фото 2 :
Надежность и стабильность передачи данных обеспечивается установлением определенных допусков в сигналах на рецессивном и доминантном уровнях.
Между блоками Slave и Master постоянно «курсируют» телеграммы определенной формы.
Блок управления LIN Master периодически посылает телеграммы, которые строго разделены на четыре составляющие:
1 — пауза в синхронизации
2 — ограничение синхронизации
3 — поле синхронизации
4 — поле идентификатора
В посланной телеграмме, так называемая «пауза в синхронизации» нужна для того, что бы «сообщить» блокам о том, что посылается телеграмма. Минимальная пауза в синхронизации равняется времени передачи 13 битов. Пауза посылается с доминантным уровнем.
Поле синхронизации требуется для того, что бы все исполнительные блоки могли настроиться или проверить свои настройки перед приемом телеграммы — оно состоит из строго определенной последовательности битов 0101010101.
Видео:Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать
Протокол LIN. Полный обзор, описание, формат кадра.
Совсем недавно мы разбирали протокол CAN, и вот сегодня продолжаем двигаться по автомобильным стандартам! На очереди LIN, который также свое основное применение нашел в автомобильной промышленности, да и, в общем-то, для этого и был изначально создан.
Чуть забегу вперед — этому протоколу будет посвящено целых три статьи. Сегодня будет исключительно теория, максимально подробно и наглядно. Во второй части мы будем работать с LIN на практике при помощи STM32 с использованием аппаратных средств микроконтроллера. А вот в третьей части мы с нуля напишем свой собственный драйвер для LIN на базе UART.
Итак, протокол LIN был создан в конце 90-х годов (первая версия спецификации относится к 1999 году) группой известных компаний, в основном, автопроизводителей. Среди них:
В целом архитектура шины выглядит следующим образом:
В чем же смысл, спросите вы, ведь есть же CAN? Так вот, использование LIN не исключает использование CAN, а скорее дополняет. LIN является однопроводной шиной, более дешевой, чем CAN, и используется для связи менее критичных для безопасности и для работы автомобиля узлов между собой. То есть основная связь по-прежнему обеспечивается протоколом CAN, а менее важные блоки и датчики уже подключаются по LIN:
Низкая стоимость обеспечивается в том числе тем, что для реализации протокола обычно используется обычный UART микроконтроллера. Все остальное, необходимое для работы шины, реализуется исключительно в ПО. Но это с программной точки зрения. Физически же все-таки требуется использование дополнительной микросхемы трансивера. И самый популярный кандидат бесспорно — TJA1021:
Скорость передачи данных также вполне стандартная для UART’а: от 1 — до 20 кБод, длина линии может достигать 40 м. Давайте теперь перейдем к самому интересному, к структуре пакета в LIN!
Читайте также: Как правильно выбрать давление в шинах авто
Видео:Блок управления, генератор, CAN или LIN шина либо АКБ? P0401, P0523, U1113, U1132, U0106 (Видео 90)Скачать
Структура пакета протокола LIN.
Каждый пакет состоит из заголовка (header) и непосредственно данных (data):
Причем важной особенностью является то, что на шине присутствуют два типа устройств — LIN Master (ведущий) и LIN Slave (подчиненный). При этом инициировать передачу данных может только Master. То есть Slave-устройство не может само по себе выслать в сеть данные, оно должно ожидать запроса от ведущего и никак иначе ?
Таким образом, именно Master отправляет в шину заголовки пакетов. В зависимости от определенного бита заголовка (это мы разберем чуть позже) подчиненные устройства понимают, что им требуется сделать:
- выслать данные, которые запрашивает ведущий
- или продолжать прием данных, в случае если, например, Master выполняет конфигурацию подчиненного
Как видите, иерархия очень строгая!
С организацией обмена данными разобрались, теперь можно углубиться непосредственно в структуру уже упомянутых частей LIN-фреймов. Заголовок пакета состоит из нескольких байт:
- Поле Break — это поле представляет из себя 13 нулевых битов подряд.
- Поле Sync — поле синхронизации. Этот байт имеет определенное значение — 0x55. Именно это число выбрано по той причине, что в двоичном виде оно представляет из себя чередующиеся нули и единицы — 0b01010101. При помощи этого поля устройства могут настроить свою скорость передачи данных.
- Поле PID — поле идентификатора. В нем зашифровано следующее:
Старт и стоп-биты здесь играют ту же роль, что и при передаче данных по UART, и используются для каждого из передаваемых по LIN байт.
Из битов ID0…ID5 складывается непосредственно значение идентификатора. А поскольку под это выделено только 6 битов, то значит диапазон значений идентификатора составляет от 0 до 0x3F (0b111111). При этом значения от 0x3C до 0x3F являются служебными. Кроме того, в значении идентификатора содержится информация о количестве передаваемых в Frame Data байт:
Идентификатор | Кол-во байт |
---|---|
0x00-0x1F | 2 |
0x20-0x2F | 4 |
0x30-0x3F | 8 |
Итак, тут у нас остаются еще два бита четности, для них формула выглядит следующим образом:
И на этом все! Заголовок пакета сформирован.
Поле данных в свою очередь состоит из непосредственно байт данных (от 1-го до 8-ми байт) и контрольной суммы (1 байт):
Для расчета контрольной суммы есть два варианта:
- Классическая контрольная сумма (версия LIN1.x) — сумма всех байт данных из поля Frame Data с переносом. После суммирования полученный байт инвертируется.
- Расширенная контрольная сумма (версия LIN2.x) — используется такой же алгоритм, только в суммировании участвует еще и байт PID. Сообщения с заголовками 0x3C и 0x3D должны использовать классическую контрольную сумму.
Давайте рассмотрим пример расчета классической контрольной суммы. Пусть байты данных равны: 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37. Суммируем:
Вычитаем из полученного значения 0xFF:
И инвертируем, в итоге получаем:
Для выбранных нами байт данных контрольная сумма равна 0x62.
В практической статье по протоколу LIN мы обязательно посмотрим, как все это будет выглядеть на деле, а пока на этом заканчиваем, до скорой встречи!
Видео:LIN шина - пример работы. LIN bus exampleСкачать
Применение локальной шины LIN в современном автомобиле
В этой статье автор рассматривает алгоритм работы однопроводной шины LIN (Local Interconnect Network — локальная коммутационная сеть) — интерфейса, который присутствует в любом современном автомобиле.
Развитие прогресса в автомобилестроении неуклонно ведет к повышению требований к управлению, возрастает объем функций, на совершенно новый уровень переходит информационная составляющая о работе и поведении автомобиля. В связи с этим бортовая электроника наращивает свое присутствие в современном автомобиле. По статистике, количество блоков управления в нем за последние 15 лет увеличилоь более чем в пять раз, и эта тенденция сохраняется. Потребителю хочется иметь полный контроль над любимым авто и над дорогой. Последние модели могут обойтись в сложной ситуации без водителя и принять решение согласно заложенной программе. Такие вопросы, как парковка или проезд по размытому участку сельской дороги машина может решить самостоятельно, без участия человека. С каждым годом все реальнее и ближе введение элементов автопилотирования, применяемых в авиации.
Увеличившееся число электронных модулей вынудило, в свою очередь, находить и внедрять новые технологии передачи данных между отдельными блоками управления. В вычислительной технике они уже давно существовали, поэтому оставалось только перенести опыт их использования и стандартизировать применительно к автомобилю. Сначала произошло внедрение шины данных CAN. У ведущих проиводителей это случилось в середине 90-х годов. Однако пропускной способности и скорости этой технологии хватило примерно лет на 10, после чего встал вопрос о дальнейшем развитии системы передачи информации. Особенно заметны проблемы стали после повсеместного применения инормационно-развлекательного контента. Вместе с ним пришли и технологии, применяемые в кабельном телевидении и в современных системах связи, включая диагностику и сервис.
В итоге к завоевавшей уважение и известной шине CAN на сегодня добавились:
— шина LIN (однопроводная шина);
— шина MOST (оптоволоконная шина) (рис. 1);
— беспроводная шина Bluetooth™.
Рис. 1. Оптоволоконная шина MOST в современном автомобиле
Читайте также: Как восстановить шину колеса
В этой статье мы рассмотрим алгоритм работы однопроводной шины LIN. Local Interconnect означает, что все блоки управления данной сети находятся в пределах одного условно ограниченного модуля (к примеру: багажника, крыши, мотора вентилятора и др.).
Она может обозначаться еще и как «локальная подсистема». Обмен данными между отдельными системами шин LIN одного автомобиля осуществляется через соответствующий блок управления по шине данных CAN. Говоря о шине LIN, необходимо понимать, что речь идет об однопроводной шине. Площадь поперечного сечения провода составляет 0,35 мм 2 . Экранирование кабеля не является обязательным условием. Цвет изоляции может быть различным, в автомобилях «Ауди» он фиолетовый. Алгоритм работы шины LIN интуитивно понятен и от того прост для освоения. Он позволяет осуществлять обмен данными между одним блоком управления LIN, его называют Master, и подчиненными блоками Slave.
Блок управления LIN Master
Напомним, что блоки управления LIN Master сопряжены с шиной данных CAN и выполняют мастер-функции управления определенной шиной LIN.
Приведем основные функции блока LIN Master:
— контролирует передачу данных в шине LIN и скорость обмена;
— отправляет посылки-телеграммы в шину LIN. В его ПО заложен цикл, какому подчиненному блоку, когда, как часто и какие посылки-телеграммы отправлять;
— выполняет функцию сопряжения подчиненных блоков шины LIN с шиной данных CAN, так как является единственным блоком управления отдельной шины LIN, подключенным к шине данных CAN (рис. 2);
Рис. 2. Применение шины LIN в современном автомобиле
— обеспечивает процесс диагностики подключенных блоков управления LIN Slave (рис. 3).
Рис. 3. Блоки управления LIN Slave
Блоки управления LIN Slave
Подключенные или подчиненные блоки управления LIN Slave в рамках отдельной системы шины данных LIN выполняют функции контроля и управления работой отдельных устройств, например, мотора вентилятора, привода люка в крыше, а также датчиков и исполнительных механизмов (датчик уклона, ручного тормоза, сирена противоугонной сигнализации и т.д.). Датчики измеряют или контролируют какие-либо величины и передают сигнал в аналоговом виде. Блок управления LIN Slave анализирует и преобразовывает принятые параметры в цифровую форму. Затем эти величины передаются по шине LIN в виде цифрового сигнала.
Блок управления LIN Master опрашивает исполнительные устройства (посылает телеграмму), получает информацию о состоянии, что позволяет провести сравнительный анализ между фактическим и расчетным состоянием и влиять на работу исполнительных механизмов через блоки управления LIN Slave. Каждый блок LIN Slave обладает электронными или электромеханическими функциями и имеет свой адрес. Адрес передается в заголовке посылки-телеграммы и его опознает блок, за которым закреплен этот адрес, иными словами происходит идентификация обращения.
Технически интерфейс LIN реализуется просто и надежно. Сопряжение блоков LIN Slave с управляющим блоком LIN (Master) осуществляется по однопроводной линии с помощью одноконтактного разъема, одного на всех.
Рассмотрим алгоритм передачи данных.
Скорость шины LIN примерно в 5 раз меньше скорости шины CAN и составляет до 20 кбит/сек. Реализовано это для того, чтобы не перегружать шину CAN. Цифровые сигналы, как это давно уже принято в вычислительной и связной технике, передаются высоким и низким уровнями сигналов. Размах сигналов зависит от уровня напряжения питания. В автомобиле используется бортовое напряжение 12 В (14,4 В при работе генератора). Отсюда и уровни сигналов шин — от 0 до 12 В.
Если по шине LIN не происходит передача телеграмм или передается «рецессивный» бит, то уровень сигнала будет около 12 В, если будет передан «доминантный» бит, то передатчик замыкает на «массу» и уровень будет близок к нулю (рис. 4) Последовательность доминантных и рецессивных битов и составляет телеграмму, с помощью которой блок управления LIN Master обменивается с блоками LIN Slave. В различных модификациях приемопередатчиков (трансиверов) внешний вид рецессивных и доминантных уровней может иметь отличия.
Рис. 4. Осциллограмма сигналов шины LIN
Чтобы устранить влияние различных факторов на качество работы шины LIN, при передаче возможны отклонения от заданных уровней (0 и 12 В) не более чем на 2 В (рис. 5).
Рис. 5. Диапазон напряжений при передаче
Уровень приема еще более защищен и сигналы принимаются амплитудой с отклонением до 40% от заданных (рис. 6).
Рис. 6. Диапазон напряжений при приеме
Опишем непосредственно «телеграммы», с помощью которых происходит общение блоков по шине LIN.
Блок управления LIN Master посылает телеграмму блоку LIN Slave и в заголовке передается код операции — что именно надо сделать. Например, необходимо переслать показания датчиков, измеряющих скорость вращения вентилятора, т.е. переслать информацию о величине скорости, которую данные датчики измеряют. Это первый видтелеграммы — опросный.
В ответ блок LIN Slave пересылает телеграмму с измеренными величинами. Это второй вид телеграммы — ответный.
Блок управления LIN Master анализирует показания датчиков, пересланные от блока LIN Slave, и посылает телеграмму с указаниями изменить скорость вращения. Это третий вид телеграммы — управляющий.
По такому алгоритму и происходит обмен между блоками, сопряженными шиной LIN.
Реализация этого алгоритма начинается с того, что блок LIN Master с определенным циклом обращается к блокам LIN Slave, посылая заголовок телеграммы (рис. 7). Цикл обращения установлен программным обеспечением и может изменяться в зависимости от ситуации, режимов работы автомобиля и других факторов.
Читайте также: Шины для дрифта r15
Рис. 7. Осциллограмма заголовка телеграммы
Обращение относится ко всему возможному оборудованию, если каких-либо устройств нет на шине LIN, а это зависит от количества опций, которое оплачено владельцем, то обмен с отсутствующими блоками не состоится. Иными словами, на свой запрос к некоторым возможным блокам LIN Slave останется без ответа, ибо эти блоки просто отсутствуют в данной модификации. Это обстоятельство не влияет на работу. Если данные блоки будут поставлены, алгоритм работы с ними восстановится, напомним, что их может быть до 16-ти на каждый блок управления LIN Master.
Теперь подробнее о самой реализации взаимодействия.
Как было сказано ранее, блок управления LIN Master посылает с разной периодичностью, зашитой в программном обеспечении, опросные телеграммы. Каждая телеграмма содержит заголовок (Header) и собственно текст, состоящий из переданных данных.
Заголовок состоит из четырех частей (рис. 7):
Пауза в синхронизации (synch break)
Представляет собой не менее 13-ти битов, пересылаемых доминантным уровнем, что в вычислительной технике расценивается как передача не менее 13-ти «нулей». Блоки LIN Slave имеют возможность настроиться на прием телеграммы, ибо в тексте самой телеграммы не может быть подобной информации и столь долгая передача только доминантного уровня подсказывает блокам, что после этого поля последуют другие.
Окончание синхронизации (synch delimiter)
Эта часть передается рецессивным уровнем (около 12 В), что соответствует передаче «единицы» и сообщает блокам LIN Slave о том, что пауза закончилась и необходимо приготовиться к синхронизации.
Поле синхронизации (synch field)
Эта часть заголовка служит для непосредственной настройки блоков LIN Slave на работу с блоком управления LIN Master. Поле состоит из последовательности доминантных и рецессивных битов, то есть последовательности «нулей» и «единиц». Таким образом синхронизируется частота, на которой блоки LIN Slave должны работать по шине LIN, принять поле идентификатора и последующие за ним данные.
Это поле состоит из восьми бит. В первых 6-ти битах передаются адрес блока LIN Slave для его опознавания (идентификации) и количество полей для передачи данных, отведенных для ответа (от 0 до 8). Два оставшихся бита предназначены для передачи контрольной суммы. Контрольная сумма вычисляется согласно определенному алгоритму и необходима для того, чтобы избежать ошибок в передаче. При совпадении контрольной суммы оборудование считает что информация передана корректно.
Получая информацию о количестве полей для передачи данных (Datafields), блок LIN Slave передает данные о состоянии сопряженных с ним датчиков, например, о скорости вращения вентилятора. Каждое поле — это 10 бит информации, из них первый бит — доминирующий стартовый, далее передается байт (8 бит) информации и заканчивается поле стоповым рецессивным битом (рис. 8). Стартовый и стоповый биты служат для синхронизации при передаче данных.
Рис. 8. Осциллограмма ответа
В свою очередь, блок управления LIN Master принимает информацию, в нашем примере — это скорость вращения вентилятора. Если скорость вращения удовлетворяет ситуации и не требуется ее коррекция, то блок управления LIN Master через некоторое время (определяется ПО) снова пошлет запрос в виде телеграммы для контроля за работой данного блока LIN Slave.
Если необходимо изменить скорость вращения вентилятора, то блок управления LIN Master посылает телеграмму с нужной скоростью вращения, и блок LIN Slave, получив указание, изменяет скорость вентилятора (рис. 9).
Рис. 9. Регулировка скорости вращения вентилятора
Напомним, что опрос блоков LIN Slave осуществляется с частотой, заложенной в программном обеспечении, но при изменении ситуации эта частота может меняться. Факторов к изменению частоты обращения к блокам LIN Slave тем больше, чем лучше ПО и чем современнее бортовое оборудование автомобиля.
Комплектация современного автомобиля может быть разной, и если блок управления LIN Master имеющий полное ПО, посылает запрос несуществующему блоку LIN Slave, то заголовки телеграмм возвращаются к LIN Master без ответа (рис. 10). Это не мешает алгоритму работу шины LIN и при установке соответствующего блока LIN Slave незамедлительно начинается его опрос и контроль работы со стороны блока управления LIN Master.
Рис. 10. Осциллограммы с заголовками телеграмм без ответов
Алгоритм работы шины LIN постоянно находится под контролем блока управления LIN Master и потому защищен от несанкционированного внешнего доступа (от блоков, размещенных за наружной обшивкой автомобиля), что и позволяет размещать блоки LIN Slave, которые работают только на выполнение команд от LIN Master и не требуют передачи данных на внешних деталях машины. Вмешательство извне затруднено, поэтому, к примеру, блок управления открытием гаражных ворот может располагаться в переднем бампере.
Диагностика шины LIN и всех блоков, сопряженных с этой линией, осуществляется через диагностический разъем. При тестировании происходит имитация обмена между блоками, анализируются ответы от блоков LIN Slave и задающие команды от LIN Master.
1. Новые технологии обмена данными — LIN, MOST, BluetoothTM. Программа самообучения 286.
Автор: Михаил Митин (г. Москва)
Мнения читателей
Нет комментариев. Ваш комментарий будет первый.
Вы можете оставить свой комментарий, мнение или вопрос по приведенному выше материалу:
💡 Видео
Кан шина, что это? Поймет школьник! принцип работыСкачать
Lin-scan (Анализатор ЛИН шины)Скачать
Урок №18. Цифровые интерфейсы современного автомобиля: шины данных CAN и LINСкачать
CAN шина👏 Как это работаетСкачать
Логический LIN пробник, цифровой тестер лин, к лайн шины автомобиля. На Ардуино, OLED I2C, TJA 1020Скачать
Подробно про CAN шинуСкачать
Для чего служит CAN-шина в сигнализацииСкачать
Поиск неисправности ШИНЫ LIN BMW F10Скачать
Главная уязвимость Корейцев - LIN шина // БРИЧКАСкачать
Управление корректором фар по шине LINСкачать
Экспресс диагностика CAN шины на автомобиле. №21Скачать
Компьютерная диагностика авто. K-линия и CAN шинаСкачать
CAN шина простыми словами на примере Nissan X-TrailСкачать
поиск нерабочей can шины, часть дваСкачать
Оживление по шине LIN блока кнопок стеклоподъемников от Mercedes Benz W220Скачать
С чего начать ремонт ЭБУ: Типы шин данных, CANСкачать