Forum: Platinen NES-Adapter für FPGA-Board


von Christian F. (feuerwerk)


Angehängte Dateien:

Lesenswert?

Hallo zusammen

Nachdem ich für mein Bastelprojekt schon Unterstützung bei der 
Fehlersuche erhalten habe (Beitrag "Übersprechen bei LogicLevel-Adapter Platine") 
wollte ich nun hingehen und ein sauberes Board für meinen Adapter bauen. 
Da dies das erste mal ist, dass ich ein Board layoute wollte ich fragen 
ob jemand mal drüber schauen kann, wo ich Fehler gemacht habe.

Grüße
Christian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Ein Bild des Layouts wäre günstig, damit man nicht eigens ein Eagle 
installieren muss, um Deine Projektdateien zu betrachten.

von Christian F. (feuerwerk)


Lesenswert?

Hi Rufus

Ich hab nes_adapter.pdf angehängt. Da ist ein Ausdruck vom Schema und 
Ober/Unterseitendes Layouts enthalten. Das Forum zeigt leider nur einen 
Thumbnail der ersten Seite an.

Gruß
Christian

von Jim M. (turboj)


Lesenswert?

Die nOE statisch auf "0" gezogen sehen für mich nicht korrekt aus. Mich 
deucht das war ein Bus bei dem die Ausgangstreiber nur dann an sein 
dürfen wenn die entspr. Peripherie auch angesprochen wird.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Christian F. schrieb:
> Da ist ein Ausdruck vom Schema und Ober/Unterseitendes Layouts
> enthalten.

Ah. Danke.

--

Nach dem ersten Hinsehen: Die Leiterbahnen für VCCa/b kannst Du deutlich 
großzügiger dimensionieren. Die Entkoppelkondensatoren sind teilweise 
arg weit von den VCC-Anschlüssen der ICs entfernt, das sollte sich näher 
rücken lassen.

: Bearbeitet durch User
von Alex W. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Ein Bild des Layouts wäre günstig, damit man nicht eigens ein
> Eagle installieren muss, um Deine Projektdateien zu betrachten.

Besser wäre beides! Als Eagle-Nutzer tue ich mir Bilderzoom nicht an!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Alex W. schrieb:
> Bilderzoom?

Daß PDF Vektorgraphik enthalten kann (oder gegebenenfalls das Layout 
auch als SVG exportiert werden könnte) ist Dir unbekannt?

Ansonsten forderte ich das nicht statt, sondern als Ergänzung.

Christian hat schon alles richtig gemacht, es fehlte lediglich der 
Hinweis, daß die PDF-Datei mehr als nur den Schaltplan enthält.

von Tr (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Entkoppelkondensatoren

Gutes Stichwort, ich denke dabei an die Steckkarte. Wie sieht dafür eine 
gute Versorgung aus, reichen 100nF?
Ich hätte eher mehr spendiert, z.B. 100µ Elko + 100n, eventuell sogar 
eine Ferritperle/Filter.
Leiterbahnbreite 5V/GND auch deutlich erhöhen, Steckplatz bevorzugt 
anbinden.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Um eine Einschätzung zu bekommen, wie gut die Steckkarte entkoppelt 
werden muss, dürfte es sinnvoll sein, sich einerseits so eine Steckkarte 
selbst und andererseits so ein NES-Gerät anzusehen.

Was ist auf so einer Steckkarte verbaut? Und wie sieht die 
Kondensatorbestückung rund um den Slot im NES-Gerät aus?

von Christian F. (feuerwerk)


Angehängte Dateien:

Lesenswert?

Rufus Τ. F. schrieb:
> Um eine Einschätzung zu bekommen, wie gut die Steckkarte entkoppelt
> werden muss, dürfte es sinnvoll sein, sich einerseits so eine Steckkarte
> selbst und andererseits so ein NES-Gerät anzusehen.
>
> Was ist auf so einer Steckkarte verbaut? Und wie sieht die
> Kondensatorbestückung rund um den Slot im NES-Gerät aus?

Ich habe hier die Schaltpläne vom NES (PDF) und dem Famicon 
(Neswires.jpg). Im PDF enthalten ist auch der Schaltplan für eines der 
Spielmodule. Wenn ich das richtig sehe ist auf Seiten der Konsole die 
Steckkarte direkt an VCC/GND gehängt, im Modul selbst ist zwischen 
VCC/GND ein Kondensator gehängt. Die einzige Angabe, die ich zum Wert 
des Kondensators gefunden habe waren 1nF, aber da bin ich mir nicht sehr 
sicher.
Wenn man das im Schaltplan beschriebene Modul als eines der frühen 
Beispiele (1983) sehen kann, habe ich hier noch 
http://bootgod.dyndns.org:7777/profile.php?id=3694 die Bilder einer 
Platine (leider kein Schaltplan) gegen Ende der NES-Konsole. Wenn ich 
einer Recherche glauben darf hat der zusätzliche Elko auf dem Bild einen 
Wert von 22uF.


> Nach dem ersten Hinsehen: Die Leiterbahnen für VCCa/b kannst Du deutlich
> großzügiger dimensionieren. Die Entkoppelkondensatoren sind teilweise
> arg weit von den VCC-Anschlüssen der ICs entfernt, das sollte sich näher
> rücken lassen.

Was währe denn ein sinnvoller Wert für die Leiterbahnbreite von VCCa/b?
Du hast recht, ich kann die Entkoppelkondensatoren direkt unter den 
Lötpads des ICs platzieren. Muss ich bei Entkoppelkondensatoren derart 
aufpassen, dass 1cm Leiterbahn schon zu viel sein kann?


Jim Meba schrieb
> Die nOE statisch auf "0" gezogen sehen für mich nicht korrekt aus. Mich
> deucht das war ein Bus bei dem die Ausgangstreiber nur dann an sein
> dürfen wenn die entspr. Peripherie auch angesprochen wird.

Bin ich mir gerade unsicher, denn manche Spielmodule haben z.B. den 
Trick gemacht mehr SRAM in einem Adressbereich bereitzustellen, der von 
keiner Peripherie genutzt wird. Ich meine, dass die CPU und die PPU 
jederzeit die Kontrolle über die 4 Busse haben, sei es zum Lesen oder 
Schreiben.



Gruß
Christian

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Christian F. schrieb:
> Ich habe hier die Schaltpläne vom NES

Da wäre ein Blick auf die Platine selbst interessanter.

> Was währe denn ein sinnvoller Wert für die Leiterbahnbreite von VCCa/b?

Da mit der einen Versorgungsspannung auch noch Deine Steckkarte 
betrieben werden soll: So breit wie möglich. Macht man mit 
Versorgungsleitungen eigentlich immer so.

> Muss ich bei Entkoppelkondensatoren derart aufpassen, dass 1cm
> Leiterbahn schon zu viel sein kann?

Es ist einfach Designpraxis, sie so nah wie irgend möglich zu plazieren, 
damit sie ihre Aufgabe erfüllen können. Wenn man so designt (breite 
Stromversorgungsleiterbahnen, Entkopplungskondensatoren in ausreichender 
Menge und Nähe), gibt es Dinge, auf die man sich bei der Fehlersuche 
verlassen kann, und die man wegen Unwahrscheinlichkeit nicht zuerst 
untersuchen muss.

Schnapp Dir mal ein Oszilloskop und sieh Dir damit die 
Versorgungsspannung an einem der Bustreiber-ICs auf Deiner 
handverdrahteten Platine an. Und zwar an einem IC, das vom 
Einspeisepunkt der Stromversorgung in die Platine so weit wie möglich 
entfernt ist.

Miss im Betrieb, wenn also aktiv auf Deine Steckkarte zugegriffen wird.

Schließe dazu Tastkopf und Massekabel beide am IC direkt an. Miss 
AC-gekoppelt, die absolute Gleichspannung ist weniger interessant als 
der HF-Kram, der da zugange sein wird.

Zum Vergleich kannst Du die Messung am Einspeisepunkt an Deiner Platine 
wiederholen. Du wirst einen Unterschied feststellen.

von Christian F. (feuerwerk)


Lesenswert?

Rufus Τ. F. schrieb:
> Schnapp Dir mal ein Oszilloskop und sieh Dir damit die
> Versorgungsspannung an einem der Bustreiber-ICs auf Deiner
> handverdrahteten Platine an. Und zwar an einem IC, das vom
> Einspeisepunkt der Stromversorgung in die Platine so weit wie möglich
> entfernt ist.
>
> Miss im Betrieb, wenn also aktiv auf Deine Steckkarte zugegriffen wird.
>
> Schließe dazu Tastkopf und Massekabel beide am IC direkt an. Miss
> AC-gekoppelt, die absolute Gleichspannung ist weniger interessant als
> der HF-Kram, der da zugange sein wird.
>
> Zum Vergleich kannst Du die Messung am Einspeisepunkt an Deiner Platine
> wiederholen. Du wirst einen Unterschied feststellen.

So, hab ich mal gemessen. Ich hab wunderschöne abschwellende Oberwellen 
im Takte meiner CPU-Clock in meiner Spannungsversorgung. Beim 
nächstgelegenen IC sind es Spannungsspitzen zwischen +1,3V und -1,3V und 
beim ab weitesten weg gelesen IC messe ich noch +780mV bis -920mV

Bedeutet dass meine 100nF Entkoppelkondensatoren schaffen es nicht die 
Störungen wegzuglätten?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nun,

das wird eine Kombination aus beidem sein, den eher spillerigen Drähten 
für die Stromversorgung und den ungünstig plazierten 
Entkoppelkondensatoren.

Anders als alte NMOS-Logik, die zwar dauerhaft viel Strom benötigt hat, 
produziert moderne schnelle CMOS-Logik sehr steile Flanken an den 
Ausgängen und benötigt dafür kurzzeitig viel Strom. Der muss irgendwo 
herkommen.

https://www.mikrocontroller.net/attachment/310262/IMG_0919.jpg

Wenn ich mir hier die Anordnung der Kondensatoren ansehe, ist da sehr 
viel Draht zwischen Kondensator und den Versorgungsanschlüssen des ICs; 
wenn Du den Kondensator direkt an den Pins des SMD-Bausteines anlötest, 
kannst Du die Beinchen um gut die Hälfte kürzen. Das dürfte schon einen 
mit dem Oszilloskop wahrnehmbaren Effekt haben.

Wenn Du jetzt noch den Drahtquerschnitt für Masse und VCC massiv 
erhöhst, wird sich das noch verbessern.

von Christian F. (feuerwerk)


Angehängte Dateien:

Lesenswert?

Hi zusammen

(Hinweis: nes_adapter.pdf enthält das Schema und das Layout)

Ich hab versucht eure Ratschläge zu beherzigen und hab VCC deutlich 
vergrößert. Die Entkoppelkondensatoren hab ich deutlich näher an die ICs 
gebracht, was ich inzwischen gut nachvollziehen kann. Ich würde gerne 
noch die VCC-Bahnen vom J1 vergrößern und der Steckkarte einen Elko 
spendieren. Für beides weiss ich nicht so recht wo ich den Platz 
hernehmen soll, ausser noch einen Layer nur für VCC einzufügen, was ich 
eigentlich vermeiden wollte.


Rufus Τ. F. schrieb:
> Wenn ich mir hier die Anordnung der Kondensatoren ansehe, ist da sehr
> viel Draht zwischen Kondensator und den Versorgungsanschlüssen des ICs;
> wenn Du den Kondensator direkt an den Pins des SMD-Bausteines anlötest,
> kannst Du die Beinchen um gut die Hälfte kürzen. Das dürfte schon einen
> mit dem Oszilloskop wahrnehmbaren Effekt haben.

Ich hab deinen Rat befolgt und einigen Umbauten an meiner 
Lochrasterplatine vorgenommen. Glückwunsch zu deinem Augenmaß ;-) 
Nachdem ich die Kondensatoren näher an die ICs gebracht habe, hat man 
das auf dem Oszi schon recht deutlich gesehen:

Weitester IC: +/- 220mv
Nähester IC: +/- 600mV

> Wenn Du jetzt noch den Drahtquerschnitt für Masse und VCC massiv
> erhöhst, wird sich das noch verbessern.

Ich hab versucht überall den Querschnitt zu verdoppeln bzw. die 
Leitungen in Lötzinn zu ertränken, dass hat dann auch noch ein bischen 
was gebracht:

Weitester IC: +/- 180mv
Nähester IC: +/- 540mV



Gruß Christian

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.