З якою швидкістю я повинен зробити вибірку за допомогою логічного аналізатора?


11

Якщо у мене є цифровий сигнал 10 МГц, наскільки швидко мені потрібно зробити вибірку з логічним аналізатором, щоб уникнути будь-яких бітових помилок? Чи збільшується мінімальна швидкість вибірки, якщо я хочу долучити декодер протоколу (наприклад, SPI)?

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

Я використовую Saleae Logic Pro 16.

Відповіді:


7

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

Ваш логічний аналізатор не поділиться вашим сигналом. Це звичайний випадок передачі, і я б радив вам зробити так само, як і більшість інтерфейсів UART / SPI / I2C / ...: взяти 3 бали за стан. Це дозволяє фільтрувати шум ЕМС за допомогою фільтра більшості, і, аналізуючи, дозволяє бачити значні перекоси між вашими сигналами. Зверніть увагу, що тактова частота 10 МГц шини SPI іде як висока, так і низька кожні 100 секунд, тому вам потрібно зробити вибірку в 6 разів більше частоти SPI (60MS / s).

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

Ця відповідь враховує лише сигнал, який ви хочете проаналізувати. Для питань EMC ми зазвичай використовуємо аналогові діапазони з частотою вибірки в 10 разів вищою за найвищу частоту в системі, але це трохи дорого і поза темою, враховуючи, що питання полягає в розшифровці шини SPI.


1
Я використовую 6-разову тактову частоту як частоту вибірки. 4 рази повинно вистачити, щоб побачити будь-який перекіс, але, на моєму досвіді, це важче зрозуміти при роботі з великим часом підйому / падіння.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.