Длинные выходные выдались...

May 13, 2024 10:49

...продуктивными. Продолжил разбираться с FPGA для Brass. Оказалось есть готовая компонента которая конвертирует AXI Stream шину и умеет сама генерировать TLAST по счетчику. И поток от FIR в FIFO побежал! Потом откатил обратно на DMA и оно заработало.

image Click to view



Потом начал разбирараться с FFT на FPGA. Долго не мог придумать как 32 битный поток из FIR преобразовать в 64 битный для FFT. У меня есть комнонента которая из 64 делает 32. И оказалось она вполне успешно справляется с обратной задачей! Но данные из FFT шли какие-то странные. Крутил так и сяк - не получается. Откатился на прием просто данных и решил прикрутить FFT отдельно просто как аккселератор. Через собственный DMA и запускать туда данные "руками". Убил кучу времени что бы понять, что виной всему настройка "Output ordering" которая по умолчанию почему то стоит в "reversed bit". Переключил в "Natural order" и данные стали адекватные. Но пересылка внутри софта данных от ADC на FFT все таки подгружала процессор. Если софтовый FFT-400 отжирал до 63%, то аппартаный FFT-1024 всего 45-50%. Это сильно лучше, но все равно много. Поэтому подключил FFT напрямую к FIR и направил на DMA. И вуаля! Имеем FFT-1024 с загрузкой процессора всего 27-30%.

image Click to view


zynq, dma, fpga, fft, linux, радиолюбительское, brass, dsp

Previous post Next post
Up