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

Какая частота дискретизации осциллографа нужна для UART?

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

У UART мало высоких частот: кадр — это уровни, которые держатся целый бит. Поэтому частота дискретизации нужна скромная, а вот длина записи при этом быстро становится ограничением.

Сколько выборок на бит

Наш расчёт для 115 200 бит/с: бит длится 1 / 115 200 ≈ 8,68 мкс, байт со старт- и стоп-битом — 86,8 мкс.

ЗадачаВыборок на битЧастота дискретизации
Различить биты10около 1,2 МВыб/с
Длительность бита с точностью 1 %около 100около 12 МВыб/с
Форма фронтовпо полосе осциллографамаксимальная

Tektronix требует не меньше 10 выборок на период высшей составляющей сигнала при линейной интерполяции. Наш вывод: перенести это правило на один бит UART — разумный ориентир, чтобы увидеть, где кончается один бит и начинается другой; форму самих фронтов оно не описывает. Почему двух выборок мало, объясняет термин «Частота дискретизации».

Глубина памяти

Длительность записи равна длине записи, делённой на частоту дискретизации. Посылка из 100 байт длится 8,68 мс. Наш расчёт для RIGOL DS1000Z:

fмакс=Мточекt=12⋅1068,68⋅10−3 с≈1,38 ГВыб/сf_\text{макс} = \frac{\text{Мточек}}{t} = \frac{12 \cdot 10^6}{8{,}68 \cdot 10^{-3}\ \text{с}} \approx 1{,}38\ \text{ГВыб/с}

С одним каналом осциллограф запишет такую посылку на полной частоте 1 ГВыб/с. С двумя каналами — TX и RX — наибольшая частота DS1000Z 500 МВыб/с, а память — до 6 Мточек: наш расчёт — это окно 12 мс, и посылка 8,68 мс в него помещается. Если же выбрать глубину 12 тысяч точек (у DS1000Z есть ступени 12k, 120k, 1,2M, 12M и Auto), частота опустится примерно до 1,4 МВыб/с — на границе первой строки таблицы. Связь трёх величин разобрана в термине «Длина записи».

Проверка скорости

Чтобы понять, совпадает ли скорость передатчика с ожидаемой, измерьте длительность бита и сравните с расчётной — метод описан в ответе «Как узнать скорость UART». Допустимое расхождение скоростей и ошибку делителя для вашего микроконтроллера посчитает калькулятор скорости UART.

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

Хватит ли осциллографа на 20 МГц для UART?

Для формы сигнала UART на 115 200 бит/с — да: бит длится 8,68 мкс, и полоса в мегагерцы здесь с запасом. Полоса нужна, чтобы увидеть фронты; длительность фронта у выходов микроконтроллеров — наносекунды, и без запаса по полосе они выглядят затянутыми, но на чтение битов это не влияет (наш вывод).

Как поймать один пакет, а не случайный кусок?

Синхронизацией по спадающему фронту — старт-биту — в режиме Single или Normal, с точкой запуска у левого края экрана. Тогда запись начинается с первого байта, а развёртку выбирают так, чтобы на экран поместилась вся посылка.

Как по осциллограмме узнать скорость UART?

Измерить самый короткий импульс — это один бит — и взять обратную величину: 8,68 мкс соответствуют 115 200 бит/с. Подробно метод и таблица стандартных скоростей — в ответе «Как узнать скорость UART».

Источники

  1. Tektronix. XYZs of Oscilloscopes, primer 03W-8605-7 (2016) — Sample Rate — при интерполяции sin(x)/x не меньше 2,5 выборки на период высшей составляющей, при линейной — не меньше 10; Record Length — длительность записи = длина записи / частота дискретизации; синхронизация по шинам I2C, CAN, SPI и др.
  2. RIGOL. MSO1000Z/DS1000Z Series User's Guide (UGA19111-1110, Aug. 2016) — гл. 4 — MDepth = SRate × TScale × 12; стандартная память 12 Мточек (24 Мточки опционально); один канал — Auto, 12k, 120k, 1,2M, 12M (24M), два — до 6 Мточек, три-четыре — до 3 Мточек; гл. 18 — 1 GSa/s на один канал, 500 MSa/s на два, 250 MSa/s на три-четыре

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