Forum: Mikrocontroller und Digitale Elektronik TV-Grafikkarte: Logikplan bitte überprüfen


von Sebastian H. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe jetzt einen Logikplan für eine TV-Grafikkarte entworfen.
Sie unterstützt eine Auflösung von 256x128 Pixeln bei 256 Farben.
Angeschlossen werden soll sie über RGB-SCART und als Interface wird
die serielle Schnittstelle RS-232 benutzt. Damit kann man sie sowohl
mit einem uC als auch mit dem PC zu Testzwecken ansteuern. Sie
benutzt ausserdem das so genannte Doublebuffering, also zwei Speicher,
der Eine wird gelesen und der Andere beschrieben, dann wird getauscht,
...

Die SRAMs sind vom Conrad: KM68257C/CL mit einer Reaktionszeit von
15 ns. Bei 256 Pixeln und 54 us pro Zeile macht das 200 ns pro Pixel.
Also benutze ich einen Takt von 40 MHz bei den PICs um pro Instruktion
100 ns zu benötigen. Der untere PIC liefert einmal das Sync-Signal und
die Adresse des derzeit anzuzeigenden Pixels. Der Obere empfängt die
Kommandos/Daten von der Schnittstelle und beschreibt und flippt die
SRAMs entsprechend.
Bei beiden wird PortA und B für die Adressen benutzt. der obere bekommt
natürlich noch PortC für die Schnittstelle, PortD für die Daten und
PortE für die Steuersignale (WE und SEL). Die Pins reichen gerade aus.

Ich versuche gerade eine Platine dafür zu erstellen. Vielleicht schaffe
ich es, alles auf das Euro-Format zu quetschen. Um eine zweiseitige mit
durchkontaktierung komme ich dann aber nicht drum herum.

Sieht jemand vielleicht einen Fehler? Oder hat jemand noch einen
Verbesserungsvorschlag? Ansonsten kann natürlich jeder diese Schaltung
nachbauen. =)

Viele Grüße
Sebastian

von Gast (Gast)


Lesenswert?

Kannst du das Bild drehen? Ist unmöglich so zu lesen :-)

von Andreas K. (derandi)


Angehängte Dateien:

Lesenswert?

Ich bin mal so frei...

von Sebastian H. (Gast)


Lesenswert?

Sorry, ich hab das wohl falsch eingescannt. =)

von Sebastian H. (sebihepp)


Angehängte Dateien:

Lesenswert?

Okay, ich habe das Projekt in 2 Teile gesplittet, die Logik und den
Speicher.

Ich bin jetzt mit dem Platinenlayout der Logik fertig. Die große Zahl an 
Pads oben sind Buchsenleisten. Selbst ohne den Speicher sollte man damit 
ein schwarzes Bild auf dem Fernseher generieren können. Den 470 Ohm 
Widerstand von PortC1 des rechten PICs habe ich für Testzwecke dazu 
gestellt. Damit kann man auch helle Pixel generieren. Wenn man ihn nicht 
mehr benötigt, wird der Port auf Eingang geschalten. Bloß nicht auf Low, 
sonst liegt der Widerstand plötzlich parallel zu dem FBAS-Ausgang.

Wenn jemanden ein Fehler auffällt, wäre es schön wenn er/sie mich darauf 
hinweisen würde. Die Platine werde ich nämlich demnächst in Auftrag 
geben und etwa 70 Euro für eine zweiseitige Platine mit Stoplack die 
dann nicht funktioniert, würde ich nur ungern ausgeben. =)

Viele Grüße
Sebihepp

von Q9 (Gast)


Lesenswert?

> zweiseitige Platine
wenn dein stundenlohn nicht 70 euro ist, ätz sie dir einseitig. und zieh 
die paar leitungen auf der rückseite von hand.

von Q9 (Gast)


Lesenswert?

und stoplack bei DIL ist überflüssig :-)

von holger (Gast)


Lesenswert?

Da es keinen Schaltplan gibt kann man auch nichts dazu sagen.
Irgendwie sieht es so aus als wenn die beiden PICs unabhängig
voneinander arbeiten. Das wird wohl nichts werden.

von Roger S. (edge)


Lesenswert?

wow, dual core fuer ein bisschen TV Grafik.

Gibt es einen Grund dass du das mit zwei uC loesen musst?
Immerhin reicht wohl ein Oszillator.
Braucht es bei den PICs keinen Pegelwandler fuer RS-232?

Cheers, Roger

von Sebastian H. (sebihepp)


Lesenswert?

An Q9:
Das wär doch was, wenn Studenten noch 70 Euro die Stunde bekommen 
würden. XD

Am liebsten hätte ich das ja komplett einseitig erstellt, aber das geht 
irgendwie nicht (Oder ich bin zu blöd dazu =) ). Ich denk noch drüber 
nach und auch über den Lötstoplack. Die Platine wollte ich jedenfalls 
noch eine lange Zeit verwenden. Daraus soll später ein ganzer Computer 
auf Mikrocontrollerbasis werden. Mal sehen in wie vielen Jahren ich 
fertig bin. =D

Einen Schaltplan habe ich noch nicht, das ist richtig. Aber anhand des 
Logikplans sollte man schon vieles erkennen können. Ich habe auch schon 
versucht einen Schaltplan zu zeichnen, aber eine DIN-A4 Seite reicht da 
leider nicht mehr, und mehr kann mein Scanner leider nicht einlesen.
Kennt jemand ein kostenloses Tool dafür? Ich möchte nur den Plan 
erstellen und dann als Bilddatei speichern. Das Tool muss nicht noch 
Prüfungen anstellen oder sogar simulieren. Aber es sollte mehr als Paint 
beherrschen. ^^

-----------------------------------------------------------------------

an Holger:
Ja, die PICs betreibe ich unabhängig voneinander. Der rechte erzeugt die 
Sync-Signale und die Adresse des auszugebenen Pixels. Der andere steuert 
das Schreiben. Ich verwende dazu den doppelten SRAM: Einer wird 
beschrieben, der andere angezeigt (Der Inhalt, nicht der SRAM =) ).
Zwischen Speicher und PICs stehen dann noch viele 74 HC xxx, welche 
Multiplexen und den Datenbus treiben.

-----------------------------------------------------------------------

an Roger Steiner:
Reicht wirklich ein Oszillator aus?
Stimmt, für den PC bräuchte man noch nen Pegelwandler. Aber das soll ja 
später an meinen selbsentwickelten uC-PC angeschlossen werden, und da 
dieser auch mit 5V läuft brauche ich einen Wandler nur 
dazwischenklemmen, wenn ich die Karte an den PC anschließe. Dazu werde 
ich mir eine kleine Pegelwandlerplatine löten. Genauso kommt noch eine 
Spannungsversorgung dazu.

Viele Grüße
Sebihepp

von Markus -. (mrmccrash)


Lesenswert?

Schau mal, andere machen das nur mit 1 Prozessor:

Beitrag "VGA Grafikkarte mit AVR und 8MB SDRAM"

;-)

_.-=: MFG :=-._

von Sebastian H. (sebihepp)


Lesenswert?

Den Beitrag habe ich schon mehrmals durchgelesen. =)
Viele Fragen wurden dadurch schon beantwortet.

Wenn ich nun nur einen PIC benutzen würde, dann würde für die Zeit des 
beschreibens des RAMs keine Ausgabe stattfinden. Da ich später 
vielleicht kleine Spiele auf dem TV darstellen will, brauche ich einen 
hohen Datendurchsatz. Und dafür ist DoubleBuffering sehr geeignet. Und 
so teuer ist ein zweiter PIC auch nicht (4-5 Euro bei Reichelt).

Aber Danke für den Hinweis. =)

von Roger S. (edge)


Lesenswert?

Sebastian Hepp schrieb:
> Da ich später
> vielleicht kleine Spiele auf dem TV darstellen will, brauche ich einen
> hohen Datendurchsatz.

Die Aussage beisst sich aber mit dem Prinzip mit welchem die 
'Grafikkarte' gefuettert werden will. Denn nach deinem Schaltplan zu 
urteilen ist das ja nix tile basiertes sondern einfach zweimal ein 
Pixelhaufen.
Fuer Spiele auf einfachen Prozessoren denkbar ungeeignet.

Cheers, Roger

von kurz (Gast)


Lesenswert?

Schau Dir doch mal das IC "MB88303" von Fujitsu an. Das hab ich vor 20 
Jahren mal eingesetzt. Das kann schon alles, was Du noch erfinden 
willst.

Heut gibt es sicher modernere Bausteine. Kenne Sie aber nicht, da ich 
nun andere Dinge entwerfe. Bevor Du alles neu erfindest, such doch erst 
mal nach ner bestehenden Lösung.

Du hast ja sonst auch noch ne Menge zu tun.

von Markus -. (mrmccrash)


Lesenswert?

Alternativ halt einen Spartan + SDRAM, den kannst du dann auch zum 
Vektorrechnen abordnen. Dateneingabe per SPI und fertig ist die 
Grafikkarte :)

_.-=: MFG :=-._

von Sebastian H. (sebihepp)


Lesenswert?

Hmmm, ich weiss leider nicht, welche ICs es da gibt. Wo kann ich mich 
darüber informieren?

Es muss jedenfalls ein DIL sein. SMD kann ich nicht löten.
Es wäre auch noch schön, wenn man das aussehen der Tiles selbst
definieren könnte. Optimal mit Farbe. Anschließen würde ich das am
liebsten an einen Fernseher (SCART). Wenn es das nur für einen VGA-
Monitor gibt, ist es auch nicht schlimm. Die höhere Auflösung ist sicher
angenehmer.

An einen FPGA habe ich zuerst gedacht. Aber weder habe ich ein 
Programmiergerät, noch ist der SRAM ausreichend dimensioniert und ich 
möchte auch nicht über 100 Euro nur für den FPGA ausgeben. Ausserdem 
haben die auch keine DIL gehäuse.

Ich versuche mich später an denen.

Viele Grüße
Sebihepp

von Roger S. (edge)


Lesenswert?

Sebastian Hepp schrieb:
> Es muss jedenfalls ein DIL sein. SMD kann ich nicht löten.

Das tolle am Basteln ist ja dass man durchaus auch mal was neues in 
Angriff nehmen kann und dabei auch noch was lernt
Muss ja nicht grad TQFP144 und 0402 sein.
Mit ein wenig Uebung laesst sich SMD schneller und einfacher loeten als 
das thru-hole Zeugs.

> Es wäre auch noch schön, wenn man das aussehen der Tiles selbst
> definieren könnte. Optimal mit Farbe. Anschließen würde ich das am
> liebsten an einen Fernseher (SCART). Wenn es das nur für einen VGA-
> Monitor gibt, ist es auch nicht schlimm. Die höhere Auflösung ist sicher
> angenehmer.

Vielleicht solltest du dir mal ein zwei Wochen Zeit nehmen und mal nach 
Architekturen der vergangenen Home-Computer und Spielkonsolen 
recherchieren.

Vielleicht findest du dann raus dass dein double-buffering Ansatz dann 
doch nicht mehr so genial ist wie du vielleicht dachtest.

Dass das hier vorgestellte Design ein Bild auf den TV zaubert, keine 
Frage, aber es taugt nicht mehr als fuer eine Photo-Frame Anwendung,
von der Aufloesung mal abgesehen.


> An einen FPGA habe ich zuerst gedacht. Aber weder habe ich ein
> Programmiergerät, noch ist der SRAM ausreichend dimensioniert und ich
> möchte auch nicht über 100 Euro nur für den FPGA ausgeben. Ausserdem
> haben die auch keine DIL gehäuse.

100 Euro in ein gutes FPGA Demoboard ist besser investiert als auch nur 
einen in das hier gezeigte PCB.

> Ich versuche mich später an denen.

Jetzt oder nie, aber die Lernkurve ist da vielliecht doch zu steil.

Cheers, Roger

von Sebastian H. (sebihepp)


Lesenswert?

Gut, bis ich eine bessere Idee habe, lege ich das Projekt erstmal aufs 
Eis. Ich habe leider nicht genug Geld für ein Demo-Board und wollte mich 
erstmal in die PICs einarbeiten. Die erste Testplatine läuft ja schon 
mal. =)

Achja, die 100 Euro waren für den FPGA selber gemeint. Ein Board kann da 
ruhig in diese Preisgrenze vorstoßen. Allerdings baue ich mir lieber 
selbst ein Entwicklungskit, damit ich alles habe, was ich brauche.

Ich bräuchte erstmal nen richtigen Lötkolben bevor ich mit SMD anfange. 
Die Spitze meines derzeitigen ist 3mm im Durchmesser und etwas 
abgeschrägt, also nur bedingt für Elektronik geeignet. Entlötlitze hatte 
ich auch noch nie in der Hand (noch nie benötigt, habe aber auch noch 
nicht viel gelötet).

Kann ich nicht die Pads vorverzinnen und dann den IC einfach drauf 
fixieren und dann die Stellen kurz erhitzen? Reicht da evtl. schon die 
chem. Verzinnung vom Platinenhersteller?

Viele Grüße
Sebihepp

von Roger S. (edge)


Lesenswert?

Sebastian Hepp schrieb:
> Kann ich nicht die Pads vorverzinnen und dann den IC einfach drauf
> fixieren und dann die Stellen kurz erhitzen? Reicht da evtl. schon die
> chem. Verzinnung vom Platinenhersteller?

Die Verzinnung vom PCB Hersteller reicht nicht zum Loeten aus.
Selber vorher verzinnen ist kontraproduktiv, da dann das Bauteil nicht 
plan aufliegt. Mit Loetpaste geht das aber.

Am besten Bauteil draufsetzen, ueber Kreuz fixieren und dann verloeten 
(gibt genug tutorials im Web).

Ich rate von chemisch Zinn ab, gibt nur Aerger,
problematisch in der Handhabung/Lagerung und loetet sich von Hand 
deutlich schlechter als HAL.

Drum fuer nicht Maschinell bei nicht allzukleinem Pitch -> HAL
Ansonsten chemisch Gold.


Cheers, Roger

von Sebastian H. (sebihepp)


Lesenswert?

> Am besten Bauteil draufsetzen, ueber Kreuz fixieren und dann verloeten
> (gibt genug tutorials im Web).

Okay, das SMD-Tutorial auf dieser Seite habe ich bereits durchgelesen.
Reicht meine Lötkolbenspitze mit 3mm oder ist diese zu groß?

> Ich rate von chemisch Zinn ab, gibt nur Aerger,
> problematisch in der Handhabung/Lagerung und loetet sich von Hand
> deutlich schlechter als HAL.

Kann ich auch keine Verzinnung wählen?

> Die Verzinnung vom PCB Hersteller reicht nicht zum Loeten aus.
> Selber vorher verzinnen ist kontraproduktiv, da dann das Bauteil nicht
> plan aufliegt. Mit Loetpaste geht das aber.

Ich habe mich jetzt erkundigt, was Lötpaste genau ist, aber ich habe 
weder einen Siebdrucker noch 'ne Reflowlötstation. Wie benutze ich das 
als Hobbieelektroniker?

Zum Schluss:
Welche Padgröße empfehlt Ihr mir? Natürlich so groß wie möglich, oder?
Was mache ich, wenn zwischen den Anschlüssen Bahnen durchgeführt werden 
müssen?

Viele Grüße
Sebihepp

von holger (Gast)


Lesenswert?

>Kann ich auch keine Verzinnung wählen?

Blankes Kupfer gammelt.

>Was mache ich, wenn zwischen den Anschlüssen Bahnen durchgeführt werden
>müssen?

Mit Lötstopmaske bestellen.

von Roger S. (edge)


Lesenswert?

Sebastian Hepp schrieb:
> Okay, das SMD-Tutorial auf dieser Seite habe ich bereits durchgelesen.
> Reicht meine Lötkolbenspitze mit 3mm oder ist diese zu groß?

Kommt auf die Form und Bauteile an, aber ist wohl schon eher ueber der 
oberen Grenze.

> Kann ich auch keine Verzinnung wählen?

wozu?

> Ich habe mich jetzt erkundigt, was Lötpaste genau ist, aber ich habe
> weder einen Siebdrucker noch 'ne Reflowlötstation. Wie benutze ich das
> als Hobbieelektroniker?

Mit einer Spritze, als Hobbyelektroniker hat dies jedoch keinen Nutzen, 
da wenn man Uebung hat alle TQFP und PQFP ohne Paste schneller loetet.

> Welche Padgröße empfehlt Ihr mir? Natürlich so groß wie möglich, oder?

Noe, von jedem Hersteller gibt es Angaben zum Gehaeuse, meistens ist das 
land pattern mit dabei oder man muss es sich bei JEDEC 'organisieren'. 
Am besten haltet man sich daran.

> Was mache ich, wenn zwischen den Anschlüssen Bahnen durchgeführt werden
> müssen?

Kommt auf den pitch draufan. Es gibt Gehaeuse wo es geht. Einfach darauf 
Achten dass es noch Loetstopp ueber der Bahn hat. Und Vias nicht zu nahe 
an die Pads.

Cheers, Roger

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.