Ввод данных с импульсного датчика скорости
В качестве выходных данных с импульсного датчика скорости поступает последовательность импульсов. Количество импульсов в единицу времени пропорционально измеряемой скорости. Таким образом, задача УСО заключается в подсчете импульсов, поступающих с датчика в течение заданного интервала времени.
Задача собственно подсчета может быть решена при помощи счетчика (нереверсивного).
Задача "отмеривания" интервала времени — с помощью программируемого таймера (ПТ).
ПТ должен работать в режиме формирования одиночных импульсов с заданным интервалом. Интервал определяется частотой тактовых импульсов, поступающих на вход CLK счетного канала ПТ и начальным значением счетчика, загружаемым в ПТ на этапе программирования (рис. 3)
Рис. 3.
По окончании заданного интервала времени в счетчике будет находиться число, пропорциональное измеряемой скорости. Оно должно быть введено в МП, например, с использованием обмена по прерываниям. Однако за время, необходимое для выполнения цикла обмена, с датчика могут поступить следующие импульсы. Значение в счетчике увеличится, и не будет соответствовать количеству импульсов, подсчитанному в течение интервала времени, отмеренного таймером. Отсюда следует, что по окончании интервала подсчета значение, имеющееся в счетчике, должно быть зафиксировано в буферном регистре для последующей передачи его в МП.
Предварительный вид УСО, построенного в соответствии с этими принципами, представлен на рис. 4.
Рис. 4.
Схема включения программируемого таймера обеспечивает доступ к нему на этапе программирования для занесения в его внутренние регистры информации, необходимой для настройки на заданный режим работы (в частности — начального значения счетчика).
Импульс, формируемый на выходе OUT, подается на вход STB буферного регистра, и по заднему фронту его происходит "фиксация" значения, находящегося в счетчике (рис. 5).
Рис. 5.
Сам буферный регистр подключается к шине управления таким образом, чтобы к нему был возможен доступ по чтению как к УВВ (рис. 6).
Рис. 6.
В приведенной схеме для обращения к буферному регистру на шине адреса должен быть установлен адрес 0004h. Чтение данных из буферного регистра выполняется командой
IN AL, 0004hЛогично предположить, что после окончания подсчета и фиксации полученного значения в буферном регистре, счетчик должен быть сброшен (его значение должно быть установлено в 0). Для этой цели может быть использован второй канал программируемого таймера, работающий в режиме ждущего одновибратора с запуском по положительному фронту сигнала GATE1 (рис. 7).
Рис. 7.
Временная диаграмма работы УСО представлена на рис. 8.
Рис. 8.
Импульс с выхода первого канала ПТ (OUT0) фиксирует значение в БР (по заднему фронту) и запускает счет в канале 2 (по заднему фронту, так как OUT0соединен со входом разрешения счета второго канала GATE1 через инвертор). По окончании счета в канале 2 на выходе OUT1 формируется единичный импульс, выполняющий сброс счетчика. В этом случае реальное время подсчета импульсов — с момента сброса счетчика по переднему фронту сигнала OUT1 до момента фиксации подсчитанного значения в БР по заднему фронту сигнала OUT0.
Время счета в канале 2 (пропорциональное — начальному значению счетчика канала 2) должно быть как можно меньшим, обеспечивающим лишь завершение переходных процессов в буферном регистре. Приведенная временная диаграмма соответствует . В этом случае время счета второго канала таймера равно и сброс счетчика происходит через после фиксации данных в буферном регистре.
Схема, представленная на рис. 7, предусматривает синхронный обмен с МП. Так как в БР в любой момент времени хранится последнее подсчитанное количество импульсов (пропорциональное измеряемой скорости), оно может быть введено в МП также в любой момент времени путем выполнения команды ввода из УВВ
IN AL, 0004hПроверка готовности не требуется.
В случае, когда интервал подсчета импульсов достаточно велик и значение в процессор желательно ввести немедленно по его завершению, может быть использован обмен по прерываниям. В качестве сигнала запроса на прерывание от УСО может быть использован сигнал OUT1 (рис. 7), так как он формируется непосредственно после фиксации значения в буферном регистре.
При необходимости непосредственного ввода значения скорости в ЗУ может быть использован метод обмена в режиме ПДП (по аналогии с рассмотренными ранее УСО). В качестве сигнала запроса обмена по методу ПДП может быть использован все тот же сигнал OUT1 (рис. 7).
Дата добавления: 2019-02-08; просмотров: 731;