32-разрядные микроконтроллеры семейства FR фирмы Fujitsu
Разрабатывая 32-разрядные микроконтроллеры семейства FR, специалисты фирмы Fujitsu поставили перед собой цель – создать высокопроизводительные 32-разрядные приборы со встроенной периферией, используемой в семействе 16LX . По их мнению, это должно упростить освоение разработчиками систем 32-разрядных микроконтроллеров, способствовать быстрому переводу уже существующих применений на более производительную элементную базу.
Предлагая Вам статью о 32-разрядных микроконтроллерах семейства FR ( Fujitsu RISC ) фирмы Fujitsu , напомню, что в данном журнале был опубликован ряд статей, посвященных 16- разрядным микроконтроллерам семейства 16LX. Напоминание связано с тем, что в этих статьях описаны возможности встроенной 16-разрядной периферии, используемой в микроконтроллерах семейства FR.
В данной статье рассматриваются оснащенные Flash памятью микроконтроллеры, как приборы в наибольшей мере соответствующие потребностям наших сегодняшних разработчиков. Хотя все изложенное в большой степени относится как к микроконтроллерам без памяти программ, так и к программируемым маской приборам.
Семейство FR изначально разрабатывается с ориентацией на требования перспективных применений. В основу этих микроконтроллеров положены разрабатываемые фирмой ядра 32-разрядных RISC процессоров с архитектурой, оптимизированной под встраиваемые применения. При этом разработчики ориентируются на два, в основном, главных требования современного рынка, выдвигаемые автомобильными, потребительскими и коммуникационными применениями — высокая производительность и низкая стоимость.
За время, прошедшее с момента выпуска первых микроконтроллеров семейства FR , было разработано и активно используется несколько версий программно совместимых ядер. Первые FR микроконтроллеры серий MB911xx были построены на ядре FR30, на ядре FR50 построены микроконтроллеры серии MB 9136x , внедряются и разрабатываются новые версии ядер в наибольшей мере ориентированных на требования тех или иных применений. И все эти ядра остаются программно совместимыми. Фирма не стремится раскрывать секреты своей интеллектуальной собственности, однако основные, присущие практически всем версиям, характеристики ядер семейства FR мы проиллюстрируем блок-схемой, показанной на Рис. 1, и перечислением основных особенностей ядра.
Основные особенности ядра семейства FR :
- 32-разрядная RISC архитектура загрузки/сохранения
- Максимальная производительность: 1,25 команды за один цикл сигнала тактирования
- 5-уровневый конвейер 16-разрядных команд
- Встроенный, поддерживаемый на уровне команд, перемножитель,
- 32-разрядное перемножение со знаком за 5 циклов
- 16-разрядное перемножение со знаком за 3 цикла
- Восемь 32-разрядных специальных регистров:
- счетчик команд ( PC ),
- указатель возврата ( RP ),
- регистр базовой таблицы ( TBR ),
- регистр состояния программы ( PS ),
- указатель системного стека ( SSP ),
- указатель стека пользователя ( USP ),
- регистры MDH и MDL (используются перемножителем для сохранения результатов 32- и 16-разрядного перемножения/деления )
- Банк из шестнадцати 32-разрядных регистров общего назначения ( R0 ~ R15). Функции регистров с R 13 по R 15 зарезервированы за виртуальным аккумулятором, указателем фреймов и указателем стека, соответственно
- Набор оптимизированных под встраиваемые применения базовых 16-разрядных команд фиксированных форматов, выполняемых за один цикл; команды пересылок память/память, команды манипулирования битами, команды, ориентированные на языки высокого уровня. В системе команд имеются также команды и 32- и 48-разрядного формата
- Быстрый отклик на прерывания (6 циклов), поддержка вложенных прерываний, 16 уровней приоритета с маскированием
- Линейное адресуемое пространство в 4 Гбайта
Архитектура шин микроконтроллеров семейства FR ориентирована на использование встроенной периферии 16-разрядных микроконтроллеров семейства F2MC-16LX и 16-разрядных команд фиксированного формата, необходимых для такой интеграции. Типовая схема организации шин микроконтроллеров семейства FR показана на Рис. 2.
Блоки, которым необходим быстрый доступ, соединены с FR-ядром 32-разрядной Гарвардской шиной (раздельные 32-разрядные шины команд I — bus и данных D — bus ). Такими блоками могут быть: встроенная сверхоперативная RAM и кэш (если они используются), контроллер DMA и модуль поиска битов 1). К шинам I — bus и D — bus подключен и преобразователь шин Гарвард/Принстон, организующий 32-разрядную шину F — bus , используемую для обеспечения доступа к встроенной Flash памяти, к контроллерам CAN и другим ресурсам, интенсивно обменивающимся данными с ядром. Интерфейс внешней шины, как правило, организуется преобразователем шин Гарвард/Принстон, оптимизирующим порядок обращения к внешней шине. Встроенные буферы записи и предварительной выборки исключают потребность в ожидании шины CPU .
Ресурсы, которым достаточно простого управления или управления доступом по состоянию, типа UART, таймеров и т.д., подключаются к 16 разрядной шине периферии R- b us. Преобразователь 32-разрядного формата в 16-разрядный формат R-шины, представляющий собой блок преобразования, подобный блоку интерфейса внешней шины, принимает 32-разрядные обращения CPU к периферии и преобразует их в два 16-разрядных обращения, обеспечивая взаимодействие 16-разрядной встроенной периферии с 32-разрядным CPU .
Бросается в глаза большое сходство архитектуры FR с архитектурой 32-разрядных микроконтроллеров других фирм, например Atmel , использовавших 16/32-разрядное лицензионное ядро ARM7TDMI , однако ядро FR фирма Fujitsu разработала самостоятельно
.
Модуль поиска битов используется микроконтроллером при работе с встроенными операционными системами и позволяет за один машинный цикл обнаружить в 32-разрядном слове бит первым, начиная с MSB , изменившим свое состояние. Результатом детектирования является положение этого бита.
На Рис. 3 приведена типовая карта памяти приборов семейства FR (в зависимости от конкретного типа прибора она может иметь несколько иной вид).
Область адресов с 8000 h по C 000 h предназначена для обращения к памяти программ, которая может быть как встроенной, например Flash памятью, так и внешней, обращение к которой ведется через интерфейс внешней шины.
Flash память микроконтроллеров семейства FR ведет происхождение от приборов памяти типа MBM29LV 40°C. И характеристики и особенности памяти, за малым исключением, например разбиением на секторы, практически идентичны. Так при программировании используется алгоритм автоматического программирования ( Embedded Algorithm ), набор команд работы с памятью совместим с JEDEC стандартом, может быть выполнено стирание как отдельного сектора, так любого сочетания секторов и т.д. Интерфейс Flash памяти обеспечивает запись/стирание как под управлением CPU ( CPU mode ), так и под управлением по внешним выводам ( flash memory mode ). Встроенная Flash память микроконтроллеров семейства FR обеспечивает, как и ее прародитель, минимум 10000 циклов стирания/записи и сохранность данных не менее 10 лет.
Отметим разбиение встроенной Flash памяти на набор секторов (в зависимости от емкости встроенной Flash памяти и количество секторов и их емкость могут варьироваться), обеспечивающее чтение/запись 16-разрядных полуслов и чтение байтов и 32-разрядных слов. Пример секторной организации Flash памяти приведен на Рис. 4.
Заодно отметим, что размещение битов 32-разрядного слова данных соответствует порядку little endian ( LSB соответствует биту 0), а размещение байтов соответствует порядку big endian (байт 0 размещается по адресу « n », байт 1 размещается по адресу « n + 1», байт 2 размещается по адресу « n + 2» и т.д.).
Flash микроконтроллеры серии MB91F36xG (к этой серии относится и прибор MB91F37 GA ) оснащены ROM загрузки. В этой ROM , с которой начинается работа микроконтроллера после сброса или инициирования, хранятся подпрограммы последовательного программирования встроенной Flash памяти и конфигурирования микроконтроллера.
Самое время коснуться интерфейса внешней шины, обеспечивающего обращение, как к внешней памяти, так и внешним устройствам I / O . Основные возможности интерфейса внешней шины микроконтроллеров семейства FR следующие:
- Вывод адреса форматом до 25 разрядов (зависит от типа прибора)
- Выбор, заданием сигнала CS , одного из нескольких банков внешнего адресуемого пространства (минимальный объем банка 64 кбайта)
- Задание для выбранного сигналом CS банка 8-, 16- или 32-разрядного формата данных (набор форматов зависит от типа прибора)
- Программное задание времени ожидания памяти (до 7 циклов)
- « Fly — by » поддержка контроллером DMA
- Поддержка DRAM ( MB91F109)
- Работа с частотой тактирования, в большинстве случаев, 25 МГц
Отметим наличие у прибора MB91F312, вместо привычного интерфейса внешней шины, обслуживающего обычно внешнюю память и внешние периферийные устройства, 16-разрядного интерфейса входа/выхода, обслуживающего только макрофункции USB, MS-IF и OSDC и работающего с максимальной частотой 20 МГц.
В
строенная периферия, как уже отмечалось, это 16-разрядная периферия, аналогичная используемой в 16-разрядных микроконтроллерах фирмы Fujitsu . Примером насыщения микроконтроллера семейства FR встроенной периферией может служить блок-схема микроконтроллера типа MB91364G (См. Рис. 5). Приборы серии MB91F36x с встроенной Flash памятью и интерфейсами CAN предназначены для использования в самых различных автомобильных и промышленных применениях. Так сегодня они используются в высокопроизводительных измерительных системах, которым необходима специальная встроенная периферия, типа контроллеров шаговых двигателей, таймеров реального времени, генераторов звукового сигнала, драйверов LED и PPG для управления интенсивностью свечения.
Описание стандартных модулей периферии, таких как таймеры/счетчики, ADC и DAC , часы реального времени и т.п., и их работа представлены в упомянутом выше «Справочном руководстве». Основным отличием модулей можно считать то, что модули 16-разрядных микроконтроллеров располагают собственными регистрами переключения функций выводов, тогда как в приборах семейства FR переключение функций выводов организуется специальными регистрами переключения функций I / O . Кроме того, разрешение ADC и DAC увеличено до 10 разрядов.
Структуры модулей интерфейсов микроконтроллеров семейства FX и семейства 16 LX практически полностью идентичны, но отмеченные у стандартной периферии отличия, такие как управление I / O , касаются и модулей интерфейсов. Необходимо отметить, что в приборах семейства FR модули интерфейсов с интенсивным обменом данных ( CAN , USB ) подключаются к 32-разрядной Принстонской шине ( F — bus ), как и встроенные RAM и Flash память. Кроме того, в приборах семейства FR бодовая скорость модулей UART , в том числе и с LIN -функциональностью, организуется специальными закрепленными за каждым модулем UART 16-разрядными таймерами ( U — Timer ).
Практически идентичны архитектуры контроллеров шаговых двигателей. Основное усовершенствование – введение детектора нулевого положения ротора и соответствующего регистра управления.
Как и все современные микроконтроллеры, приборы семейства FR оснащены средствами восстановления работоспособности системы (сброс по сторожевому таймеру, внешний сброс, сброс по подаче питания и т.п.). Ряд микроконтроллеров оснащен компараторами уровня – схемами обнаружения недо/перенапряжения питания ( alarm comparator ). Используются два режима энергосбережения ( Stop и Sleep ) и, кроме того, режим Gear – режим, в котором CPU и периферия работают с отличающимися в целое число раз частотами тактирования, что способствует оптимизации работы микроконтроллера в целом и потребления в частности.
При разработке современных микроконтроллеров особое внимание уделяется электромагнитной совместимости, что связывается с исключительно плотным размещением компонентов на печатных платах минимальных размеров и, следовательно, сильным взаимовлиянием компонентов. Снижению уровня электромагнитного излучения способствует оснащение микроконтроллеров семейства FR тактовыми генераторами, работающими с недорогими кварцами невысокой частоты. Так тактовый генератор серии MB 91 F 36 x работает с кварцем на 4 МГц. При этом, встроенная схема PLL доводит частоту сигнала тактирования CPU до частоты в 64 МГц. Кроме того, ряд микроконтроллеров оснащен и тактовыми генераторами, работающими с резонаторами на частоту 32,768 кГц (аналогично субтактированию микроконтроллеров семейства 16 LX ) в том числе со схемой калибровки часов реального времени по кварцу с частотой 4 МГц. Еще одним средством снижения EMI является модуляция сигнала тактирования. Суть этого приема заключается в том, что при незначительном изменении частоты тактирования (например, от 39,6 до 40,4 МГц, при центральной частоте 40,0 МГц) энергия излучения на частоте 40 МГц «размазывается» по диапазону частот и пик мощности излучения при этом существенно снижается. Напомним, что первыми микроконтроллерами фирмы Fujitsu , оснащенными блоком модуляции стали 16-разрядные микроконтроллеры серии MB90F390, модули которых описывались в «Справочном руководстве».
Наличие ядра собственной разработки (не приобретенного по лицензии, как, например, ARM7TDMI ) позволило фирме Fujitsu вести работу по совершенствованию ядер семейства.
Последними, добавленными к номенклатуре семейства FR , приборами стали микроконтроллеры серий MB913x , MB9135x и MB912xx (см.
Табл. 1 394Кб) и в основу приборов первых двух серий положено уже ядро FR 60, в котором, по утверждению специалистов фирмы, были проведены работы по оптимизации работы внутренних шин. Обратите внимание — микроконтроллер MB 91 F 312 оснащен модулем контроллера символов TV дисплея – модулем, который не встречался ни в семействе 16 LX , ни в других приборах семейства FR . Основной задачей этого модуля является формирование символов (в первую очередь символов разнообразных меню) которые необходимо выводить на экран TV приемника, игровой приставки и т.п. Возможность использования этого микроконтроллера в различной аппаратуре расширены наличием хоста и устройства USB .
Однако существенно больший уровень доработок был выполнен на ядре микроконтроллеров серии MB912xx – микроконтроллеров, в основу которых положено оптимизированное под нужды снижения размеров кристалла (следовательно, снижения стоимости приборов) и снижения потребления ядро FRLite (в ряде материалов фирмы это ядро обозначается как FR60Lite ). Результатом оптимизации архитектуры стало прямое подключение Flash памяти к I -шине, результатом оптимизации распределения сигналов тактирования стало снижение потребления. Предлагая заказчикам микроконтроллеры серии FRLite , специалисты фирмы утверждают что:
- это ядро позволило закрыть промежуток производительность/стоимость между сегодняшними 16LX и FR контроллерами
- производительность микроконтроллеров на ядре FRLite в пять раз выше, чем у приборов 16LX (20 MIPS при частоте 32 МГц) но потребление энергии (1 мА/МГц, что на 40% меньше, чем у типовых 32-разрядных RISC ядер) и уровень EMI остались такими же, что у 16-разрядных CPU
- это ядро еще более упрощает переход из CISC мира 16LX в 32-разрядное RISC пространство семейства FR
- стоимость 32-разрядных приборов серии MB91F2xx очень близка к стоимости 16-разрядных приборов семейства F2MC-16LX
Несмотря на все доработки ядер, микроконтроллеры семейства FR остаются программно совместимыми, и для разработки систем на их основе используется одно и то же средство разработки — Softune Workbench — интегрированный пакет, работающий в среде операционных систем Windows 95/98, Windows NT4.0, Windows 2000 и Windows XP.
В стандартный пакет входят:
- ANSI C Compiler
- Macro Assembler
- Linker
- Simulator
- Emulator
- C Checker
- C Analyser
Интерфейс пользователя Softune Workbench обеспечивает свободный доступ ко всем средствам разработки с большим количеством возможностей, позволяющих разработчику сконцентрировать свое внимание на разработке кода и процессе отладки, не задумываясь о том, как запустить компилятор или линкер и т.д.
Теперь заглянем немного вперед.
Что же предложит разработчикам фирма Fujitsu в ближайшей перспективе?
В конце октября 2003 года фирма Fujitsu сообщила о проведении работ по созданию ядра FR80, самого мощного 32-разрядного RISC ядра микроконтроллеров семейства FR. Побудительным мотивом к разработке нового ядра стало введение в Японии цифрового вещания которое, как ожидается, поднимет спрос на цифровое TV , на средства DVD и HDD записи. Следовательно, возникнет потребность в высокопроизводительном CPU с необходимой для таких устройств производительностью.
Ядро FR80 будет изготавливаться по технологии с топологическими нормами 0,18 мкм (напомню, что для ядра FR 60 использовались топологические нормы 0,35 мкм), что позволит ядру работать с частотой тактирования до 200 МГц, что более чем в два раза выше, чем у ранее разработанных приборов семейства FR. При частоте тактирования 200 МГц, процессор FR80 будет обеспечивать производительность в 259 MIPS, потребляя всего 140 мА тока (0,54 мА/MIPS), что является одним из лучших соотношений для 32-разрядных RISC процессоров, изготавливаемых по технологии 0,18 мкм. Кроме того, FR80 остается совместимым с системой команд семейства FR, позволяя потребителям, уже использующим приборы семейства FR, модернизировать свои разработки без замены уже разработанных программных ресурсов.
Как и для ранее выпускавшихся приборов семейства FR, разработка программных средств для приборов на основе ядра FR80 будет проводиться на основе пакета Softune Workbench.
Подведем итоги
В семейство микроконтроллеров FR входят приборы нового поколения, располагающие великолепной производительностью RISC архитектуры и встроенными функциями 16-разрядной технологии.
Семейство FR разработано специально под встраиваемые применения с ориентацией на следующие требования:
- расширение возможностей обработки данных;
- введение в RISC систему команд тех команд, которые необходимы для встраиваемых применений;
- обеспечение высокой эффективности объектного кода, и
- насыщенность периферийными функциями
Оптимизацией приборов семейства FR под встраиваемые применения фирма Fujitsu устранила ряд проблем, возникающих перед разработчиком, при переходе от 8- и 16-разрядных к 32-разрядным RISC микроконтроллерам (такие проблемы как: отличающаяся встроенная периферия, иная система команд и увеличенный размер кода).