Лучший способ передачи видеоданных на устройство через PCI в Linux - PullRequest
0 голосов
/ 09 июня 2011

Мне нужно передать видеоданные в и с устройства FPGA через PCI в среде Linux. Я использую ядро ​​PCI стороннего производителя на ПЛИС. До сих пор я реализовал простой контроллер DMA на ПЛИС для передачи данных с ПЛИС в ЦП с использованием последовательных пакетов записи PCI.

Далее мне нужно перенести видеоданные с ЦП на ПЛИС. Как лучше всего это сделать?

Должен ли я реализовать модуль на ПЛИС, который выполняет целую серию пакетных чтений по PCI. Или есть способ заставить процессор эффективно записывать данные в память FPGA с помощью пакетов записи PCI?

Мои требования к пропускной способности составляют около 30 МБ / с в обоих направлениях.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 07 декабря 2011

Вы можете делать записи с ЦП, как то, что делают драйверы видеокарты, но вам нужно обладать некоторой магией драйвера, такой как настройка MTRR (что означает, что вы можете иметь некоторую архитектурную зависимость). Если вы хотите быть в безопасности, чтение DMA из FPGA - лучший способ. 30 МБ / с - это немного.

1 голос
/ 08 июня 2012

Мне кажется, что ПЛИС должна справляться как с чтением, так и с записью.В противном случае вы бы нагружали процессор.Это классическая задача для DMA (и вы не можете гарантировать, что DMA существует на каждом хосте).

...