FPGA-платы / SoM / Индивидуальный дизайн / Интеграция IP
info@profpga.net +86 18621324348
Главная/Блог/Прикладная практика/Высокоскоростной сбор данных на FPGA: почему FMC HPC + PCIe x8 — золотая комбинация
Прикладная практика

Высокоскоростной сбор данных на FPGA: почему FMC HPC + PCIe x8 — золотая комбинация

2026-10-07 Время чтения: ~ 12 мин. Команда разработки Дуюань Электроникс

Осциллографы, дигитайзеры, фазированные антенные решётки, программно-определяемые радиостанции и высокоскоростной мониторинг вибрации — ядро всех этих систем: «высокоскоростная оцифровка АЦП → упаковка данных → передача на хост для обработки». Почему этот этап должен выполняться на FPGA, а не на МК, ЦСП или CPU, который оцифровывает напрямую? Почему разъём FMC HPC и интерфейс PCIe x8 стали золотой комбинацией для плат сбора данных? Эта статья начинается с реального проекта сбора данных на 250 МГц.

1. Почему высокоскоростной сбор данных требует FPGA

Сначала посмотрим на цифры. Типичный высокоскоростной АЦП, например AD9643: 14 бит, 250 МГц, двухканальный. Пересчитаем в скорость передачи данных:

Двухканальный 14 бит @ 250 МГц

= 2 канала × 14 бит × 250 Мвыб/с

= 7,0 Гбит/с исходная скорость

= 875 МБ/с непрерывный поток данных

Это означает, что каждую секунду 875 МБ данных оцифровки нужно переместить из АЦП в память хоста. Если какое-то звено цепи не успевает — данные теряются:

  • МК / ARM: SPI/параллельный порт даёт максимум 50 МБ/с, в 17 раз меньше — потеря сразу
  • ЦСП: порты DMA дают максимум 200 МБ/с, в 4 раза меньше — потеря при заполнении буфера
  • CPU, читающий GPIO напрямую: задержка планировщика ОС делает один цикл чтения на уровне 10 мкс — как ловить водопад ведром

Ценность FPGA: это параллельная, детерминированная аппаратная схема. Поток данных LVDS от АЦП поступает внутрь, и FPGA с помощью примитивов IDDR принимает 8 дифференциальных пар на каждом фронте такта, выполняя десериализацию, выравнивание, отметку времени, буферизацию в FIFO, а затем массово передаёт данные на хост через PCIe DMA. Во всей цепи нет планирования ОС, нет промахов кэша, нет задержки прерываний — тактовые циклы детерминированы.

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

2. Стандартная архитектура платы высокоскоростного сбора данных

Полный путь данных выглядит так:

Аналоговый сигнал ───▶ Высокоскоростной АЦП (дочерняя плата FMC) → LVDS / JESD204B → Логика FPGA (десериализация / выравнивание / триггер / прореживание / FIFO) → Буфер DDR3 (захват пачек, буфер от нехватки данных) → PCIe 2.0 x8 DMA → Память хоста → ПО хоста

На этом пути есть четыре критических узких места, и каждое определяет реальную производительность платы сбора данных:

1. Физический канал от АЦП к FPGA: FMC HPC

Высокоскоростные дочерние АЦП-платы не припаиваются напрямую к материнской плате — они выпускаются как стандартные дочерние платы FMC (FPGA Mezzanine Card). Разъём FMC HPC предоставляет:

  • 8 высокоскоростных сериализационных пар GTX (до 6,6 Гбит/с, для JESD204B)
  • 168 однофазных/дифференциальных I/O (для параллельных LVDS-АЦП)
  • Выделенные выводы тактирования, триггера и сигнала GA
  • Выводы питания с большим током (дочерняя плата питает себя сама)

В один слот FMC HPC можно установить AD9643 (АЦП 250 МГц), AD9152 (ЦАП), AD9361 (программно-определяемое радио), FT601 (USB3.0) и даже модуль FMC-40G-оптика. Именно поэтому мы настаиваем на HPC, а не LPC — у LPC только 10 дифференциальных I/O-пар и нет GTX, подключить к нему высокоскоростной АЦП вообще невозможно.

2. Буферизация на плате: DDR3 нельзя экономить

АЦП непрерывно выдаёт 875 МБ/с, а теоретическая пропускная способность PCIe 2.0 x8 — 4 ГБ/с: PCIe выглядит достаточно быстрым. Но в реальной системе у хоста всегда есть всплески: планирование ОС, обработка ПО хоста, дисковый I/O. Без буфера DDR3 эти всплески превращаются в потерянные данные.

Роль 4 ГБ DDR3 на этом пути — «эластичное водохранилище»: что бы ни выдавал АЦП, всё сначала записывается в DDR3, а PCIe DMA забирает данные пачками, когда хост свободен. Для одиночного захвата пачки длительностью 1 секунду 875 МБ данных полностью помещаются в DDR3 без потери ни одного отсчёта. С 2 ГБ DDR3 время непрерывного сбора сокращается вдвое.

3. Передача с FPGA на хост: реальная разница между PCIe x8 и x2

Это самый легко упускаемый момент. Многие платы разработки FPGA выводят только PCIe x2 — кажется, «PCIe есть, этого достаточно», но реальная пропускная способность отличается в 4 раза:

Конфигурация PCIe Теоретическая полоса Реально доступно (кодирование 8B/10B + служебные данные) Поддерживаемая частота сбора
PCIe 2.0 x2 1,0 ГБ/с около 700 МБ/с Не тянет 14-битный двухканальный 250 МГц — потери
PCIe 2.0 x4 2,0 ГБ/с около 1,5 ГБ/с Едва хватает на одноканальный 250 МГц
PCIe 2.0 x8 4,0 ГБ/с около 3,0 ГБ/с Достаточный запас для двухканального 250 МГц + многочастотный триггер

Именно поэтому DUK7325T / DUK7410T от Duyuan реализуют PCIe на x8 — сторонняя оригинальная плата выводит только x2; не потому, что чип не поддерживает, а потому, что в конструкции сэкономили. Блок PCIe в Kintex-7 аппаратно рассчитан на Gen2 x8; на плате нужно лишь на 4 дифференциальные пары больше. Для заказчиков, занимающихся сбором данных, разница между x2 и x8 — не «чуть быстрее», а сможет ли вообще поддерживаться частота оцифровки АЦП.

4. Синхронизация тактов: значение дифференциального кварцевого генератора 125 МГц

Высокоскоростной сбор данных крайне чувствителен к джиттеру тактов. Джиттер такта оцифровки АЦП напрямую определяет отношение сигнал/шум — АЦП на 250 МГц требует джиттер такта оцифровки < 1 пс. Встроенный дифференциальный генератор 125 МГц предназначен для приёмопередатчиков GTX, генератор 200 МГц обслуживает логику FPGA; два тактовых домена разделены, чтобы не мешать друг другу. При синхронном сборе JESD204B это качество тактов напрямую влияет на согласованность фаз по каналам.

3. Реальный пример: прототип сбора данных 250 МГц на DUK7410T

Компания Duyuan Electronics недавно помогла заказчику собрать прототип: высокоскоростной дигитайзер на базе DUK7410T + сторонней дочерней платы FMC-ADC9643 (AD9643, двухканальный 14-битный 250 МГц).

DUK7410T + FMC AD9643 + ПО хоста

  • FPGA: JFM7K410T, 406K LC / 1 540 DSP / 28,6 Мбит BRAM
  • АЦП: дочерняя плата FMC AD9643, двухканальный 14-битный 250 МГц
  • Буферизация: встроенные 4 ГБ DDR3
  • Передача: PCIe 2.0 x8 DMA, измерено 2,6 ГБ/с
  • Триггер: аппаратный триггер FPGA (фронт нарастания/спада, окно), задержка < 50 нс

Измеренный результат: двухканальный непрерывный сбор в течение 1 секунды — 875 МБ полностью записаны в DDR3 и затем переданы на хост по PCIe x8, 0 потерянных отсчётов. Со сторонней оригинальной платой на PCIe x2 в той же конфигурации непрерывный сбор начинает терять отсчёты после 0,6 секунды — вот реальный разрыв между x8 и x2.

После проверки прототипа заказчик построил собственную несущую плату на базе модуля DUK7410T (83,8×64,8 мм), заменил слот FMC на АЦП, припаянный напрямую к плате, заменил разъём PCIe на позолоченную кромку и через 6 месяцев превратил его в серийную плату сбора данных.

4. Как выбрать среди трёх плат Duyuan для сбора данных

Не каждому проекту сбора данных нужна Virtex-7. Выбирайте по частоте оцифровки и числу каналов:

Сценарий DUK7325T $1 231 DUK7410T $1 538 DUF7690T $3 846
Частота оцифровки АЦП ≤ 125 МГц ≤ 250 МГц ≥ 500 МГц
Каналы АЦП 2 канала 2–4 канала 8+ каналов
Требования к DSP Простое прореживание/FIR Реальное время FIR/FFT Сжатие импульсов/MIMO-радар
Оптическая синхронизация 2×SFP+ 2×SFP+ QSFP 40G + 3×FMC
Типичное применение Мониторинг вибрации, промышленный сбор Дигитайзеры, SDR-прототипы Фазированная решётка, программно-определяемое радио

Принцип выбора прост: сначала рассчитайте суммарную скорость данных АЦП, затем запас полосы PCIe и, наконец, хватает ли DSP/BRAM для обработки в реальном времени. Для 80 % проектов сбора данных с низкой и средней скоростью достаточно DUK7325T; для двухканального 250 МГц или простого БПФ в реальном времени переходите на DUK7410T; только для сложных задач — радар, сверхширокополосное SDR, многочастотная синхронизация — нужны 36 пар GTH и 3 слота FMC платы DUF7690T.

Суть высокоскоростного сбора данных — не «как быстро вы оцифровываете», а «чтобы ни одно звено всей цепи не подвело». Достаточно быстрый АЦП, достаточно параллельная FPGA, достаточно большой DDR3, достаточно широкий PCIe, достаточно стабильный такт — сэкономите на любом звене, и в итоге получите потерянные отсчёты на экране. FMC HPC + PCIe x8 + 4 ГБ DDR3 — это минимальная надёжная конфигурация, которую мы собираем для заказчиков на этом пути.

ADCFMCFPGAJFM7PCIeВысокоскоростной сбор данных
Дуюань Электроникс · Оригинальная техническая статья
‹ Предыдущая статья

Fudan Micro JFM7 против AMD/Xilinx 7-й серии: можно ли действительно заменить?

Статья не ответила на ваш вопрос?

Свяжитесь с нами, описав ваши задачи, для персональной технической поддержки.

Контакты · +86 18621324348