Artikel
TV-tennis
Pong-revival met een AVR-controller
Deze schakeling tovert met behulp van een AVR-microcontroller en een handjevol passieve onderdelen het klassieke videospelletje Pong (TV-tennis) op het TV-scherm. Gegarandeerde nostalgie uit de jaren 70.
Het lijkt er op dat in dit tijdperk van gigahertz-PC’s alleen nog maar ingewikkelde videogames met fotorealistische weergave in trek zijn. Als het spel te langzaam gaat, dan is nieuwe hardware nodig, die al voor de inbouw in de PC verouderd is. De goede oude tijd van de eerste homecomputers lijkt al lang geleden. Met steeds geraffineerdere optimalisaties en aanpassingen zijn we uiteindelijk tot prestaties gekomen die vroeger absoluut onmogelijk leken.
De fun van dit project is het absolute minimum aan onderdelen. In plaats van speciale hardware wordt een 8-bit AVR-microcontroller stevig aan het werk gezet. Daarbij hebben we maar 8 Kbyte programmageheugen en 512 byte aan RAM. De videosignalen worden met een paar poortuitgangen en wat weerstanden gebrouwen en het geluid wordt door een timer verzorgd. In de terugslagfase, als het beeld even donker is, heeft de microcontroller pas tijd om zich met de puntentelling bezig te houden. En dat alles zonder een operating system tussen het assembler-programma en het kale silicium van de hardware.
Het lijkt er op dat in dit tijdperk van gigahertz-PC’s alleen nog maar ingewikkelde videogames met fotorealistische weergave in trek zijn. Als het spel te langzaam gaat, dan is nieuwe hardware nodig, die al voor de inbouw in de PC verouderd is. De goede oude tijd van de eerste homecomputers lijkt al lang geleden. Met steeds geraffineerdere optimalisaties en aanpassingen zijn we uiteindelijk tot prestaties gekomen die vroeger absoluut onmogelijk leken.
De fun van dit project is het absolute minimum aan onderdelen. In plaats van speciale hardware wordt een 8-bit AVR-microcontroller stevig aan het werk gezet. Daarbij hebben we maar 8 Kbyte programmageheugen en 512 byte aan RAM. De videosignalen worden met een paar poortuitgangen en wat weerstanden gebrouwen en het geluid wordt door een timer verzorgd. In de terugslagfase, als het beeld even donker is, heeft de microcontroller pas tijd om zich met de puntentelling bezig te houden. En dat alles zonder een operating system tussen het assembler-programma en het kale silicium van de hardware.
Materials
Gerber bestand
De PCB bij dit artikel is als Gerber file beschikbaar gesteld. Elektor Members kunnen exclusief deze files gratis downloaden en gebruiken om de PCB zelf af te drukken met geschikte apparatuur óf de Gerber te laten drukken via een dienstverlener.
Elektor kan u bijvoorbeeld de PCB Service van onze partner Eurocircuits van harte aanbevelen of AISLER.
Het gebruik van onze Gerber files is vrijgegeven onder een Creative Commons- licentie. Creative Commons biedt auteurs, wetenschappers en andere creatieve makers de vrijheid om op een flexibele manier met hun auteursrechten om te gaan.
PCB
Onderdelenlijst
Weerstanden:
R1 = 1 k
R2 = 576 , 1 %
R3 = 1k2
R4 = 820
R5 = 150
Condensatoren:
C1...C4 = 100 n
C5 = 10 µ/16 V radiaal
Halfgeleiders:
D1 = 1N4148
IC1 = 78L05
IC2 = AT90S8515 (geprogrammeerd, EPS 030026-41)
Diversen:
X1 = resonator 8 MHz
Bt1 = 9-V-blokbatterij met aansluitclip
K1,K2 = 9-polige haakse sub-D-connector voor printmontage, male
K3,K4 = cinch-bus voor printmontage
K5 = 2x5-polige header met beschermkap
S1 = schakelaar 1 maal om
Behuizing Hammond 1591BT
R1 = 1 k
R2 = 576 , 1 %
R3 = 1k2
R4 = 820
R5 = 150
Condensatoren:
C1...C4 = 100 n
C5 = 10 µ/16 V radiaal
Halfgeleiders:
D1 = 1N4148
IC1 = 78L05
IC2 = AT90S8515 (geprogrammeerd, EPS 030026-41)
Diversen:
X1 = resonator 8 MHz
Bt1 = 9-V-blokbatterij met aansluitclip
K1,K2 = 9-polige haakse sub-D-connector voor printmontage, male
K3,K4 = cinch-bus voor printmontage
K5 = 2x5-polige header met beschermkap
S1 = schakelaar 1 maal om
Behuizing Hammond 1591BT
Discussie (0 opmerking(en))