Motorola MC68HC705C8 - Радиоэлектроника - Скачать бесплатно
Однокристальная микроЭВМ
МС68НС705С8
Введение
Однокристальная микроЭВМ (далее ОЭВМ) МС68НС705С8 входит в серию
М68НС05 относительно дешевых ОЭВМ, использующих КМОП-технологию, сочетающую
малые размеры и высокое быстродействие с низким потреблением энергии и
высокой устойчивостью к помехам.
Дополнительным преимуществом КМОП-структуры является то, что компоновка
схемы полностью статична, т.е. ОЭВМ может работать при любой частоте
синхронизации, меньшей, чем гарантированный максимум. Эта особенность может
использоваться в целях экономии энергии, так как ее потребление возрастает
с увеличением частоты синхронизации. Кроме того, для снижения потребления
энергии используются еще два программно-управляемых режима работы с
экономией энергии: Ожидание (WAIT) и Останов (STOP). Благодаря этим режимам
ОЭВМ MC68HC705C8 находит особо широкое применение в автомобильной технике,
а также в аппаратуре, питающейся от батарей.
Индекс "705С8" в названии говорит о принадлежности данной ОЭВМ к серии
С, в которую входят микросхемы общего назначения с наиболее гибкими
параметрами. Цифра 8 в названии говорит о том, что это наиболее
быстродействующая версия, допускающая частоту внешней синхронизации 8 МГц.
Цифры 705 говорят об отличии от базовой модели МС68НС05С8 в конфигурации
памяти, состоящее в том, что в базовой модели предусмотрено 8К ПЗУ, а в ее
модификации МС68НС705С8 ПЗУ заменено на ППЗУ с ультрафиолетовым стиранием
либо однократно программируемым ППЗУ.
Кроме упомянутых ОЭВМ, серия М68НС05 включает в себя ОЭВМ с драйверами
жидкокристалических, вакуумных и других дисплеев, ЦАП и АЦП, таймерами,
ОЭВМ с различными конфигурациями памяти, быстродействием и другими
отличительными особенностями.
СОДЕРЖАНИЕ
Страница
Введение 1
СОДЕРЖАНИЕ 2
1. Программная модель ОЭВМ МС68НС705С8. 3
1.1 Внутренняя структура. 3
1.2 Память. 5
1.3 Регистры. 6
1.4. Режимы адресации. 9
1.5. Набор команд. 15
2. Аппаратные средства 28
2.1 Линии (порты) параллельного ввода-вывода. 28
2.2 Система прерываний. 29
2.3 Таймер и связанные с ним устройства. 33
2.4 Последовательный интерфейс 36
3. Специальные режимы работы. 47
3.1 RESET. 47
3.2 Режимы с пониженным энергопотреблением. 49
Приложение 1.
Расположение и назначение выводов МС68НС705С8. 51
Приложение 2.
Типовая схема подключения МС68НС705С8. 54
1. Программная модель ОЭВМ МС68НС705С8.
1.1 Внутренняя структура.
ОЭВМ имеет ряд отличительных особенностей в аппаратном и программном
обеспечении, которые перечислены ниже:
Особенности аппаратного обеспечения:
КМОП-структура с высокой плотностью компоновки;
8-разрядная архитектура;
режимы малого потребления энергии (Ожидание, Останов, и режим
сохранения данных);
24 двунаправленные линии ввода-вывода.
7 однонаправленных линий (только ввод).
2 линии ввода-вывода таймера.
тактовая частота при питании 5В - до 2.1 МГц, при питании 3В - до1
Мгц;
встроенный 16-битовый таймер;
последовательный интерфейс связи;
последовательный периферийный интерфейс;
программируемое ПЗУ с ультрафиолетовым стиранием, либо однократно
программируемое ПЗУ;
возможность конфигурирования памяти;
система слежения за временем выполнения программы;
диспетчер тактовой частоты;
записанная в ПЗУ программа самозагрузки для программирования;
программируемый режим обнаружения внешних прерываний;
возможность прерываний от внешнего устройства, таймера и
последовательного интерфейса;
начальная установка по включению и по внешнему сигналу;
одно питающее напряжение 3-6 В (режим сохранения данных при 2 В);
встроенный генератор тактовой частоты;
40-выводной корпус с двумя рядами выводов либо 44-выводной квадратный
пластиковый корпус.
Особенности программного обеспечения:
совместимость снизу вверх в программном обеспечении с M146805 КМОП
серией;
эффективный набор команд;
гибкость в управлении с помощью прерываний;
режимы индексной адресации для организации массивов и таблиц;
обмен с внешними устройствами, включенными в адресное пространство;
два режима низкого потребления энергии.
Внутренняя структура ОЭВМ представлена на рисунке 1-1. Блок
центрального процессора содержит 8-битовое арифметико-логическое устройство
(АЛУ), аккумулятор, индексный регистр, регистр признаков, указатель стека,
программный счетчик и управляющую логику. На кристалле также расположены
системы памяти: загрузочное ПЗУ, программируемое ПЗУ и ОЗУ.
В состав систем ввода-вывода входят асинхронный последовательный
интерфейс связи (SCI), последовательный периферийный интерфейс (SPI) и 16-
битовый программируемый таймер. Диспетчер синхронизации и таймер времени
выполнения программы следят, соответственно, за наличием сигнала
синхронизации на внутренней шине (в противном случае происходит RESET), а
также за временем выполнения прикладной программы, которая должна
периодически сбрасывать таймер, в противном случае система считает, что
произошел сбой программы и формирует RESET. Тактовый генератор может
функционировать как с использованием внешнего сигнала синхронизации, так и
с помощью кварцевого резонатора. Схемы подключения для обоих случаев
приведены в Приложении 2.
[pic]
Рис. 1-1. Внутренняя структура ОЭВМ.
24 линии ввода-вывода объединены в порты А, В и С, которые могут быть
запрограммированы либо на ввод, либо на вывод информации. 7 линий порта D
работают только в режиме ввода информации, но могут программно
переключаться на работу в режиме обслуживания последовательного интерфейса
связи (Serial Communication Interface, далее SCI), либо в режиме
последовательного периферийного интерфейса (Serial Periferal Interface,
далее SPI).
Выводы TCAP и TCMP позволяют с помощью таймера реализовывать функции
фиксации времени внешнего события (например, для измерения длительности
внешнего импульса), и выполнения какой-либо операции в определенный момент
времени (например, для формирования выходного сигнала в реальном времени).
Вывод Vpp используется для программирования ППЗУ, и при нормальной
работе соединяется с выводом питания Vdd. Рассмотрим подробнее каждый из
элементов ОЭВМ.
1.2 Память.
Память ОЭВМ MC68HC705C8 включает в себя от 176 до 304 байт ОЗУ, 240
байт ПЗУ и от 7600 до 7744 байт программируемого ПЗУ. МС68HC705C8 имеет 4
различных типа конфигурации памяти, как показано на рис. 1-2.
[pic]
Рис. 1-2 Карта памяти ОЭВМ
Конфигурация задается записью в биты RAM0 и RAM1 регистра конфигурации
OPTION, находящегося по адресу 1FDFH. При начальной установке эти биты
сбрасываются. Состояние битов RAM0 и RAM1 определяет объем ОЗУ и ПЗУ,
который может быть выбран из следующей таблицы:
|RAM0 |RAM1 |ОЗУ байт |ППЗУ байт |
|0 |0 |176 |7744 |
|1 |0 |208 |7696 |
|0 |1 |272 |7648 |
|1 |1 |304 |7600 |
Таким образом, конфигурация памяти может быть изменена в любой момент в
ходе выполнения программы.
1.3 Регистры.
Как видно из структурной схемы, ОЭВМ содержит следующие регистры: 5
регистров ЦП, регистр конфигурации, программный регистр (регистр команд
программирования). Назначение и структуру этих регистров мы рассмотрим в
этом разделе. Кроме того, в состав ОЭВМ входят регистры портов, регистры
таймера, последовательных интерфейсов и другие, все эти регистры будут
рассмотрены в соответствующих разделах.
Регистр конфигурации ( OPTION ), имеющий адрес 1FDFH во встроенной
памяти, используется для задания режима обнаружения внешних прерываний
(IRQ), разрешения/запрета доступа к ППЗУ, а также конфигурации памяти.
Регистр конфигурации
|Назначение |RAM0 |RAM1 |0 |0 |SEC |- |IRQ/ |0 |
|Установка |0 |0 |0 |0 |* |- |1 |0 |
|после RESET | | | | | | | | |
*бит SEC является ячейкой ППЗУ.
Ниже приводятся функции каждого бита регистра конфигурации.
RAM0-бит конфигурации памяти.
при RAM0=1 32 байта с адреса 0030H становятся равными 0. Адреса с
0020 по 002F резервируются. Таким образом, удаляется 48 байт ППЗУ, которые
были расположены по этим адресам. Этот бит может быть записан и прочитан
в любой момент, таким образом, конфигурация памяти может быть изменена во
время выполнения программы.
при RAM0=0 добавляется 48 байт ППЗУ по адресам 0020H-004FH.
RAM1-бит конфигурации памяти.
при RAM1=1 96 байт, начиная с адреса 0100H, становятся равными FFH.
Бит может быть записан и прочитан в любой момент.
при RAM1=0-добавляется 96 байт ППЗУ c адреса 0100H.
SEC-бит блокировки загрузчика. Он показывает, откуда будет
производиться начальная загрузка ОЭВМ: из ППЗУ либо из внешнего источника
по последовательному интерфейсу.
при SEC=1 загрузчик блокирован. ОЭВМ работает в однокристальном
режиме.
при SEC=0 загрузчик разблокирован, управление после RESET передается
встроенной программе, осуществляющей начальную загрузку встроенной памяти
из внешнего устройства по последовательному интерфейсу. Бит SEC физически
расположен в ППЗУ и не изменяется при общем сбросе.
IRQ -режим обнаружения запросов на прерывание от внешних устройств.
при IRQ=1 вывод IRQ/ микропроцессора реагирует как на низкий уровень
сигнала на этом выводе, так и на перепад из высокого уровня в низкий.
при IRQ=0 ОЭВМ реагирует только на перепад из высокого в низкий
уровень на входе IRQ.
Регистр команд программирования (PROG), расположенный по адресу 001СН,
используется для установки режима при программировании ППЗУ.
Регистр команд программирования
|Назначение |0 |0 |0 |0 |0 |LAT |0 |PGM |
|Установка |0 |0 |0 |0 |0 |0 |0 |0 |
|после RESET | | | | | | | | |
LAT-бит определяет доступ к триггеру программирования ППЗУ.
при LAT=1-разрешен доступ к данным ППЗУ и адресной шине для
программирования на следующем цикле записи байта.
при LAT=0-доступ запрещен.
Бит LAT может быть записан и прочитан.
PGM-разрешение/запрет программирования.
при PGM=1 напряжение программирования подается на ППЗУ.
при PGM=0 напряжение программирования отключено.
Если бит LAT сброшен, PGM не может быть установлен в 1.
Центральный процессор содержит 5 регистров, показанных на рис. 1-3.
Регистры центрального процессора не являются частью карты памяти.
[pic]
Рис. 3 Регистры ЦП.
Аккумулятор (A)-это 8-битный регистр общего назначения, в котором
хранятся операнды, результаты арифметических операций, а также данные, с
которыми производятся какие-либо операции. Аккумулятор также используется и
для логических операций.
Индексный регистр (X)-используется либо при индексном режиме адресации,
либо как вспомогательный аккумулятор. Этот регистр может быть загружен как
непосредственно, так и из памяти, может быть сохранен в ячейке памяти или
сравнен с ее содержимым.
Программный счетчик (PC)-это 13-битовый регистр, содержащий адрес
команды, следующей за выполняемой, либо адрес операнда, входящего в код
программы. Шина адреса MC68HC705C8 имеет разрядность 13 бит, что позволяет
адресовать 8 Кб памяти.
Указатель стека (SP), как и программный счетчик, является 13-битным
регистром, содержащим адрес следующей (свободной) ячейки стека. Во время
начальной установки, либо при выполнении команды "Сброс указателя стека"
(RSP), в указатель записывается адрес 00FFH. Затем это значение уменьшается
по мере записи данных в стек. При обращении к памяти 7 старших бит
указателя постоянно имеют значение 0000011В. Эти 7 бит добавляются к шести
младшим битам для получения адреса от 00FFH до 00C0H. Подпрограммы и
прерывания могут, таким образом, использовать до 64 ячеек памяти под стек.
Если все ячейки заполнены, то указатель стека автоматически устанавливается
в исходную позицию и записанная в стек информация теряется. Вызов
подпрограммы использует 2 ячейки стека, прерывание-5 ячеек.
Регистр признаков (СС) содержит 5 флагов, устанавливающихся в
зависимости от результата выполнения арифметических и других команд. Этими
флагами являются: флаг полупереноса (Н), флаг отрицательного результата
(N), флаг нулевого результата (Z), бит маски прерываний (I) и флаг переноса
(С).
Флаг полупереноса (Н)-используется для операций с числами в двоично-
десятичном коде и изменяется при операциях сложения (ADD) и сложения с
флагом переноса (ADC). Бит Н устанавливается в 1 при возникновении переноса
из бита 3 в бит 4.
Бит маскирования прерываний (I)-запрещает все маскируемые прерывания
при установке его в 1. Бит I автоматически устанавливается при
возникновении любого прерывания сразу же после сохранения регистров в
стеке, но до передачи управления по вектору прерывания. Если внешнее
прерывание происходит в тот момент, когда ,бит I установлен в 1, то запрос
на прерывание фиксируется и обрабатывается после сброса бита I. После
обслуживания прерывания, команда возврата из прерывания (RTI)
восстанавливает содержимое регистров. Таким образом, после обработки
прерывания I-бит сбрасывается, а при начальной установке ОЭВМ бит I
устанавливается в 1 и может быть сброшен программно.
Флаг отрицательного результата (N) устанавливается в 1, если результат
последней операции является отрицательным числом, и сбрасывается в
противоположном случае.
Флаг нулевого результата (Z) устанавливается в 1, если результатом
последней операции является 0 и сбрасывается в противоположном случае.
Флаг Перенос (заем) (С) индицирует, что произошел перенос в результате
операции сложения, либо заем при вычитании. Операции сдвига и циклического
сдвига происходят через этот бит, что дает возможность осуществлять
операции сдвига с операндами из нескольких слов.
1.4. Режимы адресации.
ОЭВМ МС68НС705С8 использует восемь режимов адресации, определяющих
способ доступа к данным, требуемым для выполнения команд. Способы
адресации, поддерживаемые ОЭВМ МС68НС05С8, перечислены ниже:
неявная;
непосредственная;
прямая;
расширенная;
индексная без смещения;
индексная с 8-разрядным смещением;
индексная с 16-разрядным смещением;
относительная.
Команды с неявной адресацией либо не имеют операндов, либо содержат
указание на операнд в мнемонике команды. К таким командам относятся,
например, команды возврата из прерывания (RTI), останова (STOP) и т.д.
Неявный тип адресации имеют команды работы с данными в регистрах
микропроцессора, например, установить флаг переноса (SEC), увеличение
числа, хранящегося в аккумуляторе, на единицу (INCA), и другие. Команды с
неявной адресацией не требуют обращения к памяти и имеют длину один байт. В
Таблице 1-1 приведен список команд, которые используют неявную адресацию.
Таблица 1-1. Команды, использующие неявную адресацию.
|Команда |Мнемоника |
|Арифметический сдвиг влево |ASLA, ASLX |
|Арифметический сдвиг вправо |ASRA, ASRX |
|Сбросить флаг переноса |CLC |
|Сбросить флаг маскирования прерываний |CLI |
|Обнулить |CLRA, CLRX |
|Дополнение |COMA, COMX |
|Декремент на 1 |DECA, DECX |
|Инкремент на 1 |INCA, INCX |
|Логический сдвиг влево |LSLA, LSLX |
|Логический сдвиг вправо |LSRA, LSRX |
|Умножение |MUL |
|Изменить знак |NEGA, NEGX |
|Нет операции |NOP |
|Циклический сдвиг влево через флаг переноса |ROLA, ROLX |
|Циклический сдвиг вправо через флаг переноса |RORA, RORX |
|Инициализация указателя стека |RSP |
|Возврат из прерывания |RTI |
|Возврат из подпрограммы |RTS |
|Установить флаг переноса |SEC |
|Установить бит маскирования прерываний |SEI |
|Разрешить IRQ и останов генератора синхроимпульсов |STOP |
|Программное прерывание |SWI |
|Запись содержимого аккумулятора в индексный регистр |TAX |
|Проверить на отрицательность и равенство нулю |TSTA, TSTX |
|Запись содержимого индексного регистра в аккумулятор |TXA |
|Разрешить прерывание и останов процессора |WAIT |
Пример:
0200 4С
|