ΣSigmaStudio English

Секундомер


Секундомер Блок «Секундомер» (stopwatch) обеспечивает механизм подсчета с функциями остановки, запуска и сброса. Когда необходимо узнать, сколько времени занимает某个 процесс (т.е. сколько сэмплов прошло), вы подаете сигнал на начало и конец события, а секундомер измеряет время между подачей сигналов начала и конца. Секундомеры также позволяют сбросить счетчик до нуля для измерения дополнительных временных интервалов.

Секундомер позволяет внешним сигналам управлять запуском и остановкой счетчика. Выходом блока «Секундомер» является общее количество сэмплов в формате данных 28.0 за активный период. В активном состоянии выходное значение и счетчик увеличиваются на единицу за каждый период сэмплирования.

Входы:
Секундомер

  • Верхний входной пин — это пин START (Пуск). Пока сигнал на пине STOP (Стоп) равен нулю (см. ниже), входное значение больше нуля запускает счетчик, нулевое значение останавливает счетчик.
  • Нижний входной пин — это пин STOP (Стоп). Входное значение больше нуля остановит счетчик (независимо от значения на пине START).

Кнопка сброса:

Кнопка Reset (Сброс) сбрасывает значение счетчика и выхода до нуля. Если подсчет активен (например, START = 1 и STOP = 0), счетчик остается активным и продолжает считать с нуля. Если подсчет неактивен (например, START = 0 или STOP = 1), кнопка сброса очищает счетчик, и выходное значение останется равным 0. Кнопка RESET управляется через коэффициент параметра.


Ниже приведены графики, показывающие значения для START, STOP и результирующие выходные значения. Вертикальные красные линии на выходе счетчика обозначают моменты нажатия кнопки RESET.

Секундомер


Чтобы лучше понять выходной сигнал счетчика, представьте, что за каждый проходящий сэмпл, когда подсчет активен, вы увеличиваете значение на 2^-23. Это наименьшая возможная величина приращения (поскольку наши данные представлены в формате 5.23, МЗР равен 2^-23). Однако формат выходного сигнала счетчика — 28.0, поэтому максимальное значение, которое может быть достигнуто выходным сигналом счетчика, равно 2^28 – 1 = 268435455. Если счетчик достигает этого значения, он больше не увеличивается и не происходит переполнения, а просто сохраняется это максимальное значение. Это максимальное значение в сэмплах можно преобразовать в значимое значение времени в секундах, зная частоту дискретизации блока.

Например, при fs = 48000 Гц:
268435455 сэмплов * 1 с / 48000 сэмплов = 5592.4053 с = 93.02 минуты

В этом примере секундомер может считать до максимума в 93.02 минуты.


Пример:

Ниже приведена примерная схема, показывающая базовую работу секундомера. Блоки DC input вместе с монофоническим переключателем (mono switch) позволяют переключать пины start и stop с 0 на 1. Это управляет началом и концом подсчета. Кнопка сброса на секундомере управляет коэффициентом параметра, который очищает значение счетчика.

Секундомер

Stopwatch в SigmaStudio: настройка и параметры

Блок Stopwatch (Секундомер) в среде SigmaStudio для процессоров ADAU семейства SigmaDSP представляет собой специализированный счетчик, предназначенный для точного измерения временных интервалов в цифровом аудиотракте. В отличие от простых счетчиков событий, этот узел позволяет внешним управляющим сигналам запускать и останавливать подсчет, что делает его удобным инструментом для диагностики задержек или длительности процессов в сигнальной цепочке. Принцип работы блока основан на подсчете количества сэмплов за активный период. Верхний входной пин START запускает счетчик, когда значение на нем больше нуля, при условии, что на пине STOP установлен ноль. Нижний пин STOP имеет приоритет: подача на него положительного сигнала немедленно останавливает подсчет независимо от состояния START. Выходной сигнал формируется в формате данных 28.0, что обеспечивает целочисленное представление без дробной части. Выходное значение увеличивается на единицу за каждый период сэмплирования, пока подсчет активен. Максимальное достижимое значение счетчика составляет 2^28 – 1 (268435455 сэмплов), после чего рост прекращается без переполнения. Это ограничение важно учитывать при работе с низкой частотой дискретизации: например, при fs = 48000 Гц максимальный измеряемый интервал составит примерно 93 минуты, что покрывает большинство практических задач. Для управления блоком в проекте SigmaStudio предусмотрена кнопка Reset, которая принудительно обнуляет счетчик и выходное значение.