Микроконтроллеры NEC для автомобильной электроники. Часть 2
Все статьи цикла:
- Микроконтроллеры NEC для автомобильной электроники. Часть 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 поддерживают все передовые изготовители микросхем для промышленности и автоэлектроники.

Описание сети LIN
LIN — новый интенсивно развивающийся стандарт сетей для использования в промышленности и в автомобильном транспорте. Основное его преимущество — низкая стоимость подключения к сети. Интерфейс LIN поддерживается всеми ведущими поставщиками электронных компонентов для автоэлектроники.
LIN дополняет шину CAN, занимая те места в сети, для которых не требуется высокая производительность [2, 3]. На рис. 2 приведена диаграмма характеристик различных интерфейсов в зависимости от скорости передачи данных и стоимости подключения к сети. Сети LIN обычно выполняются как подсети 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.

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

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


Входные напряжения для приемника должны соответствовать следующему условию: низкий/высокий уровни приемника — мин. 40%/макс. 60% VBAT, где VBAT — напряжение бортовой сети электропитания.
Скорость нарастания напряжения в линии 1–2 В/мкс.
Уровень передачи данных LIN. Протокол передачи для «master» и «slave»
В передаче данных по сети участвуют как минимум два абонента сети: «master» и «slave». Соответственно, протокол передачи данных может быть описан как последовательность действий, выполняемая двумя этими абонентами (рис. 7).

«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.

по интерфейсам LIN и CAN

Программные инструменты
LIN — это набор аппаратных и программных инструментов, при помощи которых можно произвести разработку, конфигурацию и обслуживание сети. Программные инструменты позволяют производить обмен данными между программами. Последовательность применения программных инструментов и технологический процесс программирования и отладки показаны на рис. 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 охватывает спецификацию протокола передачи, среды передачи, взаимодействие инструментальных средств разработки с интерфейсами для передачи параметров из одной программы в другую. LIN гарантирует способность к взаимодействию сетевых узлов с точки зрения аппаратных средств и программного обеспечения, а также электромагнитную совместимость сетевых узлов.
Шина LIN применяется в тех приложениях, где требуется управление оборудованием при низкой стоимости подключения к сети. Это позволяет стандартизировать проектирование и значительно сокращает трудозатраты при подключении к сети таких приборов, как датчики и приводы. В спецификации шины LIN 2.0 появилась поддержка режима Plug and Play.
Фирма NEC Electronics разработала специальные аппаратные дополнения к ядру UART (LIN UART) и предлагает исходные коды драйверов «master» и «slave» для работы в сети LIN.
Стандарт LIN — это не просто «бумажный» документ. Уже сегодня изготовители автомобилей поставляют свою продукцию с магистральными системами LIN.
Широкий диапазон инструментальных средств отладки и контроля, аппаратных и программных компонентов доступен на рынке уже сегодня.
Высокое качество работы и способность к взаимодействию (Plug and Play) достигаются через четко определенную методику разработки проектов и испытаний на соответствие стандартам интерфейса.
Литература
- http://www.ee.nec.de/_pdf/U17575EE1V0PF00.PDF
- LIN Specification www.LIN-subbus.org
- LIN Application Note www.ee.nec.de/LIN
- «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
- Introduction to LIN. Hans-Christian von der Wense. introduction_to_lin.pdf.
- http://www.computer-solutions.co.uk/gendev/can-lite.htm