Obecnie pracuję nad Super OSD - projektem wyświetlania na ekranie. http://code.google.com/p/super-osd ma wszystkie szczegóły.
W tej chwili używam MCU dsPIC do wykonania zadania. Jest to bardzo potężny procesor DSP (40 MIPS przy 80 MHz, operacje jednotaktowe z trzema rejestrami i jednostka MAC) i, co ważne, jest dostarczany w pakiecie DIP (ponieważ używam płyty kontrolnej do prototypowania.) Naprawdę czerpię z tego każdą ostatnią wydajność, uruchamiając OSD - układ ma około 200ns lub 10 cykli na piksel na etapie wyjściowym, więc kod musi być bardzo zoptymalizowany w tej części (z tego powodu zawsze będzie napisany w montaż.)
Teraz zastanawiałem się nad użyciem do tego FPGA, ponieważ ze względu na równoległą architekturę takiego układu możliwe jest posiadanie prostego programu logicznego z OSD. Rzeczy takie jak rysowanie linii i kod algorytmiczny byłyby obsługiwane przez MCU, ale rzeczywiste dane wyjściowe byłyby wykonywane za pomocą FPGA. I kilka prostych rzeczy, takich jak ustawianie pikseli lub rysowanie linii poziomych i pionowych, które chciałbym zintegrować z FPGA, aby poprawić szybkość.
Mam parę pytań:
- Czy będzie to kosztować znacznie więcej? Najtańsze FPGA, które znalazłem, wynosiły ~ 5 £ każda, a dsPIC wynosi 3 £ każda. Będzie to kosztowało więcej, ale o ile?
- DsPIC mieści się w pakiecie SO28. Nie chciałbym być większy niż SO28 lub TQFP44. Większość układów FPGA, które widziałem, występuje w pakietach BGA lub TQFP> 100, które obecnie nie są opcją ze względu na rozmiar ścinania i trudność samodzielnego ich lutowania.
- Ile prądu zużywa FPGA? Rozwiązanie dsPIC zużywa obecnie około 55 mA +/- 10 mA, co jest w tej chwili w porządku. Czy FPGA zużyłoby mniej więcej? Czy jest zmienny, czy raczej dość statyczny, jak dsPIC?
- Potrzebuję co najmniej 12 KB pamięci graficznej do przechowywania grafiki OSD. Czy układy FPGA mają taką pamięć dostępną w układzie, czy jest ona dostępna tylko w przypadku układów zewnętrznych?