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

8.4.3.Общая концепция tpu

TPU, как интеллектуальное, полуавтономное периферийное устройство, предназначен для выполнения таймерных функций. Его интеллектуальность позволяет обслуживать события без вмешательства процессора. Это устройство (Рис. 8 .44) имеет собственный операционный блок, реализующий собственно таймерный сопроцессор, планировщик приоритетов, каналы ввода/вывода, ПЗУ инструкций и ОЗУ совместного пользования. Это позволяет функционировать одновременно и независимо от центрального процессора. Как следствие, минимизируется время установки и обслуживания каждого таймерного события.

Все таймерные функции связаны с одним из двух 16-разрядных счетчиков-таймеров. Функции комбинируются из двух примитивных событий: совпадение значения регистра со значением таймера-счетчика (match) и сохранение значения таймера-счетчика по приходу импульса (capture). Аппаратно исполняя эти примитивы, Три может точно определить время, когда произошло match-событие, и затем определить состояние соответствующего выходного контакта. Также Три может точно запомнить время, когда произошло изменение состояния входа, и произвести базирующиеся на этом времени вычисления. Регистр событий у каждого канала обеспечивает одновременность обработки событий match/capture для всех каналов.

Когда происходит какое-либо событие, требующее обработки, канал выставляет планировщику приоритетов запрос на обслуживание. Планировщик ставит этот запрос в очередь в соответствии с приоритетами других пришедших запросов. Когда операционный блок свободен, планировщик заставляет его выполнить последовательность микроинструкций. Если же блок занят, исполнение новой последовательности начинается после завершения текущей. Операционный блок производит действия, определяемые содержимым управляющей памяти, используя параметры из ОЗУ, из регистров событий и т. д..

Пример. Канал Х генерирует периодический сигнал, который в данный момент находится в высоком состоянии. Когда значение используемого TPU достигнет значения, совпадающего со значением регистра событий этого канала, происходит match-событие. Выход переводится в низкое состояние, генерируется новый запрос к планировщику приоритетов и инициируется обслуживание канала Х операционным блоком. Когда начинается исполнение последовательности, операционный блок использует модуль исполнения для: 1) получения (из ОЗУ параметров) значения, определяющего время, в течение которого выход должен оставаться в состоянии логического нуля; 2) для прибавления к этому значению значения регистра событий канала X. Затем содержимое регистра событий заменяется этой суммой, управление каналом устанавливается для генерации match-события по тому же TCR, а управление выходом настраивается так, чтобы по происшествии события перевести выход канала в высокое состояние. По окончании обслуживания может быть сгенерировано прерывание основного процессора (если таймерная функция предназначена для этого, а прерывания разрешены). После этого операционный блок свободен и готов к обслуживанию следующего события, предоставленного планировщиком приоритетов.

TPU обладает гибкостью, позволяющей сконфигурировать его для непосредственного соответствия требованиям пользователя. Такая гибкость достигается применением пяти возможностей:

  1. ортогональность каналов;

  2. межканальное взаимодействие;

  3. программируемые приоритеты каналов;

  4. выбор таймерных функций;

  5. возможности эмуляции.

Ортогональность каналов. Традиционно таймерные системы были ограничены специфичными для каждого контакта функциями, предназначенными для осуществления подсчета импульсов, отслеживания изменения состояния и т.д.. Все каналы TPU аппаратно и функционально идентичны, так что любой из каналов может быть сконфигурирован для осуществления любой таймерной операции. Комбинации таймерных функций контролируются пользователем. Единственным ограничением является число контактов, доступных для исполнения таймерных функций.

Межканальное взаимодействие. Способность TPU к самообслуживанию требует постоянного прямого и косвенного взаимодействия. Любой канал может непосредственно работать с другим, изменяя его состояние. Косвенное взаимодействие обеспечивается посредством функции привязки, при помощи которой канал может "привязаться" к какому-нибудь другому каналу (в том числе и к себе самому) для подачи сигнала о необходимости обслуживания. В результате пользователь может осуществлять какую-либо операцию на одном канале для вызова действий других каналов.

Программируемые приоритеты каналов. Различные применения могут требовать различного приоритета обработки событий. Приоритет обработки событий канала может быть выбран одним из трех: высокий, средний или низкий. Планировщик позволяет подсчитать задержку обработки события в худшем случае и позволяет быть уверенным в обслуживании всех каналов и отсутствии постоянной блокировки.

Выбор таймерных функций. Доступные таймерные функции могут быть запрограммированы для работы с любым каналом. Регистры параметров каждого канала могут использоваться как операнды таймерных команд.

Возможность эмуляции. Сам по себе TPU не может обеспечить решение всех возникающих таймерных задач. Поэтому в режиме эмуляции позволяется разработка пользовательских таймерных функций. Эмуляцию TPU обеспечивает использование ОЗУ контроллера в качестве памяти микропрограмм. В режиме эмуляции между TPU и модулем ОЗУ включается дополнительная шина и в то же время запрещается доступ к ОЗУ со стороны межмодульной шины. 9-разрядная шина адреса, 32-разрядная шина данных и линии управления осуществляют передачу информации между модулями ОЗУ и TPU. Для обеспечения точной эмуляции все временные характеристики доступа к ОЗУ становятся такими же, как и к ПЗУ микропрограмм.

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

Рис. 8.44. Упрощенная блок-схема TPU