Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Удаленная работа
Помощь проекту


JESD204B без мистики: как устроен последовательный интерфейс АЦП и ЦАП


Когда преобразователь отдаёт данные быстрее, чем их успевает принять печатная плата, спасает не более широкая шина, а отказ от неё. Разбираем JESD204B — последовательный интерфейс, который развязал разработчику руки в трассировке и заодно решил задачу синхронизации нескольких преобразователей.

15 000 000 даташитовпоиск по параметрам · аналоги · заводские PDFНайти даташит →

Почему параллельная шина перестала справляться

АЦП и ЦАП существуют с самого начала цифровой эры. А когда Texas Instruments в конце 1970-х — начале 1980-х вывела на рынок однокристальный DSP, у инженеров появился инструмент, позволяющий строить системы, легко превосходящие по характеристикам чисто аналоговые решения.

Ранние преобразователи были относительно медленными и подключались к процессору или DSP параллельным интерфейсом. По мере совершенствования технологического процесса росли и быстродействие, и динамический диапазон (число разрядов) — а значит, шина требовалась всё более быстрая и широкая.

Современный преобразователь спокойно выходит за гигасэмпл в секунду при разрядности 12 бит и выше, что соответствует потоку через шину более 1,5 млрд байт в секунду. Развести такую шину между преобразователем и DSP, процессором или FPGA — уже серьёзная задача. А если в системе несколько АЦП или ЦАП, аналоговые входы либо выходы которых должны быть фазово-когерентными, то параллельные шины приходится согласовывать по электрической длине и обеспечивать детерминированную задержку. Для трассировки это натуральный кошмар.

Сериализованный LVDS — первая попытка

Отрасль осознала проблему ещё до появления сверхбыстрых преобразователей и предложила сериализованные интерфейсы LVDS, чтобы сократить количество межсоединений. Работает это прямолинейно: параллельная шина сериализуется, а вместе с потоком передаётся битовый тактовый сигнал в LVDS-уровнях, по которому данные и восстанавливаются. Трассировка при этом оставалась узким местом — из-за взаимного соотношения путей тактового сигнала и данных.

Зато такой интерфейс позволил собирать в одном корпусе несколько преобразователей с единым тактированием, и в ряде применений он используется до сих пор — именно ради экономии выводов. Характерный пример — Texas Instruments ADC3445: четыре 14-разрядных АЦП с частотой преобразования 125 Мсэмпл/с в одном 48-выводном корпусе размером 8x8 мм.

Откуда взялся JESD204B

В начале XXI века стало очевидно, что с ростом скорости преобразователей трассировка превращается в главный тормоз. Именно это привело к появлению в 2006 году стандарта JESD204 ассоциации JEDEC Solid State Technology Association. Стандарт развил идею последовательного интерфейса: скорость линии 3,125 Гбит/с, плюс кодирование и формирование кадров, благодаря которым отдельный тактовый сигнал данных стал не нужен. Но первая редакция давала только одну линию и не содержала механизма синхронизации, поэтому при объединении нескольких преобразователей для фазовой когерентности требовался общий кадровый тактовый сигнал (frame clock).

В апреле 2008 года JEDEC выпустила редакцию «A»: появилось несколько взаимно выровненных линий для большей пропускной способности, однако общий кадровый тактовый сигнал для синхронизации по-прежнему был обязателен. В июле 2011 года вышла действующая редакция «B». Она поднимает скорость линии до 12,5 Гбит/с и добавляет две принципиальные вещи: поддержку детерминированной задержки (критично для фазовой когерентности) и собственный, встроенный в стандарт механизм синхронизации преобразователей.

Из чего состоит интерфейс: линии и тактовые сигналы

Интерфейс JESD204B содержит одну или несколько высокоскоростных однонаправленных дифференциальных пар с токовой логикой (CML), по которым идут данные преобразователя. Такая пара называется линией (lane). Важный момент, на котором многие спотыкаются при переходе на JESD204B: число линий здесь не привязано к числу преобразователей, как это было в сериализованном LVDS. По аналогии с PCI Express большее число линий просто даёт интерфейсу большую пропускную способность.

Кроме линий есть три критически важных вывода:

  • DEVCLK — тактовый сигнал устройства, в прежних редакциях он назывался кадровым (frame clock);
  • SYSREF — системный опорный сигнал;
  • /SYNC — сигнал синхронизации с активным низким уровнем.

В зависимости от режима работы устройства (см. раздел о подклассах) эти сигналы применяются по-разному: ими задаётся и момент аналогового преобразования, и перемещение данных между преобразователями и вычислительным блоком.

Из DEVCLK преобразователь формирует несколько внутренних тактовых сигналов: внутренний кадровый тактовый сигнал, по которому данные транспортируются; тактовый сигнал выборки, задающий момент преобразования; и локальный многокадровый тактовый сигнал LMFC, на котором строится детерминированная задержка. SYSREF — это фазовый опорный сигнал, из которого выводится LMFC в подклассе 1 (в подклассах 0 и 2 он не используется). Сигнал /SYNC во всех подклассах отвечает за синхронизацию транспорта данных, а в подклассе 2 дополнительно служит фазовым опорным сигналом для LMFC.

Четыре уровня: от отсчётов до дифференциальной пары

В отличие от простого сериализованного LVDS, JESD204B построен по модели, близкой к стеку Internet Protocol или модели OSI: есть уровни, каждый из которых выполняет свою функцию. Передающая сторона проходит уровни по порядку, приёмная выполняет обратные операции в обратном порядке и восстанавливает данные. Каждый уровень отвечает за свою часть надёжной передачи данных от передатчика к приёмнику. Всего уровней четыре: транспортный, скремблирования (необязательный, но желательный), канальный и физический.

Транспортный уровень — одна из наиболее сложных частей. Он отображает данные в октеты (группы по 8 бит, то есть байты), а затем на передающей стороне собирает из нескольких октетов кадры; на приёме всё происходит в обратном порядке. Для 8-разрядного преобразователя это тривиально, но для любой другой разрядности — скажем, для 11-разрядного — заметно усложняется. Этот же уровень вставляет в поток управляющие биты, которыми приёмнику передаётся информация о состоянии.

Уровень скремблирования нужен, чтобы рандомизировать структуру данных и тем самым снизить шум и коррелированные составляющие в системе. Используется фиксированный полином 1 + X^14 + X^15, реализуемый на последовательных сдвиговых регистрах с обратной связью и элементах «исключающее ИЛИ»; схема симметрична для кодирования и декодирования. Благодаря простоте этого метода спектрального размытия дескремблер приёмника входит в синхронизм, получив от канального уровня всего два октета. Функция необязательная, но для наилучшей спектральной чистоты её настоятельно рекомендуют включать.

Канальный уровень отвечает за кодирование 8b/10b: октеты превращаются в стандартные 10-битные символы и обратно. Он же поднимает работоспособный линк, включая выравнивание кадров и линий, — часть стандартных 8b/10b-символов зарезервирована именно под эти задачи и под контроль состояния линка. Платой за кодирование становятся 20% накладных расходов. В будущих версиях возможен переход на кодирование более высокого уровня, например 64/66b, чтобы вернуть интерфейсу потерянную полосу.

Физический уровень — это собственно передатчики и приёмники, электрически двигающие биты, плюс схема восстановления тактового сигнала из данных (CDR). Физический интерфейс использует CML-драйверы и приёмники с развязкой по переменному току. Кодирование 8b/10b обеспечивает баланс по постоянному току и не даёт «уплывать» базовой линии при такой развязке, а также даёт достаточно перепадов, чтобы CDR быстро захватил данные при установлении линка.

Итого: четыре уровня нужны, чтобы установить линк между преобразователем и вычислительным элементом и надёжно перенести от передатчика к приёмнику данные преобразователя вместе с управляющей информацией.

Подклассы: три режима работы

Чтобы обеспечить обратную совместимость, JEDEC ввела понятие подклассов — вариантов интерфейса под разные режимы работы.

Подкласс 0 — режим совместимости с редакцией «A», но с поддержкой повышенной скорости линии 12,5 Гбит/с. Как и в редакции «A», здесь работает несколько синхронизированных преобразователей, но поддержки детерминированной задержки нет. Задержка между преобразователями может быть фиксированной, однако она меняется от запуска к запуску. Значит, системотехник должен сам придумать, как определить момент прихода данных каждого преобразователя в FPGA или процессор. SYSREF в этом режиме не используется.

Подкласс 1 даёт детерминированную задержку и встроенную синхронизацию нескольких устройств. Достигается это совместной работой внутреннего кадрового и локального многокадрового тактовых сигналов с сигналом SYSREF. Внутренний кадровый тактовый сигнал обслуживает последовательную передачу символов между преобразователем и вычислительным элементом, а LMFC задаёт опору для известной задержки. Внутренний кадровый сигнал и LMFC определяются сигналом DEVCLK вместе с фазой SYSREF. Из-за такой тесной связи DEVCLK и SYSREF в этом режиме SYSREF обязан быть синхронным по источнику с тактовым сигналом устройства — и это накладывает на трассировку требование электрически согласовать именно эти два сигнала. Зато линии данных согласовывать не нужно, а требования к таймингу SYNC, характерные для подкласса 0, снимаются.

Подкласс 2 использует те же внутренний кадровый тактовый сигнал и LMFC, одинаковые у всех устройств, что и подкласс 1. Но за синхронизацию и детерминированную задержку здесь отвечает сигнал SYNC: его фазой выравниваются внутренний кадровый сигнал и LMFC, и теперь уже он должен быть синхронным по источнику с DEVCLK. Из-за жёстких требований к взаимному таймингу DEVCLK и /SYNC этот режим не рекомендуется для очень высоких частот выборки.

Как поднимается линк и чем помочь себе при отладке

Основы разобраны — теперь о том, как всё это вместе доводит аналоговый сигнал до вычислительного элемента и обратно. До начала преобразования нужно пройти несколько состояний, и именно здесь многие инженеры буксуют: у интерфейса очень много опций конфигурации, а разворачивание JESD204B в FPGA само по себе нетривиально.

Сначала между преобразователем и вычислительным элементом устанавливается линк. Для этого выставляется активный низкий уровень на /SYNC (вход передающей стороны). Передатчик начинает посылать comma-символы K28.5, чтобы приёмный CDR захватил фазу битового потока и нашёл границы символов. Если линк многолинейный и работает в подклассе 0, сигналы /SYNC необходимо объединить и подать на передатчик одновременно; в подклассах 1 и 2 такого требования нет.

После достижения синхронизации по кодовым группам (CGS) сигнал /SYNC снимается. На следующем символе, отличном от K28.5, приёмник выравнивает границу кадра — с этого начинается последовательность начальной синхронизации линий (ILA), по которой выравниваются несколько линий. Эта последовательность никогда не скремблируется, даже если скремблирование включено. ILA передаёт конфигурацию передающей стороны и занимает четыре многокадра. Многокадр начинается символом K28.0 (начало подпоследовательности) и завершается символом K28.3 (символ выравнивания линии).

Когда четыре многокадра переданы, включается скремблирование (если оно разрешено) и в приёмник идут пользовательские данные.

Полезные приёмы для запуска и отладки:

  • Используйте диагностику, встроенную во многие преобразователи и IP-блоки JESD204B для FPGA. Часто есть опция подачи на транспортный уровень известного сигнала — пилы или синусоиды. Такие тестовые последовательности обычно занимают весь динамический диапазон преобразователя, имитируя реальные результаты преобразования.
  • Как вариант, на транспортном уровне вместо тестового сигнала преобразователя можно вставить заранее заданную последовательность октетов — для отладки это проще, чем тестовые сигналы.
  • На этапе подъёма отключайте скремблирование: последовательности проще заметить при просмотре трафика линии логическим анализатором или кодом в FPGA.

Стандарт JESD204B заметно сложнее, чем изложено здесь, но для тех, кто с ним ещё не работал, этого обзора достаточно, чтобы понять логику реализации. С дальнейшим ростом быстродействия преобразователей стандарт наверняка продолжит развиваться: будет расти пропускная способность, а вместе с ней — сложность и глубина управления самими преобразователями.

Форум радиолюбителейтысячи решённых схем, вопросов и советов — спроси и найдиНа форум →


Реклама на сайте

KAZUS.RUN — 15 000 000 даташитов, поиск по электронным компонентам




© 2003—2026 «KAZUS.RUN - Электронный портал»