Автомобильный стандарт 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 В, в то время как сама шина работает на больших напряжениях.

Рисунок 1.

Шина в каждом узле подтягивается к напряжению питания (Vbat). Для устройства-задатчика (master) значение терминального резистора составляет 1 кОм, для устройств-исполнителей (slave) - 20┘47 кОм. Максимальная длина шины составляет 40 м.

Рисунок 2.

Рисунок 3.

Протокол LIN подразумевает использование RC-цепочки в качестве задающего генератора микроконтроллеров исполнителей. Поэтому каждое сообщение содержит поле синхронизации и каждый исполнитель обязан подстроить по этому полю частоту своего при╦мопередатчика. Для того, чтобы определить время передачи одного бита, необходимо засечь время четыр╦х периодов стартовой посылки, разделить на 8 и округлить (рис. 4).

Рисунок 4.

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

Рисунок 5.

Задатчик может послать команду всем исполнителям перейти в микромощный режим (Sleep), выставив в поле идентификации байт 0х80). Исполнители, приняв его, освобождают шину и переходят в "спящий" режим с выходом из него по изменению состояния на шине. Любой исполнитель может активизировать шину, передав байт 0х80. После этого все узлы ожидают дальнейших опросов задатчика в обычном режиме.

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

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

Рисунок 6.

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

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

Для удобства проектирования встроенных систем управления для автомобильной электроники, Microchip Technology Inc. представила семейство из двух микроконтроллеров PIC16C432 и PIC16C433 с аппаратно-встроенным при╦мопередатчиком автомобильного протокола обмена данных LIN. Эти микроконтроллеры содержат на кристалле аппаратный при╦мопередатчик, и его не прид╦тся создавать на отдельных элементах.

При классической архитектуре, PIC16C432/433 имеет 2К╢14бит слов однократно программируемой программной памяти и 128 байт оперативной памяти данных. Имея на одном кристалле микроконтроллер и при╦мопередатчик LIN в корпусе с 18 и 20 выводами, можно до предела сократить количество внешних навесных деталей, повысив при этом над╦жность устройства в целом. А наличие 4-канальных 8-бит АЦП позволяет обрабатывать аналоговые сигналы.

Другими встроенными модулями являются 8-разрядный сч╦тчик/таймер реального времени с 8-разрядным предварительным делителем, выход из "спящего" режима по изменению сигнала на шине и встроенный при╦мопередатчик LIN, для работы которого необходимо лишь наличие напряжения питания на шине 12 В. Специальные возможности микроконтроллеров поддерживают внутрисхемное программирование (ICSPTM), 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 на ассемблере.







Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.