Евгений Крылов, Сергей Гаврилюк
16-разрядные Flash микроконтроллеры семейства F2MC-16LX фирмы Fujitsu
За последние полгода в журналах Chip News, «Инженерная микроэлектроника» и «Компоненты и технологии» был опубликован ряд статей, посвященных рынку микроконтроллеров, в которых рассматривались особенности архитектуры и их возможности. Данная статья учитывает специфику отечественного рынка: приобретение и использование потребителями партий приборов преимущественно небольших объемов, программирование микроконтроллеров, применяемых самим разработчиком.
В настоящей статье представлены 16-разрядные Flash-микроконтроллеры семейства F2MC-16LX фирмы Fujitsu, в частности, микроконтроллер MB90F543.
По нашему мнению, микроконтроллеры семейства F2MC-16LX, реализованные по архитектуре фон-неймана с общей памятью программ и данных, отсутствием явных различий между командами и данными, могут представлять определенный интерес для разработчиков микроконтроллерных систем.
Микроконтроллеры семейства F2MC-16LX обеспечивают типовую производительность в 16 MIPS и являются реальной альтернативой распространенным микроконтроллерам PIC16C923-924, ATmega103-603, ADuC812. Они могут быть использованы в широком диапазоне критичных к быстродействию применений — от новейших разработок домашней и офисной электронной техники, систем безопасности и средств связи до промышленных применений младших уровней, традиционно использующих 32-разрядные микроконтроллеры. В настоящее время стоимость Flash-микроконтроллеров семейства F2MC-16LX составляет $8…20 в зависимости от их конкретного типа.
Рис. 1. Структурная схема микроконтроллера MB90F543
Микроконтроллеры семейства F2MC-16LX производятся по современной CMOS-технологии. При разработке приборов данного семейства особое внимание было уделено снижению их энергопотребления. Технологические, аппаратные и программные приемы способствовали снижению энергопотребления до уровня, позволяющего использовать эти приборы в критичных к потреблению применениях с батарейным питанием. Основные характеристики Flash-микроконтроллеров семейства F2MC-16LX приведены в табл. 1.
Таблица 1.
В основе микроконтроллеров семейства F2MC-16LX фирмы Fujitsu лежит 16-разрядное ядро, способное обрабатывать данные с форматами байта, слова и, посредством 32-разрядного аккумулятора, длинные слова 32-разрядного формата. Регистровая модель процессора микроконтроллеров семейства показана на рис. 2.
Рис. 2. Регистровая модель процессора F2MC-16LX
Максимальная внутренняя частота процессора составляет 16 МГц (длительность машинного цикла — 62,5 нс). Она формируется встроенной схемой PLL, обеспечивающей умножение на 0,5, 2, 3 и 4, что позволяет использовать входной тактовый сигнал или кварцевый кристалл на 4 МГц (выводы XA, XA) и на другие частоты. Ряд микроконтроллеров семейства располагают возможностью работы от кварцевого кристалла или керамического резонатора на частоту 32,768 кГц (выводы X0A, X1A). Использование низкочастотных кварцевых кристаллов позволило существенно снизить уровень электромагнитных излучений.
Внутренняя 24-разрядная шина адреса позволяет адресовать единое пространство программ и данных с максимальным объемом 16 Мбайт (по FFFFFFH). Память адресуется в линейном режиме (24-разрядным адресом) и в режиме адресации банков. Все 16 Мбайт адресуемого пространства разбиты на 256 банков объемом по 64 Кбайта. Кроме того, ряд специальных регистров процессора обеспечивает обращение к банкам, в которых размещаются коды программ (пространство программ PCB), данные (пространство данных DTB), стеки пользователя и системы (пространства стеков пользователя и системы — USB и SSB) и дополнительные данные (пространство ADB). Некоторые из этих данных отличаются от данных, размещаемых в специализированных пространствах.
Рис. 3. Карта памяти микроконтроллера MB90F543
Все регистры общего назначения размещаются в RAM по адресам с 000180H по 00037FH в виде 32 банков, каждый из которых содержит по восемь 16-разрядных сегментов. Регистры общего назначения могут быть использованы как 8-разрядные регистры общего назначения (байтовые регистры с R0 по R7), 16-разрядные регистры слов (с RW0 по RW7) и как 32-разрядные регистры (регистры длинных слов с RL0 по RL7). К регистрам общего назначения, находящимся в RAM, обращение ведется короткими командами, что обеспечивает высокую скорость их выполнения.
В качестве 32-разрядных регистров регистры общего назначения могут быть использованы как линейные указатели, организующие прямое обращение ко всему пространству памяти.
Банк, который будет использоваться для размещения регистров общего назначения, определяет указатель банка регистров (RP). Содержимое RP указывает на используемый в данный момент банк.
Система команд, ориентированная на контроллерные применения, насчитывает 351 команду и работает с 8-, 16- и 32-разрядными данными. В систему команд, поддерживающую мультизадачность и языки высокого уровня (языки C), входят команды пересылок и переходов, арифметических, логических и сдвиговых операций, операций умножения/деления со знаком и без знака, битовых операций и операций управления, строковых операций.
Рис. 4. Организация пространства памяти встроенной RAM
В зависимости от способа адресации и формата данных команды пересылок и сложения/вычитания выполняются за 2…10 машинных циклов; на выполнение команд умножения и деления затрачивается до 20–30 машинных циклов. Получению высокой производительности способствует 4-байтовая очередь команд.
Используются 23 режима адресации, в их числе: непосредственные, прямые (с 16- и 24-разрядными адресами, короткие, адресация битов и I/O), косвенные регистровые, косвенные по счетчику команд и по аккумулятору. Ускорению обращения способствуют префиксы, представляющие собой, по сути, короткие команды выбора банков PCB, DTB, ADB, SSP и USP. Помещаемые перед командой коды префиксов выбирают доступное команде пространство памяти независимо от режима адресации. Еще два префикса изменяют характер выполнения ряда команд, в частности отменяют изменение флагов состояний.
Еще один способ ускорения обращения к памяти программ предоставляет модуль отображения банка FF в банке 00, управляемый регистром отображения ROM. Однако то, что для отображения содержимого банка FF в банке 00 остается свободным пространство, начиная с адреса 004000H, является определенным ограничением возможности отображения.
Микроконтроллеры семейства F2MC-16LX предоставляют разработчикам систем возможность организации «заплат» — вставки в программу небольших кусков кодов, обеспечивающих решение некоторых специальных задач. Модуль совпадения адресов, содержащий регистр адресов коррекции ROM и компаратор, при обнаружении совпадения адреса в счетчике команд с записанным в регистре адресом формирует команду программного прерывания INT9, по которой коды, записанные во внешней памяти небольшого объема, переписываются в RAM и исполняются.
Рис. 5. Вставка «заплат» в коды программ микроконтроллеров семейства F2MC-16LX
Процессор F2MC-16LX способен обрабатывать до 256 аппаратных и программных прерываний, включая сервис расширенного интеллектуального I/O (Extended Intelligent I/O Service — EI2OS) с восемью уровнями приоритета. Допускаются вложенные прерывания. Функция сервиса I/O (EI2OS) автоматически пересылает данные между входом/выходом и памятью. Обычно для выполнения такой операции используются подпрограммы обработки прерываний, однако EI2OS позволяет пересылать данные путем прямого доступа к памяти (DMA).
По сравнению с обычным способом пересылки данных EI2OS обладает следующими преимуществами:
меньший размер программы, поскольку не требует разработки специальных программ пересылки и записи;
для пересылок не используются встроенные регистры, что исключает потребность в сохранении регистров и повышает скорость пересылок;
пересылка может быть остановлена самим I/O, что устраняет пересылку нежелательных данных;
адрес буфера может быть как инкрементирован, так и декрементирован;
адрес регистра I/O может быть как инкрементирован, так и декрементирован.
В конце процедуры пересылки данных, по установке конечного условия, происходит автоматический переход к подпрограмме обработки прерывания. Таким образом, пользователь может идентифицировать конечное условие.
Flash-память микроконтроллеров напрямую происходит от Flash-памяти типа MB29F400TA. Она программируется аналогичным образом стандартными JEDEC-совместимыми командами и обрамлена схемами организации интерфейса, в том числе с внешней шиной, если она имеется, и располагает встроенным генератором накачки, формирующим высокое напряжение программирования. Блочная организация памяти позволяет организовать стирание/запись как отдельных блоков и набора выбранных блоков, так и всего объема памяти. Управление стиранием/записью секторов может быть выполнено с управлением внешними выводами по внешней шине или под управлением CPU по внутренней шине. Содержимое Flash-памяти может быть защищено от несанкционированного копирования.
Емкость Flash-памяти в приборах семейства варьируется от 64 Кбайт (один банк) до 384 Кбайт (шесть банков). Flash-память обеспечивает минимум 10 тыс. циклов стирания/записи. При этом гарантированное время сохранения информации составляет 10 лет.
Кроме параллельного программирования, обеспечиваемого лишь при наличии у микроконтроллера интерфейса внешней шины, программирование Flash-памяти может быть выполнено и с использованием последовательных интерфейсов, обеспечивающих внутрисхемное и внутрисистемное программирование. Все микроконтроллеры семейства располагают как минимум одним буферированным каналом UART производительностью от 1202 бит/с до
2 Мбит/с, в зависимости от синхронного/асинхронного режима работы, в ряде случаев —
с возможностью SCI. Другими последовательными интерфейсами могут быть:
последовательный интерфейс I/O производительностью до 1 Мбит/с, обеспечивающий пересылки со старшего или младшего разрядов, посылки с внутренней или внешней синхронизацией. На основе этого интерфейса может быть реализован протокол I2C;
последовательный интерфейс I2C с режимами ведущий/ведомый, с арбитражем, детектированием адреса и обнаружением ошибок;
последовательный двухпроводный интерфейс IEBus, обеспечивающий полудуплексную асинхронную связь в режиме с множеством ведущих и с групповой адресацией;
интерфейс CAN, соответствующий спецификациям CAN V2.0 A и B. Производительность интерфейса, в зависимости от установленной частоты синхронизации, может составлять от 10 Кбит/с до 1 Мбит/с.
Микроконтроллеры семейства оснащены 8/16-разрядными программируемыми генераторами импульсов (Programmable Pulse Generator, PPG), выполняющими ту же функцию, что и привычные PWM- (или ШИМ-) генераторы. В зависимости от типа микроконтроллеры семейства могут иметь от 1 до 4 PPG-генераторов. Каждый генератор состоит из двух 8-разрядных перезагружаемых счетчиков, располагает четырьмя перезагружаемыми регистрами, определяющими ширину импульсов по верху и по низу, и способен сформировать два прерывания. Генераторы могут работать в режиме двух независимых каналов или объединяться в один 16-разрядный генератор.
Каждый микроконтроллер семейства располагает как минимум одним многофункциональным 16-разрядным таймером I/O, работающим совместно с модулями захвата входа и сравнения выхода и формирующим запрос прерывания по запрограммированному событию. В зависимости от типа микроконтроллера варьируется количество модулей захвата/сравнения.
Практически каждый микроконтроллер располагает одним или несколькими 16-разрядными перезагружаемыми таймерами, тактируемыми как внутренними тактовыми сигналами, так и внешним сигналом и поддерживающими функцию подсчета внешних событий.
Ряд микроконтроллеров оснащен двумя 8/16-разрядными реверсивными счетчиками/таймерами, располагающими шестью входами событий и работающими в режиме таймера, реверсивного счетчика и в режиме замера разницы фаз, используемом для измерения угла поворота и числа оборотов ротора электродвигателя, а также для других подобных целей.
Микроконтроллеры MB90F474H/L и MB90F583 оснащены 16-разрядными таймерами/счетчиками PWC (Pulse Width Counter), позволяющими измерять время между внешними событиями, период и ширину входного импульса, формировать прерывание по фиксированному интервалу.
В каждом микроконтроллере обязательно имеется 8-канальный АЦП последовательного приближения с устанавливаемым пользователем разрешением в 8 или 10 разрядов. Время преобразования при внутренней тактовой частоте 16 МГц составляет от 6,13 до 26,3 мкс.
Три микроконтроллера семейства (MB90F523, MB90F574/574A и MB90F583) оснащены 8-разрядными ЦАП с архитектурой R-2R и временем преобразования 12,5 мкс.
К специфической периферии можно отнести четырехканальные контроллеры шаговых двигателей, которыми оснащены микроконтроллеры семейства MB90F428/428A, MB90F591A, MB90F594A и MB90F598. Каждый из каналов контроллеров содержит по два ШИМ-генератора и по четыре драйвера, обеспечивающих высокий ток нагрузки обмоток двигателя.
Также специфической периферией являются контроллер драйвера жидкокристаллического дисплея (LCD) и генератор акустического сигнала. Контроллер драйвера LCD, оснащенный 16 байтами памяти дисплея, обеспечивает непосредственное управление жидкокристаллическим дисплеем и располагает 4 выводами общих сигналов и 32 выводами сигналов сегментов.
Основой генератора акустического сигнала является 8-разрядный ШИМ-генератор, сигнал которого смешивается с частотой тона 8-разрядного перезагружаемого счетчика.
Во всех без исключения микроконтроллерах семейства организованы аппаратные сторожевой таймер и 18-разрядный таймер временной базы, синхронизируемый тактовой частотой системы и позволяющий на основе заданных интервалов времени формировать запросы прерывания. Практически все микроконтроллеры имеют часы реального времени — или автономные, или аппаратно-организованные совместно с другими таймерами. Часы реального времени отсчитывают секунды, минуты и часы, выполняют корректировку девиации частоты, формируют запрос прерывания в заданный момент времени.
Рис. 6. Режимы энергосбережения CPU F2MC-16LX
Мы уже говорили об используемых технологических, аппаратных и программных приемах, позволяющих снизить энергопотребление. Представление о количестве аппаратных и программных режимов и уровне потребления в каждом из режимов, реализуемых в микроконтроллерах семейства, поможет получить рис. 6. На нем показаны не количественные, а качественные соотношения. Кроме того, он дает пользователю возможность оценить необходимость использования тех или иных средств энергосбережения.
Основными режимами работы CPU являются:
режим тактирования — тактирование сигналом схемы PLL, тактирование базовым источником и субтактирование (тактирование с частотой 32 кГц);
режим перемежающейся работы CPU — все три источника тактирования;
режимы standby, sleep, работы по таймеру временной базы, stop или режим работы по временному графику.
Рис. 7. Перемежающийся режим работы CPU F2MC-16LX
Режим перемежающейся работы CPU характеризуется тем, что в период выполнения команд обращения к регистрам, внутренней памяти (ROM и RAM), I/O, периферийным устройствам или внешней шине тактирование CPU останавливается и, таким образом, выключается основной потребитель. Тактирование устройств, к которым ведется обращение, продолжается на полной скорости. Работу CPU в перемежающемся режиме можно проиллюстрировать с помощью рис. 7.
Важной для разработчиков информацией, по нашему мнению, является то, что программные средства проектирования и отладки микроконтроллеров семейства F2MC-16LX являются бесплатными. Их можно загрузить с сайта www.gaw.ru или получить на компакт-диске в Консультационно-техническом центре по микроконтроллерам (КТЦ-МК).
Стандартный пакет программных средств проектирования и отладки микроконтроллеров семейства F2MC-16LX (и ряда других семейств фирмы Fujitsu), получивший обозначение Softune Workbench, работающий в среде операционных систем Windows 95/98 и Windows NT 4.0, содержит:
ANSI C компилятор;
макроассемблер;
линкер;
симулятор;
эмулятор.
Расширенный пакет располагает дополнительными средствами контроля, анализа и многозадачной отладки.
Посредством адаптера эмулятора MB2145-507 и загрузки соответствующего программного монитора модульный внутрисхемный эмулятор MB2140A поддерживает все 16-разрядные микроконтроллеры фирмы Fujitsu. При использовании различных кабелей-пробников эмулятор может быть подключен к посадочному месту корпуса микроконтроллера системы пользователя. Обычно эмулятор соединяется с компьютером отладки посредством последовательного интерфейса RS-232, но возможно использование дополнительных коммуникационных адаптеров для параллельного порта и форматов 10BASE2 и 10BASEET.
Быстро разобраться в особенностях микроконтроллеров фирмы, в частности оснащенных контроллерами CAN, и приступить к разработке программных средств позволяет оценочный комплект Flash/CAN100, разработан- ный фирмой Fujitsu. В настоящее время КТЦ-МК заканчивает разработку аналогичного оценочного комплекта KIT-MB598, реализующего те же функции, что и Flash/CAN100, но стоящего в несколько раз дешевле.
info@cec-mc.ru
|