Компания Winbond, широко известная как производитель микросхем цифровой записи/воспроизведения звука, голосовых кодеков, изделий для сетевых решений и персональных компьютеров, производит богатую номенклатуру 4-х и 8-разрядных микроконтроллеров на основе С-51 ядра. В этой статье будут рассмотрены предлагаемые компанией линейки микроконтроллеров, приведены рекомендации по правильному выбору и использованию этих изделий.
4-разрядные микроконтроллеры
Младшие в линейке микроконтроллеров Winbond семейства W541 и W741 включают в себя 4-разрядные микроконтроллеры с развитой системой команд и пониженным энергопотреблением. Некоторые из приборов, представленных в семействах, способны управлять ЖК-индикатором.
Winbond предлагает три варианта таких устройств: базовую серию W541C2xx с однократно программируемой памятью программ, семейство W541E2xx c флэш-памятью программ и семейство W541L2x, ориентированное на работу при пониженном напряжении питания (1,2 - 1,8 В).
Поскольку разработчику удобнее работать с перепрограммируемыми кристаллами, рассмотреть особенности 4-х разрядных микроконтроллеров Winbond лучше всего на примере семейства W541E2xx.
Серия W541E2xx полностью совместима с W741E2xx повыводно и функционально. В неё входит несколько микроконтроллеров с флэш-памятью программ, различающихся количеством портов ввода/вывода и наличием или отсутствием драйвера ЖКИ. Устройства содержат 4-разрядное АЛУ, два 8-разрядных таймера, делитель, последовательный порт (не USART) и до 5-ти портов ввода/вывода (включая три выходных порта для управления светодиодами). Имеется до 7 источников прерывания и 8 уровней вложенности при вызове подпрограмм обработки прерывания. Основные возможности приборов серии W541E20x:
рабочее напряжение 2,4 - 5,5 В;
возможность работы от кварцевого (керамического) резонатора или от RC-генератора на частоте до 4 МГц, задаваемая программно;
возможность программного выбора режима работы: на высокой (400 кГц - 4 МГц) или на низкой (32768 Гц) частоте;
флэш-память программ с организацией 2048 16 (включая таблицу хранения констант 2К 4 бита, к которой можно обращаться из программы пользователя);
ОЗУ с организацией 128 4 (включая 16 рабочих регистров);
до 21 ножки ввода/вывода (в зависимости от конкретного типа микроконтроллера):
отсутствие "плавающего" потенциала на ножках, сконфигурированных на ввод или вывод с открытым стоком (NMOS тип);
4 порта ввода/вывода (всего 16 ножек);
последовательный порт ввода/вывода - 1 порт/4 вывода (высокий вытекающий ток для управления светодиодами);
ножка выхода MFP (вывод модуляции частоты);
два режима энергосбережения: функция удержания, при которой выполнение операций останавливается, но осциллятор остается работать и функция останова, когда выключаются все узлы, включая осциллятор;
семь типов прерываний: пять внутренних прерываний (делитель 0, таймер 0, таймер 1, порт последовательного ввода/вывода) и два внешних прерывания (порт RC и вывод /INT);
встроенная 14-разрядная схема деления тактовой частоты (делитель 0);
два встроенных 8-разрядных программируемых таймера обратного отсчета: таймер 0 может работать от одной из двух тактовых частот (Fosc/4 или Fosc/1024), а таймер 1 помимо этого имеет функцию автоперезагрузки и возможность срабатывания по спаду сигнала на выводе RC.0;
встроенный 18/14-разрядный сторожевой таймер для сброса системы при зацикливании;
мощный набор команд: поддерживается 118 инструкций;
один последовательный порт приема/передачи, управляемый программно;
минимальное время выполнения команды на частоте 4 МГц равно 1 мкС;
18-, 20-, 28-выводные корпуса PDIP и 20-, 28-выводные корпуса SOP.
Память программ 4-разрядных микроконтроллеров Winbond делится на четыре части, первые три из которых (000H-5FFH) используются только для хранения программного кода, а последняя часть (600H-7FFH) может содержать как код программы, так и таблицу констант. Каждый элемент этой таблицы состоит из 4 бит, что делает возможным адресацию к 2048 её элементам. Благодаря этому пользователь может легко считывать данные из таблицы в ОЗУ, задавая адрес элемента в регистре TAB.
Следует отметить, что последовательный порт, реализованный в 4-разрядных микроконтроллерах Winbond, не имеет ничего общего с UART или SPI. Он представляет собой 2 линии вывода (данные и тактирование) и 2 линии ввода (также данные и тактирование). Процесс передачи и приема информации осуществляется исключительно программными средствами.
4-разрядное АЛУ микроконтроллеров поддерживает следующие команды:
логические операции: ANL, XRL, ORL;
операции ветвления: JB0-JB3, JNZ, JZ, JC, JNC, DSKZ, DSKNZ, SKB0-SKB3;
операции сдвига: SHRC, RRC, SHLC, RLC;
двоичное сложение/вычитание: ADC, SBC, ADD, SUB, ADU, DEC, INC.
Микроконтроллеры с флэш-памятью позволяют программировать, стирать и проверять программную память через выводы VPP (питание для программирования), Vdd (питание кристалла), MODE (режим), DATA (данные) и Vss (общий).
Для совмещения функций сбора, обработки и вывода данных на ЖКИ фирмой Winbond предлагаются контроллеры с интегрированным драйвером ЖКИ на 24?4 или 32?4 линии. Особенности драйвера ЖКИ можно рассмотреть на примере W741E260. Этот контроллер выпускается в 80-выводном корпусе QFP и имеет выходной драйвер для непосредственного управления ЖКИ со следующими характеристиками:
32 сегмента на 4 общие линии;
возможность выбора статического режима, режима 1/2 (смещение 1/2), режима 1/3 (смещение 1/2 или 1/3) и режима 1/4 (смещение 1/3);
выводы управления ЖКИ могут быть использованы как порты вывода;
источником тактирования может быть как главный осциллятор в режиме работы с одним осциллятором, так и вспомогательный осциллятор;
дополнительное к основному вспомогательное ОЗУ для ЖКИ с организацией 32x4; данные из этого ОЗУ автоматически передаются на выводы управления сегментами без дополнительного программного управления.
максимальное число управляемых сегментов в режиме 1/3 bias и 1/4 duty равно 128.
В приложениях с батарейным питанием удобно использовать специальное семейство микроконтроллеров W541L2xx, ориентированное на работу при низком напряжении питания от 1,2 до 1,8 В. За исключением этой особенности и отсутствием кристаллов с перепрограммируемой памятью программ, эти устройства полностью аналогичны описанным выше.
8-разрядные С51-микроконтроллеры
Семейство однокристальных микроконтроллеров MCS-51R было представлено фирмой Intel на рынке в начале 80-х гг. и к настоящему времени давно является промышленным стандартом, поддерживаемым множеством производителей. Поскольку разработчиками накоплен огромный опыт работы с микроконтроллерами С51, в настоящее время выпускается обширная номенклатура C51 микроконтроллеров, ориентированных на использование в различных сферах:
Системы управления процессами в промышленных приложениях;
Контроллеры управления и разграничения доступа в зданиях;
Промышленное оборудование;
Ручные измерительные системы.
Одним из лидеров на рынке С51-микроконтроллеров является компания Winbond, предлагающая изделия с большим разнообразием специфических характеристик, удовлетворяющих многим потребностям современных приложений. По реализованным возможностям С51-микроконтроллеры Winbond можно разделить на три группы:
Стандартные семейства:
Стандартные C51-микроконтроллеры с флэш-памятью (W78Exxx);
Стандартные C51-микроконтроллеры с флэш-памятью и широким диапазоном рабочего напряжения 2,4-5,5 В(W78LExxx);
Стандартные C51-микроконтроллеры с масочным ПЗУ (W78С5x);
Стандартные C51-микроконтроллеры с масочным ПЗУ и широким диапазоном рабочего напряжения 1,8-5,5 В (W78L5x);
Стандартные C51-микроконтроллеры без памяти программ (W78С3x);
Стандартные C51-микроконтроллеры без памяти программ и широким диапазоном рабочего напряжения 1,8-5,5 В (W78L3x);
С расширенным температурным диапазоном от -40 до +85 С (W77ICxx, W77IExx).
Быстродействующие семейства Turbo-51 W77 и W79 со временем выполнения команды 4 такта.
Для специальных применений:
контроллеры монитора W78C374E/P, W78E374E/P (ШИМ, 4-разрядный АЦП, DDC);
W78C438CP/CF (без памяти программ, 40 линий ввода/вывода);
W78C801/P/F (8 внешних прерываний для "пробуждения");
W78L801/P/F (8 внешних прерываний для "пробуждения", широкий диапазон рабочего напряжения 1,8-5,5 В);
W78LE812/P/F (флэш-память, 8 внешних прерываний для "пробуждения", широкий диапазон рабочего напряжения 2,4-5,5 В).
Стандартные семейства
В основе стандартных C51-микроконтроллеров Winbond лежит ядро 8052. Версии этих контроллеров с флэш-памятью помимо памяти приложений содержат до 4 кБ дополнительной памяти EPROM ROM для программы-загрузчика. Это позволяет легко реализовать программирование устройства в системе. Базовые возможности стандартных микроконтроллеров можно оценить на примере W78E516B:
тактовая рабочая частота до 40 МГц;
64 кБ флэш-памяти программ;
4 кБ дополнительной Flash EPROM для программы-загрузчика;
512 байт ОЗУ (включая 256 байт дополнительного ОЗУ);
4 восьмиразрядных двунаправленных порта ввода/вывода;
один 4-разрядный универсальный программируемый порт;
три 16-разрядных таймера/счетчика;
один полнодуплексный последовательный порт;
двухуровневая система прерываний с шестью источниками;
встроенная система управления энергопотреблением;
защита программного кода;
корпуса DIP40, PLCC44, PQFP44.
Изделия, входящие в группу стандартных семейств, специфицированы на температуры от 0 до +70 С. Для работы в тяжелых климатических условиях выпускаются версии микроконтроллеров с промышленным диапазоном рабочих температур от -40 до +85 С, и расширенным диапазоном рабочего напряжения от 2,7 до 5,5 В. Максимальная тактовая частота у этих изделий достигает 25 МГц.
Быстродействующие микроконтроллеры Winbond
Для повышения быстродействия С51-кристаллов фирма Winbond разработала собственный вариант процессорного ядра, полностью совместимого по системе команд с MCS-51. В результате удалось достигнуть повышения производительности в 1,5-3 раза, в сравнении с традиционным ядром 8051, в зависимости от выполняемой команды. В целом общая производительность возросла примерно в 2,5 раза на одинаковых с 8051 тактовых частотах. Благодаря этому оказалось возможным снизить энергопотребление за счет на работы на более низких частотах тактирования ядра при одинаковом уровне производительности с 8051. Максимальная тактовая частота большинства представителей семейства достигает 40 МГц. В настоящее время доступно более десятка вариантов быстродействующих C51-микроконтроллеров от Winbond, различающихся типом и объемом встроенной памяти программ, а также наличием специальных функций (ШИМ (W79E532A), дополнительный последовательный порт, дополнительные порты ввода/вывода (W77E468F) и пр.).
Микроконтроллеры для специальных применений
Для удовлетворения специфических потребностей разработчиков Winbond производит несколько специализированных микросхем на основе С51-ядра, позволяющих в ряде случаев существенно упростить готовое устройство, повысить его надежность и снизить стоимость.
Например, микроконтроллеры W78x37x, представляя собой завершенные контроллеры монитора, имеют следующие характеристики:
интегрированное процессорное ядро 80C31;
от 16 до 32 кБ памяти программ (в зависимости от типа), 576 байт ОЗУ;
ШИМ ЦАПы: восемь 8-разрядных статических ЦАП и три 8-разрядных динамических ЦАП;
процессор генерации сигналов видеосинхронизации:
детектор горизонтальной и вертикальной полярности;
разделить синхросигнала композитного синхросигнала;
12-разрядный счетчик горизонтальной и вертикальной частоты;
программируемый генератор частоты "пустышек";
прерывание SOA;
выход Hsync/2;
последовательные порты: порт DDC1 и порты ввода/вывода SIO1, SIO2;
два 16-разрядных таймера/счетчика, сторожевой таймер;
параболический генератор прерывания, представляющий собой 13-разрядный автоматически перезагружаемый таймер, периодически вырабатывающий прерывание ЦПУ для программной загрузки данных формы параболы для динамических ЦАПов;
один АЦП с 7-ю мультиплексируемыми аналоговыми входами;
максимальная тактовая частота 10 МГц, корпус DIP40/32 и PLCC44.
Доступна также версия этого микроконтроллера с перепрограммируемой памятью программ (W78E374).
Развитыми периферийными возможностями обладает кристалл W78C438C. Он функционально совместим со стандартным контроллером W78C32, но дополнительно имеет возможность адресации 64 кБ памяти программ и 1 МБ памяти данных, пять портов ввода/вывода общего назначения и четыре внешних прерывания. Контроллер не имеет собственной программной памяти и выпускается в корпусах PLCC84 и PQFP100.
Интересные особенности реализованы в контроллерах W78x801. Они работают при пониженном потребляемом токе в диапазоне тактовых частот от 0 до 40 МГц (кроме W78L801 - у него максимум 24 МГц), имеют 8 внешних источников прерывания для выхода из режимов энергосбережения и режим понижения электромагнитных излучений. Версия W78L801, помимо прочего, работает при напряжении питания от 1,8 до 5,5 В.
Средства разработки и отладки
Для внутрисхемного программирования (ISP) микроконтроллеров Winbond c флэш-памятью программ можно воспользоваться бесплатной утилитой ISP Writer, доступной на сайте компании. В документации на неё подробно описаны процедура программирования и необходимые для её выполнения аппаратные средства. Утилита ориентирована на работу под управлением операционной системы Windows и позволяет перепрограммировать микроконтроллер через RS-232 интерфейс с помощью простого адаптера на основе интерфейсного драйвера MAX232. Перед использованием утилиты в микроконтроллер с помощью стандартного программатора однократно должен быть записан bin-файл загрузчика, под управлением которого впоследствии будет выполняться внутрисхемное программирование. Файл загрузчика входит в состав пакета утилиты ISP Writer.
При разработке программного обеспечения для микроконтроллеров Winbond можно использовать средства разработки для С-51 микроконтроллеров, поставляемые большим числом производителей программного обеспечения. Многие из них в настоящее время предлагают программное обеспечение либо совсем бесплатно (к примеру, симулятор PDS-52 компании Phyton), либо с небольшими ограничениями на объем генерируемого программного кода. На сайте фирмы Winbond приводится обширный перечень рекомендуемых поставщиков средств поддержки для производимых ею микроконтроллеров.
|