16-разрядные Flash микроконтроллеры семейства F2MC-16LX фирмы Fujitsu
За последнее время в журналах, таких как "Chip News", "Инженерная микроэлектроника" и "Компоненты и технологии", был опубликован ряд статей, рассматривающих современное состояние рынка микроконтроллеров, рассматривающих особенности их архитектуры, их возможности.
В рамках данной статьи, с учетом особенности отечественного рынка: приобретение и использование партий приборов преимущественно небольших объемов, программирование микроконтроллеров применения самим разработчиком, будут представлены 16-разрядные Flash микроконтроллеры семейства F2MC-16LX фирмы Fujitsu (в частности, в качестве примера будет рассматриваться микроконтроллер MB90F543).
По нашему мнению, представленные в статье микроконтроллеры, реализованные по архитектуре фон-Неймана с общей памятью программ и данных и отсутствием явных различий между командами и данными, могут представить определенный интерес для разработчиков микроконтроллерных систем.
Микроконтроллеры семейства F2MC-16LX, обеспечивающие типовую производительность до 20 MIPS, являются реальной альтернативой таким распространенным микроконтроллерам как PIC16C923-924, ATmega128, ADuC812 и могут быть использованы в широком диапазоне критичных к быстродействию применений - от новейших разработок домашней и офисной электронной техники, систем безопасности и средств связи, до промышленных применений младших уровней, традиционно использующих 32-разрядные микроконтроллеры. В настоящее время стоимость Flash микроконтроллеров семейства F2MC-16LX находится в диапазоне от 4.75 до 20 у.е., в зависимости от типа микроконтроллера.
Микроконтроллеры семейства F2MC-16LX изготавливаются по современной CMOS технологии и при разработке приборов семейства особое внимание уделялось снижению энергопотребления приборов. Использованные приемы, как технологические, так и аппаратные и программные способствовали снижению энергопотребления до уровня, позволяющего использовать эти приборы в критичных к потреблению применениях с батарейным питанием. Основные характеристики Flash микроконтроллеров семейства F2MC-16LX приведены в таблице 16-ти разрядные микроконтроллеры Fujitsu.
Рис. 1. Блок-схема микроконтроллера MB90F543.
В основе микроконтроллеров семейства F2MC-16LX фирмы Fujitsu лежит 16-разрядное ядро, способное обрабатывать данные с форматами байта, слова и, посредством 32-разрядного аккумулятора, длинные слова 32-разрядного формата. Регистровая модель процессора микроконтроллеров семейства показана на Рис. 2
Максимальная внутренняя частота процессора 20 МГц (длительность машинного цикла 50 нс) формируется встроенной схемой PLL, обеспечивающей умножение в 0,5, 2, 3 и 4 раза, что позволяет использовать входной тактовый сигнал или кварцевый кристалл на 4 МГц (выводы XA, XA) и на другие частоты. Ряд микроконтроллеров семейства располагают возможностью работы от кварцевого кристалла или керамического резонатора на частоту 32,768 Кгц (выводы X0A, X1A). Использование низкочастотных кварцевых кристаллов позволило существенно снизить уровень электромагнитных излучений.
Рис. 2 Регистровая модель процессора F2MC-16LX
Внутренняя 24-разрядная шина адреса позволяет адресовать единое пространство программ и данных с максимальным объемом 16 Мбайт (по FFFFFFH). Память адресуется в линейном режиме (24-разрядным адресом) и в режиме адресации банков - все 16 Мбайт адресуемого пространства разбиты на 256 банков объемом по 64 Кбайта. Кроме того, ряд специальных регистров процессора обеспечивает обращение к банкам, в которых размещаются коды программ (пространство программ -PCB), данные (пространство данных DTB), стеки пользователя и системы (пространства стеков пользователя и системы - USB и SSB) и дополнительные данные (пространство ADB) - некоторые данные отличающиеся, в основном, от данных размещаемых в специализированных пространствах.
Все регистры общего назначения размещаются в RAM по адресам с 000180H по 00037FH в виде 32 банков, каждый из которых содержит по восемь 16-разрядных сегментов. Регистры общего назначения могут быть использованы как 8-разрядные регистры общего назначения (байтовые регистры с R0 по R7), 16-разрядные регистры (регистры слов с RW0 по RW7) и как 32-разрядные регистры (регистры длинных слов ( с RL0 по RL7). К регистрам общего назначения, находящимся в RAM, обращение ведется короткими командами, что обеспечивает высокую скорость их выполнения.
Рис. 3. Карта памяти микроконтроллера MB90F543.
При использовании регистров общего назначения в качестве 32-разрядных регистров, они могут быть использованы как линейные указатели, организующие прямое обращение ко всему пространству памяти.
Банк, который будет использоваться для размещения регистров общего назначения, определяет указатель банка регистров (RP). Содержимое RP указывает на используемый в данный момент банк.
Рис. 4. Организация пространства памяти встроенной RAM.
Система команд, ориентированная на контроллерные применения, насчитывает 351 команду и работает с 8-, 16- и 32-разрядными данными. В систему команд, поддерживающую мультизадачность и языки высокого уровня (языки C), входят команды пересылок и переходов, арифметических, логических и сдвиговых операций, умножения/деления со знаком и без знака, битовых операций и операций управления, строковых операций.
В зависимости от способа адресации и формата данных такие команды, как команды пересылок и сложения/вычитания, выполняются за 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 память обеспечивает минимум 10000 циклов стирания/записи и гарантированное время сохранения информации составляет 10 лет.
Кроме параллельного программирования, обеспечиваемого лишь при наличии у микроконтроллера интерфейса внешней шины, программирование Flash памяти может быть выполнено и с использованием последовательных интерфейсов, обеспечивающих внутрисхемное и внутрисистемное программирование.
Все микроконтроллеры семейства располагают как минимум одним буферированным каналом UART с производительностью от 1202 bps до 2 Mbps, в зависимости от синхронного/асинхронного режима работы, в ряде случаев, с возможностью SCI. Другими последовательными интерфейсами могут быть:
- Последовательный интерфейс I/O, обеспечивающий пересылки со старшего или младшего разрядов посылки с внутренней или внешней синхронизацией, с производительностью до 1 Mbps. На основе этого интерфейса может быть реализован протокол I2C.
- Последовательный интерфейс I2C, с режимами ведущий/ведомый, с арбитражом, детектированием адреса и обнаружением ошибок.
- Последовательный двухпроводный интерфейс IEBus, обеспечивающий полудуплексную асинхронную связь в режиме с множеством ведущих и с групповой адресацией.
- Интерфейс CAN, соответствующий спецификациям CAN V2.0 A и B. Производительность интерфейса, в зависимости от установленной частоты синхронизации, может составлять от 10 Kbps до 1 Mbps.
Перечисление встроенной периферии продолжим описанием модулей на основе счетчиков и таймеров. Микроконтроллеры семейства оснащены 8/16-разрядными программируемыми генераторами импульсов (Programmable Pulse Generator -PPG), выполняющими ту же функцию, что и привычные PWM генераторы. В зависимости от типа микроконтроллеры семейства могут иметь от 1 до 4 PPG генераторов. Каждый генератор состоит из двух 8-разрядных перезагружаемых счетчиков, располагает четырьмя перезагружаемыми регистрами, определяющими ширину импульсов по верху и по низу, и способен сформировать два прерывания. Генераторы могут работать в режиме двух независимых каналов или объединяться в один 16-разрядный генератор.
Каждый микроконтроллер семейства располагает, как минимум одним, многофункциональным 16-разрядным таймером I/O, работающим совместно с модулями захвата входа и сравнение выхода и формирующим запрос прерывания по запрограммированному событию. В зависимости от типа микроконтроллера варьируется количество модулей захвата/сравнения.
Практически каждый микроконтроллер располагает одним или несколькими 16-разрядными перезагружаемыми таймерами, тактируемыми как внутренними тактовыми сигналами, так и внешним сигналом, и поддерживающими функцию подсчета внешних событий.
Ряд микроконтроллеров оснащен двумя 8/16-разрядными реверсивными счетчиками/таймерами, располагающими 6 входами событий и работающими в режиме таймера, реверсивного счетчика и в режиме замера разницы фаз, используемом для измерения угла поворота и числа оборотов ротора электродвигателя и для других подобных целей.
Микроконтроллеры 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 мкс.
К специфической периферии можно отнести 4-канальные контроллеры шаговых двигателей, которыми оснащены четыре микроконтроллера семейства ( MB90F428/428A, MB90F591A, MB90F594A и MB90F598). Каждый из каналов контроллеров содержит по два ШИМ генератора и по четыре драйвера, обеспечивающих высокий ток нагрузки обмоток двигателя.
Также специфической периферией являются контроллер драйвера жидкокристаллического дисплея (LCD) и генератор акустического сигнала.
Контроллер драйвера LCD, оснащенный 16 байтами памяти дисплея, обеспечивает непосредственное управление жидкокристаллическим дисплеем и располагает 4 выводами общих сигналов и 32 выводами сигналов сегментов.
В основе генератора акустического сигнала 8-разрядный ШИМ генератор сигнал которого смешивается с частотой тона 8-разрядного перезагружаемого счетчика.
Во всех без исключения микроконтроллерах семейства организованы аппаратные сторожевой таймер и 18-разрядный таймер временной базы, синхронизируемый тактовой частотой системы и позволяющий, на основе заданных интервалов времени, формировать запросы прерывания. Практически все микроконтроллеры имеют часы реального времени или автономные , или аппаратно организованные совместно с другими таймерами. Часы реального времени отсчитывает секунды, минуты и часы, выполняют корректировку девиации частоты, формируют запрос прерывания в заданный момент времени.
Мы уже говорили об использованных технологических, аппаратных и программных приемах, позволяющих снизить энергопотребление. Представление о количестве аппаратных и программных режимов и уровне потребления в каждом из режимов, реализуемых в микроконтроллерах семейства, может дать приведенный рисунок.
Рисунок показывает не количественные а качественные соотношения, однако, на наш взгляд, он дает пользователю возможность оценить необходимость использования тех или иных средств энергосбережения.
Основными режимами работы CPU являются три основных режима:
- Режим тактирования - тактирование сигналом схемы PLL, тактирование базовым источником и субтактирование (тактирование с частотой 32 кГц).
- Режим перемежающейся работы CPU - все три источника тактирования.
- Режимы standby - режим sleep, режим работы по таймеру временной базы, режим stop или режим работы по временному графику.
Рис. 6. Режимы энергосбережения CPU F2MC-16LX
Режим перемежающейся работы CPU заключается в том, что при выполнении команд обращения к регистрам, внутренней памяти (ROM и RAM), I/O, периферийным устройствам или внешней шине тактирование CPU, на это время, останавливается и, таким образом, выключается основной потребитель.
Тактирование устройств, к которым ведется обращение, продолжается на полной скорости. Работу CPU в перемежающемся режиме можно проиллюстрировать приведенным рисунком.
Рис. 7. Перемежающийся режим работы CPU F2MC-16LX.
Очень важной для разработчиков информацией, мы так считаем, является то, что программные средства проектирования и отладки микроконтроллеров семейства F2MC-16LX являются совершенно бесплатными и их можно выгрузить с сайта Рынок Микроэлектроники или купить на компакт-диске в Shop.ChipDoc.ru.
Стандартный пакет программных средств проектирования и отладки микроконтроллеров семейства F2MC-16LX (и ряда других семейств фирмы Fujitsu), получивший обозначение Softune Workbench, работающий в среде операционных систем Windows 95/98 и Windows NT4.0, содержит:
- ANSI C компилятор
- Макро ассемблер
- Линкер
- Симулятор
- Эмулятор
Расширенный пакет располагает дополнительными средствами контроля, анализа и многозадачной отладки.
Посредством адаптера эмулятора MB2145-507 и загрузки соответствующего программного монитора модульный внутрисхемный эмулятор MB2140A поддерживает все 16-разрядные микроконтроллеры фирмы Fujitsu. Эмулятор, при использовании различных кабелей-пробников, может быть соединен с посадочным местом корпуса микроконтроллера системы пользователя. Обычно эмулятор соединяется с компьютером отладки посредством последовательного интерфейса RS232, но возможно использование дополнительных коммуникационных адаптеров для параллельного порта и форматов 10BASE2 и 10BASEET.
Быстро разобраться в особенностях микроконтроллеров фирмы, в частности оснащенных контроллерами CAN, и приступить к разработке программных средств позволяет оценочный комплект " Flash/CAN100" стоимостью $495, разработанный фирмой Fujitsu.
|
|
Rus 16-разрядные микроконтроллеры семейства F2MC-16LX |
|
|
Rus 16-разрядное Ядро ЦПУ F2MC-16LX |
|
|
Програмное обеспечение |
|