Выпуск #6/2006
В.Коснырев.
Новые 8разрядные микроконтроллеры компании Freescale: семейство RS08KA
Новые 8разрядные микроконтроллеры компании Freescale: семейство RS08KA
Просмотры: 2727
В мае 2006 года компания Freescale Semiconductor (www.freescale.com) представила первые микроконтроллеры нового 8-разрядного семейства RS08КА на основе ядра RS08. Новое семейство призвано удовлетворить спрос на недорогие приборы с оптимальным соотношением цены и функциональных возможностей. В нем воплощен ряд перспективных аппаратных и программных решений. Ядро RS08 будет поддерживаться новой версией среды разработки Code Warrior Special Edition HC(S)08/RS08.
Семейство микроконтроллеров RS08КА
Новое ядро RS08 – это облегченная версия 8-разрадного ядра S08 микроконтроллеров популярного семейства HCS08 [1, 2] компании Freescale, на что и указывает буква R (Reduced – уменьшенный) в названии. Первыми моделями в семействе RS08КА c ядром RS08 стали микроконтроллеры MC9RS08KA1 и MC9RS08KA2, а также их модификации, различающиеся только объемами flash-памяти и типами корпусов (табл. 1) [3–5].
Как и все предыдущие 8-разрядные семейства микроконтроллеров компании Freescale, семейство RS08КА имеет модульную структуру (рис.1). Различные типы котроллеров семейства реализуются путем размещения на кристалле с процессором дополнительных стандартных блоков: памяти, интерфейсных блоков, периферийных и служебных модулей.
Ядро RS08 обладает архитектурой CISC (полный набор команд) фон-неймановского типа. От предыдущих моделей микроконтроллеров компании Freescale ее отличают:
· модернизированная модель программирования;
· новые команды SHA и SLA для манипулирования теневым программным счетчиком;
· два новых режима адресации: "малый" (Tiny) и "короткий" (Short);
· отсутствие векторного механизма для управления прерываниями и сбросом (interrupt and reset service);
· режим пониженного энергопотребления поддерживается во время выполнения команд STOP и WAIT;
· программирование flash-памяти и отладка с помощью модуля теневой отладки через однопроводной интерфейс;
· сброс при появлении ошибок адреса или кода операции;
· одноуровневый аппаратный стек для вызова подпрограмм вместо стека в ОЗУ;
· поддержка работы устройства при снижении питания (low power mode) с помощью команд STOP и WAIT;
· Reset вызывает первую команду по адресу 3FFD.
Модель программирования
Ядро RS08 (рис.2) содержит 8-разрядный аккумулятор А, регистр признаков CCR (Condition Code Register), а также 14-разрядные счетчик команд РС (Program Counter) и теневой счетчик команд SPC (Shadow Program Counter). Эти регистры расположены не в адресном пространстве микроконтроллера, а встроены непосредственно в логику его ядра. Аккумулятор служит основным регистром данных для центрального процессорного устройства (ЦПУ), в нем хранятся операнды и результаты операций. С помощью двух новых инструкций (SHA и SLA) в наборе команд RS08 аккумулятор может обмениваться содержимым с теневым счетчиком команд SPC – поочередно с его старшим и младшим байтами. В отличие от HCS08, в RS08 длина счетчика команд – не 16, а 14 бит, поэтому максимальное адресуемое пространство – 16 Кбайт.
В платформе HCS08 во время вызова подпрограммы с помощью команд перехода и ветвления (JSR, BSR) адрес возврата помещается в стек в ОЗУ. В системе RS08 стека в ОЗУ нет, а возвращаемый адрес сохраняется в регистре SPC. По завершении подпрограммы команда RTS загружает в РС содержимое SPC. Такой механизм обеспечивает сохранение адреса только при одноуровневых переходах к подпрограммам, но для вызова вложенных подпрограмм стек можно организовывать программно. Для этого эффективны новые команды SHA/SLA обмена содержимого SPC с аккумулятором, из которого адрес возврата переносится в ОЗУ.
В RS08 число битов признаков регистра условий CCR сокращено с восьми (в HCS08) до двух (признаки нуля Z и переноса С).
Система адресации
Несмотря на все упрощения, RS08 обладает достаточно мощной системой адресации. Это позволяют гибко использовать ресурсы микроконтроллера при обращении к данным. В режиме неявной адресации вся необходимая адресная информация содержится в коде операции.
Относительная адресация используется только в командах ветвления для расчета адреса при переходе. В этом случае задается смещение относительно текущего значения РС в диапазоне от -128 до 127. При непосредственной адресации 8-разрядный операнд размещается в ячейке памяти, следующей за кодом операции. В режиме индексной (косвенной) адресации адрес операнда определяется текущим значением индексного регистра X (расположен по фиксированному адресу 000F).
Прямая адресация предназначена для доступа к операндам в пространстве адресов прямой адресации, от 0000 до 00FF (первые 256 байт памяти). В этом случае используется содержимое младшего байта адреса, значение старшего байта адреса приравнивается нулю. В режиме расширенной адресации можно обращаться к любому адресу всего адресного пространства контроллера. При этом задействованы оба байта адреса (старший байт размещен в первой за кодом операции ячейке памяти).
Кроме перечисленных режимов – и в этом уникальная особенность нового ядра – в RS08 предусмотрены режимы малой адресации (Tiny Addressing) и короткой адресации (Short Addressing). Они обеспечивают самый эффективный доступ к наиболее часто используемым переменным и регистрам общего назначения. Эти режимы сходны с режимом прямой адресации, но при этом адресуемое пространство ограничено.
В режиме малой адресации Tiny Addressing доступны первые 16 байт адресного пространства. Его поддерживают только команды инкремента (INC), декремента (DEC), сложения (ADD) и вычитания (SUB). Инструкции в этом режиме включают 4-разрядный адрес. В результате коды команды, используемых в режиме малой адресации, – однобайтовые, что значительно сокращает размер кода программы и время его выполнения.
Для перехода в режим малой адресации необходимо поставить знак "<" перед операндом в исходном коде. Например, для операции инкремента инструкция INC <$0D означает увеличение на 1 содержимого ячейки с адресом 0D.
Режим короткой адресации Short Addressing похож на режим малой адресации, в том числе и по синтаксису. Отличие состоит в диапазоне доступных адресов (32 младших байта, от 0 до 1F) и в наборе допустимых команд. В режиме короткой адресации используются команды очистки ячейки (CLR), загрузки аккумулятора из памяти (LDA) и сохранения данных аккумулятора в памяти (STA).
Сброс процессора
Сброс системы (CPU Reset) устанавливает все компоненты микроконтроллера в положение с заранее определенными начальными условиями. Периферийные модули отключаются, порты ввода/вывода переводятся в высокоимпедансное состояние. Во время сброса в управляющие и статусные регистры загружаются начальные значения, счетчик команд стартует с адреса 3FFD. Для правильной работы программа должна начинаться с выполнения команды JMP над операндом, размещенным в 3FFE–3FFF.
В микроконтроллере MC9RS08KA2 имеется семь источников, инициирующих команду сброса:
· внешний ввод сброса (сброс по этому вводу разрешен при установке бита RSTPE = 1 в регистре опций системы SOPT – System Option Register);
· при включении питания, команда POR (Power On Reset);
· детектор низкого напряжения LVD;
· сторожевой таймер COP;
· обнаружение неправильного кода операции ILOP (Illegal Opcode Detect);
· обнаружение неправильного адреса ILAD (Illegal Address Detect );
· команда BDC_RESET, поданная через контроллер фоновой отладки.
Сторожевой таймер COP сбрасывает систему, если программное обеспечение (ПО) приложения работает неправильно. Если сторожевой таймер активирован, он инициирует сброс системы через определенный промежуток времени. Чтобы это предотвратить, программа приложения периодически сбрасывает COP, если она работает правильно.
Детектор низкого напряжения является одним из важных модулей микроконтроллеров серии RS08КА, поскольку это семейство предназначено для малогабаритных портативных устройств, работающих от автономных источников питания (аккумуляторов, батарей). В отличие от микроконтроллеров на основе HC08 и HCS08, где система контроля напряжения питания состоит из двух модулей: детектора низкого напряжения и модуля предупреждения снижения напряжения, в RS08 обе эти функции объединены в одном модуле. При снижении напряжения питания LVD генерирует сигнал прерывания или сигнал сброса, в зависимости от состояния микроконтроллера в этот момент. При включении питания модуль LVD поддерживает активным состояние собственного внутреннего сброса до тех пор, пока напряжение питания не превысит уровень напряжения отключения. Для модуля LVD задаются верхние и нижние значения напряжения, при выходе за которые генерируются прерывания.
Прерывания
Поскольку микроконтроллеры семейства RS08KA ориентированы на небольшие приложения, в них нет векторного механизма прерываний, который используется в семействах на базе HC08 и HCS08. Источниками прерываний в системе RS08 могут служить различные модули, например LVD, модуль прерываний от клавиатуры, аналоговый компаратор, таймер, которые могут вывести ЦП из режимов ожидания и останова. Чтобы разрешить тому или иному модулю активизировать процессор, в регистре ожидания системных прерываний SIP1 (System Interrupt Pending) должен быть установлен соответствующий флаг. Иначе прерывание в режиме ожидания или останова будет игнорироваться.
Если случается несколько событий одновременно, то приоритет обслуживания прерывания выбирается программным обеспечением. Обычно прерывание с самым малым временем задержки имеет самый высокий приоритет (табл.3).
Модуль прерывания клавиатуры KBI обеспечивает обработку прерываний от внешних независимых источников прерываний. Для микроконтроллеров в 8-выводном корпусе имеется 5 входов прерываний, в 6-выводном – 3 входа. Для каждого входа прерывания предусмотрен индивидуальный бит разрешения (флаг). Вход прерываний программируется по фронту или уровню сигнала, а также по полярности этих параметров (возрастание/убывание и высокий/низкий, соответственно).
Контроллер отладки в фоновом режиме
Для разработчиков очень важны доступные инструментальные средства разработки и отладки ПО. Инструментальное обеспечение для семейства RS08 состоит из адаптера контроллера фоновой отладки и ПО разработчика. Для микроконтроллеров с ядром RS08 с 2006 года выпускается ПО разработчика "Code Warrior Special Edition HC(S)08/RS08".
Контроллер фоновой отладки BDC (Background Debug Controller) обеспечивает доступ ко всей памяти микроконтроллера и поддерживает необходимые функции отладки: чтение и запись в регистры, установку точек прерывания, выполнение команд трассировки. Отладка выполняется при помощи команд, передаваемых в микроконтроллер по однопроводному кабелю.
В режиме отладки используются так называемые неагрессивные команды доступа к памяти, которые не снижают производительность ЦПУ. Это достигнуто за счет того, что BDC использует свободные такты шины, во время которых ЦПУ не имеет доступа к внутренней шине. Неагрессивные команды могут реализовываться даже во время выполнения программы. Они позволяют работать с ячейками памяти (запись/чтение), получать доступ статусным и управляющим регистрам BDC. Например, регистр статуса контроллера BDC (BDCSCR) можно модифицировать с помощью последовательных неагрессивных команд READ_STATUS and WRITE_CONTROL, при этом он недоступен пользовательским программам. Это защищает ПО от искажений в ходе отладки.
Кроме регистра BDCSCR, контроллер фоновой отладки содержит регистр контрольных точек отладки, также не включенный в адресное пространство RS08.
С появлением семейства RS08КА портфель 8-разрядных микроконтроллеров фирмы Freescale заметно увеличился. Все идет к тому, что вскоре компания окажется на пути создания pin-to-pin совместимых 8- и 32-разрядный приборов, использующих общую периферию и общие инструменты разработки. Такой подход предоставит инженерам беспрецедентные возможности для конструирования недорогих, но функционально крайне сложных изделий.
Литература
1. RS08 Core Reference manual. – Freescale Semiconductor Rev. 1.0, 04/2006.
2. Getting Started with RS08. – Freescale Semiconductor Application Note, AN3266, 5/2006.
3. Ремизевич Т.В. Микроконтроллеры для встраиваемых приложений: от общих подходов – к семействам HC05 и HC08 фирмы Freescale. – М.: ДОДЭКА, 2000.
4. Ремизевич Т., Архипов А., Овчинкин С., Чепурин И. Стратегии отладки микроконтроллеров семейства HC908… или многоликий внутрисхемный симулятор ICS08. – Chip News, 2002, №6.
5. Х.Крайдл, Г.Куприс. HCS08 – первый 8-разрядный микроконтроллер с BDM-интерфейсом, малой потребляемой мощностью и низким напряжением питания. – Электронные компоненты, 2003, №7.
Основные технические особенности микроконтроллеров MC9RS08KA2/1
Flash-память третьего поколения с возможностью очень быстрой побайтовой записи, 2 Кбайт;
· Тактовый генератор с частотой 20 MГц, с шагом подстройки частоты 0,2% и девиацией частоты в интервале рабочих напряжений и температур не более 2%;
· Частота тактирования внутренней шины – до 10 МГц;
· 8-разрядный программируемый таймер/счетчик с 8-разрядным делителем частоты;
· Аналоговый компаратор, допустимый размах входного сигнала — до напряжения питания. Активен в режиме останова;
· Четыре двунаправленные порта ввода/вывода;
· Сторожевой таймер;
· 3/5 каналов прерываний от клавиатуры для 6/8-выводного корпуса, соответственно;
· Режимы активной работы, ожидания и останова. Автоматическая активизация (пробуждение) системы по прерываниям от клавиатуры, таймера или компаратора;
· Детектор низкого напряжения питания с возможностью управления сбросом, остановом и активизацией системы (вывод из режима останова);
· Система фоновой отладки программ;
· Напряжение питания – от 1,8 до 5,5 В;
· Интервал рабочих температур – -40...+ 85°С.
Intel приоткрывает данные о процессоре с быстродействием 1 Tflops
В конце сентября этого года компания Intel впервые сообщила некоторые подробности о своей исследовательской tera-scale (тера-масштабной) программе, призванной открыть новые горизонты для развития компьютерной технологии. Согласно оценкам экспертов, в следующем десятилетии появятся центры обработки мега данных с более чем миллионом серверов, обеспечивающих пользователям доступ к персональным данным и позволяющих им вести игры в "фотореальных" условиях, совместно пользоваться в реальном времени видеоданными и извлекать мультимедийную информацию.
Программа компании включает в себя более 80 научно-исследовательских проектов, одна из задач которых – создание процессоров с десятками или даже сотнями ядер. Вторая важнейшая проблема, которую должна решить программа, – потребляемая мощность. Кроме того, необходимо разработать программируемые ядра и межсоединения, а также технологии поддержки работы таких мультиядерных "чудовищ", в том числе так называемую транзакционную память, обеспечивающую координацию доступа многих потоков данных к одной и той же памяти.
Одна из первых опытных СБИС, разработанных в рамках программы tera-scale, – процессор с производительностью около 1012 операций с плавающей запятой в секунду (1 Tflops). Основная цель его создания – проверка способности межсоединений передавать данные объемом в 1012 байт от ядра к ядру, от ядра к памяти и от памяти ядру. Микросхема состоит из 80 "блоков", образующих матрицу 8х10. Каждый блок содержит ядро, или компьютерный элемент, с тактовой частотой 3,1 ГГц и простым набором команд обработки данных с плавающей запятой. Микросхема не совместима с х86 процессорами компании. В блок входит и маршрутизатор, связывающий ядро с внутрисхемной сетью, объединяющей все ядра и обеспечивающий их доступ к памяти.
Еще одна важная микросхема, созданная в рамках программы tera-scale, – СОЗУ емкостью 20 Мбайт. Этот чип размещается поверх кристалла с процессором и соединяется с ним. По утверждению разработчиков, такое решение обеспечивает скорость обмена между памятью и ядрами свыше терабайта в секунду.
По амбициозной программе компании совместно с учеными Университета шт. Калифорния в Санта-Барбаре создан и гибридный кремниевый лазер, предназначенный для формирования оптических интерфейсов процессора с пропускной способностью несколько терабайт в секунду. Такие каналы смогут передавать данные объемом в несколько терабайт как между микросхемами внутри компьютеров, так и между персональными компьютерами и серверами.
Экспериментальные микросхемы отвечают трем основным требованиям программы – достижение производительности порядка 1012 Tflops, пропускной способности памяти и портов ввода-вывода – 1012 бит/с. И хотя коммерческие устройства на базе этих технологий появятся не скоро, разработки компании Intel, безусловно, – первый шаг на пути появления ПК и серверов с тера-масштабной производительностью.
По материалам
www.eetimes.com
Новые маломощные процессоры и IP-ядра компании IBM
Компания IBM, стремясь решить проблему высокого разогрева устройств обработки данных, встраиваемых систем и других электронных блоков с высокой рабочей температурой, выпустила маломощные варианты RISC-микропроцессоров и IP-блоков процессорных ядер. По мнению специалистов компании, инновации в области микропроцессорной технологии уже направлены не только на увеличение быстродействия. Все больше внимания следует уделять вопросам снижения энергопотребления высокопроизводительных процессоров, предназначенных для применения в бытовом и промышленном оборудовании. В соответствии с этим компания IBM выпустила два новых одноядерных процессора с стандартной PowerPC-архитектурой и низкой потребляемой мощностью, выполненных по 90-нм технологии с медной металлизацией. Это 32-разрядный микропроцессор PowerPC 750L на частоту от 400 МГц до 1 ГГц с вдвое меньшим, чем у его предшественника, энергопотреблением, и 32/64-разрядный процессор PowerPC 970GX с тактовой частотой 1,2–2,5 ГГц. В состав микропроцессора 750L входит L2-кэш емкостью 256 Кбайт. Он предназначен для сетевых, накопительных систем, средств обработки изображения, бытовой электроники и других высокопроизводительных встраиваемых устройств. PowerPC 970GX найдет применение в системах с высокой пропускной способностью и интенсивной обработкой. Дополнительно для процессоров серии 970 разработана мостовая схема CPC965, потребляемая мощность которой меньше, чем у существующих аналогов. Поставки опытных образцов CPC965 намечены на март 2007 года.
Кроме того, фирма объявила о создании трех новых 32-бит процессорных IP-ядер. Синтезабельное ядро 460S позволит выбирать объем L1- и L2-кэша и вариант локальной шины, необходимые для реализации одно- или многопроцессорной системы. Особенность процессорного ядра 464FP H90 – наличие встроенного устройства с плавающей запятой двойной точности, а ядра 464 H90 – низкая рассеиваемая мощность: 530 мВт при работе на частоте 1 ГГц.
По материалам
www.eetimes.com
Микроконтроллеры оснащаются сегнетоэлектрической памятью
Существуют различные типы твердотельной памяти. Флэш-память – энергонезависима, но достаточно латентная. СОЗУ – быстродействующая, но энергозависимая память. С появлением сегнетоэлектрического ОЗУ, или FRAM, эти типы запоминающих устройств могут уйти в прошлое. ЭСРПЗУ стоит дорого, а флэш-память может изнашиваться. Совершенствование флэш-памяти позволило увеличить срок хранения данных, тем не менее флэш не может соперничать с сегнетоэлектрической памятью по такому параметру, как срок службы, который у FRAM превышает 45 лет. Кроме того, сегнетоэлектрическая память допускает побитовое изменение записи, тогда как для флэш-памяти возможно лишь изменение блоков.
Для продления срока хранения данных флэш-памяти большого объема используется метод динамического распределение памяти. Но он малоэффективен для встроенной памяти микроконтроллеров из-за необходимости частой смены внутренних данных. Таким образом, FRAM память – лучший вариант запоминающего устройства для задач, требующих быстрой и частой корректировки данных вкупе с необходимостью их долговрменного хранения.
По утверждению специалистов компании Ramtron, разработанный ими микроконтроллер VRS51L3074 на частоту 40 МГц – первый 8-разрядный микроконтроллер, блок памяти которого, наряду с флэш и СОЗУ, содержит сегнетоэлектрическое ОЗУ (рис. 1). В будущем блок памяти FRAM-микроконтроллера сможет быть полностью выполнен на базе сегнетоэлектрического устройства, которому свойственна энергонезависимость флэш-памяти и скорость выборки СОЗУ. Флэш-память нового микроконтроллера емкостью 64 Кбайт и СОЗУ емкостью 4К + 256 байт дополнены FRAM-блоком расширенной памяти емкостью 8 Кбайт. Первые 256 байт СОЗУ отведены под системные регистры.
Специалисты компании Ramtron реализовали сегнетоэлектрическую память поверх обычной кремниевой структуры (рис.2). Конденсатор, хранящий магнитную поляризацию, соответствующую каждой записи бита, выполнен на пленке цирконата-титаната свинца (PZT). После отключения питания состояние конденсатора не изменяется. А для формирования такой структуры требуются только два дополнительных процесса – нанесение пленки PZT и верхнего электрода.
VRS51L3074 – обычный восьмиразрядный микроконтроллер с архитектурой Intel 8051 без периферийных аналоговых устройств. В число интерфейсов микроконтроллера входят два порта UART, последовательный I2C интерфейс, 56/40 портов ввода-вывода общего назначения (в зависимости от типа корпуса), 16 входов прерывания. Контроллер оснащен сторожевым таймером, тремя 16-разрядными таймерами-счетчиками, восьмиканальным ШИМ-контроллером. Поддерживается JTAG-интерфейс отладки. В арифметический блок микроконтроллера входят 32-разрядный сумматор, 16-разрядные блоки умножения и деления, 32-разрядное многорегистровое циклическое сдвиговое устройство.
Напряжение питания контроллера – 3,3 В, он работоспособен в индустриальном диапазоне температур. СБИС VRS51L3074 поставляется в плоском корпусе типа QFP-64 по цене менее 5 долл. Объявлено и о версии VRS51L3174 в корпусе QFP-44. Еще одна версия – совместимый по выводам микроконтроллер модели VRS51L2070 – поставляется без 8-Кбайт FRAM. Возможна и поставка набора средств проектирования.
По материалам www.ramtron.com
Новое ядро RS08 – это облегченная версия 8-разрадного ядра S08 микроконтроллеров популярного семейства HCS08 [1, 2] компании Freescale, на что и указывает буква R (Reduced – уменьшенный) в названии. Первыми моделями в семействе RS08КА c ядром RS08 стали микроконтроллеры MC9RS08KA1 и MC9RS08KA2, а также их модификации, различающиеся только объемами flash-памяти и типами корпусов (табл. 1) [3–5].
Как и все предыдущие 8-разрядные семейства микроконтроллеров компании Freescale, семейство RS08КА имеет модульную структуру (рис.1). Различные типы котроллеров семейства реализуются путем размещения на кристалле с процессором дополнительных стандартных блоков: памяти, интерфейсных блоков, периферийных и служебных модулей.
Ядро RS08 обладает архитектурой CISC (полный набор команд) фон-неймановского типа. От предыдущих моделей микроконтроллеров компании Freescale ее отличают:
· модернизированная модель программирования;
· новые команды SHA и SLA для манипулирования теневым программным счетчиком;
· два новых режима адресации: "малый" (Tiny) и "короткий" (Short);
· отсутствие векторного механизма для управления прерываниями и сбросом (interrupt and reset service);
· режим пониженного энергопотребления поддерживается во время выполнения команд STOP и WAIT;
· программирование flash-памяти и отладка с помощью модуля теневой отладки через однопроводной интерфейс;
· сброс при появлении ошибок адреса или кода операции;
· одноуровневый аппаратный стек для вызова подпрограмм вместо стека в ОЗУ;
· поддержка работы устройства при снижении питания (low power mode) с помощью команд STOP и WAIT;
· Reset вызывает первую команду по адресу 3FFD.
Модель программирования
Ядро RS08 (рис.2) содержит 8-разрядный аккумулятор А, регистр признаков CCR (Condition Code Register), а также 14-разрядные счетчик команд РС (Program Counter) и теневой счетчик команд SPC (Shadow Program Counter). Эти регистры расположены не в адресном пространстве микроконтроллера, а встроены непосредственно в логику его ядра. Аккумулятор служит основным регистром данных для центрального процессорного устройства (ЦПУ), в нем хранятся операнды и результаты операций. С помощью двух новых инструкций (SHA и SLA) в наборе команд RS08 аккумулятор может обмениваться содержимым с теневым счетчиком команд SPC – поочередно с его старшим и младшим байтами. В отличие от HCS08, в RS08 длина счетчика команд – не 16, а 14 бит, поэтому максимальное адресуемое пространство – 16 Кбайт.
В платформе HCS08 во время вызова подпрограммы с помощью команд перехода и ветвления (JSR, BSR) адрес возврата помещается в стек в ОЗУ. В системе RS08 стека в ОЗУ нет, а возвращаемый адрес сохраняется в регистре SPC. По завершении подпрограммы команда RTS загружает в РС содержимое SPC. Такой механизм обеспечивает сохранение адреса только при одноуровневых переходах к подпрограммам, но для вызова вложенных подпрограмм стек можно организовывать программно. Для этого эффективны новые команды SHA/SLA обмена содержимого SPC с аккумулятором, из которого адрес возврата переносится в ОЗУ.
В RS08 число битов признаков регистра условий CCR сокращено с восьми (в HCS08) до двух (признаки нуля Z и переноса С).
Система адресации
Несмотря на все упрощения, RS08 обладает достаточно мощной системой адресации. Это позволяют гибко использовать ресурсы микроконтроллера при обращении к данным. В режиме неявной адресации вся необходимая адресная информация содержится в коде операции.
Относительная адресация используется только в командах ветвления для расчета адреса при переходе. В этом случае задается смещение относительно текущего значения РС в диапазоне от -128 до 127. При непосредственной адресации 8-разрядный операнд размещается в ячейке памяти, следующей за кодом операции. В режиме индексной (косвенной) адресации адрес операнда определяется текущим значением индексного регистра X (расположен по фиксированному адресу 000F).
Прямая адресация предназначена для доступа к операндам в пространстве адресов прямой адресации, от 0000 до 00FF (первые 256 байт памяти). В этом случае используется содержимое младшего байта адреса, значение старшего байта адреса приравнивается нулю. В режиме расширенной адресации можно обращаться к любому адресу всего адресного пространства контроллера. При этом задействованы оба байта адреса (старший байт размещен в первой за кодом операции ячейке памяти).
Кроме перечисленных режимов – и в этом уникальная особенность нового ядра – в RS08 предусмотрены режимы малой адресации (Tiny Addressing) и короткой адресации (Short Addressing). Они обеспечивают самый эффективный доступ к наиболее часто используемым переменным и регистрам общего назначения. Эти режимы сходны с режимом прямой адресации, но при этом адресуемое пространство ограничено.
В режиме малой адресации Tiny Addressing доступны первые 16 байт адресного пространства. Его поддерживают только команды инкремента (INC), декремента (DEC), сложения (ADD) и вычитания (SUB). Инструкции в этом режиме включают 4-разрядный адрес. В результате коды команды, используемых в режиме малой адресации, – однобайтовые, что значительно сокращает размер кода программы и время его выполнения.
Для перехода в режим малой адресации необходимо поставить знак "<" перед операндом в исходном коде. Например, для операции инкремента инструкция INC <$0D означает увеличение на 1 содержимого ячейки с адресом 0D.
Режим короткой адресации Short Addressing похож на режим малой адресации, в том числе и по синтаксису. Отличие состоит в диапазоне доступных адресов (32 младших байта, от 0 до 1F) и в наборе допустимых команд. В режиме короткой адресации используются команды очистки ячейки (CLR), загрузки аккумулятора из памяти (LDA) и сохранения данных аккумулятора в памяти (STA).
Сброс процессора
Сброс системы (CPU Reset) устанавливает все компоненты микроконтроллера в положение с заранее определенными начальными условиями. Периферийные модули отключаются, порты ввода/вывода переводятся в высокоимпедансное состояние. Во время сброса в управляющие и статусные регистры загружаются начальные значения, счетчик команд стартует с адреса 3FFD. Для правильной работы программа должна начинаться с выполнения команды JMP над операндом, размещенным в 3FFE–3FFF.
В микроконтроллере MC9RS08KA2 имеется семь источников, инициирующих команду сброса:
· внешний ввод сброса (сброс по этому вводу разрешен при установке бита RSTPE = 1 в регистре опций системы SOPT – System Option Register);
· при включении питания, команда POR (Power On Reset);
· детектор низкого напряжения LVD;
· сторожевой таймер COP;
· обнаружение неправильного кода операции ILOP (Illegal Opcode Detect);
· обнаружение неправильного адреса ILAD (Illegal Address Detect );
· команда BDC_RESET, поданная через контроллер фоновой отладки.
Сторожевой таймер COP сбрасывает систему, если программное обеспечение (ПО) приложения работает неправильно. Если сторожевой таймер активирован, он инициирует сброс системы через определенный промежуток времени. Чтобы это предотвратить, программа приложения периодически сбрасывает COP, если она работает правильно.
Детектор низкого напряжения является одним из важных модулей микроконтроллеров серии RS08КА, поскольку это семейство предназначено для малогабаритных портативных устройств, работающих от автономных источников питания (аккумуляторов, батарей). В отличие от микроконтроллеров на основе HC08 и HCS08, где система контроля напряжения питания состоит из двух модулей: детектора низкого напряжения и модуля предупреждения снижения напряжения, в RS08 обе эти функции объединены в одном модуле. При снижении напряжения питания LVD генерирует сигнал прерывания или сигнал сброса, в зависимости от состояния микроконтроллера в этот момент. При включении питания модуль LVD поддерживает активным состояние собственного внутреннего сброса до тех пор, пока напряжение питания не превысит уровень напряжения отключения. Для модуля LVD задаются верхние и нижние значения напряжения, при выходе за которые генерируются прерывания.
Прерывания
Поскольку микроконтроллеры семейства RS08KA ориентированы на небольшие приложения, в них нет векторного механизма прерываний, который используется в семействах на базе HC08 и HCS08. Источниками прерываний в системе RS08 могут служить различные модули, например LVD, модуль прерываний от клавиатуры, аналоговый компаратор, таймер, которые могут вывести ЦП из режимов ожидания и останова. Чтобы разрешить тому или иному модулю активизировать процессор, в регистре ожидания системных прерываний SIP1 (System Interrupt Pending) должен быть установлен соответствующий флаг. Иначе прерывание в режиме ожидания или останова будет игнорироваться.
Если случается несколько событий одновременно, то приоритет обслуживания прерывания выбирается программным обеспечением. Обычно прерывание с самым малым временем задержки имеет самый высокий приоритет (табл.3).
Модуль прерывания клавиатуры KBI обеспечивает обработку прерываний от внешних независимых источников прерываний. Для микроконтроллеров в 8-выводном корпусе имеется 5 входов прерываний, в 6-выводном – 3 входа. Для каждого входа прерывания предусмотрен индивидуальный бит разрешения (флаг). Вход прерываний программируется по фронту или уровню сигнала, а также по полярности этих параметров (возрастание/убывание и высокий/низкий, соответственно).
Контроллер отладки в фоновом режиме
Для разработчиков очень важны доступные инструментальные средства разработки и отладки ПО. Инструментальное обеспечение для семейства RS08 состоит из адаптера контроллера фоновой отладки и ПО разработчика. Для микроконтроллеров с ядром RS08 с 2006 года выпускается ПО разработчика "Code Warrior Special Edition HC(S)08/RS08".
Контроллер фоновой отладки BDC (Background Debug Controller) обеспечивает доступ ко всей памяти микроконтроллера и поддерживает необходимые функции отладки: чтение и запись в регистры, установку точек прерывания, выполнение команд трассировки. Отладка выполняется при помощи команд, передаваемых в микроконтроллер по однопроводному кабелю.
В режиме отладки используются так называемые неагрессивные команды доступа к памяти, которые не снижают производительность ЦПУ. Это достигнуто за счет того, что BDC использует свободные такты шины, во время которых ЦПУ не имеет доступа к внутренней шине. Неагрессивные команды могут реализовываться даже во время выполнения программы. Они позволяют работать с ячейками памяти (запись/чтение), получать доступ статусным и управляющим регистрам BDC. Например, регистр статуса контроллера BDC (BDCSCR) можно модифицировать с помощью последовательных неагрессивных команд READ_STATUS and WRITE_CONTROL, при этом он недоступен пользовательским программам. Это защищает ПО от искажений в ходе отладки.
Кроме регистра BDCSCR, контроллер фоновой отладки содержит регистр контрольных точек отладки, также не включенный в адресное пространство RS08.
С появлением семейства RS08КА портфель 8-разрядных микроконтроллеров фирмы Freescale заметно увеличился. Все идет к тому, что вскоре компания окажется на пути создания pin-to-pin совместимых 8- и 32-разрядный приборов, использующих общую периферию и общие инструменты разработки. Такой подход предоставит инженерам беспрецедентные возможности для конструирования недорогих, но функционально крайне сложных изделий.
Литература
1. RS08 Core Reference manual. – Freescale Semiconductor Rev. 1.0, 04/2006.
2. Getting Started with RS08. – Freescale Semiconductor Application Note, AN3266, 5/2006.
3. Ремизевич Т.В. Микроконтроллеры для встраиваемых приложений: от общих подходов – к семействам HC05 и HC08 фирмы Freescale. – М.: ДОДЭКА, 2000.
4. Ремизевич Т., Архипов А., Овчинкин С., Чепурин И. Стратегии отладки микроконтроллеров семейства HC908… или многоликий внутрисхемный симулятор ICS08. – Chip News, 2002, №6.
5. Х.Крайдл, Г.Куприс. HCS08 – первый 8-разрядный микроконтроллер с BDM-интерфейсом, малой потребляемой мощностью и низким напряжением питания. – Электронные компоненты, 2003, №7.
Основные технические особенности микроконтроллеров MC9RS08KA2/1
Flash-память третьего поколения с возможностью очень быстрой побайтовой записи, 2 Кбайт;
· Тактовый генератор с частотой 20 MГц, с шагом подстройки частоты 0,2% и девиацией частоты в интервале рабочих напряжений и температур не более 2%;
· Частота тактирования внутренней шины – до 10 МГц;
· 8-разрядный программируемый таймер/счетчик с 8-разрядным делителем частоты;
· Аналоговый компаратор, допустимый размах входного сигнала — до напряжения питания. Активен в режиме останова;
· Четыре двунаправленные порта ввода/вывода;
· Сторожевой таймер;
· 3/5 каналов прерываний от клавиатуры для 6/8-выводного корпуса, соответственно;
· Режимы активной работы, ожидания и останова. Автоматическая активизация (пробуждение) системы по прерываниям от клавиатуры, таймера или компаратора;
· Детектор низкого напряжения питания с возможностью управления сбросом, остановом и активизацией системы (вывод из режима останова);
· Система фоновой отладки программ;
· Напряжение питания – от 1,8 до 5,5 В;
· Интервал рабочих температур – -40...+ 85°С.
Intel приоткрывает данные о процессоре с быстродействием 1 Tflops
В конце сентября этого года компания Intel впервые сообщила некоторые подробности о своей исследовательской tera-scale (тера-масштабной) программе, призванной открыть новые горизонты для развития компьютерной технологии. Согласно оценкам экспертов, в следующем десятилетии появятся центры обработки мега данных с более чем миллионом серверов, обеспечивающих пользователям доступ к персональным данным и позволяющих им вести игры в "фотореальных" условиях, совместно пользоваться в реальном времени видеоданными и извлекать мультимедийную информацию.
Программа компании включает в себя более 80 научно-исследовательских проектов, одна из задач которых – создание процессоров с десятками или даже сотнями ядер. Вторая важнейшая проблема, которую должна решить программа, – потребляемая мощность. Кроме того, необходимо разработать программируемые ядра и межсоединения, а также технологии поддержки работы таких мультиядерных "чудовищ", в том числе так называемую транзакционную память, обеспечивающую координацию доступа многих потоков данных к одной и той же памяти.
Одна из первых опытных СБИС, разработанных в рамках программы tera-scale, – процессор с производительностью около 1012 операций с плавающей запятой в секунду (1 Tflops). Основная цель его создания – проверка способности межсоединений передавать данные объемом в 1012 байт от ядра к ядру, от ядра к памяти и от памяти ядру. Микросхема состоит из 80 "блоков", образующих матрицу 8х10. Каждый блок содержит ядро, или компьютерный элемент, с тактовой частотой 3,1 ГГц и простым набором команд обработки данных с плавающей запятой. Микросхема не совместима с х86 процессорами компании. В блок входит и маршрутизатор, связывающий ядро с внутрисхемной сетью, объединяющей все ядра и обеспечивающий их доступ к памяти.
Еще одна важная микросхема, созданная в рамках программы tera-scale, – СОЗУ емкостью 20 Мбайт. Этот чип размещается поверх кристалла с процессором и соединяется с ним. По утверждению разработчиков, такое решение обеспечивает скорость обмена между памятью и ядрами свыше терабайта в секунду.
По амбициозной программе компании совместно с учеными Университета шт. Калифорния в Санта-Барбаре создан и гибридный кремниевый лазер, предназначенный для формирования оптических интерфейсов процессора с пропускной способностью несколько терабайт в секунду. Такие каналы смогут передавать данные объемом в несколько терабайт как между микросхемами внутри компьютеров, так и между персональными компьютерами и серверами.
Экспериментальные микросхемы отвечают трем основным требованиям программы – достижение производительности порядка 1012 Tflops, пропускной способности памяти и портов ввода-вывода – 1012 бит/с. И хотя коммерческие устройства на базе этих технологий появятся не скоро, разработки компании Intel, безусловно, – первый шаг на пути появления ПК и серверов с тера-масштабной производительностью.
По материалам
www.eetimes.com
Новые маломощные процессоры и IP-ядра компании IBM
Компания IBM, стремясь решить проблему высокого разогрева устройств обработки данных, встраиваемых систем и других электронных блоков с высокой рабочей температурой, выпустила маломощные варианты RISC-микропроцессоров и IP-блоков процессорных ядер. По мнению специалистов компании, инновации в области микропроцессорной технологии уже направлены не только на увеличение быстродействия. Все больше внимания следует уделять вопросам снижения энергопотребления высокопроизводительных процессоров, предназначенных для применения в бытовом и промышленном оборудовании. В соответствии с этим компания IBM выпустила два новых одноядерных процессора с стандартной PowerPC-архитектурой и низкой потребляемой мощностью, выполненных по 90-нм технологии с медной металлизацией. Это 32-разрядный микропроцессор PowerPC 750L на частоту от 400 МГц до 1 ГГц с вдвое меньшим, чем у его предшественника, энергопотреблением, и 32/64-разрядный процессор PowerPC 970GX с тактовой частотой 1,2–2,5 ГГц. В состав микропроцессора 750L входит L2-кэш емкостью 256 Кбайт. Он предназначен для сетевых, накопительных систем, средств обработки изображения, бытовой электроники и других высокопроизводительных встраиваемых устройств. PowerPC 970GX найдет применение в системах с высокой пропускной способностью и интенсивной обработкой. Дополнительно для процессоров серии 970 разработана мостовая схема CPC965, потребляемая мощность которой меньше, чем у существующих аналогов. Поставки опытных образцов CPC965 намечены на март 2007 года.
Кроме того, фирма объявила о создании трех новых 32-бит процессорных IP-ядер. Синтезабельное ядро 460S позволит выбирать объем L1- и L2-кэша и вариант локальной шины, необходимые для реализации одно- или многопроцессорной системы. Особенность процессорного ядра 464FP H90 – наличие встроенного устройства с плавающей запятой двойной точности, а ядра 464 H90 – низкая рассеиваемая мощность: 530 мВт при работе на частоте 1 ГГц.
По материалам
www.eetimes.com
Микроконтроллеры оснащаются сегнетоэлектрической памятью
Существуют различные типы твердотельной памяти. Флэш-память – энергонезависима, но достаточно латентная. СОЗУ – быстродействующая, но энергозависимая память. С появлением сегнетоэлектрического ОЗУ, или FRAM, эти типы запоминающих устройств могут уйти в прошлое. ЭСРПЗУ стоит дорого, а флэш-память может изнашиваться. Совершенствование флэш-памяти позволило увеличить срок хранения данных, тем не менее флэш не может соперничать с сегнетоэлектрической памятью по такому параметру, как срок службы, который у FRAM превышает 45 лет. Кроме того, сегнетоэлектрическая память допускает побитовое изменение записи, тогда как для флэш-памяти возможно лишь изменение блоков.
Для продления срока хранения данных флэш-памяти большого объема используется метод динамического распределение памяти. Но он малоэффективен для встроенной памяти микроконтроллеров из-за необходимости частой смены внутренних данных. Таким образом, FRAM память – лучший вариант запоминающего устройства для задач, требующих быстрой и частой корректировки данных вкупе с необходимостью их долговрменного хранения.
По утверждению специалистов компании Ramtron, разработанный ими микроконтроллер VRS51L3074 на частоту 40 МГц – первый 8-разрядный микроконтроллер, блок памяти которого, наряду с флэш и СОЗУ, содержит сегнетоэлектрическое ОЗУ (рис. 1). В будущем блок памяти FRAM-микроконтроллера сможет быть полностью выполнен на базе сегнетоэлектрического устройства, которому свойственна энергонезависимость флэш-памяти и скорость выборки СОЗУ. Флэш-память нового микроконтроллера емкостью 64 Кбайт и СОЗУ емкостью 4К + 256 байт дополнены FRAM-блоком расширенной памяти емкостью 8 Кбайт. Первые 256 байт СОЗУ отведены под системные регистры.
Специалисты компании Ramtron реализовали сегнетоэлектрическую память поверх обычной кремниевой структуры (рис.2). Конденсатор, хранящий магнитную поляризацию, соответствующую каждой записи бита, выполнен на пленке цирконата-титаната свинца (PZT). После отключения питания состояние конденсатора не изменяется. А для формирования такой структуры требуются только два дополнительных процесса – нанесение пленки PZT и верхнего электрода.
VRS51L3074 – обычный восьмиразрядный микроконтроллер с архитектурой Intel 8051 без периферийных аналоговых устройств. В число интерфейсов микроконтроллера входят два порта UART, последовательный I2C интерфейс, 56/40 портов ввода-вывода общего назначения (в зависимости от типа корпуса), 16 входов прерывания. Контроллер оснащен сторожевым таймером, тремя 16-разрядными таймерами-счетчиками, восьмиканальным ШИМ-контроллером. Поддерживается JTAG-интерфейс отладки. В арифметический блок микроконтроллера входят 32-разрядный сумматор, 16-разрядные блоки умножения и деления, 32-разрядное многорегистровое циклическое сдвиговое устройство.
Напряжение питания контроллера – 3,3 В, он работоспособен в индустриальном диапазоне температур. СБИС VRS51L3074 поставляется в плоском корпусе типа QFP-64 по цене менее 5 долл. Объявлено и о версии VRS51L3174 в корпусе QFP-44. Еще одна версия – совместимый по выводам микроконтроллер модели VRS51L2070 – поставляется без 8-Кбайт FRAM. Возможна и поставка набора средств проектирования.
По материалам www.ramtron.com
Отзывы читателей