
- •Микропроцессорные системы для автоматизации технологических процессов
- •7.1. Введение 39
- •8. Семейство 32-разрядных микроЭвм фирмы Motorola 88
- •9. Организация контроллеров pic фирмы Microchip 113
- •10. Особенности архитектуры сигнальных процессоров 125
- •10.2. Организация памяти 136
- •10.5.1. Прерывания 150
- •11. Пример проектирования асу тп: асу тп подготовки резиновой смеси 158
- •1.Введение
- •2.Архитектура управляющих цвм
- •2.1.Требования к цвм в контуре управления. Сравнительный анализ архитектур
- •2.1.1.Первая массовая управляющая цвм pdp-8
- •2.1.2.Семейства управляющих цвм pdp-11/lsi-11
- •3.Проблема связи между уровнями в многоуровневых мпс
- •3.1.Микроконтроллеры экр1847вг6 (upi - 42)
- •4.Клавиатура и индикация в мпс
- •4.1.Двоичная индикация и ключи
- •4.2.Матричная клавиатура
- •4.3.Сегментная индикация
- •4.4.Контроллер клавиатуры и индикации к580вв79
- •4.4.1.Работа контроллера
- •4.4.1.1.Управление клавиатурой
- •4.4.1.2.Управление дисплеем
- •5.Однокристальные микроЭвм – общие принципы организации
- •5.1.Особенности архитектуры 8-разрядный оэвм фирмы intel
- •5.1.1.Омэвм 8048
- •5.1.2.Семейство омэвм mcs-51
- •6.Обзор 8-разрядных контроллеров фирмы Motorola
- •6.1.Архитектура процессорного модуля семейства mc68hc05
- •6.1.1.Архитектура цпу
- •6.1.2.Организация памяти.
- •6.1.3.Встроенная подсистема ввода/вывода
- •6.2.Семейство мс68нс08
- •6.3.Семейство мс68нс11
- •7.Однокристальная микроЭвм mc68hc11e9
- •7.1.Введение
- •7.1.1.Характеристики
- •7.1.2.Характеристики представителей семейства mc68hc11.
- •7.1.3.Программная модель mc68hc11e9
- •7.1.4.Внутренняя структура и назначение выводов
- •7.1.5.Режимы работы
- •7.1.6.Карта памяти
- •7.1.7.Эсппзу и его программирование
- •7.2.Параллельный ввод/вывод
- •7.2.1.1.Синхронный параллельный обмен
- •7.2.1.2.Асинхронный параллельный обмен
- •7.2.1.2.1.Простой стробируемый ввод/вывод
- •7.2.1.2.1.1.Стробируемый ввод в порт c
- •7.2.1.2.1.2.Стробируемый вывод из порта b
- •7.2.1.2.2.Ввод/вывод с полным квитированием установления связи.
- •7.2.1.2.3.Режима ввода с полным квитированием установления связи
- •7.2.1.2.4.Режима вывода с полным квитированием установления связи
- •7.2.1.2.5.Режима двунаправленного обмена
- •7.2.2.Синхронный параллельный обмен
- •7.2.2.1.Выбор режимов асинхронного обмена
- •7.2.2.2.Краткое резюме по способам параллельного обмена в…е9
- •7.3.Последовательный интерфейс связи (sci).
- •7.3.1.Формат данных
- •7.3.2. Структура последовательного интерфейса связи
- •7.3.3.Передача данных
- •7.3.4.Прием данных
- •7.3.4.1.Распознавание старт-бита
- •7.3.4.2.Особенности при работе в системах с несколькими приемниками
- •7.4.Последовательный периферийный интерфейс (spi).
- •7.4.1.Структура spi
- •7.4.2.Регистры spi.
- •7.4.3.Функциональное описание.
- •7.4.3.1.Работа системы с несколькими ведомыми устройствами
- •7.5.Система контроля временных интервалов
- •7.5.1.Входная фиксация
- •7.5.2.Выходное сравнение
- •7.5.2.1.Принудительное сравнение
- •7.5.2.2.Особенности выходного сравнения 1
- •7.5.3.Счетчик внешних событий
- •7.5.4.Генератор прерываний реального времени
- •7.6.Подсистема аналого-цифрового преобразователя
- •7.7.Прерывания
- •7.7.1.Дисциплина обслуживания прерываний
- •7.7.1.1.Приоритеты запросов
- •7.8.Специальные средства микроконтроллера
- •7.8.1.Регистр выбора конфигурации (option).
- •7.8.2.Режимы пониженного энергопотребления.
- •7.9.Система команд микроЭвм мс68нс11е9
- •7.10.Особенности организации микроЭвм mc68hc11f1
- •7.10.1.Особенности параллельного ввода/вывода
- •7.10.2.Особенности карты памяти mc68hc11f1
- •7.10.3.Функции выбора кристалла (Chip Selects)
- •8.Семейство 32-разрядных микроЭвм фирмы Motorola
- •8.1.Модульность архитектуры
- •8.2.1.Основные характеристики cpu32:
- •8.2.2.Программная модель
- •8.2.3.Регистры
- •8.2.4.Типы данных
- •8.2.5.Системные особенности
- •8.2.6.Система команд
- •8.3.Модуль системной интеграции (sim)
- •8.3.1.Функционирование шины
- •8.3.2. Блок конфигурации и защиты системы
- •8.3.3. Логика выборки внешних устройств
- •8.4.Таймерный сопроцессор (tpu)
- •8.4.1.Таймерные функции высокой точности
- •8.4.2.Характеристики tpu
- •8.4.3.Общая концепция tpu
- •8.5.Озу (с эмуляцией tpu)
- •8.6.Модуль буферизованного последовательного ввода/вывода (qsm)
- •8.6.1.Расширенные возможности qspi
- •8.6.2.Подмодуль sci
- •8.7.Микроконтроллер mc68332
- •8.7.1.Функциональное назначение выводов микроконтроллера
- •9.Организация контроллеров pic фирмы Microchip
- •9.1.Однокристальные микроЭвм
- •9.2.Контроллер can-интерфейса
- •10.Особенности архитектуры сигнальных процессоров
- •10.1.Функциональная схема и назначение внешних выводов
- •10.2.Организация памяти
- •10.2.1. Вспомогательные регистры
- •10.2.2.Методы адресации памяти данных
- •10.2.3.Пересылки из одной области памяти в другую
- •10.3.Центральное арифметико-логическое устройство (calu)
- •10.4.Последовательный порт
- •10.5.Системные средства
- •10.5.1.Прерывания
- •10.5.2.Универсальные контакты *bio и xf
- •10.5.3.Внешняя память и интерфейс ввода-вывода
- •10.5.4.Мультипроцессорная обработка и прямой доступ к памяти
- •10.6.Система команд сигнального процессора
- •10.6.1.Способы адресации и форматы команд
- •Команды пересылки и загрузки
- •Арифметико-логические и специальные команды
- •Команды передачи управления
- •Команды управления
- •11.Пример проектирования асу тп: асу тп подготовки резиновой смеси
- •11.1.Существующая система приготовления резиновой смеси
- •11.2.Требования к разрабатываемой асу тп
- •11.3.Выбор способа реализации управляющего блока
- •11.4.Выбор режима работы микроЭвм и распределение адресного пространства
- •11.4.1.Выбор режима работы
- •11.4.2.Распределение ресурсов ввода/вывода
- •11.4.3.Назначение управляющих клавиш и элементы диалога
- •11.4.4.И Только для чтения спользуемые ресурсы микроЭвм
10.2.3.Пересылки из одной области памяти в другую
TMS320С2х наделен командами, выполняющими пересылки блоков данных и кодов команд. Эти функции выгодно сочетаются с возможностью изменять конфигурацию блоков RAM, расположенных на кристалле.
Команда BLKD перемещает блок внутри памяти данных, а BLKP - блок из памяти программ в память данных. Эти команды перемещают блоки информации как из внутренней RAM, так и из внешней памяти. Наиболее эффективно применять эти команды совместно с командами RPT/RPTK.
Команда DMOV (переместить данные) полезна при выполнении алгоритмов, которые осуществляют операцию задержки, таких, как свертка и цифровая фильтрация, в которых данные проходят через временное окно. DMOV может непрерывно выполнятся сквозь блоки B0, B1 и B2, однако вне внутренней RAM эта функция не работает.
Выполнение команды DMOV в пределах внутренней RAM, на кристалле подобно выполнению эквивалентной команды для TMS32010. DMOV позволяет копировать данные из одной ячейки памяти в другую, имеющую больший адрес, и одновременно, в том же командном цикле, выполнять операции над содержимым адресуемой ячейки. В этом же командном цикле может выполнятся обработка в ARAU, если использован режим косвенной адресации. Команды MACD (умножить и сохранить с перемещением данных) и LTD (загрузить T-регистр, сохранить предыдущее произведение и переместить данные) используют функцию перемещения данных.
Команды TBLR/TBLW позволяют передавать одно слово информации между памятью программ и памятью данных и наоборот. TBLR позволяет считать слово из памяти программ (внутренней ROM или внешней RAM/ROM) в ОЗУ данных. TBLW используется для записи одного слова из внутренней памяти данных (RAM) во внешнее ОЗУ программ.
10.3.Центральное арифметико-логическое устройство (calu)
Центральное арифметико-логическое устройство (CALU) содержит 16 -разрядный масштабирующий регистр сдвига, 1616 параллельный умножитель, 32-разрядное арифметико-логическое устройство (ALU), 32-разрядный аккумулятор и несколько дополнительных сдвиговых регистров, расположенных как на выходе из умножителя, так и на выходе из аккумулятора.
Любая операция ALU выполняется в следующей последовательности:
Данные захватываются из RAM на шину данных,
Данные проходят через масштабирующий сдвиговый регистр и через ALU, в котором выполняются арифметические операции,
Результат передается в аккумулятор.
Один вход в ALU всегда соединен с выходом аккумулятора, а второй может получать информацию либо из регистра произведения (PR) умножителя, либо загружаться из памяти через масштабирующий сдвиговый регистр.
Масштабирующий сдвиговый режим
Масштабирующий сдвиговый регистр имеет 16-разрядный вход с шины данных и 32-разрядный выход в ALU (Рис. 3-7). Сдвиговый регистр выполняет левый сдвиг на 0-16 бит, как указано в команде. При этом младшие разряды заполняются нулями, старшие разряды заполняются либо нулями либо расширением знака, в зависимости от состояния бита SXM (режим расширения знака) в регистре состояния ST0.
TMS320C2х также имеет несколько других сдвиговых регистров, которые позволяют выполнить числовое масштабирование, выделение бита, расширенную арифметику и предотвращать переполнение. Эти сдвиговые регистры подсоединены к выходам умножителя и аккумулятора.
Арифметико-логическое устройство (ALU) и аккумулятор (ACC)
32-разрядный ALU и аккумулятор TMS320С2х выполняют широкий спектр арифметических и логических операций, большинство из которых выполняются в течение одного командного цикла. Результат любой операции, выполняемой в ALU, помещается в аккумулятор. Данные, которые подаются на обработку в ALU, могут быть предварительно сдвинуты в сдвиговом регистре.
На один из входов ALU всегда подается содержимое аккумулятора, а другой вход может быть соединен либо с регистром произведения (PR) умножителя либо с выходом масштабирующего сдвигового регистра.
32-разрядный аккумулятор разделен на два 16-разрядных сегмента для удобства при сохранении его в памяти данных: ACCH (аккумулятор старший) и ACCL (аккумулятор младший). Дополнительный сдвиговый регистр, соединенный с выходом аккумулятора обеспечивает левый сдвиг на 0, 1 или 4 разряда. Этот сдвиг осуществляется прежде, чем поместить данные на шину памяти для их хранения. При этом содержимое аккумулятора не изменяется.
TMS320C2x поддерживает операции с плавающей точкой для вычислений, требующих большой динамический диапазон. Команда нормализации (NORM) нормализует числа с фиксированной точкой, находящиеся в аккумуляторе, путем выполнения левого сдвига. Команда LACT (загрузить аккумулятор со сдвигом, указываемым Т – регистром) денормализует числа с плавающей точкой с помощью арифметического левого сдвига мантиссы через входной масштабирующий сдвиговый регистр. Количество сдвигов в этом случае - это значение порядка, определяемое четырьмя младшими разрядами Т-регистра (TR). Команды ADDT и SUBT (прибавить к/вычесть из аккумулятора со сдвигом, заданным в Т-регистре) также позволяют обрабатывать числа с 16-разрядной мантиссой и 4-разрядным порядком.
Режим насыщения при переполнении может быть запрограммирован при помощи команд SOVM/ROVM (установить/сбросить режим насыщения). Если аккумулятор находится в режиме насыщения при переполнении и произошло переполнение, флаг переполнения устанавливается и аккумулятор загружается наибольшим положительным (>7FFFFFFF) или отрицательным (>80000000) числом, в зависимости от знака переполнения. Если режим насыщения не установлен (бит OVM сброшен), переполненный результат загружается в аккумулятор без изменений.
TMS320C2x выполняет команды ветвления, в зависимости от состояния ALU. Команда BACC (перейти по адресу, расположенному в аккумуляторе) позволяет вычислять адрес перехода. Команды BIT/BITT, не изменяя содержимого аккумулятора, позволяют определять значение конкретных разрядов в любом слове памяти данных.
Аккумулятор TMS320C25 снабжен битом переноса CY, который устанавливается или сбрасывается в зависимости от операций выполняемых процессором. Бит переноса позволяет более эффективно выполнять умножение, сложение и вычитание. Также он удобен при работе с переполнениями. Бит переноса изменяется при выполнении большинства арифметических команд, а также команд сдвига и циклического сдвига аккумулятора. Но он не изменяется при загрузке аккумулятора, логических операциях, или при других неарифметических или управляющих операциях. Он также не изменяется при выполнении команд умножения MPY, MPYK и MPYU, но изменяется командами MAC и MACD.
#
- у TMS32020 отсутствует. # # - на TMS320C25 выполняет
сдвиг влево на 0 - 7 разрядов, а на TMS32020 -
сдвиг влево на 0, 1 или 4 разряда.
Рис. 10.2. Центральное арифметико-логическое устройство (CALU).
Умножитель, T- и P-регистры
TMS320С2х поддерживает аппаратный 16 16 умножитель, работающий с величинами в дополнительном коде, который вычисляет 32-разрядное произведение за один командный цикл. Частью умножителя являются следующие два регистра:
16-разрядный временный регистр (TR) хранит один из сомножителей,
32-разрядный регистр произведения (PR) хранит произведение.
Обычно команда LT (загрузить T-регистр). загружая TR с шины данных, обеспечивает один из сомножителей, а команда MPY (умножить) обеспечивает другой сомножитель, также выбирая его с шины данных. Умножение может также выполняться с использованием непосредственного операнда. В любом случае произведение вычисляется за два командных цикла.
Две команды умножения с накоплением (MAC и MACD) полностью используют вычислительные возможности умножителя, позволяя оба сомножителя захватывать одновременно через шины команд и данных. Использование команд MAC и MACD с командами повторения RPT и RPTK позволяет выполнять операции умножения/сохранения за один командный цикл. Заметим что команда DMOV, входящая в команду MAСD, не работает с адресами внешней памяти данных. На TMS32020 множимое и множитель должны размещаться в разных блоках внутренней памяти RAM. На TMS320C25 команды MAC и MACD могут выбирать операнды как из внутренней, так и из внешней памяти и использовать одну и ту же область внутреннего блока RAM. Команды SQRA (возвести в квадрат/сложить) и SQRS (возвести в квадрат/вычесть) передают одно и то же значение с шины данных на оба входа умножителя для вычисления квадрата.
Команда MPYU на TMS320C25 выполняет беззнаковое умножение, которое имеет важное значение при выполнении команд повышенной точности. Беззнаковое содержимое T-регистра умножается на беззнаковое содержимое адресуемой ячейки памяти, результат помещается в P-регистр. Это позволяет операнды, имеющие длину более 16-ти разрядов, поместить в две ячейки памяти и, обрабатывая их раздельно, получать произведения длиной более 32-х разрядов. После перемножения двух 16-разрядных чисел в дополнительном коде получится 32-разрядное произведение, которое размещается в 32-разрядном регистре произведения (PR). Содержимое PR может затем быть передано в ALU без изменений либо с предварительным сдвигом.
Возможны четыре режима сдвига произведения (PM). Поле PM в регистре состояния ST1 определяет режим сдвига, как показано в таблице 3-3:
Таблица 3-3. Режимы сдвига произведения (PM) |
|
Содержимое PM |
Режим сдвига |
00 |
Нет сдвига |
01 |
Левый сдвиг на 1 разряд |
10 |
Левый сдвиг на 4 разряда |
11 |
Правый сдвиг на 6 разрядов |
Использование правого сдвига на 6 разрядов позволяет выполнять до 128 последовательных умножений с одновременным накоплением произведений в аккумуляторе. Этот сдвиг предохраняет от возможного переполнения аккумулятора. Заметим, что в данном случае правый сдвиг всегда выполняется с расширением знака не зависимо от состояния бита SXM.
Четыре младших значащих бита T-регистра (TR) определяют также переменный сдвиг через масштабирующий сдвиговый регистр для команд LACT/ADDT/SUBT (загрузить/прибавить к/вычесть из аккумулятора со сдвигом, указанном в TR). Эти команды используются при операциях с плавающей точкой, в которых числа должны быть предварительно денормализованы, т.е. представлены в формате с фиксированной точкой. Команда тестирования бита (BITT) позволяет проверить один бит в слове данных, номер которого указывается содержимым четырех младших разрядов TR.