Z8 microcontrollers ZiLOG
История семейства универсальных микроконтроллеров Z8 начинается с легендарного микропроцессора Z80. Именно его процессорное ядро легло в основу новых (по тем временам) микроконтроллеров.
Процессор Z8 адресует три независимых области памяти: регистровый файл, память программ, память данных.
Регистровый файл может содержать до 256 8-разрядных регистров, из них до 239 универсальных рабочих регистров, каждый из которых может использоваться как аккумулятор, указатель адреса, индексный регистр, регистр данных или стека. Регистры специального назначения и периферийные регистры также доступны через регистровый файл. 16-разрядный регистр указателя стека может размещаться либо в регистровом файле, либо во внешнем ОЗУ (при его наличии). Адресное пространство рабочих регистров делится на банки по 16 регистров. Специальный регистровый указатель определяет текущую активную группу рабочих регистров. Это позволяет существенно сократить длину команд, использующих рабочие регистры.
50 базовых команд требуют для своего исполнения различного количества машинных тактов, от 6 (регистровые операции) до 20 (команды перехода).
Внутренняя частота процессора Z8 может варьироваться от 4 до 8 МГц, в зависимости от модели. Соответственно, для самых быстрых версий минимальная длительность выполнения команд, таких как регистровые операции, составляет 0,75 мкс, а максимальная (команды управления) 2,5 мкс.
В дополнение к регистровому файлу, некоторые члены семейства имеют в своем составе расширенный регистровый файл для управления дополнительными периферийными устройствами и портами ввода/вывода.
Для повышения производительности процессор Z8 использует одноуровневую конвейеризацию команд. Правда, необходимо отметить, что из-за разной длины инструкций конвейер работает не самым оптимальным образом.
Z8 адресует до 64 Кбайт внешнего ОЗУ памяти данных и 64 Кбайт внешнего ПЗУ памяти программ. При отключении или отсутствии внутреннего ПЗУ, микроконтроллеры Z8 общаются с внешним миром через мультиплексированную шину адрес/данные.
В рамках одной архитектуры, микроконтроллеры Z8 можно разделить на три группы, выпускаемые в виде версий с масочным или однократно программируемым ПЗУ или, что встречается редко, без ПЗУ вовсе.
1 Z8 CCP ряд низкостоимостных и малопотреблящих микроконтроллеров в 18- и 28-выводном исполнении с внутренним ПЗУ 0,52 Кбайт и ОЗУ 61125 байт, с минимальной периферией:
- два 8-разрядных таймера-счетчика с 6-бит предделителем (Z86C02 имеет один таймер);
- два аналоговых компаратора;
- от 14 до 24 линий ввода/вывода;
- обслуживание 6 внешних прерываний.
Микроконтроллеры с расширенным набором функций с увеличенной встроенной памятью программ до 16, 32 и 64 Кбайт. Дополнительная периферия может включать в себя:
- последовательные интерфейсы UART и SPI;
- блок таймеров-счетчиков с функциями захвата (Z86C93);
- 8-канальный 8-разрядный АЦП (Z86X83/84) и два 8-разрядных ЦАП (Z86X84);
- увеличенное количество линий ввода/вывода;
- блок аппаратного умножения 16ґ16 и деления 32/16 (Z86C93).
Отдельно помещается микроконтроллер Z86C95, объединяющий на одном кристалле ядро Z8 и 16-разрядный DSP. ZiLOG выпускает в составе семейства Z89 цифровых сигнальных процессоров целый ряд подобных кристаллов (но называются они уже как DSP со встроенным Z8, а не Z8 со встроенным DSP). Вообще, такое слияние довольно интересный феномен, отражающий тенденции последнего времени по сближению двух миров, цифровых сигнальных процессоров и современных скоростных микроконтроллеров (см. онлайновую статью "Microcontrollers and DSPs Will the Two Worlds Ever Intersect?", William A. Glovino, на страницеwww.microcontroller.com).
Диапазон напряжения питания, в зависимости от версии микроконтроллера (MASK ROM, OTP, ROMless, индустриальный или коммерческий диапазон температур), составляет в среднем 3,05,0 В. Однократно программируемые микроконтроллеры начинают работать при более высоком значении напряжения питания. Выпускаются также версии с пониженным напряжением питания от 2 В. Такие МК имеют в названии литеру L.
Интригующей особенностью некоторых МК Z8 является отсутствие внешнего вывода RESET. Микроконтроллеры Z8 имеют в своем составе схему сброса по включению питания, сторожевой таймер, два режима энергосбережения. Почти все микроконтроллеры семейства имеют схему сброса по снижению напряжения питания и могут устанавливать защиту от чтения внутренней памяти.