русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

УСО для ввода данных с преобразованием из непрерывной формы в дискретную


Дата добавления: 2015-08-14; просмотров: 1485; Нарушение авторских прав


УСО для ввода данных с преобразованием из непрерывной формы в дискретную могут использоваться для ввода данных с непрерывных датчиков или задающих устройств.

Непосредственно преобразование из непрерывной в дискретную форму осуществляется аналого-цифровым преобразователем (АЦП). Рассматрим его в обобщенном виде (рис. 1):

Рис. 1.

В простейшем случае АЦП имеет один аналоговый вход. Выходом АЦП являются параллельных линий, по которым передается двоичное число, пропорциональное входному сигналу — цифровой выход. АЦП может быть подключен непосредственно к магистрали МПС и участвовать в обмене, как обычное УВВ. Соответственно, он имеет управляющие сигналы RD (разрешение чтения) и CS (выбор микросхемы).

Процесс преобразования данных в АЦП инициируется сигналом запуска (START).

Сигнал EOP сообщает об окончании преобразования и готовности данных на выходе АЦП. Временная диаграмма работы АЦП представлена на рис. 2.

Рис. 2.

Время от начала преобразования (запуска АЦП) до окончания преобразования (готовности выходных данных) называется временем преобразования ( ). Для различных АЦП время преобразования варьируется от десятков микросекунд до сотен миллисекунд.

Задача построения УСО с использованием АЦП распадается на три подзадачи:

  • Организация подключения АЦП к магистрали МПС.
  • Организация запуска АЦП.
  • Определение момента окончания преобразования и инициация процедуры обмена.

Организация подключения АЦП к магистрали МПС

Подключение АЦП к магистрали МПС осуществляется весьма просто, так как АЦП может рассматриваться с точки зрения обмена с МП в качестве обычного УВВ.

Рис. 3.

Представленная схема обеспечивает возможность ввода данных из АЦП командой IN при установке на шине адреса значения 0000h.

Организация запуска АЦП

Запуск АЦП может осуществляться асинхронно, путем формирования стартового импульса через параллельный порт, или периодически, с помощью программируемого таймера.



В случае асинхронного запуска линия запуска АЦП START подключается к одному из выводов параллельного порта (на рис. 4. – вывод 0 порта А ППИ).

Рис. 4.

Формирование собственно импульса производится путем установки в "1" младшего бита порта А ППИ, а затем – сброса его в "0" (см. рис. 4).

MOV AL, 0001h ; маска - "1" в младшем разряде

OUT 0000h, AL ; записываем в порт 1 - начало импульса

 

MOV AL, 0000h ; маска - "0" в младшем разряде

OUT 0000h, AL ; записываем в порт 0 - окончание импульса

Длительность импульса определяется временным интервалом между выполнением двух команд OUT, она может быть определена по известной тактовой частоте МП и должна быть не менее требуемой для используемого АЦП.

Для организации периодического запуска АЦП используется программируемый таймер (рис. 5).

Рис. 5.

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

Таймер работает в режиме генерации последовательности одиночных импульсов с заданным интервалом. Импульсы с выхода OUT0 поступают на вход запуска АЦП. Каждый импульс запускает преобразование в АЦП, таким образом, интервал между ними должен быть больше времени преобразования.

На вход CLK0 подаются импульсы от тактового генератора. Частота этих импульсов и начальные установки таймера определяют периодичность запуска АЦП.

Определение момента окончания преобразования и инициация процедуры обмена

Так как преобразование данных в АЦП происходит не мгновенно, данные с его выхода могут быть считаны не в любой момент времени, а только после завершения преобразования. То есть перед началом обмена должна быть проверена готовность устройства (завершенность преобразования). Поэтому в данном случае мы не можем использовать синхронный обмен, а должны использовать обмен асинхронный, по прерываниям или с использованием ПДП.

Использования асинхронного обмена

При асинхронном обмене МП должен иметь возможность проанализировать готовность АЦП перед началом обмена. Готовность АЦП определяется значением на выход EOP — "1" означает завершенность преобразования (готовность к обмену). Следовательно, значение сигнала EOP должно быть считано МП. Для этого используется параллельный порт в режиме ввода информации (рис. 6).

Рис. 6.

В приведенной схеме линия готовности АЦП подключена к линии PA0 ППИ — таким образом, состояние линии EOP может быть определено путем анализа младшего бита порта А ППИ.

Адрес порта А ППИ при данной схеме подключения — 0000h, адрес выходного регистра АЦП — 00000100b (04h). Фрагмент программы, анализирующий состояние АЦП и выполняющий ввод данных в случае его готовности выглядит следующим образом:

IN AL, 0000h ; Введем значение из порта А ППИ

AND AL, 1 ; Анализируем значение младшего бита (маска 0000001)

JZ _NotReady ; Если бит=0 - АЦП не готов, данные с него не вводим

IN AL, 0004h ; Иначе (бит=1,АЦП готов) - вводим данные с АЦП

............ ; Обработка данных, введенных с АЦП

_NotReady:

............ ; Продолжение основной программы

Использование обмена по прерываниям

Для организации обмена по прерываниям используется контроллер прерываний (рис. 7).

Рис. 7.

Контроллер прерываний подключается к шинам адреса, данных и управления как показано на рис. 7. Такое подключение обеспечивает возможность обращения к нему на этапе программирования (начальной инициализации) для настройки на нужный режим работы. По сравнению с предыдущими схемами, шина управления здесь дополнилась сигналами INT (запрос на прерывание, посылаемый процессору) и INTA — подтверждение прерывания от МП. Сигнал готовности EOP подается на один из входов запроса прерывания контроллера (в нашем примере — IRQ0).

Схема работает следующим образом. По окончании преобразования, сигнал EOP устанавливается в "1". Контроллер прерываний рассматривает его как запрос на прерывание и инициирует процедуру обмена: посылает в МП сигнал запроса INT, дожидается подтверждения от МП по линии INTA, передает в МП номер устройства, запросившего прерывание. Микропроцессор по номеру устройства вызывает соответствующую подпрограмму обработки прерывания, которая и выполняет собственно обмен. Примерный вид подпрограммы обработки прерывания для ввода данных с АЦП:

IN AL, 0004h ; Вводим данные с АЦП

........... ; Обработка данных, введенных с АЦП

IRET ; Возврат из подпрограммы обработки прерывания

Так как АЦП сам инициирует обмен в момент завершения преобразования, проверка его готовности внутри подпрограммы обмена не производится.

Использование прямого доступа в память (ПДП)

Для организации обмена в режиме ПДП используется контроллер ПДП (рис. 8).

Рис. 8.

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

По сравнению с предыдущими схемами, шина управления здесь дополнилась сигналами HRQ (запрос МП на предоставление шин) и HLDA (разрешение использование шин).

Сигнал готовности АЦП используется в качестве запроса на выполнение прямого доступа в память. После активизации этого сигнала контроллер ПДП начинает стандартную операцию передачи данных из ВУ (АЦП) в соответствующую ячейку ЗУ (запрос разрешения у МП, формирования адреса и сигналов управления и т.п.). Таким образом, данная схема, работая независимо от МП, обеспечивает наличие в определенной ячейке ЗУ последнего актуального значения с выхода АЦП.



<== предыдущая лекция | следующая лекция ==>
УСО для ввода данных без преобразования | УСО для ввода данных с преобразованием из дискретной формы в дискретную


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.85 сек.