книги / Микропроцессоры и микроЭВМ. Периферийные устройства
.pdfнение БИС программируемого интервального таймера (ПИТ) позволяет решить все эти задачи специализированными аппаратными средствами, повысить эф фективность МПС в управлении и синхронизации внешних устройств, что осо бенно важно для систем, работающих в реальном масштабе времени.
На рис. 9.1 показана схема ПИТ ВИ53. В состав таймера входят три неза висимых 16-разрядных вычитающих счетчика, схема управления вводом/выводом, регистры режимов работы счетчиков и буфер ШД, через который осуще ствляется обмен информацией между МП и таймером. Счетчики ПИТ могут работать в диапазоне частот от 0 до 2 МГц в двоичном и двоично-десятичном кодах.
Рис. 9.1. Схема программируемого интервального таймера ВИ53
Через буфер ШД в счетчики ПИТ можно загрузить начальные значения по сигналам ЗП и считать текущее значение по сигналам ЧТ. Входными считаемы ми сигналами для счетчиков являются сигналы Вх, по заднему фронту которых счетчики выполняют операцию декрементирования своего содержимого.
До тех пор пока на ПИТ не подан сигнал ВК, операции записи и чтения невозможны, однако сигнал ВК на работу счетчиков влияния не оказывает. Сигналы на входы Ai_o подаются с соответствующих линий ША и адресуют один из внутренних регистров ПИТ. Инициализация и управление работой ПИТ, как и других интерфейсных БИС, осуществляется с использованием управляющих слов, загружаемых в регистры режимов работы, и ограниченного числа линий управления и адресации. Формат управляющего слова показан на рис. 9.2, а функции управляющих адресных входных сигналов перечислены в табл. 9.1.
D 7
ВР1
0 0
01
1 0
11
УСРР
D e |
D s |
D 4 |
Da |
D 2 |
D 1 |
Do |
ВРО |
Ч З 1 |
ЧЗо |
РЖ 2 |
РЖ1 |
РЖО |
К |
Код
0 0
0 1
1 0
1 1
Выбор регистра режима Счетчик 0 Счетчик 1 Счетчик 2
Запрет
|
|
0 |
Двоичный |
|
и |
1 |
Десятичный |
|
|
|
|
|
|
Режим работы |
|
0 |
0 |
0 |
Режим 0 |
0 |
0 |
1 |
Режим 1 |
X |
1 |
0 |
Режим 2 |
X |
1 |
1 |
Режим 3 |
1 |
0 |
0 |
Режим 4 |
1 |
0 |
1 |
Режим 5 |
ЧТЕНИЕ (ЗАГРУЗКА)
Фиксация счетчика (считывание «на летуя) Только младший бейт Только старший байт
Два байта (младший, затем старший)
Рис. 9.2. Формат управляющего слова
Двухразрядное поле ВР^о выбора регистра режима адресует регистр ре жима для счетчиков 0, 1 или 2. Поле ЧЗ)-о чтения/записи определяет порядок считывания текущего значения адресуемого счетчика или загрузки в него на чального значения. В поле РЖ2-0 кодируется один из шести возможных режи мов работы адресуемого счетчика. Разряд D0 (К) определяет код, в котором ра ботает счетчик.
Анализ работы ПИТ в различных режимах необходимо проводить с уче том взаимодействия сигнала разрешения Р, который формируется на периферии МПС или объектами и процессами в среде обитания МПС и оказывает сущест венное влияние на работу ПИТ.
В табл. 9.2 перечислены режимы работы ПИТ и показан характер воздей ствия на режим значения сигнала разрешения Р. Временные диаграммы работы ПИТ во всех режимах показаны на рис. 9.3.
Таблица 9.1 Функции управляющих и адресных входных сигналов ПИТ
зп |
ЧТ |
А, |
Ао |
вк |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
г 1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
X |
X |
0 |
X |
X |
X |
X |
1 |
Направление передачи и тип данных
ШД ->ПИТ. Загрузка УС в счет чики 0, 1 или 2
Нет операции. Буфер ШЛ в Z- состоянии
ШД -> ПИТ. Загрузка счетчика 0
ШД ПИТ. Загрузка счетчика 1
ШД -► ПИТ. Загрузка счетчика 2 ПИТ -> ШД. Считывание счетчи ка 0
ПИТ -* ШД. Считывание счетчи ка 1 ПИТ -» ШД. Считывание счетчи ка 2
Нет операции. Буфер ШД в Z- состоянии
Запрет. Буфер ШД в Z-состоянии
Таблица 9.2
Функции сигнала Р в различных режимах
|
Состояние сигнала разрешения Р |
|||
Режим работы ПИТ |
Нуль или задний |
Передний фронт |
|
|
фронт (спад сиг |
(нарастание сиг |
Единица |
||
|
||||
|
нала) |
нала) |
|
|
0. Прерывание по окончании |
Запрещает счет |
|
Разрешает счет |
|
счета или программируемая за |
|
|
|
|
держка |
|
|
|
|
1. Программируемый одновиб- |
|
1. Запускает счет |
|
|
ратор |
|
сначала |
|
|
|
|
2. Устанавливает |
|
|
|
|
Вых - 0 в сле |
|
|
|
|
дующем такте |
|
|
|
|
синхронизации |
|
|
2. Генератор частот |
1. Запрещает счет |
Запускает счет |
Разрешает счет |
|
|
2. Немедленно |
сначала |
|
|
|
устанавливает |
|
|
|
|
Вых = 1 |
|
|
|
3. Генератор меандра |
1. Запрещает счет |
Запускает счет |
Разрешает счет |
|
|
2. Немедленно |
сначала |
|
|
|
устанавливает |
|
|
|
|
Вых = 1 |
|
|
|
4. Одиночный программируемый |
Запрещает счет |
— |
Разрешает счет |
|
строб |
|
|
|
|
5. Одиночный аппаратно форми |
— |
Запускает счет |
|
|
руемый строб |
|
сначала |
|
Программируемая задержка (режим 0). В режиме 0 по окончании от счета числа, загруженного в счетчик, на выходе устанавливается уровень 1 и сохраняется там до новой загрузки считаемой величиной или до операции ус тановки нового режима.
Этот выходной сигнал используется для прерывания работы МП через определенные и программно-изменяемые интервалы времени.
При подаче сигнала разрешения Р = 1 счетчик начинает работу. Переза грузка счетчика во время счета приводит к следующему: загрузка младшего бай та останавливает счет, а загрузка старшего байта запускает новый цикл счета.
Появление сигнала Р = 0 в процессе счета приостанавливает работу счет чика и сохраняет текущее значение, с которого и продолжается процесс счета после восстановления разрешающего сигнала.
Программируемый одновибратор (режим 1). В этом режиме на выходе счетчика формируется сигнал Вых = 0 длительностью tBbIX= TBxN, где ТВх - пе риод входных считаемых сигналов, а N - число, загруженное в счетчик. Если во время работы в счетчик будет загружена новая величина N, то это не повлияет на длительность текущей выдержки одновибратора до следующего запуска. Одновибратор в данном случае является перезапускаемым, т.е. каждый сигнал Р = 1 по переднему фронту запускает счет или перезапускает его сначала, даже если счет не завершен до конца.
Программируемый делитель частоты (режим 2). В этом режиме счет чик ГОТГ работает как делитель входной частоты fBx на N, где N - число, загру женное в счетчик. При этом из входного сигнала на выходе формируется сиг нал с частотой TBux/N. Вых = 1 имеет длительность (N -l)TBx, а Вых = 0 имеет длительность ТВх (один период синхронизации счетчика). Если в процессе ра боты счетчика осуществить его перезагрузку, то текущий период генерации частоты не изменяется, а следующий период будет определяться новым значе нием N. В режиме 2 сигнал Вых = 1 сохраняется до момента загрузки N, что при постоянном Р = 1 обеспечивает механизм программной синхронизации ге нератора частоты. С другой стороны, вход Р может быть использован для аппа ратной синхронизации, т.к. по сигналу Р = 0 на выходе устанавливается сигнал 1, а с переходом сигнала Р к значению 1 счет возобновляется с начального зна чения (см. рис. 9.3). Такая реакция ПИТ на сигнал Р, формируемый внешними схемами, позволяет синхронизировать работу МПС с внешними асинхронными событиями.
Генератор меандра (режим 3). В этом режиме ПИТ выполняет функции генератора переменной частоты со скваженностью 2. Период выходного сигна ла ТВых - NTBx, при этом длительность положительного и отрицательного полупериода равна TBxN/2, если N - четное число. При N нечетном положительный полупериод равен TBxN/2, а отрицательный - ТВх (N-l)/2. Перезагрузка счетчи ка во время счета новой величиной не оказывает влияния на текущий период, но очередной период выходного сигнала изменится. Генератор меандра не ра ботает при загрузке в счетчик числа N = 3.
Рис. 9.3. Временные диаграммы работы
Строб с программным запуском (режим 4). В этом режиме работы по окончании отсчета числа, загруженного в счетчик, на выходе Вых фор мируется сигнал 0 с длительностью, равной периоду ТВх, а затем сигнал вновь переходит в «исходное состояние» Вых = 1. Возможна перезагрузка
время счета, при этом загрузка младшего байта N не оказывает влияния на те кущий счет, а загрузка старшего байта N запускает новый цикл счета. По дей ствию сигнала Р работа ПИТ в режиме 4 аналогична его работе в режиме О, при Р=0 счет запрещен, при Р=1 счет разрешен.
Строб с аппаратным запуском (режим 5). Работа ПИТ в режиме 5 по выходному сигналу аналогична работе в режиме 4, а по действию сигнала Р - режиму 1, в котором, как и у одновибратора, запуск счета выполняется перед ним фронтом сигнала Р. Если счет не завершен до конца, то по переднему фронту сигнала Р счет начинается сначала. Таким образом, счетчик является перезапускаемым. Возможна перезагрузка счетчика новой величиной N во вре мя счета, что не влияет на длительность текущего цикла, а новая загруженная величина N будет обработана в следующем цикле счета.
Программирование таймера. Перед началом работы на этапе инициализа ции системы каждый ПИТ и каждый счетчик в нем необходимо настроить на требуемый режим работы и загрузить в него начальное значение. Эта процедура реализуется путем передачи соответствующих УС и чисел N в адресуемые ПИТ и счетчики по командам вывода OUT (см. рис. 9.2). Загрузка в счетчики УС (А0=1, А 1=1) может выполняться в любой последовательности, т.к. каждый счет чик имеет свой регистр режима, адресуемый разрядами D7, D6 в управляющем слове. Каждый адресуемый счетчик в обязательном порядке должен быть загру жен именно тем количеством байт, которое было задано в УС.
Чтение содержимого ПИТ. В подавляющем большинстве случаев приме нения ПИТ в МПС управления объектами или процессами, работающими в ре альном масштабе времени, с помощью ПИТ решаются задачи регистрации внешних событий, подсчета числа событий, поддержания системы астрономи ческого или условного времени и т. п. При этом взаимодействие ПИТ и МП не ограничивается только связью по линии прерывания (ВыхПит"^ЗПРпкп); МП должен прочитать содержимое любого счетчика и в зависимости от его значе ния принять те или иные решения.
Считывание текущего значения счетчика ПИТ в МП можно выполнить двумя способами. В первом способе используются стандартные команды пере дачи данных в МП (ввода IN или пересылки MOV в зависимости от способа раскраски адресной шины), в которых адресуется требуемый счетчик. Однако использование этого способа чтения сопряжено с тем ограничением, что на время выполнения операции считывания работу счетчика необходимо приоста навливать либо сигналом Р = 0, либо запретом поступления синхросигналов Вх. Для многих применений подобное ограничение является недопустимым. Схема управления вводом/выводом ПИТ имеет такие особенности, что операцию счи тывания необходимо всегда доводить до конца, т.е. если в УС закодировано чтение 2 байт, то нельзя, считав только младший байт, перезагружать счетчик новой величиной N. В этом случае необходимо дважды исполнять команду IN. Как следует из рис. 9.2, операцию чтения по адресу Л 1=1, А0=1 выполнить не возможно. Точно так же содержимое регистров приказов считать нельзя.
Второй способ считывания содержимого счетчика без прерывания про цесса счета (считывание «на лету») требует предварительной загрузки в регистр
режима УС с кодом 1000ХХХХ. В этом случае текущее содержимое адресуемо го счетчика тиражируется в специальном буферном регистре, считывание из которого не оказывает влияния на процесс счета. Данный способ считывания имеет ту особенность, что нельзя предварительно для каждого счетчика произ вести загрузку УС считывания «на лету». Процедура считывания «на лету» со стоит из трех операций: вывод OUT УС, ввод IN младшего байта, ввод IN старшего байта.
Инициализация ПИТВИ53
Пример. Запрограммировать режим 2 «Программируемый делитель часто ты» со следующими параметрами:
-деление входной частоты в 240 раз;
-использовать канал 0;
-режим двоичного счета;
-обращение к младшему байту;
-примем адрес канала 0 = 50Н;
-примем адрес регистра управляющего слова = 53Н.
1.Составим управляющее слово инициализации канала 2:
|
|
|
УСРР |
|
|
|
|
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
Составим слово инициализации регистра счета кан
|
младший байт |
|
|
|
|
||
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
DO |
1 |
1 |
1 |
1 |
| 0 |
0 |
0 |
0 |
|
|
|
|
I |
|
|
|
десятичное число 240 равно шестнадцатиричному F0H
3. Напишем программу инициализации:
LOAD: DI |
; запретить прерывание |
MVI А, 14Н; УСРР в регистр А |
|
OUT 53Н |
; УСРР из per. А в РР ПИТ |
MVI A, F0H; МБ сч. канала 0 в регистр А |
|
OUT 5ОН |
; МБ из per. А в per. счета канала 0 ПИТ |
EI |
; разрешить прерывание |
Заключение
Рассмотренные в учебном пособии вопросы будут полезны студентам раз личных специальностей при курсовом и дипломном проектировании и должны оказать помощь в быстром освоении основ построения микропроцессорных сис тем.
Список литературы
1.Алексеенко А.Г. Проектирование радиоэлектронной аппаратуры на микропроцессорах: учебник /А.Г. Алексеенко, А.А. Галицын, А.Д. Иванников- М.: Радио и связь, 1984.- 272 с.
2.Щелкунов Н.Н. Микропроцессорные средства и системы: учебник /
Н.Н.Щелкунов, А.П. Дианов. - М.: Радио и связь, 1989. - 288 с.
3.Каган Б.М. Основы проектирования микропроцессорных устройств ав томатики: учебник / Б.М. Каган, В.В. Сташин. - М.: Энергоатомиздат, 1987. - 304 с.
4.Хвощ С.Т. Микропроцессоры и микроЭВМ в системах автоматическо го управления: справочник / С.Т. Хвощ, Н.Н. Варлинский, Е.А. Попов. - Л.: Машиностроение, 1987. - 640 с.
5.Сташин В.В. Проектирование цифровых устройств на однокристаль ных микроконтроллерах: учебник / В.В. Сташин, А.В. Урусов, О.Ф. Мологонцева. - М.: Энергоатомиздат, 1990. - 224 с.
6.Пухальский Г.И. Проектирование микропроцессорных систем: учеб
ник / Г.И. Пухальский. - СПб.: Политехника, 2001. - 544 с.
7.Корнеев В.В. Современные микропроцессоры: учебник / В.В. Корнеев, А.В. Киселев. - СПб.: БХВ-Петербург, 2003. - 440 с.
8.Кузнецов И.И. Микропроцессоры и микроЭВМ: учеб, пособие /
И.И.Кузнецов. - Пермь: Изд-во Перм. гос. техн. ун-та, 1998. - 4.1. - 70 с.
|
Содержание |
|
Введение..................................................................................................................... |
3 |
|
1. |
Магистрально-модульная организация М ПС................................................... |
4 |
2. Генератор тактовых импульсов.......................................................................... |
9 |
|
3. |
Системный контроллер....................................................................................... |
11 |
4. |
Шинные формирователи.................................................................................... |
12 |
5. Программируемый периферийный адаптер........................................................ |
15 |
|
6. |
Программируемый связной адаптер................................................................. |
23 |
7. |
Программируемый контроллер прерываний................................................... |
31 |
8. |
Прямой доступ в память..................................................................................... |
42 |
9. Программируемый интервальный таймер....................................................... |
52 |
|
Заключение............................................................................................................... |
58 |
|
Список литературы ................................................................................................. |
58 |
Учебное издание
Кузнецов Игорь Иванович
МИКРОПРОЦЕССОРЫ И МИКРОЭВМ. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА
Учебное пособие
Редактор и корректор Е.В. Копытова
Подписано в печать 25.12.2007. Формат 60x90/16. Уел. печ. л. 3,75. Тираж 100 экз. Заказ № 255/2007.
Издательство Пермского государственного технического университета.
Адрес: 614990, г. Пермь, Комсомольский пр. 29, к. 113. Тел. (342)219-80-33.