- •Однокристальная микроЭвм
- •Содержание
- •1. Введение.
- •1.1 Характеристики.
- •1.2 Общее описание.
- •1.3 Программная модель.
- •1.4 Характеристики представителей семейства mc68hc11.
- •2. Описание сигналов и режимы работы.
- •2.1 Описание выводов.
- •2.1.1 Выводы питания (vdd) и земли (vss).
- •2.1.2 Сброс (reset/).
- •2.1.3 Входы внешней синхронизации (xtal и extal).
- •2.1.4 Вывод тактовой частоты синхронизации e (e).
- •2.1.5 Запрос прерывания (irq/).
- •2.1.6 Немаскируемое прерывание (xirq/).
- •2.1.7 Выводы moda/lir/ и modb/vstby.
- •2.1.8 Опорные напряжения ацп (vrLи vrh).
- •2.1.9 Строб b и чтение/запись (strb / r/w/).
- •2.1.10 Строб a и строб адреса (stra/as)
- •2.1.11 Сигналы портов.
- •2.2 Режимы работы.
- •2.2.1 Однокристальный режим.
- •2.2.2 Расширенный режим.
- •2.3 Специальный режим загрузки.
- •Примечание
- •Примечание
- •2.2.4 Дополнительные опции загрузчика программ.
- •2.2.5 Специальный режим теста.
- •3. Внутренняя память.
- •3.1 Карта памяти.
- •3.2 Озу и регистр отображения памяти (init).
- •3.5 Эсппзу.
- •3.5.1 Регистр управления эсппзу (pprog).
- •3.5.2 Регистр защиты эсппзу (bprot).
- •3.5.3 Программирование/стирание внутреннего эсппзу.
- •3.5.4 Регистр конфигурации системы (config).
- •Примечание: в этот момент недопустим сброс контроллера!!!
- •4. Параллельный ввод/вывод.
- •4.1 Порты ввода/вывода общего назначения (c и d).
- •4.2 Порты с фиксированным направлением ввода/вывода (a, b и e).
- •4.3 Простой стробируемый ввод/вывод.
- •4.3.1 Стробируемый ввод-порт c.
- •4.3.2 Стробируемый вывод-порт b.
- •4.4 Ввод/вывод с полным квитированием установления связи.
- •4.4.1 Протокол режима ввода с полным квитированием установления связи.
- •4.4.2 Протокол режима вывода с полным квитированием установления связи.
- •4.5 Регистр управления вводом/выводом (pioc).
- •5. Последовательный интерфейс связи (sci).
- •5.3 Особенности при работе в системах с несколькими приемниками.
- •5.4 Принимаемые данные (RxD).
- •5.5 Распознавание старт-бита.
- •5.6 Передаваемые данные (TxD).
- •5.7 Фунциональное описание.
- •5.8 Регистры sci.
- •5.8.1 Регистр данных последовательной связи (scdr).
- •5.8.2 Регистр управления 1 (sccr1).
- •5.8.3 Регистр управления 2 (sccr2).
- •5.8.4 Регистр статуса последовательной связи (scsr).
- •5.8.5 Регистр скорости приема/передачи (baud).
- •Примечание
- •Примечание
- •6. Последовательный периферийный интерфейс.
- •6.1 Общий обзор и характеристики.
- •6.2 Описание сигналов spi.
- •6.2.1 Вход ведущего-выход ведомого (miso).
- •6.2.2 Выход ведущего-вход ведомого (mosi).
- •6.2.3 Сигналы синхронизации (sck).
- •6.2.4 Выбор ведомого устройства (ss/).
- •6.3 Функциональное описание.
- •6.4 Регистры spi.
- •6.4.1 Регистр управления периферийным интерфейсом (spcr).
- •6.4.2 Регистр статуса поеледовательного периферийного интерфейса (spsr).
- •6.4.3 Регистр ввода/вывода spi.
- •7. Аналого-цифровой преобразователь.
- •7.1 Процесс преобразования.
- •7.2 Назначение каналов.
- •7.4 Работа в многоканальном режиме.
- •7.5 Работа в режимах stop и wait.
- •7.6 Регистр управления и статуса ацп (adctl).
- •Примечание:
- •Примечание:
- •7.7 Регистры результатов преобразований 1,2,3 и 4 (adr1, adr2, adr3 и adr4).
- •7.8 Подача питания на ацп и выбор источника синхронизации.
- •8. Программируемый таймер, прерывания реального времени и счетчик импульсов.
- •8.1 Программируемый таймер.
- •8.1.1 Счетчик.
- •8.1.2 Входная фиксация.
- •8.1.3 Выходное сравнение.
- •8.1.4 Управление вводом/выводом выходного сравнения 1.
- •8.1.5 Регистр принудительного сравнения таймера (cforc).
- •8.1.6 Регистр 1 маскирования выходного сравнения (oc1m).
- •8.1.7 Регистр данных выходного сравнения 1 (oc1d).
- •8.1.8 Регистр 1 управления таймером (tctl1).
- •8.1.9 Регистр 2 управления таймером (tctl2).
- •8.1.10 Регистр 1 маскирования прерываний таймера (tmsk1).
- •Примечание:
- •8.1.11 Регистр 1 флагов прерывания таймера (tflg1).
- •Примечание:
- •8.1.12 Регистр 2 маскирования прерываний таймера (tmsk2).
- •8.1.13 Регистр 2 флагов прерываний таймера (tflg2).
- •8.2 Прерывания реального времени.
- •8.3 Счетчик импульсов.
- •8.4 Регистр управления счетчиком импульсов (pactl).
- •9. Сброс, прерывания и режимы с пониженным потреблением энергии.
- •9.1 Варианты сброса.
- •9.1.1 Внешний вывод reset/.
- •9.1.2 Сброс при включении питания.
- •9.1.3 Сброс, вызываемый системой слежения.
- •9.1.4 Сброс тактового монитора.
- •9.1.5 Регистр выбора конфигурации (option).
- •9.2 Прерывания.
- •9.2.1 Программное прерывание (swi).
- •Примечание
- •9.2.2 Прерывание по неверному коду команды.
- •9.2.3 Биты маскирования прерываний регистра условий.
- •9.2.4 Структура приоритетов.
- •9.2.5 Регистр наивысшего приоритета I-прерывания (hprio).
- •9.3 Режимы пониженного энергопотребления.
- •9.3.1 Команда wait.
- •9.3.2 Команда stop.
- •10. Центральный процессор, режимы адресации и система команд.
- •10.1 Регистры цп.
- •10.1.1 Аккумуляторы a и b.
- •10.2 Режимы адресации.
- •10.2.1 Непосредственная адресация.
- •10.2.2 Прямая адресация.
- •10.2.3 Расширенная адресация.
- •10.2.4 Индексная адресация.
- •10.2.5 Неявная адресация.
- •10.2.6 Относительная адресация.
- •10.2.7 Байт префикса.
- •10.3 Система команд.
- •11. Электрические характеристики.
- •11.1 Максимальные диапазоны.
- •11.2 Температурные характеристики.
- •11.3 Энергопотребление.
- •11.4 Электрические характеристики.
- •11.5 Синхронизация.
- •11.7 Характеристики системы ацп.
- •11.8 Временные диаграммы шины расширенния.
- •11.9 Временные характеристики spi.
- •11.10 Характеристики эсппзу.
- •12. Корпус.
- •12.1 Расположение выводов.
- •12.2 Размеры корпуса.
9.2 Прерывания.
При возникновении внешнего или внутреннего прерывания, оно не обрабатывается до тех пор, пока не будет закончено выполнение текущей команды. Прерывание ожидает обработки до полного выполнения команды. После завершения текущей команды немаскируемое прерывание может быть обработано в соответствии с аппаратно установленным приоритетом, однако приоритет прерывания, связанного с битом I может быть динамически установлен в самую высокую позицию в иерархии прерываний (см. 9.2.5 Регистр наивысшего приоритета I - прерывания).
Семнадцать аппаратных прерываний и одно программное прерывание (включая все прерывания сброса) могут генерироваться различными источниками прерываний. Эти прерывание можно разделить на две категории: маскируемые и немаскируемые. В MC68HC11E9 пятнадцать прерываний могут быть замаскированы битом I регистра условий. Дополнительно к этому, все встроенные источники прерываний можно маскировать специальными управляющими битами.
Программное прерывание (команда SWI) является скорее немаскируемой командой, чем маскируемым источником прерывания. Прерывание по неверному коду команды - это немаскируемое прерывание. Последний источник прерывания, внешний вход XIRQ/, рассматривается как источник немаскируемого прерывания, потому что будучи однажды разрешенным это прерывание не может быть запрещено программно; однако оно маскируется в течение сброса и при получении сигнала на выводе XIRQ/. В таблицах 9-2, 9-3 и 9-4 приведен список всех прерываний, расположение в памяти их векторов, а также условий их возникновения и управляющих битов, которые маскируют эти прерывания по отдельности. Ниже обсуждаются различные типы прерываний. На рисунке 9-4 представлен порядок сохранения в стеке регистров при возникновении прерывания.
|
Адрес вектора |
Источник прерывания |
Маска регистра CC |
Локальная маска |
|
$FFC0,C1 |
Зарезервировано |
- |
- |
|
. |
. |
|
|
|
. |
. |
|
|
|
$FFD4,D5 |
Зарезервировано |
- |
- |
|
$FFD6,D7 |
Система SCI |
Бит I |
см. таблицу 9-3 |
|
$FFD8,D9 |
Завершение передачи SCI |
Бит I |
SPIE |
|
$FFDA,DB |
Входной фронт счетчика импульсов |
Бит I |
PAII |
|
$FFDC,DD |
Переполнение счетчика импульсов |
Бит I |
PAOVI |
|
$FFDE,DF |
Переполнение таймера |
Бит I |
TOI |
|
$FFE0,E1 |
Выходное сравнение 5 таймера |
Бит I |
OC5I |
|
$FFE2,E3 |
Выходное сравнение 4 таймера |
Бит I |
OC4I |
|
$FFE4,E5 |
Выходное сравнение 3 таймера |
Бит I |
OC3I |
|
$FFE6,E7 |
Выходное сравнение 2 таймера |
Бит I |
OC2I |
|
$FFE8,E9 |
Выходное сравнение 1 таймера |
Бит I |
OC1I |
|
$FFEA,EB |
Входной захват 3 таймера |
Бит I |
IC3I |
|
$FFEC,ED |
Входной захват 2 таймера |
Бит I |
IC2I |
|
$FFEE,EF |
Входной захват 1 таймера |
Бит I |
IC1I |
|
$FFF0,F1 |
Прерывания реального времени |
Бит I |
RTI |
|
$FFF2,F3 |
IRQ/ (Внешний вывод или параллельный ввод/вывод) |
Бит I |
см. таблицу 9-4 |
|
$FFF4,F5 |
XIRQ/ вывод (псевдо-немаскируемое прерывание) |
Бит X |
Нет |
|
$FFF6,F7 |
SWI |
Нет |
Нет |
|
$FFF8,F9 |
Прерывание по неверному коду команды |
Нет |
Нет |
|
$FFFA,FB |
Сброс, вызываемый системой слежения |
Нет |
NOCOP |
|
$FFFC,FD |
Сброс, вызываемый тактовым монитором системы слежения |
Нет |
CME |
|
$FFFE,FF |
RESET |
Нет |
Нет |
Таблица 9-2. Назначение векторов прерываний.
|
Причина прерывания |
Локальная маска |
|
Регистр принимаемых данных полон |
RIE |
|
Приемник переполнен |
RIE |
|
Обнаружена свободная линия |
ILIE |
|
Регистр передаваемых данных пуст |
TIE |
|
Передача завершена |
TCIE |
Таблица 9-3. Прерывания последовательного интерфейса связи.
|
Причина прерывания |
Локальная маска |
|
Внешний вывод |
Нет |
|
Квитирование параллельного ввода/вывода. |
STAI |
Таблица 9-4. Прерывания по IRQ/.
|
|
СТЕК |
|
|
SP |
PCL |
--SP до прерывания |
|
SP-1 |
PCH |
|
|
SP-2 |
IYL |
|
|
SP-3 |
IYH |
|
|
SP-4 |
IXL |
|
|
SP-5 |
IXH |
|
|
SP-6 |
ACCA |
|
|
SP-7 |
ACCB |
|
|
SP-8 |
CCR |
|
|
SP-9 |
|
--SP после прерывания |
Рисунок 9-4. Порядок заполнения стека при обслуживании прерывания.