Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


l761

Вы не вошли.

 Поиск | Регистрация | Вход 

Андрей
12.09.2005 13:55:05
#1

Гость

l761

Возможно ли с помощью Л761 определить частоту
синхроимпульсов поступающих на вход платы для внешней синхронизации. (TRIG - вход внешней ТТЛ синхронизации сигнала)

Victoria
12.09.2005 15:15:27
#2

Гость

Re: l761

На уровне lbios запросто (измеряя встроенным таймером DSP время между прерываниями).
Второй вариант - этот вход завести также на аналоговый и в постобработке рассчитывать частоту (подобное обсуждалось в форуме про измерение частоты оборотов ротора, можете поискать).

Андрей
13.09.2005 07:46:06
#3

Гость

Re: l761

На уровне lbios запросто (измеряя встроенным таймером DSP время между прерываниями).

А можно по подробнее.


Второй вариант - этот вход завести также на аналоговый и в постобработке рассчитывать частоту (подобное обсуждалось в форуме про измерение частоты оборотов ротора, можете поискать).

А сцылочку можно, а то что не находится по поиску.

PS. Используются драйвера lcomp.

Victoria
13.09.2005 09:50:40
#4

Гость

Re: l761

http://www.lcard.ru/forumthreads/2493

Первый вариант (прошу прощения) для L-761 таким образом не реализуем, так как вход синхронизации в 761 заведен на AVR и им и отслеживается. Можно конечно задублировать его на INT разъема PLD-40 и тогда в lbios можно будет измерять временной интервал между прерываниями по линии IRQL1 (стр. 77 технического описания платы). Точность измерения временного интервала - десятки наносекунд.
Второй вариант наверное проще. Дублирование сигнала синхронизации на аналоговом входе и опрос этого входа в программе с известной частотой АЦП (в простейшем случае с той же частотой, с которой осуществляется A/Ц преобразование по остальным аналоговым каналам) позволит определить время между двумя "фронтами" импульсного (по природе) сигнала с точностью до времени А/Ц преобразования (интервала между отсчетами)).

Наблюдатель
13.09.2005 10:20:43
#5

Гость

Re: l761

А зачем синхроимпульсы поступают "на вход платы для внешней синхронизации" ? Если они используются для старта АЦП, то второй вариант - это вытаскивание самого себя за волосы из болота.

Victoria
13.09.2005 10:27:30
#6

Гость

Re: l761

Наблюдатель> второй вариант - это вытаскивание самого себя за волосы из болота
Вообще то да.:-))
Андрей> второй вариант отпадает.

zardoz
13.09.2005 12:22:04
#7

Гость

Re: l761

Андрей, о каком разумном диапазоне частот идет речь? Какая нужна разумная точность?

С уважением.

Андрей
14.09.2005 07:14:04
#8

Гость

Re: l761

2 Зардоз.
Диапазон частот от 8 до 60 Гц.
Мне нужно получить заданное число отсчетов между синхромпульсами.

2 Виктория.
Вариант с дублированием синхронизации на INT внешнее прерывание DSP. Пролазит со штатным биосом?

Наблюдатель
14.09.2005 07:28:00
#9

Гость

Re: l761

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

Victoria
14.09.2005 08:09:23
#10

Гость

Re: l761

Со штатным биосом не получится. Нужна очень мелкая модификация (добавить подпрограмму обработки внешенего прерывания).

Мне нужно получить заданное число отсчетов между синхромпульсами.
Что-то непонятна постановка задачи, никак не врублюсь. Опросить канал заданное число раз на каждый синхроимпульс? Тогда это совсем другая задача.

Андрей
14.09.2005 08:28:26
#11

Гость

Re: l761

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

2 Виктория.
Количество отсчетов за каждый синхроимульс согласен, что это другая задача. Мне это не подходит.
А где найти эту подпрограмму?

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

Вобщем смысл такой.
Т-период следования синхроимпульсов.
N- количество отсчетов.
T/N-период между отсчетами.

Наблюдатель
14.09.2005 08:53:15
#12

Гость

Re: l761

Андрей, мне неприятно общаться с незнакомым человеком, который мне "тыкает", несмотря на то, что мы с ним об этом не договаривались.

Victoria
14.09.2005 09:29:26
#13

Гость

Re: l761

Как я понимаю, в такой постановке вообще нет в необходимости использования входа TRIG.
Период T - на вход INT, измеряем, рассчитываем необходимую частоту АЦП T/N (потом она округляется автоматически при вызове функции настройки АЦП) и запускаем сбор.

Victoria
14.09.2005 09:37:49
#14

Гость

Re: l761

Подпрограмма обработки прерывания достаточно проста и реализует измерение периода импульсного сигнала по методу средних значений:

IrqHandler:
AY0=DM(Tcount_reg); { считали таймер }
DIS TIMER;          { запретили счет }
AR=0xFFFF;
AR=AR-AY0;        { счетчик реверсивный }   
DM(Rpm)=AR;         { код периода }
AR=0xFFFF;
DM(Tperiod_reg)=AR;  { такт таймера 1000 нс  }
DM(Tcount_reg)=AR;   { запустили таймер с нуля }
ENA TIMER;
RTI;

zardoz
14.09.2005 10:50:28
#15

Гость

Re: l761

Андрей, какое макс. кол-во отсчетов N в вашей формуле?

Андрей
14.09.2005 11:11:30
#16

Гость

Re: l761

2048

Андрей
14.09.2005 11:27:17
#17

Гость

Re: l761

2 Виктория.
А это в чем написано?
Я так понял что на Ассемблере для ДСП.

Victoria
14.09.2005 11:43:18
#18

Гость

Re: l761

Да. Транслятор может быть на ftp-сервере Lcard в каталоге ftp://ftp.lcard.ru/pub/users/adsp/. Могу также выслать по e-mail.
При таких исходных данных (N=2048, T=8..60 Гц) вариант с использованием аналогового входа с моей точки зрения очень даже приемлем.
Если у Вас пересчет N должен осуществляться на каждом T, то могут всплыть и другие проблемы..

zardoz
14.09.2005 15:56:37
#19

Гость

Re: l761

2Victoria. А при N=2048 и T=8..60 Гц подпрограмма обработки прерывания не подходит?

2Андрей. Главное не стесняться сразу называть числа. Правда? Вот теперь мы получаем точность... А так, в общем виде задач решается мало.

С уважением.

Victoria
14.09.2005 16:54:50
#20

Гость

Re: l761

To zardoz.
Конечно подходит. Проблема с пересчетом N на каждом периоде T - это просто еще один дополнительный выбор алгоритма. Причем, для обоих вариантов.