Добрый день.
Имеется система, которая содержит: шасси NI PXIe-1082, модуль FPGA NI PXIe-7966R и генератор NI PXIe-5451.
Система работает следующим образом:
С персонального компьютера на FPGA с помощью DMA FIFO Host to Target отправляются числа в формате uint8 с частотой 100 мегасемплов в секунду. В FPGA эти числа обрабатываются, получается некоторый сигнал, который затем отправляется на генератор PXIe-5451 с помощью технологии Peer-to-Peer тоже со скоростью 100 мегасемплов в секунду, но уже в формате U32.
DMA FIFO и P2P FIFO у меня находятся в разных циклах SCTL.
Когда я смотрю осциллографом выход генератора - сигнал пропадает в некоторые моменты (то есть на выходе показывает нуль в течение некоторого времени). Я так понимаю, что ему не хватает скорости или такая система не может работать в принципе.
Вопрос: Поддерживает ли PXIe-7966R одновременную работу DMA FIFO Host to Target и P2P? И вообще из-за чего у меня может быть эта проблема?
P2P и DMA FIFO
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: P2P и DMA FIFO
Тактирующий сигнал должен быть один! Если это ЦАП (а это ЦАП), то должны быть средства и буфферизиации и контроля опустошения буфера ЦАП. Исходный сигнал не может генериться сам по себе, только по необходимости.
Сейчас у вас несколько тактовых циклов. 100Мс/c на компе и на FPGA (условно) это не одно и тоже. Не существует в природе ТГ с абсолютно одинаковой частотой. А так как они расходятся, то это только вопрос времени, когда произойдет рассогласование на один отсчет и у вас появятся нули.
Сейчас у вас несколько тактовых циклов. 100Мс/c на компе и на FPGA (условно) это не одно и тоже. Не существует в природе ТГ с абсолютно одинаковой частотой. А так как они расходятся, то это только вопрос времени, когда произойдет рассогласование на один отсчет и у вас появятся нули.
-
- interested
- Сообщения: 4
- Зарегистрирован: 24 июн 2014, 16:26
- Версия LabVIEW: 2013
- Контактная информация:
Re: P2P и DMA FIFO
Да, согласен.
Но я сейчас переместил всё в один цикл, который тактируется от одного клока 100 МГц, и всё равно ничего не работает
У генератора максимальная частота 400 мегасемплов в секунду. Когда я с FPGA в генератор отправляю одно 16-битное число и выставляю частоту 100 МГц, то выводится ошибка "Underflow". Когда я снижаю частоту до 50 МГц, то всё хорошо работает. Но это уже не та частота, которая мне нужна.
Но я сейчас переместил всё в один цикл, который тактируется от одного клока 100 МГц, и всё равно ничего не работает
У генератора максимальная частота 400 мегасемплов в секунду. Когда я с FPGA в генератор отправляю одно 16-битное число и выставляю частоту 100 МГц, то выводится ошибка "Underflow". Когда я снижаю частоту до 50 МГц, то всё хорошо работает. Но это уже не та частота, которая мне нужна.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: P2P и DMA FIFO
Сеть гигабитная? Кто отправляет сейчас огибающую сигнала?С персонального компьютера на FPGA с помощью DMA FIFO Host to Target отправляются числа в формате uint8 с частотой 100 мегасемплов в секунду.
Код FPGA в студию
-
- interested
- Сообщения: 4
- Зарегистрирован: 24 июн 2014, 16:26
- Версия LabVIEW: 2013
- Контактная информация:
Re: P2P и DMA FIFO
Для передачи с компьютера на FPGA используется MXI link. Там со скоростью передачи всё в порядке.
FPGA отправляет сигнал на ЦАП.
Проект LabVIEW 2014 по ссылке ниже.
https://yadi.sk/d/FfpLhrxMnoTVj
FPGA отправляет сигнал на ЦАП.
Проект LabVIEW 2014 по ссылке ниже.
https://yadi.sk/d/FfpLhrxMnoTVj