Ввод данных с импульсного датчика скорости
В качестве выходных данных с импульсного датчика скорости поступает последовательность импульсов. Количество импульсов в единицу времени пропорционально измеряемой скорости. Таким образом, задача УСО заключается в подсчете импульсов, поступающих с датчика в течение заданного интервала времени. Задача собственно подсчета может быть решена при помощи счетчика (нереверсивного). Задача "отмеривания" интервала времени — с помощью программируемого таймера (ПТ). ПТ должен работать в режиме формирования одиночных импульсов с заданным интервалом. Интервал определяется частотой тактовых импульсов, поступающих на вход 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).
©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|