Микроконтроллеры RS08 от NXP: 8-битная архитектура, упрощенная версия MC68HCS08. Идеальны для встраиваемых систем с минимальными требованиями к ресурсам.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
RS08 – это семейство 8-битных микроконтроллеров от NXP Semiconductors. Архитектура RS08, первоначально выпущенная компанией Freescale в 2006 году, представляет собой версию с уменьшенным объемом ресурсов центрального процессора Freescale MC68HCS08, который является частью семейства микропроцессоров 6800. Она была реализована в нескольких устройствах микроконтроллеров для встраиваемых систем. По сравнению со своими аналогами HC08 и Freescale S08, RS08 имеет значительно упрощенную конструкцию. Буква 'R' в номерах компонентов обозначает "Reduced" (уменьшенный); сама Freescale описывает ядро как "ultra low end" (сверхнизкий уровень). Типичные реализации включают в себя меньшее количество встроенных периферийных устройств и ресурсов памяти, компактные корпуса (наименьший – QFN6 размером 3 мм x 3 мм x 1 мм) и стоимость менее 1 доллара США. Цели упрощенной конструкции – повышение эффективности, снижение стоимости для устройств с небольшим объемом памяти и уменьшение площади кристалла. RS08 использует архитектуру фон Неймана с общей шиной данных и команд; возможно выполнение инструкций из памяти данных. Устройство не обладает двоичной совместимостью с ядром S08, хотя наборы команд и режимы адресации являются подмножеством S08. Это облегчает переход от ядра S08 к ядру RS08 для разработчиков и инженеров. Режимы адресации Short и Tiny обеспечивают более эффективный доступ и обработку наиболее часто используемых переменных и регистров. Эти инструкции имеют однобайтовые коды операций, что снижает объем необходимой программной памяти при их частом использовании. Площадь кристалла на 30% меньше, чем у ядра S08. Ядро RS08 использует ту же структуру шины, что и S08, что позволяет повторно использовать модули памяти и периферии. Оно предоставляет интерфейс Background Debug Mode (режим отладки в фоновом режиме) – интерфейс отладки по одной линии, обеспечивающий интерактивное управление процессором при установке в целевую систему.
RS08 is a family of 8 bit microcontrollers by NXP Semiconductors. Originally released by Freescale in 2006, the RS08 architecture is a reduced resource version of the Freescale MC68HCS08 central processing unit (CPU), a member of the 6800 microprocessor family. It has been implemented in several microcontroller devices for embedded systems. Compared to its sibling HC08 and Freescale S08 parts, it has a much simplified design. The 'R' in its part numbers suggests "Reduced"; Freescale itself describes the core as "ultra low end". Typical implementations include fewer on board peripherals and memory resources, have smaller packages (the smallest is the QFN6 package, at 3mm x 3mm x 1mm), and are priced under US$1. Aims of the simplified design include greater efficiency, greater cost effectiveness for small memory size parts, and smaller die size. The RS08 employs a von Neumann architecture with shared program and data bus; executing instructions from within data memory is possible. The device is not binary compatible with the S08 core, though the instruction opcodes and addressing modes are a subset of the S08. This allows an easy transition from the S08 core to the RS08 core for designers and engineers. Short and Tiny addressing modes allow for more efficient access and manipulation of the most commonly used variables and registers. These instructions have single byte instruction opcodes, reducing the amount of program memory required by their frequent use. Die size is 30% smaller than the S08 core. The RS08 core uses the same bus structure as S08, making memory and peripheral module reuse possible. It offers a Background Debug Mode interface, a single wire debugging interface that allows interactive control over the processor when installed in a target system.
Архитектурные особенности
Ядро RS08 не использует стек. При вызове подпрограммы оно сохраняет адрес возврата в регистре связи с теневым счетчиком программы. Если подпрограмма, в свою очередь, вызывает другую подпрограмму, она может сохранить адрес возврата в локальной переменной, вызывать необходимые подпрограммы и восстановить сохраненный адрес непосредственно перед возвратом. Регистр состояния ядра содержит биты флагов переноса (Carry) и нуля (Zero). Флаги переполнения (Overflow) и знака (Negative), обычно присутствующие в других ядрах, отсутствуют.
The RS08 core does not manage a stack. During subroutine calls, it preserves a return address in a Shadow Program Counter link register. If a subroutine in turn calls another subroutine, it can preserve the return address in a local variable, call subroutines as necessary, and restore the saved address just before returning. The core's Status register has Carry and Zero flag bits. Overflow and Negative, usually found in other cores, are not present.
Перерыв в обработке
Перерывания не передаются через векторы прерываний, как это происходит практически во всех других процессорах Freescale. Перерывания RS08 могут вывести процессор из состояния ожидания WAIT или STOP (когда выполнение временно приостановлено), но в противном случае не изменяют ход программы. Фактически, RS08 выполняет любой фрагмент кода до завершения. Эффект отдалённо напоминает кооперативную многозадачность в операционных системах. Несмотря на то, что обработка внешних событий происходит синхронно, не требуется дополнительных затрат на переключение контекста, и возможна работа в режиме низкого энергопотребления. Арбитраж прерываний полностью контролируется программно.
Interrupts are not dispatched through interrupt vectors, as with nearly all other Freescale processors. RS08 interrupts can wake the processor from a WAIT or STOP condition (where execution is temporarily halted), but otherwise do not change program flow. In essence, RS08 runs any thread of programming to completion. The effect is vaguely similar to cooperative multitasking in operating systems. Though handling external events is synchronous, no overhead due to context switching is required, and low power operation is possible. Interrupt arbitration is exclusively software controlled.