Может ли FPGA превратиться в логический анализатор USB 2.0 со скоростью 250 Мбит/с? | Verilog
From Concept To Circuit
0:00 / 0:00
Может ли FPGA превратиться в логический анализатор USB 2.0 со скоростью 250 Мбит/с? | Verilog
1 083 просмотра · 1 год назад
From Concept To Circuit
1,33 тыс. подписчиков
1 083 просмотра · 1 год назад
Действительно ли FPGA может передавать 250 Мбит/с по USB 2.0?
В этом видео я превращаю Digilent Arty A7 (Artix-7) в логический анализатор USB 2.0, используя FTDI FT2232H в синхронном режиме FIFO (245), и показываю полный код Verilog, обеспечивающий быструю и надежную связь. На экране мы видим ~135 Мбит/с (накладные расходы на запись экрана); конвейер построен для 200–250 Мбит/с с низкой задержкой.
Что вы узнаете
Как работает синхронный FIFO FT2232H: 8-битные данные, тактовая частота 60 МГц, квитирование RXF#/TXE#/RD#/WR#/OE#
Конечные автоматы Verilog для TX/RX, синхронизации разворота шины (запуски по спадающему фронту) и обратного давления с 72-битным FIFO
Простой протокол с кадрированием (флаги + CRC-8) с 9-байтовой полезной нагрузкой для надежной потоковой передачи
Режим обратной связи/«постоянной» проверки и режимы SW/SW-multiple, используемые в качестве многоканального анализатора сигналов
Как этот USB-кабель становится источником данных для самодельного логического анализатора, осциллографа или SDR
Аппаратное обеспечение
Мини-модуль FT2232H (FTDI)
Плата FPGA Arty A7 / Artix-7
Прототип с перемычками (окончательная сборка будет перенесена на Печатная плата)
Код
Исходный код на Verilog (парсеры TX/RX, FIFO, CRC, управляющие конечные автоматы).
Получите код Verilog на GitHub:
https://github.com/fromconcepttocircu...
Временные метки
00:00 - Демонстрация в реальном времени: скорость 135 Мбит/с, анализатор сигналов и тест обратной связи
03:00 - Как работает синхронный FIFO (245) FT2232H
03:08 - Подробный анализ технической документации: тактовая частота 60 МГц и квитирование
03:48 - 8-битная шина (операции чтения и записи)
04:17 - Операция чтения FTDI (квитирование RXF#)
05:09 - Критические временные параметры: спадающий фронт (FPGA) против восходящего фронта (FTDI)
06:16 - Операция записи FTDI (квитирование TXE#)
07:07 - Ключевая проблема: разворот шины и Избегание конфликтов
09:19 - Verilog: Управление направлением шины (высокоимпедансная шина 'Z')
10:34 - Verilog: Логика конечного автомата передачи (TX)
11:50 - Verilog: Простой протокол кадрирования (флаги, полезная нагрузка, CRC-8)
14:05 - Verilog: Обзор конечного автомата приема (RX)
15:00 - Заключение и что дальше (драйвер C++ для ПК)
Хотите более подробное объяснение?
Напишите в комментариях, если хотите отдельный построчный разбор конечных автоматов Verilog или подробный анализ драйвера для ПК.
#FPGA #Verilog #USB2 #FT2232H #LogicAnalyzer #ArtyA7 #Artix7 #EmbeddedSystems #HighSpeedData #SDR #Oscilloscope