Перейти к содержанию

Сколько времени можно записывать логическим анализатором?

Обновлено Редакция GAW

Логический анализатор на USB — недорогой Saleae или клон на 24 МГц — почти не имеет своей памяти: он непрерывно передаёт выборки в компьютер, а программа хранит их в оперативной памяти. Поэтому длина записи ограничена не прибором, а компьютером и частотой выборки.

Что ограничивает запись

ОграничениеПочемуЧто делать
Частота выборкикаждая выборка занимает памятьбрать не выше 4× частоты сигнала
Активность сигналаредко меняющийся сигнал хорошо сжимаетсядля частых фронтов запись короче
Свободная память ПКданные хранятся в оперативной памятизакрыть лишние программы
Скорость USBна высокой частоте поток не успеваетснизить частоту или число каналов

Расчёт

Первый Saleae Logic, по спецификации, записывал до 10 миллиардов выборок при хорошем сжатии. Время записи — глубина, делённая на частоту выборки (наш расчёт):

t=Nfs:101024 МГц≈417 с≈7 мин,10101 МГц=10 000 с≈2,8 чt = \frac{N}{f_s}: \quad \frac{10^{10}}{24\ \text{МГц}} \approx 417\ \text{с} \approx 7\ \text{мин}, \qquad \frac{10^{10}}{1\ \text{МГц}} = 10\,000\ \text{с} \approx 2{,}8\ \text{ч}

Без сжатия поток 8 каналов на 24 МГц — по байту на выборку, 24 МБ в секунду: 8 ГБ свободной памяти заполнятся примерно за 5,5 минуты (наш расчёт). У Logic 8 с программой Logic 2 предел, по даташиту, тоже зависит от плотности активности сигнала и свободной памяти: чем реже меняется сигнал, тем дольше запись.

Как записать дольше

  1. Снизьте частоту выборки. Saleae рекомендует для цифровых сигналов частоту не меньше чем в 4 раза выше высшей частоты сигнала — больше не нужно. Скорость UART и нужную частоту поможет оценить калькулятор скорости UART, а теорию выборки — статья о частоте Найквиста.
  2. Оставьте только нужные каналы. У fx2lafw предел 24 МГц для 8 каналов и 12 МГц для 16.
  3. Используйте запуск по событию. Запись начинается с нужного фронта, и память не тратится на ожидание.

Но слишком низкая частота опасна для медленных фронтов: о ложных переходах — ответ «Почему логический анализатор показывает ложные импульсы на I2C». Как связаны глубина и время записи у осциллографов, объясняет статья о длине записи, выбор прибора — статья «Логический анализатор».

Похожие вопросы

Почему запись обрывается с ошибкой на 24 МГц?

Анализатор без своей памяти отправляет выборки в компьютер непрерывно, и на высокой частоте USB не успевает. Saleae для первого Logic прямо пишет, что наибольшие частоты требуют малой задержки USB и достижимы не на всех компьютерах: помогает отключить другие USB-устройства или снизить частоту.

Какую частоту выборки взять для UART 115200?

Не меньше чем в 4 раза выше частоты сигнала, по рекомендации Saleae: для 115 200 бит/с это около 0,5 МГц, на практике удобно 1 или 2 МГц. Запас по времени записи при этом в десятки раз больше, чем на 24 МГц.

Можно ли писать сутками?

Если сигнал меняется редко и данные хорошо сжимаются — иногда да, но гарантировать это нельзя: Saleae указывает, что предел зависит от плотности сигнала и свободной памяти. Для суточного журнала надёжнее выводить события в UART и писать их в файл программой терминала.

Источники

  1. Saleae. Logic 8, Technical Data Sheet (DOC_620-00011, V20260521) — длина записи ограничена доступной памятью и плотностью записанных данных (Sample Buffer Limit: плотность активности сигнала, свободная память программы Logic 2 и настройки захвата); цифровые сигналы выбирать не менее чем в 4 раза чаще высшей частоты; наибольшая частота выборки ограничена пропускной способностью USB, поэтому на всех каналах сразу она недоступна
  2. Saleae. Logic (first generation) Technical Specifications — частоты выборки 25 кГц … 24 МГц; наибольшие частоты требуют малой задержки USB и достижимы не на всех компьютерах; глубина — 10 миллиардов выборок, предел зависит от сжимаемости данных, свободной памяти и операционной системы
  3. sigrok project. libsigrok, драйвер fx2lafw: src/hardware/fx2lafw/api.c и protocol.h (GPL-3.0) — MAX_8BIT_SAMPLE_RATE — 24 МГц для 8 каналов, MAX_16BIT_SAMPLE_RATE — 12 МГц для 16 каналов; список частот 20 кГц … 24 МГц

Нашли ошибку?