Skip to content

fosghen/JESD204-ADC34J45EVM

Repository files navigation

Запуск JESD204 с платой ADC34J45EVM

Проект направлен на запуск платы ADC34J45EVM и приём данных, используя интерфейс JESD204.

Навигация

Зависимости

  • САПР: Vivado/Vitis 2024.2
  • Плата разработки: Z7-P с платой ACU7EV (Zynq UltraScale+)
  • Плата АЦП: ADC34J45EVM (Rev C)
  • IPs: JESD204C v4.3, JESD204 PHY v4.1
  • ПО по настроки платы АЦП: ADC3000 GUI

Использование

  1. Соединить платы, используя разъем FMC. Как выглядят платы в сборе: Вид платы

  2. Подключить: питания: 12V для платы Z7-P, 5V для ADC34J45EVM. Подключить JTAG и UART PS для платы Z7-P. USB для ADC34J45EVM (разъём J18) и подать сигнал с генератора сигналов на AIN_P. Подключение

  3. Настроить LMK04828:

    • Вкладка PLL2 Configuration

      • использовать внешний осициллятор 100 МГц для PLL2
      • R Divider 10
      • N Divider 32
      • Precaler 8
      • VCO MUX VCO 0 (2560 МГц) как на фото
         Тем самым мы VCO поделили и получили 100 МГц, после чего на плате загорелся светодиод PLL2 Locked (D4).
      
    • Вкладка SYSREF and SYNC

      • SYSREF continuous
      • SYSREF Devider 512 (Получаем частоту 5 МГц) как на фото
    • Вкладка Clock Outputs

      • CLKout 0 and 1 включить, делитель 16. Это клок на АЦП и SYSREF для АЦП (160 МГц)
      • CLKout 2 and 3 включить, делитель 8. Это опорный клок для трансиверов ПЛИС и SYSREF для ПЛИС (320 МГц)
      • CLKout 8 and 9 включить, делитель 32. Это клок для ПЛИС для принятия данных АЦП (80 МГц) как на фото
  4. Настроить ADC34J45:

    • Включить Ctrl K и выставить 9 (записываем K - 1). Это количество кадров в мультифрейме
    • Включить Ctrl F и выставить 2. Это количество отктетов в кадре.
    • Включить Scramble EN
    • Выбрать Subclass 1 как на фото

!! 3 и 4 пункты можно выполнить, нажав кнопку Load Config и загрузив файл: конфиг !!

FPGA часть

  • Распиновка FMC разъема раположена в таблице: распиновка Из неё можно понять, что DA0, DB0, DC0, DD0 соответственно последовательных данных. FMC_SCLK, FMC_SDIO, FMC_SDO, FMC_SEN_ADC, FMC_SEN_LMK линии SPI для настройки. GTX_CLK - линия опорного клока 320 МГц (CLKout 2). CLK_LA0_0 - линия клока данных АЦП 80 МГц (CLKout 8). CAR_SYSREF - сигнал SYSREF для выравнивания задержки. SYNC - сигнал начала синхронизации от ПЛИС. !Важно, что он инвертированный. FMC_B5, FMC_B6, FMC_DIR_CONTROL - не знаю, что это, но надо для общения с платой. OVRx - индикация, что на соответствующий канал подали слишком большой сигнал.
  • Настройка IP блоков JESD204.
    • JESD204 PHY JESD204 PHY Обратим внимание, что DRP Clock важный клок, и туда надо подать именно то, что указали. Reference Clock 320, что и выходит из CLKout 2. !Важно, туда пожаётся сигнал из IBUFDS_GTE4, ибо на гигабитный трансивер подаётся клок только так.
    • JESD204 Link JESD204 Link JESD204 Link Здесь повторяем параметры из IP JESD204 PHY.

  • Распределение клоков. Это всё показано в спецификации к IP блокам, но для удобства это будет тут. CLOCKING

  • Processing System Настройка выполняется через готовый пресет

  • Итоговый Block Design BLOCK DESIGN


Тестирование

  • Делаем экспорт hardware, я уже сделал (hardware)
  • В Vitis создаём платформу и проект, используем код для настройки IP ядер
  • Подаём осмысленный сигнал на вход канала A
  • Смотрим в ILA Vivado на наш сигнал SIN SIGNAL

About

Example of working with ADC34J45EVM using JESD204

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors