stringtranslate.com

Моторола S08

9S08 ( 68HCS08 или S08 для краткости) — это 8-битное семейство микроконтроллеров (μC), первоначально выпускавшееся Motorola , позже Freescale Semiconductor , [1] и в настоящее время NXP , произошедшее от микропроцессора Motorola 6800. Это микроконтроллер CISC . Немного расширенный вариант 68HC08 , он имеет обратную совместимость со стареющими микроконтроллерами 68HC05 и встречается практически в любом типе встраиваемых систем. Более крупные члены предлагают до 128 КБ флэш-памяти и 8 КБ ОЗУ через простой блок управления памятью (MMU), который позволяет переключать банки 16 КБ адресного пространства и пару регистров адреса/данных, которая позволяет извлекать данные с любого адреса. Используемая схема страничного обмена допускает теоретический максимум 4 МБ флэш-памяти. [2]

Варианты с MMU предлагают две дополнительные инструкции ЦП, CALL и RTC, которые используются вместо JSR и RTS соответственно при работе с подпрограммами, размещенными в страничной памяти, что позволяет выполнять прямые вызовы подпрограмм со страницы на страницу. В одной атомарной операции CALL сохраняет, а RTC восстанавливает не только PC, но и один дополнительный байт адреса, байт PPAGE (программная страница). Из-за этого дополнительного байта, а также для поддержания сбалансированности стека, подпрограмма, заканчивающаяся на RTC, всегда должна вызываться с помощью CALL, даже если она находится на той же странице памяти.

Внутренне набор инструкций 9S08 совместим снизу вверх с 6805, с добавлением режимов адресации со стековым индексом . (Инструкции, использующие регистр SP, имеют коды операций с префиксом байта 0x9E). Он имеет один восьмибитный аккумулятор , A, один шестнадцатибитный индексный регистр , HX (чья нижняя половина, X, используется изолированно 6805-совместимыми инструкциями), регистр кода условия , 16-битный указатель стека и счетчик программ . Для совместимости с 6805, у которого нет регистра H, старший байт регистра HX, H, очищается во время сброса, и H является единственным регистром, который не стекируется автоматически при входе в любую ISR ( Процедура обслуживания прерываний ). [3] : 81  В отличие от 6805, стек может быть помещен в любое место памяти с помощью соответствующих инструкций.

Стандартный метод программирования или отладки семейства 9S08 осуществляется через стандартный шестиконтактный интерфейс BDM (для связи с микроконтроллером используется только один контакт).

Для различных участников и/или пакетов доступно большое разнообразие периферийных устройств. SCI, SPI, 8/10/12-битный АЦП, (C)PWM, Input Captures и Output Compares являются общими для большинства участников, но внешняя шина недоступна. Некоторые участники поставляются со встроенным контроллером CAN .

Поддержка компилятора

S08 частично поддерживается (например, без поддержки MMU) бесплатным компилятором C SDCC и полностью CodeWarrior .

Ссылки

  1. ^ "NXP Semiconductors | Автомобилестроение, Безопасность, Интернет вещей". www.nxp.com . Получено 18.02.2021 .
  2. ^ Вирамонтес, Эдуардо; Ли, Рик (май 2008 г.). Понимание страничного обмена памятью в устройствах 9S08 (PDF) (Примечание к применению). Версия 0. Техническая поддержка Freescale. AN3730.
  3. ^ Справочное руководство по семейству HCS08 (PDF) . Версия 2. Freescale Semiconductor. Май 2007 г. HCS08RMv1/D.

Внешние ссылки