Глава 1: Знакомство с Driver Toolkit

В этой главе:

Введение

Предпосылки создания

Назначение

Driver Toolkit предназначен для эффективной разработки подсистемы интерфейса с оборудованием в рамках САCSD RTWin . Это достигается путем предоставления готовых драйверов для широкого спектра оборудования , способных , помимо получения данных , реализовать стандартные алгоритмы первичной обработки данных.
Наличие редактора ресурсов позволяет легко переконфигурировать драйвера , а библиотеки стандарных блок-функций максимально упрощают получение данных от драйверов любым стандартным объектом RTWin.

Состав и функции

Пакет Driver Toolkit состоит из 2- х частей :

1. Среда выполнения :

готовые драйвера наиболее распространенных плат УСО ;
универсальный графический эмулятор драйверов drvemul;

2. Среда разработки :

Редактор ресурсов драйверов - drvedit;
библиотека блок - функций , реализующих интерфейс с драйверами модулей RTWin;
редактор - построитель драйверов - drvbuilder.

Связь с CACSD RTWin

Общую схема СКУ , разработанную с использованием средств Driver Toolkit , можно представить в следующем виде:

При этом модули RTWin , отвечающие за интерфейс с драйверами, должны включать в себя интерфейсные блок- функции из специальной библиотеки drivers.lib , поставляемой в составе Driver Toolkit . Схематично такой объект можно представить в следующем виде:

Включение драйверов в проект

Необходимые условия

Для включения драйверов в проект - необходимо , чтобы требуемые драйвера были инсталлированы и находились в каталоге /usr/rtwin/drv вместе с соответствующими конфигурационными файлами

Определение состава драйверов

Используя редактор drvedit , можно для текущего проекта из существующего перечня драйверов выбрать необходимое количество запускаемых копий драйверов (одна копия на УСО) , присвоить им уникальные имена , определить требуемые значения параметров , как типовых ( базовый адрес , номер IRQ , типы используемый каналов и их количество и т. д . ) , так и уникальных для каждого драйвера . В результате будет сформирован соответствующий файл запуска процессов дополнительно к стандартным модулям RTWin .

Преимущества драйверов Driver Toolkit

Какие же преимущества дает использование готовых драйверов совместно с редактором ресурсов drvedit.

Особенности функционирования драйверов

Способы опроса

Так как устройства связи с объектом в основном являются многофункциональными , то для разных каналов одного и того же устройства возможны разные способы получения данным .

Эти способы можно выбрать через конфигурирование драйверов и возможны следующие варианты :

Чаще всего возможны смешанные варианты :

Прерывание обычно связано с каким-либо типом каналов , т.е. по прерыванию считывается только определенный тип каналов , остальные типы каналов опрашиваются либо по таймеру драйвера , либо по запросу клиента .

Пример работы драйвера PCL-818L

Если для драйвера выбрать режим DMA для каналов аналогового ввода , то необходимо установить обработку через прерывание , т.к. механизм DMA реализуется только через прерывание .

Таймер установим неактивным .

В этом варианте преобразование по аналоговым каналам будет выполнятся в режиме DMA и помещаться в буфер памяти с разделяемым доступом . Получить доступ к этим данным можно через блок-функцию библиотеки drivers - GetDMAbuffer , которая возвращаем указатель на буфер данных.

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

Если опрос по таймеру установлен , то дискретные каналы будут опрашиваться по таймеру и помещать эти данные во внутренний буфер драйвера и по запросу клиента --отдавать результаты последнего опроса .

Ниже приведена блок - схема работы драйвера .