| Author |
Message
|
webmortiz Poziom 17

Joined: 07 Jan 2007 Posts: 415 Location: Wolsztyn/Nowy Tomyśl
|
#1
15 Jan 2009 09:20 Kostka rubika / konsola do gier na FPGA |
|
|
|
W ramach pracy magisterskiej (od której już trochę mineło) złożyłem konsolę do gier, która napędzana jest przez układ FPGA, w tym przypadku Spartana 3 na płytce ZL10PLD z oferty firmy BTC (to nie reklama ;)). Sprzęt sam w sobie nie ma jakichś niesamowitych hardwarów typu akcelerometry czy jakieś HD dolby saraund. Z bajerów posiada jedynie kolorowy wyświetlacz z Nokii 6100 (na mikrokontrolerze Epson).
Głównym założeniem miał być taki projekt który umożliwi pisanie gier w vhdlu, korzystając z dostępnych (napisanych przezemnie) bibliotek.
Pierwotny projekt miał w rzeczywistości być handheldem, co widać na poniższym zdjęciu (w tym przypadku z pierwotnego pcb był wykorzystywany fragment obsługujący wyświetlacz). Problemem okazała się obsługa tego wyświetlacza bezpośrednio z FPGA (to jeszcze jak działałem na displayu z mikrokontrolerem Philips).
Dlatego zmieniłem koncepcję (i przy okazji wyświetlacz na Epson, ale nie wiem czemu to zrobiłem ;)) i złożyłem z ATmegi8 mini kartę graficzną, pozwalającą rysować podstawowe figury. Dane z FPGA do karty są wysyłane poprzez rs232. A efekt na rysunku powyżej.
Całość złożyłem na własnej roboty jakiejś tam ubogiej płytce. Programator do FPGA też sobie sam zrobiłem ;) i dostępny jest tu: Parallel cable
Nie ma tam nic skomplikowanego, podstawowa aplikacja z ATmega8 + gotowy moduł z układem FPGA. Ciekawostką z tego jest to że niewiele modyfikując firmware ATmegi (w sensie soft który udawał kartę graficzną ;)) odpaliłem ostatnio na tym sprzęcie czytnik RFID ;)
Dodatkowo złożyłem sobie płytkę pod wyświetlacz, żeby było bardziej sexi i uniwersalnie jak będę korzystał z wyświetlacza w innych projektach.
W chwili wolnej napisałem sobie soft na wyświetlacz z mikrokontrolerem Philips i okazało się że egzemplarz który mi nie chciał działać pod FPGA naprawdę wogóle nie działał (mam dwie sztuki, drugi działa).
Sama gra czyli Rubik, to poprostu maszyna stanów która wysyła w każdym ze stanów jakąś część informacji o kolorach i ich umiejscowieniu w macierzy, która jest obrabiana poprzez buttony podłączone pod FPGA. Tak więc wielkiej filozofii tu też nie ma ;) Nie kłopotałem się też w zabawy z losowym mieszaniem kostki czy warunkami ułożenia całej. A dlaczego tego nie zrobiłem? Z dwóch powodów:
1. Nie chciało mi się
2. Zrobiłem, ale oprogramowanie przestało się mieścić w układzie tak więc dałem sobie spokój.
No to chyba na tyle. Opis mało wyczerpujący, bo nie wiem jak to tam z prawami do swojej pracy magisterskiej VS uczelnia. Ale jak co to odpowiem na pytania jeżeli jakieś są.
|
|
| Back to top |
|
 |
Google

|
#
15 Jan 2009 09:20 |
|
|
|
|
|
| Back to top |
|
 |
zxcvbnm1971 Poziom 1

Joined: 10 Jul 2007 Posts: 1
|
#2
15 Jan 2009 10:14 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
| webmortiz wrote: |
| Opis mało wyczerpujący, bo nie wiem jak to tam z prawami do swojej pracy magisterskiej VS uczelnia. Ale jak co to odpowiem na pytania jeżeli jakieś są. |
Jeżeli od obrony upłynął rok a uczelnia nie opublikowała pracy, autorskie prawa majątkowe przechodzą na Ciebie. Jeżeli nie ma jeszcze roku możesz wystąpić z prośbą o przekazanie praw. Oczywiście jeśli dobrze pamiętam i się nic nie zmieniło.
Pozdrawiam.
|
|
| Back to top |
|
 |
krzycho123 Poziom 22

Joined: 28 Dec 2004 Posts: 1616 Location: Poznań
|
#3
15 Jan 2009 11:38 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
webmortiz , a możesz pokazać jak to działa w praktyce ? jakiś film albo jakieś screnny z działania mógłbyś dorzucić .
Powiedz jak działa karta na ATmega8 , nie jest to za słaby kontroler do obsługi takiego wyświetlacza ?
Wokorzystałeś max rozdzielczość (128x128) tego LCDka ?
Pozdrawiam
|
|
| Back to top |
|
 |
webmortiz Poziom 17

Joined: 07 Jan 2007 Posts: 415 Location: Wolsztyn/Nowy Tomyśl
|
#4
15 Jan 2009 17:24 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
krzycho123: Atmega8 (śmiga na 4 MHz) jest powiedzmy że w sam raz. Wykorzystuję pełną rozdzielczość. Nie ma tam żadnego 3d tylko rzut izometryczny na 3 ściany tak więc bez problemu. Jak będę miał dostęp do jakiegoś urządzenia rejestrującego to zgram filmik.
kaldachar: możesz wszystko ale wcześniej musisz mieć uprawnienia SEP do 10 V i pamiętaj że jako 13 latek musisz mieć podpis taty ;p
|
|
| Back to top |
|
 |
kaken Poziom 15

Joined: 05 Aug 2006 Posts: 201
|
#5
15 Jan 2009 18:32 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
Fajna zabawka ale czemu aż FPGA? Jak mega obrabiała grafike to czym zajmowały się te spore moce obliczeniowe Spartana3? Korzystałeś z Xilinxa ISE?
|
|
| Back to top |
|
 |
Google

|
#
15 Jan 2009 18:32 |
|
|
|
|
|
| Back to top |
|
 |
michal.rogaczewski Poziom 21

Joined: 25 Jul 2006 Posts: 1469 Location: Słupca
|
#6
15 Jan 2009 18:37 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
| webmortiz wrote: |
| kaldachar: możesz wszystko ale wcześniej musisz mieć uprawnienia SEP do 10 V i pamiętaj że jako 13 latek musisz mieć podpis taty ;p |
Myślałem że SEP są od 1kV :P
A tak w temacie to spróbuj zrobić taką "kanapkę" z płytek, jeśli nie możesz zmieścić sie na jednej :)
|
|
| Back to top |
|
 |
webmortiz Poziom 17

Joined: 07 Jan 2007 Posts: 415 Location: Wolsztyn/Nowy Tomyśl
|
#7
16 Jan 2009 09:29 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
kaken: aż FPGA bo taki miałem temat pracy, a poza tym kostka rubika to tylko program uruchomieniowy. Jeżeli na PS3 wyszła jakaś kiepska gra to zapytałbyś dlaczego aż Cell? A poza tym tyle się już konsol naoglądałem na ATmegach i podobnych że FPGA to takie nowatorskie podejście(tak bynajmniej wczytałem w recenzji pracy ;)). I korzystałem z ISE 10.1(o ile dobrze pamiętam). Czekam teraz jak ktoś cyknie coś podobnego na DSP albo PLC ;)
michal.rogaczewski:
| Quote: |
| A tak w temacie to spróbuj zrobić taką "kanapkę" z płytek, jeśli nie możesz zmieścić sie na jednej Smile |
Nie do końca rozumiem o co b :/ Ale ogólnie urządzenie miało być prototypem tak więc nie walczyłem z obudową i żeby to ładnie wyglądało tylko z tym żeby to działało.
|
|
| Back to top |
|
 |
andrzejlisek Poziom 21

Joined: 08 Oct 2005 Posts: 1403 Location: Poznań
|
#8
17 Jan 2009 12:55 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
| webmortiz wrote: |
| Quote: |
| A tak w temacie to spróbuj zrobić taką "kanapkę" z płytek, jeśli nie możesz zmieścić sie na jednej Smile |
Nie do końca rozumiem o co b :/ Ale ogólnie urządzenie miało być prototypem tak więc nie walczyłem z obudową i żeby to ładnie wyglądało tylko z tym żeby to działało. |
Chodzi o to, żeby wykonać kilka PCB o tym samym kształcie i wielkości, rozmieszczając elementy na wszystkich, rozkładając na wszystkie płytki cały układ elektroniczny gry. Końcówki ścieżki, które przechodzą z jednej płytki na drugą powinny być w tym samym miejscu obu tych płytek.
Potem montujesz jedną płytkę nad drugą wykorzystując tulejki dystansowe lub coś podobnego. Tulejki jak najkrótsze, ale tak, żeby elementy dwóch płytek nie dotykały się, a płytki położone równolegle względem siebie.
Po złożeniu płytek, drutami łączysz przejścia między płytkami.
|
|
| Back to top |
|
 |
Google

|
#
17 Jan 2009 12:55 |
|
|
|
|
|
| Back to top |
|
 |
webmortiz Poziom 17

Joined: 07 Jan 2007 Posts: 415 Location: Wolsztyn/Nowy Tomyśl
|
#9
17 Jan 2009 18:35 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
To to akurat wiem, ale zrobiłem tak bo było prościej a poza tym na uniwersalnej to składałem tak więc dbałem bardziej o to żeby się nie pomylić lutując.
|
|
| Back to top |
|
 |
Morpheusss Poziom 15

Joined: 11 Mar 2006 Posts: 217 Location: Mikołów
|
#10
17 Jan 2009 19:24 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
Możesz podać trochę więcej szczegółów nt problemów ze sterowaniem LCD z FPGA? Jeśli miałeś problem z opisem obsługi w VHDLu to ten XC3S200 ma dość miejsca żeby zaimplementować w nim rdzeń Microblaze, więc po co dodatkowa atmega? ; )
|
|
| Back to top |
|
 |
Jacek31 Poziom 18

Joined: 08 Nov 2007 Posts: 553 Location: Połomia
|
#11
17 Jan 2009 19:34 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
Trochę nie rozumie z opisu tej gierki, no i po co takie FPGA? Ale projekt ciekawy i fajny.
Jak miałeś w projekcie wykorzystać jakieś FPGA to prościej byłoby wziąść np. ATMega 32, a z Spartana zrobić np. mostek północny, z zintegrowanym koprocesorem numerycznym, czy prostym układem do generowania grafiki 2D. (wspieranie rysowanie linii, czy sprzętowa obsługa spiritów jak w C64)
|
|
| Back to top |
|
 |
webmortiz Poziom 17

Joined: 07 Jan 2007 Posts: 415 Location: Wolsztyn/Nowy Tomyśl
|
#12
19 Jan 2009 09:35 Re: Kostka rubika / konsola do gier na FPGA |
|
|
|
Morpheusss: problem miałem taki że ten wyświetlacz którego używałem po prostu nie działał(nie inicjalizował się, myślałem że to po prostu wina mojego softu w vhdl) a innych nie miałem, jak już zmieniłem koncepcję i zdobyłem inne wyświetlacze to nie chciałem wracać do poprzedniej bo tak łatwiej mi było ogarnąć soft dla lcd. Na tym nie działającym straciłem dużo czasu i nie chciałem eksperymentować z microblaze tylko zostałem przy rozwiązaniu względnie prostszym.
Jacek31: Też miałem taki pomysł, ale przeczyło to założeniom pracy. A poza tym straciłem dużo czasu na obsługę nie działającego wyświetlacza pod FPGA tak więc trochę na końcu na łatwiznę poszedłem, ale ta łatwizna działa i to całkiem nieźle ;)
|
|
| Back to top |
|
 |