Подписка на новости

Опрос

Нужны ли комментарии к статьям? Комментировали бы вы?

Реклама

 

2006 №1

Микроконтроллеры NEC для автомобильной электроники. Часть 2

Каршенбойм Иосиф


Все статьи цикла:

Введение

Микроконтроллеры NEC разрабатывались для ответственных применений. Они сертифицированы по «автомобильному» стандарту и работают в промышленном диапазоне температур (–40…+85 °С). Модельный ряд этих МК содержит множество вариантов с различными объемами встроенной памяти и наборами стандартной периферии, а также большое число корпусов. Есть возможность перепрограммирования в системе и аппаратная поддержка памяти, повышающая надежность ее работы.

Из особенностей микроконтроллеров NEC нужно отметить две: порт UART поддерживает стандарт шины LIN (Local Interconnect Network); МК имеют встроенный контроллер ЖКИ.

Каждый европейский (даже не японский) автомобиль Peugeot 206 имеет «на борту» 27 микроконтроллеров фирмы NEC. А есть еще и Ford, и GM Rover, и Toyota. А в дорогих и престижных машинах число микроконтроллеров может быть значительно больше.

Как же организована работа такого «стада» микроконтроллеров? В современном автомобиле для объединения микроконтроллеров используется сеть. Пример организации сети для автомобиля приведен в документации [1], а фрагмент такой сети показан на рис. 1. Наиболее распространенным стандартом сети в данном сегменте рынка на сегодняшний день является CAN. Примеры использования сети CAN достаточно широко описаны. Но помимо нее набирает популярность и сеть LIN. Сеть LIN поддерживают все передовые изготовители микросхем для промышленности и автоэлектроники.

Организация сети в автомобиле
Рис. 1. Организация сети в автомобиле. Фрагмент сети для передних сидений

Описание сети LIN

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

LIN дополняет шину CAN, занимая те места в сети, для которых не требуется высокая производительность [2, 3]. На рис. 2 приведена диаграмма характеристик различных интерфейсов в зависимости от скорости передачи данных и стоимости подключения к сети. Сети LIN обычно выполняются как подсети CAN и подключаются к межсетевым контроллерам CAN-LIN. На рис. 3 показан фрагмент выполнения сетей CAN и сетей CAN + LIN.

Характеристики различных интерфейсов
Рис. 2. Характеристики различных интерфейсов в зависимости от скорости передачи данных и стоимости подключения к сети
Фрагмент выполнения сетей CAN и сетей CAN + LIN
Рис. 3. Фрагмент выполнения сетей CAN и сетей CAN + LIN

Концепции интерфейса LIN:

  • дешевый однопроводной интерфейс в соответствии с ISO 9141;
  • скорость в линии до 20 кбит/с, ограниченная для улучшенной электромагнитной совместимости;
  • один ведущий микроконтроллер («master») — множество ведомых («slave»);
  • не требует арбитража;
  • не требует дополнительных аппаратных средств, в основе использования обычный порт UART/SCI;
  • ведомые микроконтроллеры производят самосинхронизацию по ведущему микроконтроллеру сети;
  • гарантированная задержка при передаче сообщений.

Реализация сетей LIN на микроконтроллерах фирмы NEC

Микроконтроллеры фирмы NEC Electronics, содержащие новый усовершенствованный LIN UART, работают в сетях LIN как «master» или «slave». Фирма NEC Eletronics дополнила ядро UART специальными функциями для того, чтобы облегчить обработку заголовков кадров LIN микроконтроллерами, оптимизированными как по скорости выполнения, так и по объему кода.

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

Блок-схема ядра UART микроконтроллеров 78К
Рис. 4. Блок-схема ядра UART микроконтроллеров 78К

Семейство 8-разрядных микроконтроллеров 78K0 фирмы NEC Electronic используется в сети LIN в основном, в качестве устройств «slave», в то время как 32-разрядное семейство V850 оптимизировано для использования в качестве устройств «master» для создания межсетевого контроллера CAN/LIN. Характеристики этих микроконтроллеров приведены в таблице 1.

Таблица 1. Характеристики микроконтроллеров 78K0 и V850
Характеристики микроконтроллеров 78K0 и V850

Стандарт LIN

Стандарт LIN охватывает спецификацию протокола передачи, среды передачи, интерфейс между программными и инструментальными средствами.

Приведем краткое описание некоторых частей стандарта LIN.

Физический уровень интерфейса

Прием и передача осуществляется по однопроводному интерфейсу в соответствии со стандартом ISO 9141. Схема выходного каскада и диаграмма уровней напряжения в линии для приемника и передатчика показаны на рис. 5 и 6 соответственно. Выходные напряжения для передатчика должны соответствовать следующему условию: низкий/высокий уровни передатчика — макс. 20%/мин. 80% VBAT, где VBAT — напряжение бортовой сети электропитания.

Схема выходного каскада трансивера LIN
Рис. 5. Схема выходного каскада трансивера LIN
Диаграмма уровней напряжения в линии
Рис. 6. Диаграмма уровней напряжения в линии для приемника и передатчика трансивера LIN

Входные напряжения для приемника должны соответствовать следующему условию: низкий/высокий уровни приемника — мин. 40%/макс. 60% VBAT, где VBAT — напряжение бортовой сети электропитания.

Скорость нарастания напряжения в линии 1–2 В/мкс.

Уровень передачи данных LIN. Протокол передачи для «master» и «slave»

В передаче данных по сети участвуют как минимум два абонента сети: «master» и «slave». Соответственно, протокол передачи данных может быть описан как последовательность действий, выполняемая двумя этими абонентами (рис. 7).

Передача данных по сети LIN
Рис. 7. Передача данных по сети LIN

«Master» сети выполняет управление обменом данными по шине. Он определяет, кто и какое сообщение будет передавать по шине. Он также ведет обработку ошибок, возникающих при работе шины.

Для организации обмена данными по шине «master» выполняет следующие действия:

  • посылает синхронизирующую паузу;
  • посылает синхронизирующий байт;
  • посылает поле идентификатора;
  • контролирует байты данных и контрольный байт;
  • когда шина неактивна, получает сигнал «WakeUp» от подчиненных узлов, запрашивающих некоторое действие;
  • генерирует опорную синхрочастоту для сети (синхрочастота определяется по продолжительности синхронизирующего байта).

Заголовок кадра формируется мастером сети следующим образом:

  • «master» выполняет перерыв сигнала, этим он формирует состояние начала кадра;
  • «master» выдает байт сигнала начала блока — этот байт служит для определения базы времени (определение интервала времени между двумя положительными фронтами);
  • «master» выдает байт «поле идентификатора». Этот байт содержит информацию об отправителе, получателе (или получателях), цели и длине поля данных. Шесть битов этого поля содержат информацию о длине посылки. Возможны посылки, содержащие 2, 4 или 8 байтов данных. Кодирование длины посылки находится в двух старших битах поля идентификатора. Всего возможно 64 идентификатора сообщений. 2 дополнительных бита четности защищают поле идентификатора от ошибок.

Функции, выполняемые абонентом «slave»

  • «slave»является одним из абонентов на шине (коих может быть от 2 до 16) и получает или передает данные только тогда, когда «master» посылает соответствующий идентификатор;
  • «slave» ждет синхронизирующего перерыва;
  • «slave» синхронизируется на синхронизирующем байте;
  • «slave» проверяет приходящий из сети идентификатор на соответствие своему адресу в сети;
  • согласно идентификатору «slave» решает, что ему необходимо делать — получать, передавать данные или не делать ничего;
  • при передаче «slave» посылает 2, 4 или 8 байтов данных и контрольный байт;
  • узел сети, служащий ведущим устройством, может быть также и ведомым.

Итак, основой сети LIN является способ определения начала кадра для передачи сообщения. В MCS-51 для этой цели использовался бит четности. В интерфейсе LIN для определения начала кадра используется 13-битный интервал низкого уровня. Даже если приемник получает посылки данных с кодом 0х0 нормальной длительности (в коде 8N1), то это не соответствует 13-битному интервалу низкого уровня. Таким образом, только в том случае, если приемник получает посылку данных с 13-битным интервалом низкого уровня, он переходит к ожиданию приема посылки синхронизации с кодом 0х55. Посылка синхронизации имеет нормальную длительность, соответствующую номинальной скорости передачи данных в сети. Получив такую посылку, приемник начинает обрабатывать заголовок кадра.

Подробное описание работы сети LIN с примерами программирования для микроконтроллеров серии V85x и 78K0 можно найти в специальной литературе [4, 5].

Предсказуемость работы сети LIN

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

В таблице 2 приводятся сравнительные характеристики между интерфейсами LIN и CAN. В таблице 3 приводится информация по необходимому объему памяти и по загрузке микроконтроллеров при решении задач передачи данных по интерфейсам LIN и CAN.

Таблица 2. Сравнительные характеристики между интерфейсами LIN и CAN
Сравнительные характеристики между интерфейсами LIN и CAN
Таблица 3. Необходимый объем памяти и загрузка микроконтроллеров при решении задач передачи данных по интерфейсам LIN и CAN
Необходимый объем памяти и загрузка микроконтроллеров

Программные инструменты

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

Последовательность применения программных инструментов
Рис. 8. Последовательность применения программных инструментов и технологический процесс программирования и отладки

Главные инструментальные средства — менеджер базы данных сигналов для сети LIN Database Manager (LDM), конфигурационный менеджер LIN (LIN Configuration Tool — LCFG), программный компилятор и компоновщик, а также инструмент анализа шины (LINspector).

Менеджер базы данных сигналов — инструмент для определения, конфигурации и обслуживания сетей LIN. Это программа, выполняемая на ПК с ОС Windows, которая фиксирует все свойства проекта LIN, включая определение сигналов, узлов, интерфейсов и требований ко времени ожидания.

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

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

Этот файл конфигурации содержит всю существенную сетевую информацию и является исходным файлом для анализатора сети и менеджера конфигурации, который объединяет сетевую информацию с информацией о подключаемом оборудовании (ECU) и генерирует задаваемую конфигурацию LIN как Cи-код.

Этот код конфигурации компилируется совместно с кодом оборудования и загружается как «прошивка» микроконтроллера узла сети. LIN Application Programmer´s Interface (API) позволяет разработчику программного обеспечения выполнять программирование, абстрагируясь от подробностей передачи данных, и это позволяет построить систему, для которой прикладной код может быть разработан независимо от той функции, которую выполняет данный абонент сети.

Для удобства работы с базой данных сигналов сети LIN был разработан язык описания конфигурации LIN, который описывает формат файла конфигурации LIN. Этот язык используется для конфигурирования сети и служит общим интерфейсом между производителем комплексного оборудования и поставщиками различных сетевых узлов, а также для ввода данных в программные инструментальные средства разработки и анализа. Соотношение между программными и аппаратными инструментами для интерфейса LIN показано на рис. 9.

Соотношение между программными и аппаратными инструментами для интерфейса LIN
Рис. 9. Соотношение между программными и аппаратными инструментами для интерфейса LIN

Выводы

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

Шина LIN применяется в тех приложениях, где требуется управление оборудованием при низкой стоимости подключения к сети. Это позволяет стандартизировать проектирование и значительно сокращает трудозатраты при подключении к сети таких приборов, как датчики и приводы. В спецификации шины LIN 2.0 появилась поддержка режима Plug and Play.

Фирма NEC Electronics разработала специальные аппаратные дополнения к ядру UART (LIN UART) и предлагает исходные коды драйверов «master» и «slave» для работы в сети LIN.

Стандарт LIN — это не просто «бумажный» документ. Уже сегодня изготовители автомобилей поставляют свою продукцию с магистральными системами LIN.

Широкий диапазон инструментальных средств отладки и контроля, аппаратных и программных компонентов доступен на рынке уже сегодня.

Высокое качество работы и способность к взаимодействию (Plug and Play) достигаются через четко определенную методику разработки проектов и испытаний на соответствие стандартам интерфейса.

Литература

  1. http://www.ee.nec.de/_pdf/U17575EE1V0PF00.PDF
  2. LIN Specification www.LIN-subbus.org
  3. LIN Application Note www.ee.nec.de/LIN
  4. «NEC V85x — 78k0 — 78k0S Single-Chip Microcontroller Standalone NEC LIN-driver for Master and Slave» Application Note; www.eu.necel.com/applications/automotive/documents/EACT_AN-5502_2_2.pdf
  5. Introduction to LIN. Hans-Christian von der Wense. introduction_to_lin.pdf.
  6. http://www.computer-solutions.co.uk/gendev/can-lite.htm

Скачать статью в формате PDF  Скачать статью Компоненты и технологии PDF

 


Другие статьи по данной теме:

Сообщить об ошибке