В настоящее время я работаю над Super OSD - проектом на экране. http://code.google.com/p/super-osd содержит все подробности.
На данный момент я использую MCU dsPIC для выполнения этой работы. Это очень мощный DSP (40 MIPS при 80 МГц, трехканальные одноцикловые операции и блок MAC), и, что немаловажно, он поставляется в DIP-пакете (потому что я использую макет для его прототипирования). Я действительно получаю все до последней части производительности, используя OSD - чип имеет около 200 нс или 10 циклов на пиксель на этапе вывода, поэтому код должен быть очень оптимизирован в этой части (по этой причине он всегда будет записываться в сборка.)
Теперь я рассматривал возможность использования FPGA для этого, потому что из-за параллельной архитектуры такого чипа возможно иметь простую логическую программу, работающую на OSD. Такие вещи, как рисование линий и алгоритмический код, будут обрабатываться MCU, но фактический вывод будет сделан с помощью FPGA. И некоторые простые вещи, такие как установка пикселей или рисование горизонтальных и вертикальных линий, которые я хотел бы интегрировать в FPGA, чтобы улучшить скорость.
У меня есть несколько вопросов:
- Это будет стоить значительно больше? Самые дешевые ПЛИС, которые я нашел, составляли ~ 5 фунтов стерлингов каждая, а dsPIC - 3 фунта стерлингов каждый. Так это будет стоить дороже, но на сколько?
- DsPIC помещается в корпус SO28. Я не хотел бы идти больше, чем SO28 или TQFP44. Большинство FPGA, которые я видел, поставляются в пакетах BGA или TQFP> 100, которые на данный момент недоступны из-за размера ножниц и сложности их пайки самостоятельно.
- Какой ток используется ПЛИС? В настоящее время решение dsPIC потребляет около 55 мА +/- 10 мА, что на данный момент нормально. Будет ли FPGA потреблять больше или меньше? Это переменная или она в значительной степени статична, как dsPIC?
- Мне нужно как минимум 12 КБ графической памяти для хранения графики OSD. Есть ли у FPGA этот вид памяти, доступный на чипе, или это доступно только с внешними чипами?