микроконтроллеры
Микроконтроллеры 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М
2М
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» выполняет следующие действия:
• посылает синхронизирующую паузу;
• посылает синхронизирующий байт;
• посылает поле идентификатора;
• контролирует байты данных и контрольный байт;
• когда шина неактивна, получает сигнал «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
Главные инструментальные средства — менеджер базы данных сигналов для сети 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