Последовательная передача видеоданных из ps ddr через axi dma в модулятор qam на стороне pl, последовательные данные с демодулятора qam на ps ddr через AXI dma
Дизайн выполнен на плате ZCU102. Я получу данные шириной 32 бита от ps ddr до axi dma(часть кодирования SDK выполняется другим человеком, использующим petalinux). выход dma подключен к потоку FIFO AXI4 (CDC использует этот FIFO от 100 МГц до 7,6 МГц). Из потока оси данные fifo передаются в преобразователь ширины данных потока axi4 (преобразование потока из 4 байтов в 1 байт). Выход преобразователя ширины данных подключен к ядру генератора FIFO (для преобразования последовательных данных 8 бит в 1 бит). Часть модулятора сделали другие. Таким образом, я сделал резервную копию этого последовательного порта в качестве входа в другое ядро генератора FIFO (для 1-8 бит), затем в преобразователь ширины данных (для 1 байта в 4 байта) после этой оси FIFO (CDC от 7,6 МГц до 100 МГц), затем через axi dma to ps ddr (т.е. обратная операция). полученное видео на ps ddr играет отлично.Но есть задержка около 17 минут (для видео 10 МБ) после того, как входные видеоданные предоставляются в качестве входных данных при запуске с использованием команд Linux. Я генерирую tlast сигнал на стороне сопряжения pl и ps после каждых 1024 отправленных слов. Может ли кто-нибудь подсказать мне, как уменьшить задержку. почему наступает такая задержка.