Научная статья на тему 'Микроконтроллеры nec для автомобильной электроники'

Микроконтроллеры nec для автомобильной электроники Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
348
104
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гук Игорь, Каршенбойм Иосиф

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Микроконтроллеры nec для автомобильной электроники»

микроконтроллеры

Микроконтроллеры NEC

для автомобильной электроники-2

78 I www.finestreet.ru компоненты

Иосиф КАРШЕНБОЙМ

iosifk@eltech.spb.ru

Введение

Микроконтроллеры 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). Поскольку прием сообщений ведется кадрами, то при приеме кадра необходимо определить, что именно при-

Сеть CAN Шина CAN Сеть CAN+LIN Шина CAN

III 1 1

1 1 1 1 1 1 | Шлюз | /' Т "Т" и (1 II II 1 1 —ft Подсеть LIN —1'Ч— Узлы сети LIN

Рис.3. Фрагмент выполнения сетей CAN и сетей CAN + LIN

Скорость

передачи

бит/сек

25, 6М

20 К

Интерфейсы, применяемые в автотранспорте

byteflight D2B, MOST token ring optical bus

11Н (in definition) time triggered fault tol, dependable 2x2 wire

CAN-C dual wire

CAN-B fault tolerant dual wire

LIN master-slave sigle wire bus no crystal J1850

4,5

Стоимость подключения узла сети в USD -►

10

Рис. 2. Характеристики различных интерфейсов

в зависимости от скорости передачи данных и стоимости подключения к сети

микроконтроллеры

Прием

INTSR M-

INTSRE M-

DIN/DOUT

Управление

Приемом

* Стандартные форматы UART

* Обнаружение ошибок

* Различные установки скорости передачи

* Контроль стол-бита и четности

* Обнаружение SyncH Brake

* Измерение длительности Sync Field LIN контр * Режим Sleep/Wake-Up

RXD

Ж

Ж

Регистры

Передача

INTST-

LIN контр

Управление

Передачей

* Обнаружение SyncH Brake

* Передача Sync Field

* Установка скоростей передачи для LIN

* Режим Sleep/Wake Up

* Стандартные форматы UART

* Обнаружение ошибок

* Различные установки скорости передачи

* Контроль стол-бита и четности

►TXD

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

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

Семейство Разрядность, бит Объем ПЗУ, кбайт Объем ОЗУ, кбайт Число каналов UART/LIN Стандарт/ LIN UART Число каналов CAN

78KG(S) а 2-6G G,1-5 до 2 Стандарт/LIN до 1

78KG/Kx1 а 4-6G G,25-2 до 2 LIN -

V85G(E)(S) 32 G-512 4-32 до 3 Стандарт/LIN до 5

V85GES/Fx2 32 64-512 4-3G до 4 LIN до 4

нимает приемник в текущий момент времени: паузу между кадрами или поле синхронизации. Для этого стандартный 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» выполняет следующие действия:

• посылает синхронизирующую паузу;

• посылает синхронизирующий байт;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• посылает поле идентификатора;

• контролирует байты данных и контрольный байт;

• когда шина неактивна, получает сигнал «WakeUp» от подчиненных узлов, запрашивающих некоторое действие;

• генерирует опорную синхрочастоту для сети (синхрочастота определяется по продолжительности синхронизирующего байта). Заголовок кадра формируется мастером

сети следующим образом:

• «master» выполняет перерыв сигнала, этим он формирует состояние начала кадра;

• «master» выдает байт сигнала начала блока— этот байт служит для определения базы времени (определение интервала времени между двумя положительными фронтами);

Мастер: 1 кОм Слэйв: 30 кОм

UART

-VBAT

■£- Шина-

Мастер: 2,2 нф Слэйв: 220 пФ

£------------GND

Приемник

Фронт

Фронт

Рис. 5. Схема выходного каскада трансивера LIN

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

80 компоненты микроконтроллеры

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

£

Блк master

| Программа Мастера] I программа slave I

Блок

slave

программа slave

Блок

slave

программа slave

bus

старт кадра 13 bit (min)

Межкадровая

пауза

Программа Мастера

поле идентификации 1 byte

поле синхронизации 1 byte

следующий старт кадра

пауза для выработки ответа

поле данных 2,4, ог 8 bytes

поле контр, данных 1 byte

Программа Slave_

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

• «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 — это набор аппаратных и программных инструментов, при помощи которых можно произвести разработку, конфигурацию и обслуживание сети. Программные инструменты позволяют производить обмен данными между программами. Последовательность применения программных инструментов и технологический процесс программирования и отладки показаны на рис. 8.

Таблица 2. Сравнительные характеристики между интерфейсами LIN и CAN

Параметры LIN CAN

Режим управления сетью Только один «мастер» Может быть несколько «мастеров»

Скорость передачи данных, кбит/c 2,4-19,6 62,5-500

multicast message routing 6-разрядный идентификатор 11/29-разрядный идентификатор

Типовое число узлов в сети, узлов 2-10 4-20

Кодирование бит/байт ^ 8Ш (иАРТ) с подстановкой

Байт данных в кадре, байт 2, 4, 8 0-8

Время передачи для 4 байт данных 3,5 мс при 20 кбит/с 0,8 мс при 125 кбит/с

Защита данных от ошибок (data field) 8-разрядная контрольная сумма 15-разрядный циклический избыточный код

Физический уровень, B Одиночный провод, 13,5 Витая пара, 5

Кварц/керамический резонатор нет (кроме мастера) да

Относительная стоимость одного подключения к сети х0,5 х1

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

Скорость передачи данных в сети, кбит/c Тактовая частота центрального процессора, МГц Загрузка центрального процессора, % Объем памяти ЭСППЗУ/ПЗУ, байт Объем ОЗУ, байт

LIN 16-бит master 19,2 4 1G 12GG 25

LIN 8-бит slave без кварца 19,2 4 15 75GG 22

LIN 8-бит slave без кварца 19,2 4 6 65G 2G

CAN 16-бит node 125 а 15 3GGG 15G

микроконтроллеры

Электронный блок управления

Инструменты

Программный

уровень

Операционная система

Програмное обеспечение прикладной задачи

I Интерфейс протокола UN 1 [____к прикладной задаче J

Менеджер базы данных для сигналов

[ Язык конфигурации | [ Язык конфигурации |

Коммуникационный менеджер / Генератор конфигурации \ для сети

Протокол LIN Анализатор шины/ Эмулятор

Аппаратный

уровень

Трансивер LIN

Г Физический уровень I_____сети LIN __________

D

Г Физический уровень I I_____ сети LIN ___________I

Сеть LIN в автомобиле

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

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

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

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

Этот файл конфигурации содержит всю существенную сетевую информацию и является исходным файлом для анализатора сети и менеджера конфигурации, который объединяет

сетевую информацию с информацией о подключаемом оборудовании (ECU) и генерирует задаваемую конфигурацию LIN как &-код.

Этот код конфигурации компилируется совместно с кодом оборудования и загружается как «прошивка» микроконтроллера узла сети. 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) достигаются через четко определенную методику разработки проектов и испытаний на соответствие стандартам интерфейса. ■

Литература

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

i Надоели баннеры? Вы всегда можете отключить рекламу.