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