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

UptoLike

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

При многоканальном вводе иногда возникает необходимость контролировать
межканальную задержку. По умолчанию программа настраивается на
4 мксек, для
работы с меньшим межканальным интервалом необходимо переустановить
межканальную задержку.
Таймер управляется двумя регистрами: базовым 16-битным регистром, в котором
хранится интервал ввода и 8-битным регистром масштабирования таймера, при помощи
которого можно замедлять процессы ввода. Например, при установленном коэффициенте
масштабирования равным единице, максимальный интервал ввода равен
0
xffff*100нс*1=6553,5 мксек, при коэффициенте масштабирования равным 100
максимальный интервал ввода составляет 0
xffff*100нс*100=655,350 мсек.
Во всех функциях драйвера, где передается параметр интервал ввода (
Rate),
параметр "
Rate" записывается в базовый регистр таймера. Для переустановки регистра
масштаба используется специальная функция изменения масштаба.
5.2.1. Изменение масштаба таймера
void SET_TIMER_SCALE(int value);
Назначение. По умолчанию при вводе-выводе массивов временной интервал
задается в микросекундах (т. е. масштаб равен
10). Данная функция предназначена для
изменения масштаба задания интервала ввода/вывода.
Параметры: параметр value ->
8 битное число, определяющее масштаб ввода в
сотнях наносекунд (минимальное значение
- 1. максимальное значение 256):
Например:
value = 1 интервал ввода/вывода задается в сотнях наносекунд
value =10 интервал ввода/вывода задается в микросекундах (установлено по
умолчанию)
value = 100 интервал ввода/вывода задается в десятках микросекунд
Пример:
main()
{
int ch=0, i, Rate= 10;
int Data[100];
//установим временной масштаб в 10 мкс
SET_TIMER_SCALE( 100);
//введем 100 отсчетов с интервалом 10мкс*Rate=100 мкс
//т, е. общее время ввода составит 100отсчетов*100мкс=
// 10 мс.
STREAM (Data, 100, ch, Rate);
}
5.2.2. Установка межканальной задержки
void SET_INTER_DELAY(int delay_value);
Назначение. Устанавливает межканальную задержку для функций
многоканального ввода с АЦП. Межканальная задержка также изменяется при вызове
функции
SET_ADSP_SPEED(). При этом задержка переустанавливается на 4 мкс.
Параметры: устанавливаемая межканальная задержка в наносекундах равна
delay_value*200нс + 1800нс (после инициализации платы задержка устанавливается
равной
4 мкс).
Пример:
main()
{
int i, Data[100], Channels[16]={0,1,2}, Rate=20, Nch=3;
// установим задержку на 2 мкс