Экосистема FMC-модулей: расширение аналоговых и высокоскоростных I/O по VITA 57
На отладочных платах FPGA всегда не хватает интерфейсов: нужен высокоскоростной АЦП, оптический модуль или LVDS-датчики — и не хочется каждый раз перепроектировать печатную плату. FMC (FPGA Mezzanine Card, стандарт VITA 57) решает это: одна несущая плата + библиотека стандартных модулей, меняете модуль — меняется интерфейс. В этой статье разбираем LPC vs HPC, бюджет выводов и типовые конфигурации модулей.
1. Что такое FMC: стандартный интерфейс между несущей и модулем
FMC опубликован консорциумом VITA в 2008 году (VITA 57). Основная идея:
- Несущая плата (Carrier): FPGA + DDR + PCIe-ядро, долгосрочно неизменны
- Модуль (Mezzanine): АЦП/ЦАП, оптика, HDMI, LVDS — сменные блоки
- Разъём: высокоскоростной board-to-board разъём для сигналов, тактов и питания
Одна несущая с разными модулями превращается в плату сбора данных, SDR-платформу или видеопроцессор — без редизайна PCB и повторной валидации.
2. LPC vs HPC: как выбрать бюджет выводов
FMC бывает двух размеров, различаются числом трансиверов и общим числом I/O:
| Параметр | FMC LPC (Low Pin Count) | FMC HPC (High Pin Count) |
|---|---|---|
| Высокоскоростные трансиверы (GTP/GTX/GTH) | 2 пары | 10 пар (доступно 8~10) |
| Однотактные I/O-выводы | ≤ 34 пар | ≤ 80 пар |
| Дифференциальные I/O-выводы | ≤ 17 пар | ≤ 40 пар |
| Всего I/O | ≈ 68 | ≈ 160 |
| Тактовые пары | 1 пара | 2 пары |
| Применение | Низкоскоростной АЦП, LVDS-датчики, простое расширение | Высокоскоростной АЦП/ЦАП, оптика, многоканальный высокоскоростной I/O |
Правило: сначала посчитайте трансиверы
Если модулю нужно больше 2 пар трансиверов (например, 4-канальный АЦП 1Gsps, модуль QSFP), берите HPC. У LPC только 2 трансивера — высокоскоростной модуль не выйдет на полную скорость.
Несущие платы Duyuan:
- DUF7690T: два FMC HPC (2×10 пар трансиверов) — для многоканальных высокоскоростных модулей
- DUK7325T: один FMC HPC — экономичный выбор
- PBC7K325G: один FMC LPC — начальное расширение
3. Как организованы выводы FMC
Выводы разъёма FMC определены стандартом VITA 57:
| Тип выводов | Кол-во (HPC) | Назначение |
|---|---|---|
| Пары GTX/GTH-трансиверов | 10 пар | Высокоскоростной последовательный интерфейс: JESD204B АЦП, оптика, PCIe |
| Дифференциальные тактовые пары (CLK0/CLK1) | 2 пары | Такт выборки с модуля в FPGA |
| Однотактные I/O (группа LA) | ≤ 80 | Управление, триггер, низкоскоростной LVDS |
| Системные сигналы | Фиксировано | PRSNT, SPI, I2C, UART, разрешение питания |
| Силовые выводы | Фиксировано | +12В, +3.3В, +VADJ (напряжение I/O) |
Почему важен +VADJ
+VADJ — напряжение питания I/O модуля, несущая и модуль должны совпадать:
- LVDS обычно 2,5В / 1,8В
- LVCMOS 3,3В / 1,8В / 1,5В
- Некоторые высокоскоростные АЦП-модули требуют 1,8В или 1,5В
+VADJ несущей программируется через电源-микросхемы. Всегда проверяйте datasheet модуля перед включением — неправильное напряжение повредит I/O.
4. Типовые конфигурации FMC-модулей
1. Высокоскоростной АЦП-модуль (JESD204B)
Типовая конфигурация: 4-канальный 14-битный АЦП 250MS/s по JESD204B.
- Нужно пар трансиверов: 4~8 (1~2 на канал) → обязателен HPC
- Тактирование: модуль подаёт такт выборки через CLK0 в FPGA
- С DUF7690T: два HPC позволяют поставить два АЦП-модуля для 8-канального сбора
2. Оптический модуль (SFP+/QSFP)
Типовая конфигурация: 4× SFP+ 10G оптических трансивера.
- Нужно пар трансиверов: 4 пары → минимум HPC
- Тактирование: несущая даёт восстановленный такт или внешний вход модуля
- С XCKU15P: HPC + трансиверы UltraScale+, работает 10G/25G без проблем
3. Видео-I/O модуль (HDMI/SDI)
Типовая конфигурация: 4× HDMI вход + 2× HDMI выход.
- Нужно пар трансиверов: 0~2 (видео идёт параллельно/LVDS, не через GTX)
- Однотактные I/O: ~40~60 → подходит и HPC, и LPC
- С DUK7410T: LPC достаточно, экономим
5. Три грабли при использовании FMC
Грабли 1: LPC не вытянет высокоскоростной модуль на полную
У LPC только 2 пары GTX. 4-канальный JESD204B АЦП-модуль на LPC работает лишь на половине каналов. Считайте пары трансиверов перед покупкой.
Грабли 2: Несовпадение напряжения +VADJ
Модулю нужно 1,8В, несущая по умолчанию 2,5В — I/O сгорает при включении. Всегда проверяйте требование +VADJ модуля.
Грабли 3: Неправильная разводка тактов
JESD204B модулям нужен выделенный Device Clock и восстановленный такт. Выводы CLK0/CLK1 должны идти на глобальные тактовые входы MRCC/SRCC FPGA. Плохой план выводов на этапе проектирования = не исправить потом.
Ценность FMC не в «ещё одном порту», а в «одной несущей на все сценарии». Правильно выберите LPC vs HPC, правильно задайте +VADJ, правильно посчитайте трансиверы — тогда экосистема FMC действительно работает.
>
— Инженерная команда Duyuan
