Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
P.S. Но только важно, чтобы промежуток между импульсами был тоже больше периода АЦП, иначе триггер не сбросится.
Если он не ограничен снизу достижимым значением (5 мкс для E14-140M), то придется измерять длительность импульсов.
В этом смысле Ваш прямой подсчет единичек выигрывает, но он ненадежен из-за попадания на границу импульса.
Частота АЦП увеличена до 80 кГц. На данный момент потеря одного-другого импульса допускается, вероятность этого похоже небольшая.
Задачи среагировать на событие нет, пока надо оценить общее количество в разных ситуациях. Пишу на Delphi, не программист, поэтому ищу простые решения.
Хотелось бы уяснить - когда ReadData считывает буфер, что происходит с содержимым буфера? Он очищается или данные сохраняются?
А синхросигнал опорной частоты 40 кГц можно ли снять с источника импульсов? Или, наоборот, можно ли засинхронизировать источник импульсов от внешней опорной частоты 40 кГц? Импульсы имеют постоянную фазу относительно некой опорной частоты?
Если да, то возможно ведь засинхронизировать E14-140М с источником импульсов и тогда будет вполне приемлем Ваш вариант с периодом преобразования АЦП, равным длительности импульса...
Источник импульсов - сигнал газоразрядного датчика пламени, прошедший обработку и выведенный на ножку микроконтроллера. Имеет вид случайно появляющихся импульсов длительностью 25 мкс. Синхросигнала к сожалению нет.
Частоту преобразования АЦП увеличил до 80 кГц. Хотелось 120 кГц, но получается только 100 кГц.
Удалось посчитать импульсы.
Алгоритм такой.
1. АЦП работает с частотой 40 кГц, соответственно отсчеты идут раз в 25 мксек. Сигнальный импульс тоже 25 мксек, поэтому хотя бы один отсчет должен попасть на него.
2. Данные заносятся в FIFO буфер АЦП. Буфер раз в 10 мсек по таймеру считывается в программу на компьютере. Функция ReadData работает с синхронном режиме.
3. Массив отсчетов (30000 элементов) из буфера проверяется поэлементно на значение, сравнивая с порогом 2,5 В. В итоге получаем количество импульсов за время ( 30000*25 мксек= 750 мсек ).
Хорошо, попробуем использовать аналоговый вход.
Скорее всего подойдет простой вариант подсчета на цифровом входе.
Спасибо за помощь.
Спасибо за рекомендации.
Импульсы идут от ножки микроконтроллера, после обработки сигнала газоразрядного датчика. Что касается интервала между импульсами, то его сложно определить.
В идеале желательно периодически подсчитывать количество импульсов появившихся за время, например, 0,5 сек и выводить число на экран.
Добрый день,
Стоит задача определения количества импульсов в единицу времени.
Импульсы цифровые, амплитуда 5 в, длительность 25 мкс, идут случайным образом.
В наличии есть LCard E-154 и LCard E14-140-M-D.
Есть ли стандартные решения данной задачи?
Страницы 1