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