Однокристальная микроЭВМ (далее ОЭВМ) МС68НС705С8 входит в серию М68НС05 относительно дешевых ОЭВМ, использующих КМОП-технологию, сочетающую малые размеры и высокое быстродействие с низким потреблением энергии и высокой устойчивостью к помехам.
Дополнительным преимуществом КМОП-структуры является то, что компоновка схемы полностью статична, т.е. ОЭВМ может работать при любой частоте синхронизации, меньшей, чем гарантированный максимум. Эта особенность может использоваться в целях экономии энергии, так как ее потребление возрастает с увеличением частоты синхронизации. Кроме того, для снижения потребления энергии используются еще два программно-управляемых режима работы с экономией энергии: Ожидание (WAIT) и Останов (STOP). Благодаря этим режимам ОЭВМ MC68HC705C8 находит особо широкое применение в автомобильной технике, а также в аппаратуре, питающейся от батарей.
Индекс "705С8" в названии говорит о принадлежности данной ОЭВМ к серии С, в которую входят микросхемы общего назначения с наиболее гибкими параметрами. Цифра 8 в названии говорит о том, что это наиболее быстродействующая версия, допускающая частоту внешней синхронизации 8 МГц. Цифры 705 говорят об отличии от базовой модели МС68НС05С8 в конфигурации памяти, состоящее в том, что в базовой модели предусмотрено 8К ПЗУ, а в ее модификации МС68НС705С8 ПЗУ заменено на ППЗУ с ультрафиолетовым стиранием либо однократно программируемым ППЗУ.
Кроме упомянутых ОЭВМ, серия М68НС05 включает в себя ОЭВМ с драйверами жидкокристалических, вакуумных и других дисплеев, ЦАП и АЦП, таймерами, ОЭВМ с различными конфигурациями памяти, быстродействием и другими отличительными особенностями.
Страница
Однокристальная микроЭВМ 1
МС68НС705С8 1
Введение 2
СОДЕРЖАНИЕ 3
1. Программная модель ОЭВМ МС68НС705С8. 4
1.1 Внутренняя структура. 4
1.2 Память. 6
1.3 Регистры. 7
1.4. Режимы адресации. 11
1.5. Набор команд. 18
2. Аппаратные средства 33
2.1 Линии (порты) параллельного ввода-вывода. 33
2.2 Система прерываний. 34
2.3 Таймер и связанные с ним устройства. 38
2.4 Последовательный интерфейс 42
3. Специальные режимы работы. 54
3.1 RESET. 54
3.2 Режимы с пониженным энергопотреблением. 56
Приложение 1. Расположение и назначение выводов МС68НС705С8. 59
Приложение 2. Типовая схема подключения МС68НС705С8. 62
ОЭВМ имеет ряд отличительных особенностей в аппаратном и программном обеспечении, которые перечислены ниже:
Особенности аппаратного обеспечения:
· КМОП-структура с высокой плотностью компоновки;
· 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.
Рис. 1-1. Внутренняя структура ОЭВМ.
24 линии ввода-вывода объединены в порты А, В и С, которые могут быть запрограммированы либо на ввод, либо на вывод информации. 7 линий порта D работают только в режиме ввода информации, но могут программно переключаться на работу в режиме обслуживания последовательного интерфейса связи (Serial Communication Interface, далее SCI), либо в режиме последовательного периферийного интерфейса (Serial Periferal Interface, далее SPI).
Выводы TCAP и TCMP позволяют с помощью таймера реализовывать функции фиксации времени внешнего события (например, для измерения длительности внешнего импульса), и выполнения какой-либо операции в определенный момент времени (например, для формирования выходного сигнала в реальном времени).
Вывод Vpp используется для программирования ППЗУ, и при нормальной работе соединяется с выводом питания Vdd. Рассмотрим подробнее каждый из элементов ОЭВМ.
Память ОЭВМ MC68HC705C8 включает в себя от 176 до 304 байт ОЗУ, 240 байт ПЗУ и от 7600 до 7744 байт программируемого ПЗУ. МС68HC705C8 имеет 4 различных типа конфигурации памяти, как показано на рис. 1-2.
Рис. 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 |
Таким образом, конфигурация памяти может быть изменена в любой момент в ходе выполнения программы.
Как видно из структурной схемы, ОЭВМ содержит следующие регистры: 5 регистров ЦП, регистр конфигурации, программный регистр (регистр команд программирования). Назначение и структуру этих регистров мы рассмотрим в этом разделе. Кроме того, в состав ОЭВМ входят регистры портов, регистры таймера, последовательных интерфейсов и другие, все эти регистры будут рассмотрены в соответствующих разделах.
Регистр конфигурации ( OPTION ), имеющий адрес 1FDFH во встроенной памяти, используется для задания режима обнаружения внешних прерываний (IRQ), разрешения/запрета доступа к ППЗУ, а также конфигурации памяти.
Регистр конфигурации
Назначение | RAM0 | RAM1 | 0 | 0 | SEC | - | IRQ/ | 0 |
Установка после RESET | 0 | 0 | 0 | 0 | * | - | 1 | 0 |
*бит 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 |
Установка после RESET | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
LAT-бит определяет доступ к триггеру программирования ППЗУ.
при LAT=1-разрешен доступ к данным ППЗУ и адресной шине для программирования на следующем цикле записи байта.
при LAT=0-доступ запрещен.
Бит LAT может быть записан и прочитан.
PGM-разрешение/запрет программирования.
при PGM=1 напряжение программирования подается на ППЗУ.
при PGM=0 напряжение программирования отключено.
Если бит LAT сброшен, PGM не может быть установлен в 1.
Центральный процессор содержит 5 регистров, показанных на рис. 1-3. Регистры центрального процессора не являются частью карты памяти.
Рис. 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С INCA Инкремент аккумулятора
Производимые действия:
$0200 $4C [1], [2], [3]
Объяснение:
[1] процессор читает код операции $4C - инкремент аккумулятора;
[2], [3] процессор считывает содержимое аккумулятора, увеличивает на 1, запоминает новую величину в аккумуляторе, в соответствии с результатом устанавливает биты в регистре флагов.
При непосредственной адресации операнд первый операнд находится в аккумуляторе или индексном регистре, а второй является частью кода команды. Команды с непосредственной адресацией не требуют адреса памяти и имеют длину два байта. Код команды содержится в первом байте, а операнд во втором байте. Таблица 1-2 содержит команды, использующие непосредственную адресацию.
Таблица 1-2. Команды, использующие непосредственную адресацию.
Команда | Мнемоника |
Сложение с флагом переноса | ADC |
Сложение | ADD |
Логическое И | AND |
Битовое сравнение ячейки памяти с аккумулятором | BIT |
Сравнение аккумулятора и ячейки памяти | CMP |
Сравнение индексного регистра и ячейки памяти | CPX |
Исключающее ИЛИ ячейки памяти и аккумулятора | EOR |
Загрузить аккумулятор содержимым ячейки памяти | LDA |
Загрузить индексный регистр содержимым ячейки памяти | LDX |
Операция ИЛИ | ORA |
Вычитание с флагом переноса | SBC |
Вычитание | SUB |
Пример:
0 комментариев