122
www.finestreet.ru
компоненты
микроконтроллеры
Геннадий ГОРЮНОВ
gennady.gr@eltech.spb.ru
Новые микроконтроллеры NEC
с малым количеством выводов и области их применения
До недавнего времени электронные устройства, выполняющие простые функции, разрабатывались на дискретных элементах. Речь идет, например, о задачах управления электродвигателями, электронных балластах люминесцентных ламп, устройствах контроля и управления освещенностью, устройствах заряда аккумуляторов, телеметрических датчиках и т. п. В последнее время при разработке перечисленных выше устройств становится экономически обоснованным применение недорогих микроконтроллеров с малым количеством выводов.
В этом году компания ЫЕС Екйгошсэ расширила семейство микроконтроллеров К_Ыпе выпуском новых 8-разрядных микроконтроллеров с малым количеством выводов 78К08/Кх1+ (табл. 1). И это несмотря на то, что в программе поставок ЫЕС ЕкСтошсз уже имеется более 240 видов 8-разрядных микроконтроллеров общего назначения и 10 видов специализированных микроконтроллеров. Такое многообразие «кристаллов» позволяет разработчику выбрать для своего приложения микроконтроллер с наиболее оптимальной ценой, периферией, объемом памяти и количеством выводов.
Таблица 1. Семейство микроконтроллеров ИБО с малым количеством выводов
Flash SSOP16 78K0S/KY1+ SSOP2Û 78K0S/KA1+ SSOP3Û 78K0S/KB1+
8 КБ UPD78F9234 (ОЗУ: 256 Б)
4 КБ UPD78F9212 (ОЗУ: 128 Б) UPD78F9222 (ОЗУ: 256 Б) UPD78F9232 (ОЗУ: 256 Б)
2 КБ UPD78F9211 (ОЗУ: 128 Б) UPD78F9221 (ОЗУ: 128 Б)
1 КБ UPD78F9210 (ОЗУ: 128 Б)
тооо/тюю
16-раэрядный таймер/счетчик событий 00
-разрядный таймер 80 (78K0S/KB1+) (78K0S/KA1+)
8-разрядный
таймер Н1
О
о
о
Ring-OSC 240 кГц
Сторожевой
таймер
RxD6 TxD6 -
П ослед овател ьный интерфейс UART6 (78K0S/KB1+) (78K0S/KA1+)
О
о
ANI0-ANI3 Г~ГЛ AVref ----------
□Z±>
Контроллер прерываний 2/4 внешних 5/9 внутренних
о
Flash-
Ядро память
7 8 КОБ 1/2/4/
8 КБ
IF
ЗЕ
Внутреннее высокоскоростное ОЗУ 128/256 Б
О (78K0S%B,+) <^>Р00-Р03
vi> Порт 2 <V|>P20-P23
П°РТ 3
О П°РТ 4
О
О
-Р34
Порт 12
(78K0S/KA1+)
(78K0S/KB1+)
Порт 13
(78K0S/KA1+)
(78K0S/KB1+)
О
Power on clear/ low voltage indicator
/і_к Умножитель 8x8
VV (78K0S/KB1+)
^ Узел сброса
О
Системный контроль
Ртд-ОБС 8 МГц
RESET/P34
- Х1/Р121
- Х2/Р122
Рис. 1. Обобщенная структурная схема микроконтроллеров подгрупп 78К0в/КУ1+, 78К0в/КД1+ и 78К0в/КВ1+ Примечание под рисунком 1: в скобках помечены подгруппы, в схему которых входит данный узел
Основные технические характеристики микроконтроллеров 78К08/Кх1+:
• процессорное ядро 78К0Э;
• объем БЫИ-памяти: 1/2/4/8 КБ;
• объем ОЗУ: 128/256 Б;
• количество выводов: 16/20/30;
• максимальная тактовая частота: 10 МГц;
минимальное время выполнения инструкции: 200 нс (10 МГц); диапазон питающих напряжений: 2,0-5,5 В; 4-канальный 10-разрядный АЦП (время преобразования до 3,6 мкс); аппаратный умножитель (для 78К08/КБ1+).
микроконтроллеры
Система команд
Обобщенная структурная схема микроконтроллеров с малым количеством выводов семейства 78K0S/Kx1 + приведена на рис. 1. Микроконтроллеры построены на основе CISC ядра 78K0S.
Длина команды ядра 78K0S варьируется от 1 до 4 байт, однако если сравнить ее с системами команд AVR или PIC16, можно увидеть, что аналогичные команды ядра NEC имеют равную или меньшую длину (в сравнении с соответствующими командами микроконтроллеров Atmel и Microchip). Многие процессорные команды микроконтроллеров NEC просто не имеют аналогов.
Система команд 78K0S имеет 4 типа адресации команд (прямая, короткая прямая, относительная и косвенная табличная) и 7 типов адресации операндов (прямая, короткая прямая, регистровая, косвенная регистровая, стековая, базовая и адресация регистров специального назначения).
Например, при использовании короткой прямой адресации операндов в арифметических командах и командах передачи данных используется 2-байтовый формат инструкций, что соответствует длине команд микроконтроллеров AVR и PIC16.
В системе команд 78K0S наряду с обычной
3-байтовой процедурой вызова подпрограмм (CALL) имеется однобайтовая процедура вызова подпрограмм (CALLT). При использовании команды CALLT полный адрес вызываемой подпрограммы хранится в специальной области памяти (косвенная табличная адресация), а в теле программы используется сокращенный однобайтовый код.
Нетрудно понять, что при интенсивном использовании подпрограмм использование команды CALLT позволяет достичь высокого уровня оптимизации кода. Микроконтроллеры подгруппы 78K0S/KB1+ имеют узел аппаратного 8-разрядного умножения. Система команд 78K0S поддерживает 16-разрядные операции передачи данных, сложения, вычитания и даже сравнения. Описание системы команд ядра 78K0S на русском языке можно найти в Интернете [1].
Периферийные устройства
В таблице 2 приведены сравнительные характеристики микроконтроллеров одного и того же класса от производителей NEC, Atmel и Microchip. Рассмотрим периферийные устройства микроконтроллеров с малым количеством выводов от NEC на примере использования их в различных прикладных задачах (рис. 2-7).
8- и 16-разрядные таймеры-счетчики найдут применение в DC/DC-преобразователях интеллектуальных зарядных устройств (рис. 2), схемах управления электродвигателями (рис. 3) и т. п., исходные коды и принципиальные схемы упомянутых выше решений можно найти на сайте NEC [2-4].
Таблица 2. Сравнительная таблица параметров микроконтроллеров с малым количеством выводов
Произво- дитель Микро- контроллер Напряжение питания, B Flash/ОЗУ Макс. тактовая частота, МГц Мин. время исполнения инструкции, мкс Количество выводов/ портов ВВ Макс. скорость преобразования АЦП UART LIN Таймеры
NEC MPD78F9222 2,0—5,5 4 КБ/256 Б 10 200 нс 20/17 3,6 мкс Есть Есть 2х8-бит 1х16-бит 1 сторожевой
Atmel ATtiny26L 2,7—5,5 2 КБ/128 Б 8 125 нс 20/16 65 мкс Нет Нет 1 х8-бит 1х16-бит 1 сторожевой
Microchip PIC16F819 2,0—5,5 3,6 КБ/256 Б 20 200 нс 20/16 19,72 мкс Нет Нет 2х8-бит 1х16-бит 1 сторожевой
Charging supply
«Buck» step-down converter
Vbatt
GPIO = General Purpose Input/Output
Рис. 2. Зарядное устройство
Vdd
Fuse
Zero Crossing Detector
Рис. 3. Устройство управления однофазным электродвигателем
Таймеры могут работать в различных ре- ных прерываний, подсчет количества внеш-жимах, таких как генерирование интерваль- них событий, измерение длительности внеш-
124
компоненты
микроконтроллеры
-Є
Рис. 7. Применение микроконтроллеров 78K0S/Kx1+ в детекторах
Рис. 5. Диммер
него импульса, генерирование периодического сигнала прямоугольной формы, генерирование сигнала PPG, генерирование коротких одиночных импульсов и т. п.
UART-интерфейс находит широкое применение в развивающихся системах цифрового управления диммеров (регуляторы для управления яркостью ламп), построенных на основе интерфейса DALI (Digital Addressable Lighting Interface) (рис. 4, 5). Исходные коды и принципиальную схему для них также можно найти [5].
UART-интерфейс микроконтроллеров 78K0S/Kx1+ имеет поддержку шины LIN. Интерфейс LIN был разработан для промышленных и автомобильных применений в качестве недорогой низкоскоростной (до 20 кбод), альтернативы интерфейса CAN (рис. 6). Он используется в системах закрывания дверей, в стеклоподъёмниках, системах управления креслами автомобиля, для работы «интеллектуальных» сенсоров и приводов. Исходные коды драйверов LIN можно найти в Интернете [6].
Даже на борту самого маленького микроконтроллера семейства 78K0S/Kx1+ имеется
4-канальный 10-разрядный АЦП. АЦП микроконтроллеров NEC один из самых быстрых в своем классе (время преобразования до 3,6 мкс). Такой АЦП находит применение в недорогих интеллектуальных детекторах огня, задымления, движения, проникновения в помещение, «световой барьер» и т. д. (рис. 7).
Подробное техническое описание микроконтроллеров семейства 78K0S/Kx1+ можно найти на сайте NEC [7]. Там же находится множество схем применения с исходными кодами [8].
Надежность
Микроконтроллеры построены на основе SST Flash-памяти, имеют одно напряжение программирования и поддерживают возможности внутрисхемного программирования и «самопрограммирования».
Залогом высокой надежности и защищенности кода является встроенный алгоритм коррекции ошибок памяти (ECC) (рис. 8), встроенная защита от бросков напряжения питания и специальный интерфейс, обеспечивающий закрытость доступа к памяти.
Цена
Не секрет, что типичные микроконтроллеры с малым количеством выводов оптимизированы по цене, вследствие чего имеют ограниченный объем памяти, так как цена контроллера напрямую зависит от размера кристалла.
Кроме того, обычно небольшие микроконтроллеры имеют не более 2 подвидов памяти, отличающихся объемом, что не позволяет оптимально сбалансировать цену и функциональную насыщенность микроконтроллера.
микроконтроллеры компоненты
Програм-
мирование
Flash
Чтение
Flash
hi 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Ik
* Л
Биты данных
Ml I I I I I I I I I I I I I I I I I I I I I I I I I I I I I |32|
т г Логика восстановления данных
ИТТТТТТм I I I I I I I I I I I I I I I I I I I I I I ■
кода ЕСС
Ї Биты ЕСС J ■lil ill і « і
Во время процедуры записи происходит аппаратное формирование корректирующих битов ЕСС, которые записываются в специальную область Е1а8й-памяти. Во время процедуры чтения декодирующая логика может использовать сохраненные корректирующие биты для быстрого восстановления единичного отказа бита данных.
Исходные данные
Битовые ячейки Flash-пэмяти с отказом не более 1 разряда
Рис. 8. Повышение надежности Flash-памяти за счет кодов коррекции
Микроконтроллеры семейства 78K0S/Kx1 + включают больший объем памяти в кристалл меньший, чем когда-либо. Таким образом, все микроконтроллеры семейства 78K0S/Kx1 + имеют цену меньше 1 евро при закупках партии в 500 шт.
Средства разработчика
Для начала работы с микроконтроллерами семейства 78K0S/Kx1+ достаточно приобрести за 30 евро оценочный комплект [9]. В состав оценочного комплекта входит программное обеспечение IAR Embedded Workbench, позволяющее создавать программы практически для всех микроконтроллеров семейства 78K0S/Kx1+.
Программное обеспечение от IAR содержит Си-компилятор, ассемблер и симулятор. Оценочный комплект может использоваться как внутрисхемный программатор. Для включения этого комплекта даже не потребуется дополнительный источник питания, так как питание осуществляется от управляющего компьютера через порт USB. Для целей разработки также можно использовать недорогой полнофункциональный эмулятор [10].
Выводы
Итак, новые микроконтроллеры NEC с малым количеством выводов позволяют оптимально решать задачи управления разнооб-
разными устройствами, такими как интеллектуальные датчики, устройства управления электродвигателями, автоэлектроника, промышленная автоматика, системы «умный дом» и т. п. Микроконтроллеры легки в освоении и имеют удобные недорогие средства разработчика. ■
Литература
1. http://www.eltech.spb.ru/pdf/nec/ 78K0S_User_Manual.pdf
2. http://www.eu.necel.com/_pdf/ U17173EE1V0AN00.PDF
3. http://www.eu.necel.com/_pdf/ U17688EE1V0AN00.PDF
4. http://www.eu.necel.com/_pdf/ U16498EE1V1AN00.PDF
5. http://www.eu.necel.com/_pdf/ U17333EE1V0AN00.PDF
6. http://www.eu.necel.com/_pdf/ EACT-AN-5502-2_2.PDF
7. http://www.eu.necel.com/docuweb/ mdex.php?fld_keyword=upd78f92*&fld_is-sue_date=&fld_type=&submit=Search
8. http://www.eu.necel.com/docuweb/ mdex.php?fld_keyword=&fld_issue_date=&fld_ type=AN&submit=Search
9. http://www.eu.necel.com/_pdf/ LPCDOITV100.PDF
10. http://www.eu.necel.com/_pdf/ U17272EJ1V0UM00.PDF