Компоненты и технологии, № 4'2003
Новое семейство микроконтроллеров
ZiLOG Z8 Encore!
В статье рассматриваются свойства нового семейства микроконтроллеров Encore! компании ZiLOG, периферийные устройства представленных в нем микросхем и средства разработки.
Андрей Ковалев
Семейство микроконтроллеров на базе ядра Z8 фирмы ZiLOG приобрело популярность в России в начале девяностых годов. В семействе удачно сочетались такие свойства, как гибкая регистровая архитектура и простой в изучении и применении набор команд, наличие аналоговых компараторов и гибкой системы прерываний, а также малый размер. Кроме того, вне конкуренции был набор разработчика с внутрисхемным эмулятором, цена на который держалась ниже границы ста долларов.
Согласно политике обновленной в 2002 году компании это семейство продолжило развитие в новой форме. На кристалле рядом с обновленным ядром eZ8 появилась перепрограммируемая флэш-память программ, многофункциональные таймеры, аналого-цифровой преобразователь. Семейство открывается набором микросхем с размером флэш-памяти от 4 до 64 кбайт и регистровой памяти от 1 до 4 кбайт в корпусах от 20 до 80 выводов.
При разработке данного семейства фирма ZiLOG учла многие требования своих постоянных заказчиков. Кроме того, на конец текущего года запланирован выпуск микроконтроллеров, работающих от двух элементов с напряжением питания 2,0 В.
Коротко о новом
Пользователей Z8, безусловно, интересует вопрос о совместимости с излюбленным семейством и методике перехода на новую платформу. Что же осталось прежним, а что изменилось?
Полностью сохранен знакомый набор команд. Придерживаясь принципа сохранения преимуществ архитектуры ядра Z8, разработчики eZ8 реализовали принцип рабочих регистров, разместили регистры специальных функций в банке верхних адресов ОЗУ. Сохранена структура памяти программ.
Решающую роль в процессе переноса существующего программного обеспечения на новое семейство будут играть средства разработки. Полностью обновлена концепция, с нуля создано программное обеспечение — интегрированная среда разработки ZiLOG Developer Studio, компилятор С, ассемблер. Чтобы облегчить разработчикам процесс адаптации, цены на отладочный комплект удерживаются на минимальном уровне.
Что касается аппаратных отличий, они должны приятно удивить любителей Z8. Реализованы интер-
фейсы UART, I2C и SPI, на кристалле появился АЦП, четыре таймера поддерживают режимы ШИМ, выборки и сравнения. Микросхемы выпускаются в корпусах с 80, 68, 40, 28 и 18 выводами, типы корпусов LQFP, PDIP, PLCC.
Характеристики процессора
• Микроконтроллер 20 МГц:
-высокая производительность CPU, достигающая 10 MIPs.
-совместимость с ядром Z8, расширенный набор команд.
- оптимизированная для управления архитектура регистр-регистр.
-выбор памяти программ 64, 48, 32, 16, 8, 4 кбайт.
• 4 16-разрядных таймера с широким набором режимов работы.
• 10-разрядный аналого-цифровой преобразователь (до 12 каналов).
• Последовательные интерфейсы:
-2 UART, скорость до 1 MBps, поддерживает режим 9 бит.
-I2C, 400 Kbps.
-SPI, 5 MBps.
10-разрядный АЦП 64Kx8 Flash 4 16-разрядных таймера с ШИМ
I2C 20 МГц eZ8 CPU
SPI отладчик на кристалле
2 UART
3 ПДП регистры 4Kx8 WDT
порты ввода-вывода
ABC D E F G H
Компоненты и технологии, № 4'2003
Регистровая память
Память программ
FFFH
F00H
Управляющие
регистры
Регистры общего назначения:
15 страниц по 256 регистров
1 страница = 16 групп по 16 регистров
FFFFH
000Н
Рис. 2. 1<арты памяти программ и данных
003 8Н
0002Н 0000Н
Программа
пользователя
30 векторов прерывания
вектор рестарта
слово опции
Разъем Последовательные Отладочный Модем RS465 интерфейсы интерфейс
устройства SPI и l2C Vref Z8F6403FT020SC Кнопочки
Рис. 3. Плата разработки для Encore!
• 3 канала прямого доступа в память.
• 60 линий ввода-вывода, 12 входов прерываний.
• Аппаратный отладчик на кристалле, одна
интерфейсная линия.
• Сторожевой таймер.
• Корпус TQFP
Микроконтроллеры eZ8
Набор команд Z8 расширен с учетом нового размера регистровой памяти 4 кбайт. К инструкциям передачи данных добавлена команда LDX для передачи значений между страницами. Введена инструкция проверки значения бита и выполнения перехода в одной команде. Добавлены инструкции отладки BRK и TRAP, которые инициируют прерывания в модуле отладчика.
Память данных расширена до 4 кбайт и поделена на 16 страниц объемом 256 байт. В пределах страницы поддерживаются 16 групп регистров, каждая из которых может быть сделана активной. При этом в пределах активной рабочей группы обращение к регистрам выполняется с помощью эффективной 4-разрядной адресации.
Память программ сохранила свою конфигурацию и начинается таблицей векторов прерываний, из которых один вектор — вектор перезапуска (сброса) или попросту точка входа программы. Этот вектор хранится по адресу 0002H. По адресу 0000H хранится конфигурационное слово процессора. Схематично раскладки памяти показаны на рис. 2.
Флэш-память организована в виде набора страниц по 512 кбайт. Память специфицирована на двадцать тысяч циклов перезаписи с продолжительностью хранения данных 100 лет. Процессор может выполнять программу и в тоже время перезаписывать страницы флэш-памяти, не содержащие выполняемого в данное время кода (in-application programming). Цикл стирания страницы длится 12 мс. Так называемая эмуляция EEPROM — чтение данных в ОЗУ с последующим стиранием и перезаписью страницы измененными данными — занимает по времени 22 мс. Запись отдельного байта требует 12 мкс. Кроме побайтного программирования возможна запись последовательности байт. Наиболее эффективной по времени при этом является запись «ряда» из 128 байт.
Комбинируя флаги слова опций флэш-памяти, можно запретить стирание и программирование либо всей памяти, либо старших 4 кбайт (адресное пространство от F000H до FFFFH), а также доступ к памяти программ через отладочный интерфейс.
Линии ввода-вывода микроконтроллера (их 60 в корпусе LQFP80) организованы как 8 портов. Конфигурация позволяет использовать их в режимах открытого коллектора, мощного входа, ввода и вывода, а также дополнительных функций. Такой набор возможностей обуславливает наличие механизма косвенной конфигурации посредством двух регистров — регистра выбора функции и регистра данных. В первый записывается нужная функция — число от 1 до 5, во второй — значение конфигурации для этой функции. Естественно, имеются отдельные регистры для ввода и вывода данных. Двенадцать линий можно запрограммировать как источники прерываний — восемь по одному из фронтов входного сигнала и четыре по любому фронту, переднему или заднему.
Аналого-цифровой преобразователь на кристалле объединяет 12 мультиплексных каналов. Тип преобразования сигма-дельта, обеспечивается разрешающая способность 10 бит. Время преобразования после выбора канала составляет 5130 системных тактов, каждое последующее преобразование на выбранном канале занимает 256 тактов при тактовой частоте 20 МГц, что соответствует производительности в 4 кГц при переключении каналов и 40 кГц при проведении последовательности измерений на одном канале.
АЦП оснащен каналом прямого доступа в память, поэтому результаты преобразований могут быть записаны в ОЗУ процессора без программного вмешательства.
Таймеры имеют многочисленные режимы работы — ШИМ, ЧИМ, выборка, сравнение, совместные выборка и сравнение. Входной частотой таймеров является тактовая частота процессора, что обеспечивает высокую разрешающую способность счетчиков. Таймеры шестнадцатиразрядные с программируемым предделителем на 7 разрядов.
В Encore! реализованы популярные коммуникационные интерфейсы SPI, I2C и, конечно, UART. SPI позволяет достигнуть скорости синхронной последовательной передачи данных в 5 Мбит/с. I2C поддерживает режим ма-
стера и скорости передачи 100 и 400 Кбит/с. Два асинхронных интерфейса UART поддерживают режим 9 бит для стандарта RS485.
Отладочный инструментарий
ZiLOG реализовала современную концепцию средств разработки. Набор разработчика включает полную версию компилятора С для микропроцессоров семейства и интегрированную среду разработки программного обеспечения ZiLOG Developer Studio. Реализованный в программе интерфейс сравним по функциональности с Visual Studio фирмы Microsoft. Разработка ведется на базе проектов, составляемых из исходных файлов на ассемблере и С, объектных модулей и библиотек. Многочисленные настройки позволяют управлять наполнением и расположением результирующего кода, генерировать секции и размещать переменные в памяти.
В состав набора входит плата разработчика и модуль отладочного интерфейса, который позволяет подключаться к плате по последовательному интерфейсу с кроссового ПК (рис. 3). На плате установлен «старший» чип семейства Z8F6403 c 64 кбайт флэш-памяти, 4 кбайт ОЗУ и полным набором периферийных устройств.
Поскольку отладчик имеется на кристалле, внешние эмуляторы не нужны, а отладочная среда подключается непосредственно к контроллеру. Отладчик автоматически определяет скорость соединения, поэтому в среде достаточно лишь указать коммуникационный порт. После соединения программа пользователя записывается во флэш-память через отладочный интерфейс. На загрузку кода полного объема 64 кбайт требуется около 20 секунд. Затем можно выполнять программу в нормальном режиме, а также в пошаговом или устанавливать точки останова как в исходных кодах на С, так и на уровне ассемблера.
В режиме отладчика ZiLOG Developer Studio позволяет посматривать содержимое памяти процессора, регистров специальных функций. На высоком уровне окно локальных переменных для выполняемой функции и окно просмотра переменных (watch) доступны для пользователя. Также имеется возможность открыть окно, показывающее стек вызовов функций с адресами вложенности и возврата. И наконец, в процессе отладки можно переключаться с уровня кода С в режим ассембле-
е
Компоненты и технологии, № 4'2003
ра, а также в режим представления кода в виде смешанных выражений С и соответствующих инструкций процессора.
В комплект программного обеспечения включены как простейшие демонстрационные проекты, так и проект DriversDemo. Этот проект содержит примеры кодов для всех периферийных устройств Encore!, который, таким образом, можно использовать в качестве основы для создания драйверов интересующих поль-
зователя интерфейсов. Проект управляется при помощи меню, и пользователю в удобном виде представляется отчет о работе тех или иных устройств процессора.
Заключение
ZiLOG представляет новое семейство микроконтроллеров с ядром eZ8, названное создателями Encore!. Вновь фирма выпускает уст-
ройства с гибкостью архитектуры Z8, разработанной родоначальником процессорной техники Фредерико Фаггином и поднятой на современный уровень флэш-микроконтроллеров. Гибкость архитектуры ядра усиливается гибкой и богатой периферией. По минимальной цене разработчик обеспечивается полным комплектом демонстрационных и отладочных средств, включая современную среду разработки с компилятором С.