Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПС для АТП (ЛЕК).doc
Скачиваний:
35
Добавлен:
26.09.2019
Размер:
2 Мб
Скачать
☆

10.5.2.Универсальные контакты *bio и xf

Процессор TMS320C2х имеет 2 вывода общего назначения, которые управляются программными средствами. Вывод *ВIO является входным выводом управления ветвлением, а вывод XF является выходным выводом внешнего флага.

Если входной вывод *BIO находится в активном состоянии (низкий уровень), команда BIOZ осуществляет ветвление. Этот вывод является полезным для контроля состояния периферийных устройств. Особенно он полезен в качестве альтернативы использованию прерываний, когда требуется не вторгаться в критичные ко времени циклы.

Выходной вывод XF (внешний флаг) устанавливается в высокое состояние командой SXF (установка внешнего флага) или сигналом сброса *RS и сбрасывается в низкое состояние командой RXF.

10.5.3.Внешняя память и интерфейс ввода-вывода

Микропроцессор TMS320C2х поддерживает широкий диапазон интерфейсных систем. Адресное пространство данных, программ и ввода/вывода обеспечивает сопряжение с памятью и внешними устройствами, что увеличивает возможности системы. Интерфейс локальной памяти состоит из:

  • 16-ти разрядной шины данных (D0-D15).

  • 16-ти разрядной шины адреса (A0-A15).

  • Адресных пространств данных, программ и ввода/вывода выбираемых сигналами (*DS, *PS и *IS).

  • Различных сигналов управления системой.

Сигнал R/*W управляет направлением передачи, а сигнал *STRB управляет передачей. Пространство ввода/вывода содержит 16 портов для ввода и 16 портов для вывода. Эти порты обеспечивают полный 16-разрядный интерфейс со внешними устройствами по шине данных. Одноразовый ввод/вывод с помощью команд IN и OUT выполняется за два командных цикла; однако использование счетчика повторений снижает время одного обращения к порту до 1-го цикла.

Использование ввода/вывода упрощается тем, что ввод/вывод осуществляется также, как и обращение к памяти. Устройства ввода/вывода отображаются в адресном пространстве ввода/вывода, используя внешние адреса процессора и шину данных, таким же образом, как память. При адресации внутренней памяти шина данных находится в третьем состоянии, а управляющие сигналы в пассивном состоянии (высоком).

Взаимодействие с памятью и устройствами ввода/вывода на различных скоростях обеспечивается сигналом READY. При связи с медленными устройствами, TMS320C2x ждет, пока устройство не завершит свою работу и просигнализирует процессору об этом через линию READY, после чего процессор продолжит работу.

10.5.4.Мультипроцессорная обработка и прямой доступ к памяти

Гибкость архитектуры процессора TMS320C2x позволяет создавать широкий набор различных систем. Некоторые из системных конфигураций, использующих процессор TMS320C25, перечислены ниже:

  • автономная система (одиночный процессор);

  • многопроцессорная система с параллельным обменом;

  • система из ведущего и ведомого процессоров с обменом через глобальную память;

  • периферийный процессор, управляемый интерфейсными сигналами.

Создание данные систем стало возможным, благодаря трем специальным особенностям процессора TMS320C2x. Этими тремя особенностями являются: функция синхронизации, использующая контакт *SYNC, интерфейс глобальной памяти и функция захвата, реализуемая с помощью контактов *HOLD и *HOLDA. Следующие разделы описывают эти функции более подробно.

Синхронизация. В мультипроцессором режиме вход *SYNC может использоваться для значительного облегчения сопряжения между процессорами. Этот вход используется для того, чтобы заставить каждый процессор TMS320C2x в системе синхронизировать свое внутреннее тактирование с другими процессорами, что позволяет процессорам работать в жесткой конфигурации.

Процессоры TMS320C2x синхронизируются, используя общий вход *SYNC и внешние тактовые сигналы. Отрицательный фронт сигнала *SYNC устанавливает каждый процессор в первую фазу работы (Q1). Этот фронт должен поступать синхронно с нарастающим фронтом сигнала CLKIN.

Обычно сигнал *SYNC подается в то время, когда сигнал *RS имеет активный уровень. Если сигнал синхронизации устанавливается в активное состояние после сброса, то может произойти непредсказуемая работа процессора.

Глобальная память. При многопроцессорной обработке процессор TMS320C2x имеет возможность использования области глобальной памяти данных и связи с этой областью с помощью управляющих сигналов *BR (запрос шины) и READY (готовность). Глобальная память является памятью, разделяемой более чем одним процессором. Поэтому доступ к ней должен регулироваться. При использовании глобальной памяти адресное пространство памяти данных процессора делится на локальное и глобальное. Локальная область используется процессором для выполнения своих собственных функции, а глобальная используется для связи с другими процессорами.

Адресуемый регистр распределения глобальной памяти GREG позволяет часть памяти данных использовать в качестве внешней глобальной памяти. Содержимое регистра GREG определяет размер и расположение области глобальной памяти.

Когда адрес памяти данных, прямой или косвенный, соответствует адресу глобальной памяти, который определяется регистром GREG, сигнал *BR переводится в низкое состояние одновременно с сигналом *DS для указания того, что процессор хочет обратиться к глобальной памяти. Далее внешняя логика решает вопрос об управлении глобальной памятью, устанавливая в активное состояние READY, когда процессор TMS320С2x имеет доступ к глобальной памяти.

Функция захвата. Процессор TMS320C2х обеспечивает прямой доступ к своим внешним локальным областям памяти программ, данных и параллельных портов ввода-вывода. Два сигнала *HOLD и *HOLDA могут быть использованы для того, чтобы позволить другому устройству взять на себя управление шинами процессора. При получении сигнала *HOLD от внешнего устройства, процессор подтверждает захват, устанавливая сигнал *HOLDA в низкое состояние. Далее процессор переводит свои адресную шину и шину данных, а также все управляющие сигналы (*PS, *DS, *IS, R/*W и *STRB) в третье состояние. На выходные контакты последовательного порта DX и FSX сигнал *HOLD не влияет.

В отличие от внешних прерываний *INT2-*INT0, сигнал *HOLD не имеет входной защелки. Поэтому внешнее устройство должно удерживать сигнал *HOLD в низком уровне до тех пор, пока оно не получит сигнал *HOLDA от TMS320C2x.

В TMS320C25 функция захвата имеет два режима работы, выбираемых с помощью бита НМ (режима захвата) в регистре состояния ST1. Когда НМ=1, процессор TMS320C25 прекращает выполнение программы и непосредственно входит в состояние захвата. (Этот режим соответствует режиму захвата процессора TMS32020.) Когда НМ=0, процессор входит в состояние захвата, если программа выполняется из внешней памяти или если осуществляется доступ к внешней памяти данных. Однако, если выполнение программы производится из внутренней памяти и если никакого доступа к внешней памяти данных не требуется, процессор входит в состояние захвата и освобождает все внешние шины, но выполнение программы продолжается внутренними устройствами процессора. Это позволяет осуществить более эффективную работу системы, поскольку программа может продолжать выполняться в то время, когда осуществляется операция прямого доступа к памяти.

Заметим, что если процессор находится в режиме захвата с НМ=0 и внутренняя выполняемая программа требует доступ ко внешней памяти, или если программа ветвится по внешнему адресу, выполнение программы прекращается до тех пор, пока сигнал *HOLD не будет снят. Кроме того, если выполняется команда повторения с НМ=0, который требует использования внешней шины, и генерируется сигнал захвата, процессор входит в состояние захвата после текущего цикла работы шины. Если эта ситуация происходит с НМ=1, состояние захвата не будет устанавливаться до тех пор, пока счет повторений не завершится. Бит НМ устанавливается и сбрасывается соответственно командами RHM (установка режима захвата) и RHM (сброс режима захвата).

Если процессор TMS320C2x находится в середине многоцикловой команды, он завершит выполнение команды, прежде чем войдет в состояние захвата. После того как команда закончится, шины переводятся в высокоимпедансное состояние. Это также применимо к командам, которые становятся многоцикловыми из-за вставки состояния ожидания.

После того как сигнал *HOLD снимается, выполнение программы возобновляется с той же самой точки, в которой оно было прекращено. Сигнал *HOLDA снимается синхронно с сигналом *HOLD.

Все прерывания блокируются на то время, когда сигнал *HOLD находится в активном состоянии с битом НМ=1. Если прерывание поступает в течение этого периода, оно защелкивается и задерживается. Сам сигнал *HOLD не влияет на флаги и регистры прерываний. Если НМ=0, прерывания обрабатываются обычным образом.

Сигнал *HOLD не рассматривается как прерывание. Если процессор TMS320C2x выполнял команду IDLE до входа в состояние захвата, он возобновит выполнение данной команды сразу же после выхода из состояния захвата.