Устройства ввода-вывода аналоговых и дискретных сигналов для компьютерных систем. Засов В.А - 30 стр.

UptoLike

Составители: 

Назначение. При генерировании прерывания в режиме одноканального ввода с
АЦП плата производит преобразование с АЦП и записывает результат в регистр данных,
после чего генерирует прерывание. Функция
READ_DATA() осуществляет чтение
регистра данных. При многоканальном вводе по прерываниям плата производит ввод
кадра во внутреннюю память, после чего генерирует прерывание. Для чтения результата
кадрового ввода нужно вызвать функцию
READ_DATA() 'Nch' раз, при этом первый
вызов вернет значение первого канала, а последний вызов вернет значение, полученное
по последнему каналу.
Ïàðàìåòðû: îòñóòñòâóþò.
5.6.6. Выключение прерываний
void STOP_INTR(void);
Назначение. Выключает режим генерации прерываний на плате и восстанавливает
контроллер прерываний
PC. Данную функцию необходимо вызывать после завершения
использования платы в режиме генерирования прерываний.
Внимание! При вызове данной функции будет сгенерировано одно прерывание,
вызванное отключением платы от линии прерывания. Для избежания зависания
программы из-за этого "ложного" прерывания в примерах используется переменная
GlobalVar, при помощи которой основная программа предупреждает обработчик
прерываний
о том, что будет сгенерировано "ложное" прерывание, которое не надо будет
обрабатывать.
Параметры: отсутствуют.
5.7.Функции ввода-вывода по аналого-цифровым каналам
с использованием прямого доступа к памяти
5.7.1. Канал ПДП является удобным средством для реализации алгоритмов работы
в реальном масштабе времени на больших частотах (до
300 кГц), когда требуется
одновременно с вводом данных осуществлять их обработку, визуализацию, запись на
винчестер и т.п. В режиме ввода-вывода по каналам ПДП контроллеру ПДП необходимо
только указать область памяти, в которую будет осуществляться ввод или из которой
будет осуществляться вывод, и контроллер ПДП
сам в фоновом для центрального
процессора режиме начнет заполнять указанную область памяти, при этом имеется
возможность отслеживать счетчик используемого канала ПДП, который может
использоваться для определения того, какая часть буфера ввода заполнена данными.
Наличие режима автоинициализации контроллера ПДП позволяет контроллеру
входить в вечный цикл заполнения указанной области памяти по принципу кольцевого
буфера. После заполнения буфера контроллер ПДП сам без остановки и пропуска
отсчетов продолжает вводить снова с начала буфера и т.д. При этом появляется очень
удобная возможность организовывать следующий алгоритм работы в режиме реального
времени.
1.
Инициализация платы АЦП и контроллера ПДП и перевод ПДП в режим
автоинициализации.
2. Ожидание заполнения первой половины буфера памяти.
3. Обработка первой половины буфера (пока контроллер ПДП заполняет вторую
половину, можно осуществлять обработку первой, не заботясь о вводе с АЦП,
поскольку ввод автоматически осуществляется контроллером ПДП во вторую
часть буфера
).
4.
Ожидание заполнения второй половины буфера ПДП.