- •Однокристальная микроЭвм
- •Содержание
- •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 Размеры корпуса.
2.2 Режимы работы.
Всего существует четыре режима работы микроконтроллера MC68HC11E9: однокристальный, расширенный, а также специальные режимы загрузки и теста. В таблице 2-1 показано, каким образом выбираются эти режимы.
2.2.1 Однокристальный режим.
В однокристальном режиме микроконтроллер работает без использования внешних шин адреса и данных. Порты A и B и выводы STRA и STRB функционируют как вводы/выводы общего назначения и сигналы квитирования (Более подробная информация представлена в главе 4. Параллельный ввод/вывод).
2.2.2 Расширенный режим.
В расширенном режиме работы микроконтроллер MC68HC11E9 способен адресовать пространство объемом в 64 Кбайта. Все это адресное пространство включает в себя те же участки памяти, что и в однокристальном режиме, плюс внешние память и периферию. Адресация производится с помощью портов B и C, а также управляющих сигналов AS и R/W/. На рисунке 2-4 показан рекомендуемый вариант демультиплексирования младшего байта адреса и данных передающихся по порту C. Адрес и сигналы R/W/ и AS действуют на протяжении всех циклов шин, включая доступ и ко внутренним участкам памяти.
Рисунок 2-4. Демультиплексирование адреса и данных.
2.3 Специальный режим загрузки.
Данный режим позволяет произвести загрузку программы во встроенное ОЗУ по последовательному асинхронному интерфейсу и запустить программу на выполнение. Программа загрузчика находится в 192-байтовом участке ПЗУ в ячейках $BF40-$BFFF. Этот участок ПЗУ становится доступным только в специальном режиме загрузки. Программа загрузчика использует последовательный интерфейс связи SCI для загрузки во внутреннее ОЗУ программы длиной вплоть до 512 байт по адресам ОЗУ $0000-$01FF. После загрузки последнего байта управление автоматически передается по адресу $0000.
Соединение микроконтроллера следует производить через порт SCI. После сброса SCI работает с тактовой частотой E/16, что, например, означает скорость обмена 7812 бод для тактовой частоты E = 2 МГц. Если установлен бит защиты данных, то передатчик SCI выводит значение $FF. В этом случае также происходит очистка содержимого ЭСППЗУ. При неудачной попытке очистки ЭСППЗУ снова выводится значение $FF и попытка очистить ЭСППЗУ повторяется. После успешного стирания содержимого ЭСППЗУ происходит запись во все ячейки ОЗУ значения $FF и очищается регистр CONFIG. Потом процесс продолжается, как если бы режим защиты данных не был установлен.
Примечание
Если не выбран режим защиты данных, то код проверки и очистки ЭСППЗУ не включается в ПЗУ стартового загрузчика.
Если режим сокрытия данных не установлен или описанная выше последовательность очистки удачно завершилась, передатчик SCI выводит символ останова. Для нормального использования программы стартового загрузчика пользователь должен послать значение $FF приемнику SCI на частое E/16 (7182 бода для частоты 2 МГц) или частоте E/104 (1200 бод для частоты 2 МГц).
Примечание
Это значение $FF, в отличие от остальных передаваемых данных, не отображается эхом через передатчик SCI.
Далее пользователь должен передать не более 512 байт, которые будут размещены в ОЗУ, начиная с адреса $0000. Эти символы эхом отображаются передатчиком. После завершения загрузки, программа загрузчика осуществляет переход по адресу $0000, после чего, естественно, начинается выполнение загруженного кода. Программа-загрузчик прекращает загрузку кодов после загрузки 512 байт или в том случае, когда линия приема данных остается свободной в течение по меньшей мере четырех циклов приема.
Если используется вывод передатчика SCI, то, так как выводы порта D сконфигурированы для работы по операции ИЛИ, требуется внешний нагрузочный резистор.
В специальном режиме загрузки вектора прерываний отображаются на ОЗУ, как показано в таблице 2-3. Это позволяет использовать эти прерывания с помощью таблицы преходов. Например, для использования прерывания SWI пользователь должен поместить в ОЗУ по адресам $00F4, $00F5 и $00F6 команду перехода. При возникновении прерывания SWI вектор (который находится в ПЗУ загрузчика) передает управление на ячейку памяти ОЗУ с адресом $00F4, где в свою очередь команда JMP осуществляет переход на подпрограмму обработки прерывания. Программа, выполняющая функции защиты длиннее основного загрузчика, поэтому варианты поставки с сокрытием данных могут не иметь заполненной таблицы псевдовекторов.
|
Адрес |
Вектор |
|
$00C4 |
SCI |
|
$00C7 |
SPI |
|
$00CA |
Входной фронт счетчика импульсов |
|
$00CD |
Переполнение счетчика импульсов |
|
$00D0 |
Переполнение таймера |
|
$00D3 |
Выходное сравнение 5 таймера |
|
$00D6 |
Выходное сравнение 4 таймера |
|
$00D9 |
Выходное сравнение 3 таймера |
|
$00DC |
Выходное сравнение 2 таймера |
|
$00DF |
Выходное сравнение 1 таймера |
|
$00E2 |
Входной захват 3 таймера |
|
$00E5 |
Входной захват 2 таймера |
|
$00E8 |
Входной захват 1 таймера |
|
$00EB |
Прерывания реального времени |
|
$00EE |
IRQ |
|
$00F1 |
XIRQ |
|
$00F4 |
SWI |
|
$00F7 |
Неверный код команды |
|
$00FA |
Сброс системы слежения |
|
$00FD |
Сброс тактового монитора |
|
$BF40(старт) |
Сброс |
Таблица 2-3. Вектора прерываний режима загрузки.