Как быстро я должен пробовать с помощью логического анализатора?

11

Если у меня есть цифровой сигнал 10 МГц, как быстро мне нужно выполнять выборку с помощью логического анализатора, чтобы избежать ошибок в битах? Увеличивается ли минимальная частота дискретизации, если я хочу подключить декодер протокола (например, SPI)?

Мне известна теорема отсчетов Найквиста-Шеннона и тот факт, что прямоугольная волна 10 МГц обладает значительной энергией на высших гармониках (30 МГц, 50 МГц и т. Д.). Тем не менее, логический анализатор не нуждается в идеальной выборке или воспроизведении прямоугольной волны, чтобы знать, является ли это логическая 1 или 0. Я ищу то, что практически необходимо, чтобы избежать ошибок битов или ошибок декодирования протокола.

Я использую Saleae Logic Pro 16.

Патрик
источник

Ответы:

7

Наименьшее, что вы можете сделать, это теорема Шеннона-Найквиста : чтобы прочитать сигнал, вы должны как минимум вдвое увеличить его частоту. Здесь вы можете производить выборку со скоростью 20 мс / с (мегапиксельная выборка в секунду). Тем не менее, 2 балла за один период очень мало, и вносят много дрожания в восстановленный сигнал.

Ваш логический анализатор не будет делить ваши часы сигнала. Это распространенный случай при передаче, и я бы посоветовал вам сделать то же самое, что и большинство интерфейсов UART / SPI / I2C / ...: взять 3 очка за состояние. Это позволяет фильтровать шум ЭМС, используя мажоритарный фильтр, и при анализе позволяет увидеть значительный перекос между вашими сигналами. Обратите внимание, что тактовая частота шины SPI 10 МГц становится высокой и низкой каждые 100 нс, поэтому вам необходимо сэмплировать в 6 раз большую частоту SPI (60 мс / с).

60 мс / с характерны для логических анализаторов, и это позволит вам обнаружить чрезмерный перекос (между вашими данными и часами) для большинства протоколов (включая SPI). Тем не менее, с несимметричными часами (с tHIGH! = TLOW) вам нужно будет производить выборку достаточно быстро, чтобы выбрать самую короткую часть часов. Если ваш тактовый сигнал ВЫСОКИЙ для 1 мкс и НИЗКИЙ для 9 мкс, вы получите сигнал 100 кГц, но вам нужно 3 мс / с.

Этот ответ учитывает только сигнал, который вы хотите проанализировать. Для проблем ЭМС мы обычно используем аналоговые области с частотой дискретизации в 10 раз выше, чем самая высокая частота в системе, но это немного дорого и не по теме, учитывая, что вопрос заключается в декодировании шины SPI.

Джейсен
источник
1
Я использую 6 тактовую частоту в качестве частоты дискретизации. 4 раза должно быть достаточно, чтобы увидеть любой перекос, но по моему опыту, это сложнее понять, когда приходится иметь дело с большим временем нарастания / спада.