Автомобильный стандарт LIN и микроконтроллеры для его реализации
 

М. Еременко

Автомобильный стандарт LIN и микроконтроллеры для его реализации

как быть, если нужно построить небольшую приборную локальную сеть с низкой скоростью передачи данных и предельно низкой ценой, обеспечив при этом гибкость и простоту? Существенная доля рынка таких устройств — автомобильная электроника: Электроприводы зеркал, электролюк, климат-контроль, АБС, навигационная система, электронное управление впрыском топлива. В статье сделана попытка ответить на этот вопрос.

Протоколы CAN и LIN: особенности и различия

В современном автомобиле электроника выполняет множество функций. Их можно условно разделить на две части: первая — это обеспечение надёжного функционирования основных узлов автомобиля (например, электронное управление двигателем) и обеспечение безопасности (АБС, подушки безопасности и так далее). Ко второй части можно отнести различные электронные системы управления, обеспечивающие комфорт и развлечения пассажиров. В первом случае нужен высоконадёжный, достаточно скоростной канал связи, во втором — простой и дешёвый. Кроме того, оба эти протокола должны быть стандартными, что упростит производителям автомобильной электроники создание унифицированных модулей, пригодных для использования в автомобилях разных производителей. В качестве первого де-факто выступает скоростной промышленный высоконадёжный протокол CAN. Он спроектирован таким образом, чтобы обеспечить надёжную передачу данных от одного узла другому при любых обстоятельствах. Подробнее мы расскажем о нём в одном из следующих номеров журнала. Для низкоскоростной электроники до недавнего времени никаких стандартов не было, и каждый производитель был вынужден придумывать свои собственные системы. И вот совсем недавно был утверждён стандарт LIN.
Технические требования протокола LIN (Local Interconnection Network) разработаны консорциумом европейских автопроизводителей и других известных компаний, включая Audi AG, BMW AG, Daimler Chrysler AG, Motorola Inc., Volcano Communications Technologies AB, Volkswagen AG и VolvoCar Corporation. Протокол LIN предназначен для создания дешёвых локальных сетей обмена данными на коротких расстояниях. Он служит для передачи входных воздействий, состояний переключателей на панелях управления и так далее, а также ответных действий различных устройств, соединённых в одну систему через LIN, происходящих в так называемом “человеческом” временном диапазоне (порядка сотен миллисекунд). Основные задачи, возлагаемые на LIN консорциумом европейских автомобильных производителей — объединение автомобильных подсистем и узлов (таких как дверные замки, стеклоочистители, стеклоподъёмники, управление магнитолой и климат-контролем, электролюк и так далее) в единую электронную систему.
LIN-протокол утверждён Европейским Автомобильным Консорциумом как дешёвое дополнение к сверхнадёжному протоколу CAN. LIN и CAN дополняют друг друга и позволяют объединить все электронные автомобильные приборы в единую многофункциональную бортовую сеть. Причём область применения CAN — участки, где требуется сверхнадёжность и скорость; область же применения LIN — объединение дешёвых узлов, работающих с малыми скоростями передачи информации на коротких дистанциях и сохраняющих при этом универсальность, многофункциональность, а также простоту разработки и отладки. Стандарт LIN включает технические требования на протокол и на среду передачи данных. Как последовательный протокол связи, LIN эффективно поддерживает управление электронными узлами в автомобильных системах с шиной класса “А” (двунаправленный полудуплексный), что подразумевает наличие в системе одного главного (master) и нескольких подчинённых (slave) узлов.


Особенности LIN

Протокол LIN поддерживает двунаправленную передачу данных по одному проводу длиной до 40 м, используя недорогой микроконтроллер с генератором на RC-цепочке, без кварцевого резонатора. Основная идеология — как можно больше задач переложить на программное обеспечение с целью уменьшения стоимости конструкции. Контроллеры автоматически проводят самосинхронизацию при каждой посылке данных.
В основу LIN положена концепция “single-master/multi-slave”, обеспечивающая дешёвое исполнение, основанное на обычных последовательных интерфейсах UART/SCI; как программная, так и аппаратная возможность реализации, самосинхронизирующаяся тактирующая система, работающая от RC-генератора и не требующая кварцевого резонатора для Slave-устройств; гарантированное время ожидания для передаваемого сигнала; дешёвое однопроводное исполнение и скорость до 20 Кбит/с. Возможен перевод шины в режим микропотребления “Sleep”, когда она выключается с целью уменьшения потребляемого тока, но любой узел на шине при необходимости может включить её вновь. Основное отличие протокола LIN от шины CAN заключается в низкой стоимости за счёт пониженной эффективности.
Структура шины представляет собой нечто среднее между I2C и RS232. Шина подтягивается вверх к источнику питания через резистор в каждом узле и вниз через открытый коллекторный переход приёмопередатчика, как в I2C. Но вместо стробирующей линии, каждый передаваемый байт обрамляется стартовым и стоповым битами и передаётся асинхронно, как в RS-232.

На рис. 1 показана типовая конфигурация шины LIN. Для обмена данными используется один сигнальный провод, в каждом узле подтянутый к источнику питания через резистор. В качестве выходного каскада используется транзистор с открытым коллектором. Активным состоянием является низкий уровень на шине данных, в это состояние её может перевести любой узел. В пассивном состоянии напряжение на шине близко к Vbat (9–18 В). Это означает, что все узлы находятся в неактивном состоянии. Диапазон изменений напряжения питания — в пределах 9…18 В, но все узлы должны выдерживать перегрузки и сохранять работоспособность при увеличении напряжения на шине вплоть до 40 В. Обычно микроконтроллер в каждом узле подключен к шине через приёмопередатчик, который и обеспечивает защиту от перегрузок. Это позволяет использовать обычный микроконтроллер с напряжением питания 5 В, в то время как сама шина работает на больших напряжениях.

Шина в каждом узле подтягивается к напряжению питания (Vbat). Для устройства-задатчика (master) значение терминального резистора составляет 1 кОм, для устройств-исполнителей (slave) — 20…47 кОм. Максимальная длина шины составляет 40 м.
Протокол LIN подразумевает использование RC-цепочки в качестве задающего генератора микроконтроллеров исполнителей. Поэтому каждое сообщение содержит поле синхронизации и каждый исполнитель обязан подстроить по этому полю частоту своего приёмопередатчика. Для того, чтобы определить время передачи одного бита, необходимо засечь время четырёх периодов стартовой посылки, разделить на 8 и округлить (рис. 4).

В идентификационном поле сообщается информация о том, что же, собственно, последует дальше. Поле идентификации (рис. 5)

разделено на три части: четыре бита (0-3) содержат адрес исполнителя, с которым будет производиться обмен информацией, два бита (4-5) указывают количество передаваемых байт и последние два бита (6-7) используются для контроля чётности. Четыре бита адреса могут выбирать одного из 16-ти исполнителей, каждый из них может отвечать 2-мя, 4-мя, или 8-ю байтами, таким образом получаем 64 типа различных сообщений на шине. Спецификация LIN не устанавливает каких-либо жёстких рамок на передаваемую информацию (за исключением команды “Sleep”), оставляя свободу творчества для программистов.
Задатчик может послать команду всем исполнителям перейти в микромощный режим (Sleep), выставив в поле идентификации байт 0х80). Исполнители, приняв его, освобождают шину и переходят в “спящий” режим с выходом из него по изменению состояния на шине. Любой исполнитель может активизировать шину, передав байт 0х80. После этого все узлы ожидают дальнейших опросов задатчика в обычном режиме.


Программная реализация

Протокол LIN можно организовать программно на любом микроконтроллере, выпускаемом фирмой Microchip (рис. 6).

Очень удобно для этих целей применять малогабаритные и дешёвые PIC16C508 и PIC16C505. На сайте компании www.microchip.com находится пример такой конструкции и приведён исходный текст программы микроконтроллера (Application Note AN729).


Аппаратная реализации

Для удобства проектирования встроенных систем управления для автомобильной электроники, Microchip Technology Inc. представила семейство из двух микроконтроллеров PIC16C432 и PIC16C433 с аппаратно-встроенным приёмопередатчиком автомобильного протокола обмена данных LIN. Эти микроконтроллеры содержат на кристалле аппаратный приёмопередатчик, и его не придётся создавать на отдельных элементах.
При классической архитектуре, PIC16C432/433 имеет 2Кґ14бит слов однократно программируемой программной памяти и 128 байт оперативной памяти данных. Имея на одном кристалле микроконтроллер и приёмопередатчик LIN в корпусе с 18 и 20 выводами, можно до предела сократить количество внешних навесных деталей, повысив при этом надёжность устройства в целом. А наличие 4-канальных 8-бит АЦП позволяет обрабатывать аналоговые сигналы.
Другими встроенными модулями являются 8-разрядный счётчик/таймер реального времени с 8-разрядным предварительным делителем, выход из “спящего” режима по изменению сигнала на шине и встроенный приёмопередатчик LIN, для работы которого необходимо лишь наличие напряжения питания на шине 12 В. Специальные возможности микроконтроллеров поддерживают внутрисхемное программирование (ICSP™), power-on reset (POR), power-up timer (PWRT), oscillator start-up timer (OST), режим пониженного энергопотребления “Sleep”, возможность выбора типа задающего генератора и сторожевой таймер (WDT) с отдельным RC-генератором для повышения надёжности. PIC16C432 также имеет функцию brown-out reset (BOR).


Средства разработки и отладки

Компания Microchip предлагает полный программно-аппаратный комплект для разработки систем на базе микроконтроллеров и протокола LIN, призванный уменьшить время, необходимое для разработки, повысить интенсивность труда и таким образом снизить затраты на разработку в целом и сократить время выхода готового изделия на рынок. Всё программное обеспечение создаётся при помощи бесплатной среды MPLABд, доступной на сайте компании. Предлагается стартовый комплект, содержащий демонстрационную плату с узлами-исполнителями, и устройство-задатчик, которое может обмениваться данными с исполнителями и выдавать принимаемую информацию через последовательный порт RS-232 на персональный компьютер. Комплект состоит из девяти различных плат, соединяющихся с двумя раздельными панелями:

  • 1 плата управления;
  • 1 плата Master устройства LIN Bus;
  • 3 привода устройств LIN Bus;
  • 2 макетные платы для устройств LINBus;
  • 1 привод управления креслом;
  • 1 плата декодера системы доступа.

В комплект также входит всё необходимое программное обеспечение, в том числе исходные тексты программ для устройств Master/Slave на ассемблере.

 
Автор документа: Сергей Гаврилюк , http://www.gaw.ru"
Дата публикации: 08.08.2007
Дата редактирования: 08.08.2007
Кол-во просмотров 11895
 
 Все новости одной лентой