Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Восьмиразрядные микроконтроллеры компании freescale semiconductor в корпусах с малым числом выводовСодержание книги
Поиск на нашем сайте
Анализируя пути совершенствования элементной базы микроконтроллеров, можно заметить, что развитие их архитектуры подобно спирали:
Когда все возможности по оптимизации структуры периферии исчерпаны, начинается новый виток развития, отмеченный скачкообразным увеличением производительности процессорного ядра. Ещё недавно различные производители совершенствовали 8-разрядные микроконтроллеры (МК), предлагая МК верхней гаммы с объёмами памяти 40...60 Кб и множеством периферийных устройств. Достаточно быстро для требовательных приложений были предложены 16-разрядные МК, в том числе с сигнальным процессорным ядром. Можно предположить, что теперь 8-разрядным МК уготована судьба цифровых ИС малой и средней степени интеграции, которые производятся и применяются, но функциональное совершенствование которых замедлилось. Однако производители 8-разрядных МК опровергли пессимистичный прогноз, предложив два актуальных направления развития 8-разрядной элементной базы. Первое направление - оптимизация 8-разрядных МК нижней гаммы, которые выполняются в корпусах с малым числом выводов (6 - 16). Второе направление - интеграция МК в один корпус с силовыми ключами, трансиверами, аналоговыми схемами, входными и выходными формирователями с нестандартными уровнями сигналов. Компания Freescale Semiconductor активно совершенствует свои продукты в каждом из этих направлений. В данном реферате подробно остановимся на МК с малым числом выводов.
МОДЕЛЬНЫЙ РЯД МК
В 2006 г. компания Freescale Semiconductor практически полностью обновила свои продукты в сегменте маловыводных 8-разрядных МК. В настоящее время она предлагает разработчикам 16 моделей в корпусах с шестью, восемью или 16 выводами (табл. 1). Казалось бы, имея столь малое число выводов корпуса, эти МК должны быть очень похожи друг на друга, поскольку на малое число выводов корпуса трудно «спроецировать» большое количество периферийных модулей. Однако, обладая одним и тем же корпусом, предлагаемые модели отличаются достаточно сильно. Первым отличием являются процессорные ядра. При формальной принадлежности к одному семейству, а именно НС08, фактически в составе моделей МК реализованы три процессорных ядра. Модели QT/QY/QB/QL обладают самым «старым» ядром НС08, модели QG и QD - более производительной версией этого ядра HCS08, которая разрабатывалась для верхней гаммы 8-разрядных МК. Модели КА оснащены последней версией ядра RS08, которая существенно упрощена по отношению к своему родоначальнику - процессорному ядру НС08. Второе отличие - функциональная насыщенность периферийными модулями. Микроконтроллеры серии КА (с предельно упрощён- Третье отличие - возможности модулей таймеров. Модели MC9RS08KA1/KA2 оснащены упрощённым 8-разрядным модулем таймера, который не имеет функций входного захвата и выходного сравнения. Все остальные модели МК обладают 16-разрядным таймерным модулем с функциями входного захвата или выходного сравнения или многоканальным ШИМ. Перечислив основные отличия, отметим общие черты рассматриваемых микроконтроллеров. Все они имеют внутренний модуль тактирования с точностью поддержания частоты ±2% от указанного в техническом описании значения. Все модели реализуют режим программирования и отладки в системе благодаря наличию в их составе модуля внутрисхемной отладки. Все МК оснащены несколькими режимами низкого энергопотребления.
ТРИ ПРОЦЕССОРНЫХ ЯДРА HC08 При современном программировании приложений на языке Си, изучать архитектурные особенности процессорного ядра, как правило, не обязательно. Поэтому дана сравнительная характеристика трёх модификаций процессорного ядра НС08. На её основе можно сделать осознанный выбор модели МК для конкретного приложения. Все три рассматриваемых процессорных ядра: НС08, HCS08 и RS08, -выполнены на основе CISC-архитектуры. Программно-логическая модель центрального процессора НС08 (см. рис. 298) содержит пять регистров, которые не являются частью объединённого адресного пространства, и, следовательно, для обращения к ним должны быть использованы специальные команды. Это 8-разрядный аккумулятор АСС, 16-разрядный индексный регистр НХ (Н - старший байт, X - младший байт), 16-разрядные программный счётчик PC и указатель стека SP, 8-разрядный регистр признаков CCR. Последний содержит пять флагов, информирующих о состояния операнда в аккумуляторе: переноса (С), нулевого результата (Z), отрицательного результата (N), переполнения (V),дополнительного переноса Рис. 298. Программно-логическая модель центрального процессора НС08.
(Н), а также бит глобальной маски прерывания (I). Размещение триггера запрета всех прерываний центрального процессора I в регистре признаков является традиционным для всех МК компании Freescale Semiconductor. Программный счётчик, указатель стека и регистр НХ позволяют линейно адресовать все 64 Кб памяти, что обусловливает две особенности системы команд:
Система команд ядра НС08 включает 90 инструкций языка Ассемблер, в том числе команды целочисленного беззнакового умножения восьмиразрядных операндов (время выполнения операции составляет 5 циклов или 625 нс) и целочисленного беззнакового деления 16: 8 (время выполнения операции - 7 циклов или 875 нс). Операция сложения или вычитания однобайтовой константы выполняется за 250 нс (2 цикла). Центральный процессор НС08 поддерживает 12 способов адресации, имеет двухадресные команды, которые позволяют выполнять пересылки данных между двумя ячейками памяти или регистрами специальных функций, минуя регистры центрального процессора. Процессор оснащён большим набором команд ветвления. Кроме переходов по традиционным условиям С, Z, N, Н, реализованы переходы по комбинациям флагов С и Z для сравнения операндов в прямом коде без знака, а также по комбинациям флагов С, Z, и V для сравнения операндов в дополнительном коде со знаком. Общее число инструкций ветвления ассемблера НС08 равно 40. Процессорное ядро НС08 реализует векторные прерывания, а также имеет специальную команду программного прерывания. Программно-логическая модель и система команд процессорного ядра HCS08 полностью идентична ядру НС08. В чём же отличия? Во-первых, использован новый технологический процесс, что позволило повысить частоту внутренней шины до 20 МГц при напряжении питания 3,6 В. Во-вторых, процессорное ядро HCS08 работает в диапазоне напряжений питания от 1,8 до 3,6 В, т.е. ориентировано на работу в устройствах с автономным питанием. В-третьих, процессорное ядро HCS08 имеет расширенный набор режимов энергосбережения, что полезно в автономных приборах. В-четвертых, процессорное ядро HCS08 имеет более совершенный модуль отладки, реализующий режим BDM (BDM - Background Debug Mode, т.е. фоновый режим отладки). В отличие от модуля отладки, реализованного в НС08, новый модуль отладки позволяет часть функций выполнять без останова исполнения прикладной программы. Кроме того, для перевода МК в режим отладки используется всего одна линия, что для маловыводных МК очень важно. В рассматриваемых МК на основе процессорного ядра НС08 с интерфейсом отладки MON08 иногда до половины выводов должны быть использованы в режиме отладки. Поэтому приходится коммутировать выводы, а лишние разъёмы нежелательны в малогабаритных приложениях. Обратимся теперь к ядру RS08. При его разработке преследовалась цель предельно минимизировать аппаратные средства 8-разрядного процессорного ядра, ориентированного на очень простые приложения с объёмом программного кода в несколько килобайт. Программно-логическая модель центрального процессора RS08 представлена на рисунке 2. Она содержит 8-разрядный аккумулятор АСС, 14-разрядный счётчик команд PC, 14-разрядный регистр SPC и двухразрядный регистр признаков CCR. Уменьшенная разрядность программного счётчика PC свидетельствует о том, что максимальный объём программного кода для этого процессорного ядра составляет 16 Кб. Наличие всего двух флагов условий (переполнения С и нулевого результата Z) в регистре состояния CCR определяет ориентацию этого процессорного ядра на выполнение, в основном, логических операций и на очень простые вычисления, которые не предполагают использования представления чисел со знаком. И, как следствие, в системе команд отсутствуют инструкции умножения и деления. Существенно сократилось и число команд ветвления - в предыдущих версиях процессорного ядра HC08/HCS08 их было 40, в версии RS08 осталось всего 11. Существенные изменения претерпела модель памяти и система адресации. Процессорное ядро RS08 использует страничную систему адресации, при которой линейно адресуются лишь ячейки памяти с адресами 0x00 - OxFF. Старшие 64 адреса (ОхСО - OxFF) рассматриваются как окно для обращения к одной из 252 страниц постоянной памяти объёмом 64 байта каждая. Для выбора номера страницы предназначен новый регистр управления PAGESEL. Три страницы памяти с младшими адресами (ОxОО - OxBF) адресуются линейно. В этом адресном пространстве располагаются ОЗУ МК и регистры управления периферией. Число способов адресации операндов сократилось с 12 в предыдущих Freescale Semiconductor - это прямая адресация типа Tiny, при которой возможно обращение только к операндам, расположенным по адресам ОxОО - OxOF, и прямая адресация типа Short, для которой доступны ячейки памяти с адресами ОхОО - OxIF. Следует обратить внимание на интересное архитектурное решение, которое позволило эмулировать индексный регистр косвенной адресации X, унаследованный от предыдущих версий процессорного ядра (см. рис. 298), и связанные с ним способы индексной адресации со смещением и автоинкрементированием после выборки операнда. Теперь регистр косвенной адресации X располагается в оперативной памяти МК. При обращении с использованием прямой адресации к другому регистру оперативной памяти D[X] происходит выборка операнда, расположенного по адресу, значение которого содержится в X (см. рис. 30). Таким образом, разработчики процессорного ядра RS08 сумели сохранить в системе команд такие способы адресации, как индексная (косвенная по регистру X), индексная со смещением в 8 или I6 бит, индексная со смещением и автоматическим увеличением на 1 содержимого X после выборки операнда. В самом центральном процессоре таких способов адресации нет, поэтому площадь кристалла велика, а для программиста эти способы адресации доступны. Существенные изменения претерпела подсистема вызова подпрограмм и подсистема прерываний. В процессорном ядре RS08 отсутствует указатель стека SP (см. рис. 29), вместо которого появился регистр одноуровневого аппаратного стека SPC (Shadow PC). В этот регистр загружается адрес возврата при вызове подпрограммы или при переходе на подпрограмму прерывания. Организация многоуровневого вызова подпрограмм возможна только с применением специальных программных конструкций. Для этого предусмотрены команды передачи содержимого регистра SPC в оперативную память и обратно. Рис. 29. Программно-логическая модель центрального процессора НС08. Подсистема прерываний процессорного ядра RS08 перестала быть векторной. Микроконтроллеры типа MC9RS08KA1/KA2 имеют пять источников запросов на прерывания: модуль таймера MTIM, внешние запросы на входах портов KBI, аналоговый компаратор АСМР, модуль меток реального времени RTI и запрос от модуля слежения за пониженным напряжением питания LVD. События запросов отображаются в специальном регистре, который должен быть опрошен программой для определения источника запроса на прерывание. Очень важно, что подсистема прерывания в МК MC9RS08KA1/KA2 предназначена только для вывода этих МК из режимов пониженного энергопотребления типа ожидания (Wait) или останова (Stop). При работе МК в активном режиме, т.е. в процессе исполнения программы, подсистема прерывания запросы фиксирует, но не изменяет ход выполнения программы. Флаги запросов должны программно опрашиваться, и при необходимости выполняется ветвление программы управления. Что же получилось в итоге столь существенных изменений? Процессорное ядро RS08 сохранило хорошую систему команд, которая была свойственна ядру HC08/HCS08. По существу не стало только команд умножения и деления. Но при отсутствии в МК встроенного АЦП и наличии упрощённого таймера, который не предполагает измерения временных интервалов, эти команды требуются редко.Сохранилось множество способов Рис. 30. Эмуляция индексной адресации в процессорном ядре RS08.
адресации, хотя все способы, связанные с регистром X, теперь эмулируются на уровне программы Ассемблера или компилятора с языка Си. Существенно изменилась логика организации работы МК в реальном времени. Отсутствует возможность прерываний от внешних и внутренних источников в ходе выполнения программы, но все события фиксируются, запоминаются и могут быть опрошены программно, что для небыстрых приложений вполне допустимо. Очень важно, что процессорное ядро RS08 унаследовало от ядра HCS08 режим фоновой внутрисхемной отладки BDM. Для данного класса МК он удобен по двум причинам. Во-первых, можно следить за изменением ресурсов МК в режиме отладки без останова выполнения программы, поскольку приложения достаточно простые и медленные. Во-вторых, вход в режим отладки и взаимодействие с МК в процессе отладки происходит по единственному выводу, что делает возможным использование отладки в системе даже при корпусе МК с шестью выводами.
|
||||
Последнее изменение этой страницы: 2016-09-18; просмотров: 394; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.23.92.50 (0.009 с.) |