Программируемые микроконтроллеры широкого применения Z8 фирмы Zilog.
Эту статью нам захотелось написать по причине того, что если внимательно изучить все пространство русского Интернета, то никаких представительных материалов конкретно по программируемым микроконтроллерам широкого применения (Programmable Consumer Controller Processors - PCCP) Z86 или Z8 фирмы Zilog найти просто невозможно. Зато на каждом шагу встречаются подробные описания клонов PIC, AVR, AT89, и даже 68НС05 и 68НС08. По-нашему, это не справедливо. Вы спросите - почему? Об этом подробно изложено в статье “Почему мы выбираем Z8 (давайте считать вместе)”, размещенной на этом же сайте.
В настоящее время к популяризаторам микроконтроллеров Z8 относятся у нас лишь представители выборгской фирмы “Гамма”, которые делают это в силу своих профессиональных интересов, т.к. являются давними постоянными поставщиками продукции фирмы Zilog, а также сотрудники Уральского Государственного Технического Университета Гусев А.В. и Мироненко О.В. Что касается информации предоставляемой фирмой “Гамма”, то она очень мала по объему и носит чисто ознакомительный характер. Напротив, статьи уважаемых Гусева А.В. и Мироненко О.В. достаточно подробны, что позволяет читателю ознакомиться со многими особенностями процессоров Z8. (Мы действительно с большим уважением относимся к деятельности этих людей, хотя лично с ними не знакомы. С момента появления в 1996 году на Intelовском CD их подробного перевода описания на 196КС/КD и до настоящего времени, с большим интересом знакомимся с их публикациями, в том числе и в Интернете. Приятно, когда даже заочно встречаешь профессионалов, движущихся в одинаковом с тобой направлении, при выборе тех или иных рабочих инструментов.) Однако, во всех материалах на русском языке, которые мы видели, делается попытка дать характеристику практически всей номенклатуре Zilog, если она начинается с аббревиатуры Z8 (справедливости ради надо признать, что в одной из своих публикаций Гусев А.В. и Мироненко О.В, делают ссылку на ротапринт УГТУ, посвященный только лишь контроллерам широкого применения Zilog, однако, как представляется доступ к этой информации ограничен не только у нас). Нам бы хотелось сосредоточить внимание лишь на небольшой группе приборов, относящихся к этому семейству – на микроконтроллерах PCCP. Причем речь здесь пойдет только о приборах PCCP, которые являются подмножеством более широкого класса CCP. То есть о приборах, которые, прежде всего, представляют интерес для отечественного разработчика, не могущего позволить себе персональный заказ 20 000 контроллеров с масочной прошивкой, и поэтому использующего приборы с возможностью самостоятельной прошивки в них собственного программного обеспечения. Разновидностей приборов типа PCCP Z8 в составе номенклатуры Zilog на сегодняшний день всего 16. Все они начинаются с аббревиатуры Z86E, где последняя буква показывает наличие встроенной однократно программируемой памяти программ ППЗУ. В свою очередь 16 контроллеров PCCP Z8, делятся на две группы: контроллеры общего назначения и контроллеры с расширенным набором функций. Рассмотрим сначала контроллеры PССР общего назначения, все различия основных характеристик которых показывает Таблица 1.
Таблица 1.Основные характеристики контроллеров общего назначения PCCP Z8.
Наименование параметра |
Z86E02 |
Z86E04 |
Z86E08 |
Z86E31 |
Z86E30 |
Z86E40 |
Объем внутреннего ППЗУ в байтах |
512 |
1024 |
2048 |
2048 |
4096 |
4096 |
Объем внутреннего регистрового файла в байтах |
61 |
125 |
125 |
125 |
237 |
236 |
Максимальная частота внешней тактирующей цепи в МГц |
8 |
12 |
12 |
16 |
16 |
16 |
Тип кристаллов для тактирования от RC-цепи |
1925(1903) |
1903 |
1903 |
любой |
любой |
любой |
Тип кристаллов для тактирования от LC-цепи или кварца |
PEC/1925 |
PEC/1866 |
PEC/1866 |
любой |
любой |
любой |
Количество встроенных таймеров |
1 |
2 |
2 |
2 |
2 |
2 |
Количество векторов прерываний |
5 |
6 |
6 |
6 |
6 |
6 |
Количество линий ввода/вывода |
14 |
14 |
14 |
24 |
24 |
32 |
Наличие аппарата поддержки внешней памяти программ |
- |
- |
- |
- |
- |
+ |
Возможный тип корпуса |
PDIP18, SOIC18 |
PDIP18, SOIC18 |
PDIP18, SOIC18 |
PDIP28, SOIC28, PLCC28 |
PDIP28, SOIC28, PLCC28 |
PDIP40, PQFP44 PLCC44 |
Цена за 1 шт. в $, на март 1999 года |
1,02 |
1,63 |
1,92 |
3,05 |
4,02 |
4,72 |
Естественно, что фирма Zilog, начиная разрабатывать новое семейство универсальных микроконтроллеров, постаралась минимально отступить от принципов заложенных в основу архитектуры и системы команд суперпопулярного в мире микропроцессора Z80. Ведь широкая известность этого прибора фирмы подтверждалась почти 20-летним опытом его повсеместного использования и массовых продаж. Поэтому к основе - ядру Z80 – была добавлена минимальная периферия, необходимая для преобразования микропроцессора в микроконтроллер (встроенные ППЗУ, ОЗУ (регистровый файл), генератор, порты ввода/вывода, таймеры, компараторы, охранный таймер (WDT), узел прерываний), и появились первые приборы Z8. Причем структура семейства построена таким образом, что любой из приборов, входящих в его состав – есть усеченная версия базового кристалла Z86E40, который содержит ресурсы, максимально возможные для микроконтроллеров этого класса. Усечение младших приборов семейства идет по разным направлениям, связанным с уменьшением их встроенных ресурсов и, прежде всего, объемов встроенных ППЗУ и регистрового файла, количества выводов корпуса, максимально возможной частоты внутреннего тактирования, и естественно цены.
Архитектура микроконтроллеров РССР Z8 включает: генератор тактовых импульсов, систему сброса контроллера, центральный процессор с Арифметико-Логическим Устройством (АЛУ) и Регистром Флагов Состояния (РФС), регистровый файл, встроенную память программ, переключаемую специальным счетчиком команд, специальный механизм адресации внешних устройств памяти, который обеспечивает синхронизацию работы АЛУ с микросхемами внешней памяти (только для Z86E40), набор периферийных устройств в составе: портов ввода/вывода, компараторов, функциональных таймеров, системы прерываний, охранного таймера WDT и средств обеспечения режимов пониженного энергопотребления, узла сброса прибора в начальное состояние.
Микроконтроллеры РССР Z8 могут иметь три типа независимых друг от друга, и ни как не пересекающихся друг с другом областей памяти: Регистровый файл, Память программ, Память данных. Регистровый файл: состоит из регистров двух типов – регистров общего назначения (РОН) и регистров специального назначения (РСН). Объем регистрового файла составляет от 60 до 256 байт в зависимости от типа прибора. Регистры регистрового файла РССР Z8 могут быть доступны и как 8-битные байты, а для ряда операций и как 16-разрядные слова. РОН являются универсальными регистрами, которые исполняют роль встроенного ОЗУ для контролеров РССР Z8, не имеющих аппарата для подключения внешней памяти. Любой из РОН может быть использован в качестве аккумулятора, указателя адреса, регистра данных или индексного регистра.
Рисунок 1. Стандартная архитектура контроллеров общего назначения PCCP Z8.
РСН служат для обеспечения управления периферийными устройствами контроллеров РССР Z8. Как то, переключения портов ввода/вывода, выбора режимов их работы, установок системы прерывания, обеспечения режимов работы контроллера и встроенных таймеров, в том числе и WDT. Кроме того, к РСН РССР Z8 относятся т.н. регистры процессора, которые включают такие необходимые для работы центрального процессора прибора элементы памяти, как регистровый указатель, указатели стека, РФС и регистр счетчика команд.
Память программ максимальной емкость 64Кбайта может быть использована в составе микроконтроллерной системы, построенной на основе РССР Z8. Однако, подобное достижимо лишь для контроллера типа Z86E40, имеющего аппаратный механизм для подключения внешней памяти. Остальные контроллеры семейства в качестве памяти программ могут использовать только внутреннюю встроенную память программ, объем которой лимитирован конкретным типом устройства. Таким образом программная память может быть внутренней (встроенной) и внешней, но лишь для Z86E40.
Память программ предназначена для хранения кодов управляющей программы, подготовленной пользователем на этапе разработки программируемого устройства на базе контроллеров семейства РССР Z8. Помимо кода программы, в первых 12 ячейках программной памяти располагаются адреса каждого из 6 векторов прерывания, любого из контроллеров. Поэтому при сбросе контроллера программный счетчик устанавливается на адрес 000СН, откуда и начинает свое действие собственно программа управления любым из контроллеров Z8.
Для внутреннего сегмента памяти программ любого из контроллеров семейства РССР Z8 возможна защита памяти программ, блокировка доступа к которой может осуществляется на этапе программирования контроллеров.
Память данных (максимальный объем также 64Кбайта) имеет смысл только в отношении микроконтроллера типа Z86E40, который имеет механизм адресации внешней памяти. При этом разделение обращения к внешней памяти программ и к внешней памяти данных осуществляется сигналом DM. Для всех остальных контроллеров семейства РССР Z8, не имеющих механизма для подключения внешних ресурсов памяти, в качестве памяти программ выступает набор РОН. В частности именно он используется для организации стека при разработке программного обеспечения для контроллеров не содержащих аппарата подключения внешней памяти, что возможно благодаря программной установке вершины стека.
Система команд контроллеров семейства РССР Z8 включает 50 типов инструкций, которые реализуют пересылки операндов и блоков данных, их арифметические и логические преобразования (в том числе сдвиги), а также двоично-десятичные преобразования. Для адресации операторов может быть использовано шесть способов адресации. Возможна работа с байтами, а для ряда инструкций и 16-разрядными словами. Кроме того, имеется специальный набор управляющих команд, обеспечивающих работу с подпрограммами, ветвление программ, взаимодействие со стеком и РСН, перевод контроллера в режимы пониженного энергопотребления. Система команд Z8 не поддерживает команд умножения и деления операндов, реализация этих операций достигается только за счет использования специальных программ арифметики.
Гибкая классическая система команд в сочетании с классической (наверно, уже сейчас можно справедливо и смело сказать - с классической Intelовской) архитектурой процессоров семейства РССР Z8, дает поразительные результаты даже по сравнению, с современными RISC-контроллерами. Там где супербыстрый RISC-процессор использует 4-5 инструкций, любому из Z8 достаточно одной, особенно это заметно при реализации практически любых процедур обработки.
Основным средством обмена информационными сигналами и управляющими воздействиями между внешней средой и микроконтроллером являются линии или порты ввода/вывода. У ССР Z8 их количество определяется типом корпуса, в который упакована та или иная модификация семейства. Максимальное число линий ввода/вывода содержит кристалл Z86E40, размещаемый в корпусах с наибольшим числом выводов, – четыре порта Р0, Р1, Р2, Р3, каждый из которых содержит по 8 линий ввода/вывода. Порты Р0 и Р1 могут быть сконфигурированы, как в качестве функциональных выводов, так и для использования в качестве мультиплексированной шины адрес/данные, с целью подключения к контроллеру внешней памяти. При этом порт Р1 служит для передачи данных и генерации младшего байта адреса, а порт Р0 только для генерации старшего байта адреса. Синхронизация процесса взаимодействия с внешним адресным пространством осуществляется четырьмя специальными управляющими сигналами, генерируемыми на выводах AS, DS, R/W, DM, которые имеет только кристалл Z86E40. Остальные порты Р2 и Р3 могут использоваться только в качестве функциональных. При этом номер каждого из портов, а также номер каждой из линий внутри порта, жестко связанны с перечнем выполняемых им функций. Так каждая из линий порта Р2 может быть побитно сконфигурирована либо для ввода, либо для вывода информации, а в целом для всех линий этого порта, работающих на вывод выбирается один из двух возможных типов выходных цепей: обычный цифровой вывод (ТТЛ уровень) или открытый коллектор. Младшие четыре линии порта Р3 предназначены только для ввода информации, однако, они могут быть определены либо для работы в аналоговой моде (использование встроенных компараторов), либо для работы в цифровой моде. Старшие четыре линии порта Р3 предназначены только для вывода информации (причем только уровнем ТТЛ). Линии порта Р0 также, как и линии порта Р3 разделены на младшую и старшую тетрады, каждая из которых может быть отдельно запрограммирована либо для работы по вводу (только уровнем ТТЛ), либо по выводу информации (уровнем ТТЛ или открытый коллектор для Z86E30/31/40). Все линии порта Р1 настраиваются вместе или на прием или на выдачу байта (только уровнем ТТЛ). Если любой из выводов любого из портов процессора сконфигурирован на ввод, то фиксация уровня внешнего сигнала на соответствующей ножке производится аппаратно сразу двумя независимыми схемами – регистром-защелкой и триггером Шмидта. Конфигурация каждого из портов задается программно посредством специальных регистров Р01М для портов Р0 и Р1, и Р1М, Р2М, Р3М для остальных портов соответственно, а ввод/вывод информации по каждой линии осуществляется через организацию записи/чтения регистров Р0, Р1, Р2, Р3 соответственно.
Если прибор Z86E40, размещенный в самом многовыводном корпусе, содержит линии каждого из портов, то кристаллы Z86E30 и Z86E31 упакованные в 28-ножечные корпуса включат лишь порты Р1, Р2 и Р3, а контроллеры, размещаемые в 18-ножечных корпусах содержат порт Р2 целиком, первые 3 линии порта Р0 и линии Р3.1, Р3.2, Р3.3 порта Р3.
Безусловно отсутствие возможности полинейной конфигурации выводов для портов Р0, Р1, Р3 представляется существенным ограничением при реализации различных применений, однако, на практике подобные затруднения встречаются очень редко, поскольку всегда существует возможность перераспределения функций ввода/вывода между различными линиями прибора. Т.е. достаточно трудно встретить реальные приложения для микроконтроллеров, в которых бы использовались только функции по выводу, или только по вводу информации.
Каждый из микроконтроллеров ССР Z8 имеет в своем составе два встроенных компаратора, входы которых могут быть выбраны в качестве альтернативных функций для трех линий порта Р3. При этом исследуемый аналоговый сигнал принимается на выводы Р3.1 и Р3.2, а опорный сигнал, общий для каждого из компараторов подводится к выводу Р3.3. Каждый из выходов компараторов связан с индивидуальным прерыванием контроллера. Подобная конфигурация аналоговых входов, а также достаточно высокая чувствительность встроенных компараторов, позволяет легко организовывать на их базе различные типы аналого-цифровых преобразователей. Однако повышенная чувствительность аналоговых входов порта Р3 требует их дополнительной защиты от возможных помех. Такую защиту легко организовать с помощью двух диодов Шотки, включенных в качестве ограничителей уровня импульсных сигналов относительно уровней земли и питания контроллера.
Для тактирования работы любого из Z8 служит узел встроенного тактового генератора. Параметры максимальной тактовой частоты для различных версий Z8, различны (от 8 до 16 МГц). Минимальное значение тактовой частоты, так же лимитировано на уровне 1 МГц. Для запуска встроенного генератора необходимо организовать относительно специальных выводов XTAL1 (вход) и XTAL2 одну из четырех возможных внешних цепей. Либо это уже готовый внешний генератор заданной частоты, подключенный через КМОП выход, либо высококачественный кварцевый резонатор, либо LC-цепь, либо RC-цепь. Естественно, что стабильность тактовой частоты процессора в этом случае определяется исключительно параметрами внешней цепи. Как правило, первые два варианта организации тактирования используются для построения систем, в которых важна стабильность временных характеристик, а последние два варианта в дешевых приложениях, где точностью временных привязок можно пренебречь.
Значение рабочей частоты контроллера, также напрямую связанно с его потреблением. Достаточно сказать, что при минимальных значениях тактовой частоты потребление контроллера меньше в 3-4 раза, потребления на максимальных значениях частоты тактирования.
Кроме того, потребление контроллеров РССР Z8, как впрочем, для большинства статических микросхем, значительно зависит и от температурного режима работы прибора
Общее потребление контроллера также определяется рабочим режимом, в котором он находится. Для ССР Z8 различают три основных режима работы. Это штатный рабочий режим, при котором все узлы контроллера функционируют в полном объеме (штатное потребление). И два режима пониженного потребления: режим HALT, при котором остановлено тактирование процессора, но все периферийные узлы поддерживают активное состояние (~50% от штатного потребления), и режим STOP, при котором также останавливается тактирование, а все периферийные устройства переводятся в пассивное состояние (~7% от штатного потребления). Столь малое потребление объясняется тем, что в режиме STOP прекращается работа тактового генератора микроконтроллера. Если же в режиме STOP отключить еще и WDT, то можно достигнуть величины ~0,05% от штатного потребления. Выход из режима HALT осуществляется при срабатывании любого из прерываний, а из режима STOP либо по сигналу сброса, который может быть активизирован, в том числе и WDT, либо при выполнении одного из условий задаваемых заранее в регистре специального назначения SMR.
В состав периферийных устройств любого из контроллеров семейства РССP Z8 входят 8-разрядные таймеры-счетчики, которые обеспечивают возможность работы процессора в реальном масштабе времени. Каждый из членов семейства содержит по два таких независимых узла Т0 и Т1, и лишь самый младший кристалл Z86Е02 имеет один таймер-счетчик. На входе каждого из таймеров имеется программируемый 6-разрядный делитель. Тактирование таймеров-счетчиков может производиться как, от тактового генератора микроконтроллера так и, от внешнего источника, подключенного через вывод Р3.1. Оба счетчика могут работать только в режиме декрементации. Содержимое каждого таймера-счетчика может быть, как заполнено предварительной уставкой, так и считано без нарушения или изменения режима его работы. Через специальные конфигурационные регистры устанавливается режим работы каждого из таймеров. Возможна установка одного из четырех следующих режимов: режим счета внешних событий, режим измерения интервала времени, режим временной задержки, режим тайм-аута. Переполнение каждого из счетчиков индивидуально может быть зафиксировано системой прерываний контроллера.
Одним из наиболее важных узлов микроконтроллеров семейства РССР Z8 является система прерываний, которая включает шесть уровней прерываний. Источники прерываний при этом длятся на внешние и внутренние. К внешним относятся прерывания от выводов Р3.0-Р3.3 порта Р3 (передний фронт импульса или срабатывание компаратора для выводов Р3.2 и Р3.1), а к внутренним - прерывания при переполнении таймеров-счетчиков. Управление системой прерываний осуществляется через специальные регистры или специальными командами. Каждый из уровней прерывания имеет соответствующий ему вектор прерывания, который является адресом программы обработки прерывания, т.е. указателем на подпрограмму, которая должна исполняться в случае срабатывания разрешенного прерывания. Каждый из векторов соответствующий тому или иному уровню прерывания располагается в 12 ячейках в самом начале адресного пространства памяти программ. После возникновения прерывания в счетчик команд автоматически загружается соответствующий вектор прерывания, и управление автоматически передается программе обработки прерываний. Это происходит после предварительного сохранения текущего содержимого счетчика команд и регистра флагов состояния в стеке. Таким образом, процессор может в реальном масштабе времени моментально реагировать на внешние и внутренние события, требующие немедленного обслуживания. После окончания отработки подпрограммы обработки прерывания управление возвращается прерванному фрагменту благодаря восстановлению, предварительно сохраненному в стеке значению текущего, на момент возникновения прерывания, состояния программного счетчика. Возможна отработка вложенных прерываний. Для каждого из прерываний программно может быть установлен свой приоритет по отношению к другим уровням.
После сброса процессора система прерываний находится в пассивном состоянии и для ее активизации необходима соответствующая установка специализированных служебных регистров системы прерывания – регистра маски прерываний, регистра приоритета прерываний и регистра запроса прерываний.
Чрезвычайно важным для работы надежной работы любого микроконтроллера является организация цепи сброса. Микроконтроллеры PCCP Z8 имеют достаточно сложную структуру цепи сброса, которая учитывает максимальное количество причин, требующих приведения схемы процессора в исходное состояние. Старшая модель Z86E40 имеет специальный вывод RST, возникновение на котором низкого уровня сигнала, может являться внешней причиной сброса процессора. Это удобно если в качестве внешнего источника сброса используется специальная кнопка или схема интегрального супервизора, осуществляющего, например, мониторинг питания или анализирующая состояние шин обмена процессора с внешней памятью. Однако, даже если не использовать механизм внешнего сброса для кристалла Z86E40 (а у младших членов семейства это и не возможно, т.к. они не имеют отдельного вывода RST), то при включении питания любой из процессоров РССР Z8 все равно запустится. Это обеспечит специальная внутренняя цепь генерации сигнала сброс, которая срабатывает, при переходе напряжения питания контроллера через определенную границу (~2/3Uпитания), уровень которой определяется тактовой частотой процессора и значением температуры окружающей среды. В качестве еще одной причины, которая может привести к переводу контроллера в исходное состояние является работа специального узла охранного таймера – WDT (Watch-Dog Timer). Этот узел контроллера имеет отдельный генератор, никак не связанный со схемой тактового генератора. С помощью специального регистра можно установить период срабатывания WDT. Если на протяжении этого периода WDT не сброшен программной, он переполняется, результатом чего, является сброс контроллера. Таким образом, значительно снижается вероятность сбоя процессора, связанная, как правило, с зависанием программного обеспечения. Кроме того, микроконтроллеры Z8 имеют полезный механизм автоматического запуска WDT при включении питания. Т.о. программно WDT запускать необязательно, прибор выполнит это автоматически, как только напряжение питания схемы превысит ~3,5 В, что в конечном счете ведет к значительной устойчивости микропроцессорной системы при краевых условиях и флуктуациях питания.
Очень важным, при выборе типа того ли иного микроконтроллерного семейства (особенно в нашей стране), является вопрос о цене и удобстве процедур подготовки управляющей программы, ее отладки и реализации процесса заполнения ее кодом содержимого внутренней памяти программ контроллера. Для разного типа контроллеров эта задача решается по-разному. Одни идут по самому простому пути, предлагая полный комплект отладочных и программных средств за астрономические суммы. Другие в качестве дешевой альтернативы дорогим эмуляторам, выпускают перепрограммируемые отладочные кристаллы, превращая процедуру отладки в некое подобие сизифова труда. Третьи, увеличивая стоимость каждого микроконтроллера, включают в состав каждой микросхемы перепрограммируемую память, которая, как правило, уже никогда не понадобиться после отладки. Zilog пошел по своему оригинальному пути, который не может не обеспечить успеха семейству Z8 у профессионалов. Фирмой был разработан полномасштабный дешевый эмулятор-прорамматор Z8CCP00ZEM, специально предназначенный для работы только с процессорами CCP Z8. Он продается фирмой, в соответствии с собственной протекциониской по отношению к пользователям политикой, по заниженной демпинговой цене, т.к. даже если попытаться оценить суммарную стоимость всех входящих в состав этого прибора компонентов, то эта сумма превысит цену готового Z8CCP00ZEM. Такой шаг Zilog не может не привлечь разработчиков микропроцессорных устройств к семейству Z8. Эмулятор-программатор позволяет производить полномасштабный процесс отладки управляющей программы, эмулируя в реальном масштабе времени работу контроллера выбранного типа, а затем прошивать подготовленное и отлаженное программное обеспечение в дешевые кристаллы. Таким образом, надобность в различных искусственных симуляторах, платах-конструкторах, программных отладочных мониторах и т.д., которые либо не дают возможности работы в реальном масштабе времени, либо сжирают значительное количество ресурсов самого процессора, отпадает.
Эмулятор Z8CCP00ZEM соединяется с персональным компьютером разработчика через свободный СОМ-порт и запитывается от автономного источника питания +9В. Для связи с макетом пользователя схема эмулятора содержит специальные шлейфы для различных типов корпусов эмулируемых кристаллов (DIP18, DIP28, DIP40). Напряжение питания и тактирование отлаживаемого приложения пользователя может производиться, как с платы самого эмулятора, так и непосредственно с макета пользователя. Со стороны пользователя эмулятор поддерживается современной интегрированной оболочкой, которая специально разработана для использования в среде WindowsNT/Win95. В качестве эмуляционного кристалла в составе эмулятора используется специализированный DSP-процессор, позволяющий в реальном масштабе времени работать с любым мыслимым количеством точек останова, оперативно наблюдать и изменять содержимое всех ресурсов отлаживаемого прибора, корректировать отлаживаемую программу не покидая интегрированной оболочки, включая отладку в исходном коде ассемблера, а также реализовывать пошаговый режим работы.
После окончательной доводки с помощью эмулятора программного обеспечения, пользователь может воспользоваться этим же прибором для программирования внутренней памяти любого из микроконтроллеров семейства РССP Z8. Для того чтобы прошить внутреннюю однократно программируемую память программ кодом подготовленного и отлаженного с помощью эмулятора программного обеспечения сам кристалл размещается в одной из колодок с нулевым усилием, которая соответствует его корпусу. Затем пользователь посредством специального режима интегрированной оболочки выбирает тип программируемого устройства, тип внешней цепи тактового генератора, режим работы WDT, а также моду защита памяти данных и памяти программ, и осуществляет процесс программирования. После его окончания шлейф эмулятора отсоединяется от макета пользователя, а вместо него подставляется дешевый прошитый кодом отлаженной программы микроконтроллер.
Для программирования кристаллов семейства PCCP Z8 используется бесплатно распространяемые фирмой Zilog ассемблер ZASM и макроассемблер ZMASM, совместимые с оболочками эмуляторов Z8CCP00ZEM. Доступны две интегрированные оболочки для эмуляторов: Z8ICE (хорошо работает под W3.11) и Zilog Development Studio (полнофункциональная среда отладки для W95/98/NT). Существует также C или для комбинированного программирования, есть еще интегрированная среда Z8 COMPASS фирмы Programm Language Corp., а также продукция Avocet, IAR и др. Для самостоятельной разработки начинающим пользователем программного обеспечения Z8, в Internet можно найти симуляторы этого микроконтроллера, в частности NOICE. К сожалению, о качестве этого продукта и возможности полноты отладки ничего сказать не можем, поскольку сами пользуемся фирменными эмуляторами, а в этом случае понятно, что применение любого симулятора слишком “жалкое подобие левой руки”.
При выборе кристалла для конкретного применения необходимо учитывать наряду с ценой конечного устройства, также условия, в которых будет эксплуатироваться будущий прибор. Фирма Zilog выпускает контроллеры семейства РССP Z8 выпускаются в двух исполнениях, различие между которыми определяется диапазоном рабочих температур, в которых может работать прибор, и естественно соответственно в цене. Доступны приборы с индексом “S” – стандартный температурный диапазон 0°C-+70°C и “Е” - расширенный температурный диапазон -40°C -+105°C. Однако, необходимо отметить, что несмотря на некоторое увеличение цены на приборы расширенного диапазона, никаких специальных мер или особых доработок при их изготовлении не выполняется. Просто наличие индекса “Е” в аббревиатуре обозначения контроллера говорит о том, что он прошел специальную проверку, которая гарантирует соблюдение всех характеристик и режимов работы в расширенном температурном диапазоне, в отличии от приборов с индексом “S”, которые такой проверке не подвергались или были в ходе ее отбракованы.
Контроллеры PCCP Z8 с расширенным набором функций, перечень основных характеристик которых приведен в Таблице 2, предназначены для решения задач, требующих расширения стандартной архитектуры семейства, за счет, как усовершенствования традиционных узлов, так и введения новых периферийных узлов. Среди этих прибором особняком стоит Z86E21, который до сих пор выпускается, как лучший представитель предыдущей морально устаревшей генерации Z8.
Таблица 2.Основные характеристики контроллеров PCCP Z8 с расширенным набором функций.
Наименование параметра |
Z86E03 |
Z86E06 |
Z86E21 |
Z86E33 |
Z86E34 |
Z86E43 |
Z86E44 |
Z86E61 |
Z86E63 |
Z86E83 |
Объем внутреннего ППЗУ в байтах |
512 |
1024 |
8192 |
4096 |
16284 |
4096 |
8192 |
16284 |
32568 |
4096 |
Объем регистрового файла в байтах |
61 |
125 |
236 |
237 |
237 |
236 |
236 |
236 |
236 |
237 |
Наличие функционально расширенного регистрового файла |
+ |
+ |
- |
- |
- |
- |
- |
- |
- |
+ |
Максимальная частота внешней тактирующей цепи в МГц |
8 |
12 |
16 |
12 |
12 |
12 |
12 |
16 |
16 |
16 |
Способ тактирования |
Любой |
Любой |
Кварц |
Любой |
Любой |
Любой |
Кварц |
Кварц |
Кварц |
Кварц |
Количество встроенных таймеров |
1 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
2 |
Наличие WDT |
+ |
+ |
- |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Наличие встроенных компараторов |
+ |
+ |
- |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Количество векторов прерываний |
5 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
6 |
Количество линий ввода/вывода |
14 |
14 |
32 |
24 |
24 |
32 |
32 |
32 |
32 |
21 |
Наличие аппарата поддержки внешней памяти программ |
- |
- |
+ |
- |
- |
+ |
+ |
+ |
+ |
- |
Внешний вывод RST |
- |
- |
+ |
- |
- |
+ |
+ |
+ |
+ |
+ |
ВстроенныйUART |
- |
- |
+ |
- |
- |
- |
- |
+ |
+ |
- |
Встроенный SPI |
- |
+ |
- |
- |
- |
- |
- |
- |
- |
- |
Встроенный 8-канальный АЦП (8 разр.) |
- |
- |
- |
- |
- |
- |
- |
- |
- |
+ |
Возможный тип корпуса |
PDIP18, SOIC18 |
PDIP18, SOIC18 |
PDIP40, PQFP44 PLCC44 |
PDIP28, SOIC28, PLCC28 |
PDIP28, SOIC28, PLCC28 |
PDIP40, PQFP44 PLCC44 |
PDIP40, PQFP44 PLCC44 |
PDIP40, PQFP44 PLCC44 |
PDIP40, PQFP44 PLCC44 |
PDIP28, SOIC28, PLCC28 |
Цена за 1 шт. в $, на март 1999 года |
2,72 |
3,44 |
13,62 |
4,27 |
6,91 |
5,27 |
7,76 |
14,44 |
17,12 |
9,02 |
Однако, подробное рассмотрение и разбор отличий контроллеров с расширенным набором функций не входит в наши планы, т.к. статья и так получилась сильно перегруженной для чтения в Интернете.
Основным достоинством микроконтроллеров семейства РССР Z8 является их исключительно высокая надежность и исключительно высокое отношение производительности к цене прибора с учетом общей стоимости разработки. Доказательство этому можно увидеть, если посмотреть на чем построены схемы управления большинства устройств, которые окружают нас в повседневной жизни – компьютерные клавиатуры и манипуляторы, кофемолки и микроволновые печи, пульты ДУ телевизоров и видеомагнитофонов, приборы автомобильной электроники и преобразователи электроэнергии, во многих типах этих и множества других устройств Вы найдете контроллеры семейства РССР Z8. Конечно, в приборах выпускаемых массово используются не однократно прошиваемые члены семейства, а контроллеры, запрограммированные маской при их изготовлении (Z8Cxx и Z8Lxx). Однако, сам факт выбора большим количеством зарубежных производителей в качестве основного элемента системы управления для изделий широкого потребления приборов семейства РССР Z8 говорит об их исключительной надежности и рациональности использования этих микросхем при создании продукции массового спроса.
Однако, среди разработчиков микроконтроллерных применений в нашей стране контроллеры семейства РССР Z8 не пользуются популярностью, достойной их класса. Представляется, что одной из причин этого является информационный голод на русскоязычную литературу по приборам этого класса. По нашим сведениям в ближайшее время готовится две большие публикации по контроллерам семейства РССР Z8 на русском языке. Во-первых, издательство ДОДЕКА готовит к выпуску с середины мая 1999 книгу с переводом известного фирменного User’s Manual Z8 Microcontrollers и отдельных Data Sheet на некоторые наиболее популярные кристаллы семейства. Во-вторых, журнал Радио в ближайшее время планирует публикацию большого цикла статей Гладштейна М.А, посвященных РССР Z8 с конкретными примерами схем и программ устройств, построенных на этом типе контроллеров.
Щеглов Сергей и Дорогов Дмитрий.
ЗАО ЭлИн
26.04.1999 |