
- •Микропроцессорные системы для автоматизации технологических процессов
- •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.1.Функциональная схема и назначение внешних выводов
Функциональная схема, показанная на рис. 10.1, отображает основные блоки и потоки данных внутри процессора. Архитектура TMS320C2x построена на основе двух шин – шины команд и шины данных. Шина команд служит для передачи кодов команд и непосредственных операндов, расположенных в памяти программ. Шина данных подсоединяет различные внутренние элементы процессора такие, как центральное арифметико-логическое устройство (CALU) и файл вспомогательных регистров к ОЗУ данных (RAM). Совместно шины команд и данных используются для передачи данных в одноцикловых командах умножения-сохранения.
TMS320C2x обладает высокой степенью параллелизма, т. е. в то время, когда происходит обработка данных в CALU, арифметические операции могут также происходить в арифметическом устройстве вспомогательных регистров (ARAU). В результате такого параллелизма появилась возможность создать мощный набор команд, выполняющих арифметические, логические операции и операции, манипулирующие битами, в течении одного машинного цикла.
На функциональной схеме обозначены следующие узлы и блоки:
Название |
Символ |
Описание |
Аккумулятор |
ACCH(31:16) ACCL(15:0)
|
32-разрядный аккумулятор-накопитель, состоит из двух регистров: ACCH (старшие разряды аккумулятора) и ACCL (младшие разряды аккумулятора). Используется для хранения результатов вычисления ALU. |
Арифметико-логическое устройство |
ALU |
32-разрядное арифметико-логическое устройство, оперирующее двоично-дополненными величинами, имеет два 32-разрядных входных порта и один 32-разрядный выходной порт, соединенный с аккумулятором-накопителем. |
Арифметическое устройство вспомогательных регистров |
ARAU |
16-разрядное устройство беззнаковой арифметики для выполнения операций над данными, содержащимися во вспомогательных регистрах. |
Файл вспомогательных регистров |
AR0 – AR7 (0:15) |
Файл регистров, содержащий восемь 16-разрядных регистров, используемых для адресации памяти данных, для временного хранения или для выполнения арифметических операций с помощью ARAU. |
Шина файла вспомогательных регистров |
AFB(0:15) |
16-разрядная шина; передает данные из текущего вспомогательного регистра. |
Указатель вспомогательных регистров |
ARP(2:0) |
3-разрядный регистр, содержащий номер текущего вспомогательного регистра. |
Буфер указателя вспомогательных регистров |
ARB(2:0) |
3-разрядный регистр для буферизации ARP. При каждой новой загрузке ARP, старое значение ARP записывается в ARB; Исключение составляет команда LST. Когда ARB загружается командой LST1, то же самое значение записывается в ARP. |
Центральное арифметико-логическое устройство |
CALU |
Совокупность ALU, умножителя, аккумулятора, и сдвигового регистра |
Шина данных |
D(15:0) |
16-разрядная шина для передачи данных. |
Шина адреса памяти данных |
DAB(15:0) |
16-разрядная шина; передает адреса памяти данных. |
Шина прямого адреса памяти данных |
DRB(15:0) |
16-разрядная шина; передает прямой адрес памяти данных, который образуется как объединение содержимого DP регистра и семи младших бит кода команды. |
Регистр – приемник последовательного порта |
DRR(15:0) |
16-разрядный регистр принимаемых данных по последовательному порту; адресуется как ячейка памяти данных. В байтовом режиме используется только младший байт. |
Указатель страницы памяти данных |
DP(8:0) |
9-разрядный регистр указывает адрес текущей страницы данных. Каждая страница данных имеет размер 128 слов, в результате чего 512 страниц полностью адресуют пространство памяти данных (некоторые страницы зарезервированы). |
Регистр – передатчик последовательного порта |
DXR(15:0) |
16-разрядный регистр передаваемых данных по последовательному порту; адресуется как ячейка памяти данных. В байтовом режиме используется только младший байт. |
Регистр распределения глобальной памяти |
GREG(7:0) |
8-разрядный регистр; определяет местоположение и размер пространства глобальной памяти. Адресуется как ячейка памяти данных. |
Регистр команд |
IR(15:0) |
16-разрядный регистр; хранит текущую выполняемую команду. |
Регистр флагов прерываний |
IFR(5:0) |
6-разрядный флаговый регистр для захвата активного низкого уровня внешних прерываний INT(2-0), внутренних прерываний XINT/RINT (прерывания по передаче/приему по последовательному порту, и TINT (прерывание по таймеру). IFR программно недоступен. |
Регистр масок прерываний |
IMR(5:0) |
6-разрядный регистр масок прерываний; адресуется как ячейка памяти данных. |
Стек для микровызовов |
#MSC(15:0) |
Однословный стек, который временно хранит содержимое PFC, в то время, пока PFC используется для адресации памяти данных во время выполнения блочных пересылок (BLKD и BLKP) команд умножения / сохранения (MAC и MACD) и чтения/записи таблицы (TBLR и TBLW). |
Умножитель |
MUL |
1616 параллельный умножитель |
Шина команд |
P(15:0) |
16-разрядная шина для передачи кодов команд (и данных во время выполнения команд MAC и MACD). |
Шина адреса памяти |
PAB(15:0) |
16-разрядная шина; передает адрес памяти команд. |
Счетчик перезахватов |
#PFC(15:0) |
16-разрядный счетчик команд для предварительного захвата команды PFC содержит адрес команды, которая должна быть предзахвачена. PFC обновляется в момент инициации нового предзахвата. PFC также используется для адресации памяти данных во время выполнения блочных пересылок (BLKD и BLKP) команд умножения / сохранения (MAC и MACD) и чтения/записи таблицы (TBLR и TBLW). |
Счетчик команд |
PC |
16-разрядный счетчик команд для адресации памяти команд. Содержит адрес следующей выполняемой команды. Содержимое PC обновляется после расшифровки очередной команды. В TMS32020 счетчик команд выполняет функции, которые в TMS320C25 выполняет PFC. |
Регистр произведения |
PR(31:0) |
16-разрядный регистр произведения (P-регистр) для хранения результата умножения. В TMS320C25 может быть доступен с помощью команд SPH/SPL (сохранить содержимое старшего/младшего слова P-регистра). |
Регистр периода |
PRD |
16-разрядный регистр для загрузки таймера, адресуемый как ячейка памяти |
Регистр очереди команд |
#QIR(15:0) |
16-разрядный регистр для хранения предварительно захваченных кодов команд. |
Память с произвольным доступом (данные и команды) |
RAM (B0) |
25616 RAM блок; в зависимости от конфигурации может использоваться либо как память данных либо как память команд. |
Память с произвольным доступом (только данные) |
RAM (B1) |
25616 RAM блок для хранения данных. |
Память с произвольным доступом (только данные) |
RAM (B2) |
3216 RAM блок для хранения данных. |
Счетчик повторений |
RPTC |
8-разрядный счетчик для управления многократными повторениями одной команды. |
Регистр сдвига приемника последовательного порта |
#RSR(15:0) |
16-разрядный регистр для сдвига входных данных последовательного порта, полученных с контакта RX. Содержимое RSR передается в DSR после того, как передача завершена. RSR программно недоступен. |
Сдвиговые регистры |
SFL, SFR |
Сдвиговые регистры вправо (SFR) и влево (SFL) расположены на входе в ALU, на выходе из аккумулятора и на выходе из P-регистра. Еще один сдвиговый регистр есть внутри аккумулятора. |
Стек |
Stack |
4/8 16 аппаратный стек для размещения значений PC в течение прерываний или программных вызовов. ACCL и значения памяти данных могут быть также размещены в стеке и вытолкнуты из стека. |
Регистры состояния |
ST0, ST1 |
Два 16-разрядных регистра состояния для хранения управляющих битов и битов состояния. |
Регистр временного хранения |
TR(15:0) |
16-разрядный регистр для хранения либо одного из сомножителей при умножении, либо кода сдвига для сдвигового регистра. |
Таймер |
TIM |
16-разрядный таймер (счетчик) для управления временными интервалами; адресуется как ячейка памяти. |
Регистр сдвига передатчика последовательного порта |
#XSR(15:0) |
16-разрядный регистр для сдвига выходных данных последовательного порта, выводимых на контакт DX. XSR загружается из DRR перед выполнением передачи. XSR программно недоступен. |
Примечание. Знаком диез (#) обозначены элементы, которые имеются только у процессора TMS320C25.
*PS
*DS
*IS
*SYNC
R/*W
*STRB
*READY
*BR
XF
*HOLD
*HLDA
*MSC
*BIO
*RS
*IACK
*INT(2:0)
*CLKOUT1
*CLKOUT2
X1
X2
MUX
A(15:0)
MUX
D(15:0)
PFC(16)
MCS(16)
MUX
PC
PROG ROM
STACK
8
16
(4
16)
ADDRES
INSTR
IR
ST1
ST0
RPTC
IFR
#RSR
#XSR
DRR
DXR
TIM
PRD
IMR(6)
GREG(8)
Рис.
10.1. Функциональная
После-до-ватель-ный
порт
DR
CLKR
FSR
DX
CLKX
FSX
ARB
(3)
ARP
(3)
16
3
AR0
Файл
вспомогательных
регистров
#AR7
16
DP(9)
SHIFT (0
: 16)
TR
9
16
Умножитель
PR(32)
MUX
SHIFT (-6,0,1,4)
MUX
ACCH(16)
ACCL(16)
SHIFT (0,
1, 4)
MUX
Блок
В2 (32
16)
DATA
RAM
Блок
В1 (256
16)
DATA/PROG RAM Блок
В0 (256
16)
MUX
MUX
ARAU
MUX
16
16
7
LSB of
IR
#C
16
16
32
На
шину программ
схема
TMS32020
Назначение внешних выводов процессора приведено в таблице
Сигнал |
I/O/Z |
Описание |
Шины адреса / данных |
||
A(15:0) |
O/Z |
Параллельная шина адреса от А15(MSB) до A0 (LSB). Мультиплексирована с внешними адресами памяти программ/данных или ввода/вывода. Содержимое счетчика программ выставлено на шине, когда она не используется. Переводится в третье состояние в режиме прямого доступа к памяти (ПДП). |
D(15:0) |
I/O/Z |
Параллельная шина данных от D15 (MSB) до D0 (LSB). Мультиплексирована с внешней памятью программ/данных или устройствами ввода/вывода. Переводится в третье состояние когда нет выхода или активны сигналы *RS или *HOLD. |
Сигналы управления интерфейсом |
||
*DS *PS *IS |
O/Z |
Сигналы выбора области данных, программ или ввода/вывода. Всегда имеют высокий уровень если не приходит активный низкий уровень для выбора области. Переводится в третье состояние в режиме ПДП. |
READY |
I |
Вход готовности данных. Показывает что внешнее устройство завершило подготовку к обмену данными. Если устройство не готово (READY=0), TMS32020 ждет один цикл и снова проверяет наличие сигнала READY. Сигнал READY показывает доступ к шине после сигнала захвата шины (*BR). |
R/*W |
O/Z |
Сигнал чтения/записи. Показывает направление передачи при взаимодействии с внешними устройствами. Обычно находится в режиме чтения с активным высоким уровнем если не поступает сигнала записи с активным низким уровнем. Переводится в третье состояние в режиме ПДП. |
*STRB |
O/Z |
Стробирующий сигнал. Всегда имеет высокий уровень если не поступает активный низкий уровень цикла обращения к внешней шине. Переводится в третье состояние в режиме ПДП. |
Сигналы, поддерживающие мультипроцессорный режим |
||
*BR |
O |
Сигнал захвата шины. Активный когда TMS32020 требуется доступ к глобальной памяти данных. Сигнал READY становится активным когда доступна шина и глобальная память данных для обмена данными. |
*HOLD |
I |
Сигнал запроса ПДП. Когда он активный TMS32020 переходит в режим ПДП после завершения текущей команды. Переводит шины адреса и данных и управляющие выводы в третье состояние. |
*HOLDA |
O |
Сигнал подтверждения ПДП. Показывает, что TMS32020 перешел в режим ПДП и его локальная память доступна внешнему процессору. |
*SYNC |
I |
Вход синхронизации. Позволяет синхронизировать работу двух или более TMS32020. *SYNC имеет активный низкий уровень и должен быть активным по переднему фронту сигнала CLKIN. |
Прерывания и прочие сигналы |
||
*BIO |
I |
Входной сигнал ветвления. Управляет результатом выполнения команды BIOZ. Если имеет низкий уровень, то TMS32020 выполняет ветвление по BIOZ. Этот сигнал должен быть активным во время действия команды BIOZ. |
*IACK |
O |
Сигнал подтверждения прерывания. Выход активный только когда сигнал CLKOUT1 имеет низкий уровень. Показывает подтверждение получения сигнала прерывания и программа делает переход на адрес вектора прерывания который выставлен на шине адреса А15-А0. |
*INT2 *INT1 *INT0 |
I |
Входные сигналы внешних прерываний. Имеют приоритет и маскируются регистром маски прерывания и битом режима прерывания. |
*MSC |
O |
Сигнал завершения микросостояния. Имеет активный низкий уровень и действует в то время, когда сигнал CLKOUT1 имеет низкий уровень т.е. когда TMS32020 завершил операции с памятью такие как захват шины или чтение/запись памяти данных. Сигнал *MSC используется для организации цикла ожидания сигнала READY при работе с медленной внешней памятью. |
*RS |
I |
Вход сброса. В случае поступления сигнала сброса TMS32020 прекращает выполнение и сбрасывает счетчик команд в нуль. Когда становится высоким, начинает выполнение с адреса 0 внешней памяти программ. Сигнал *RS воздействует на различные регистры и биты состояния. |
XF |
O |
Выход внешнего флага (программно переключаемый сигнал) Используется для сигнализации другому процессору при мультипроцессорных связях или для общих целей. |
Сигналы питания/ тактирования |
||
CLKOUT1 |
O |
Ведущая выходная частота. Поднимается в начале 1 четверть периода (Q1) и спадает в начале Q3. |
CLKOUT2 |
O |
Повторная выходная частота. Поднимается в начале 4 четверть периода (Q4) и спадает в начале Q2 |
Vcc |
I |
5-V внешнего питания |
Vss |
I |
Земля |
X1 |
O |
Выходной сигнал от внутреннего генератора для подсоединения кварца. Если кварц не используется, то этот вывод свободный. |
X2/CLKIN |
I |
Входной сигнал от кварца к внутреннему генератору. Если кварц не используется то на вывод можно подать сигнал с внешнего устройства. |
Сигналы последовательного порта |
||
CLKR |
I |
Прием тактовой частоты. Внешний тактируемый сигнал для передачи данных в регистр DRR ( регистр приема данных последовательного порта) через вывод DR (прием данных). Используется, когда используется последовательный порт. |
CLKX |
I |
Передача тактовой частоты. Внешний тактируемый сигнал для передачи данных через регистр DXR (регистр передачи данных последовательного порта) на вывод DX ( передача данных). Используется, когда используется последовательный порт. |
DR |
I |
Прием данных. Данные последовательно передаются в регистр DRR через вывод DR. |
DX |
O/Z |
Передача данных. Данные последовательно передаются от регистра DXR на вывод DX. Имеет высокий уровень когда нет передачи. |
FSR |
I |
Вход синхронизации приемника. Задний фронт импульса FSR указывает на то, что процесс приема данных начнется по первому импульсу CLKR. Переданные данные сохраняются в регистре DRR. |
FSX |
I/O |
Вход/выход синхронизации передатчика. Задний фронт импульса указывает на то, что процесс передачи данных начнется по первому импульсу CLKX. Переданные данные сохраняются в регистре DXR. Обычно FSX работает на вход, но если TXM устанавливается в единицу, то работает на выход. |