Forum: Mikrocontroller und Digitale Elektronik simm DRAMs parallel


von antworter (Gast)


Lesenswert?

Hallo zusammen,

ich versuche gerade zwei SIMM DRAM-Module (aus alten PCs) parallel zu 
betreiben.

Meines Wissens müßte es funktionieren, wenn sichergestellt ist, daß 
beide nCAS-Leitungen nicht gleichzeit "low" sind (also jeweils nur ein 
Modul ausgelesen wird).

Frage: Weiß jemand mit Sicherheit, ob DRAM-Module immer tristate sind, 
wenn nCAS high (und/oder nWE low) ist ?

von Benedikt K. (benedikt)


Lesenswert?

Ja, das sind die definitiv: Nur wenn RAS und CAS beide Low sind, sind 
die Ein/Ausgänge aktiv.

von Benjamin Munske (Gast)


Lesenswert?

Hallo,

kennt jemand Websites oder Informationen, auf welchen die Ansteuerung 
von  Simmmodulen beschrieben wird? Momentan plane ich nämlich auch diese 
anzusteuern, allerdings findet man nicht so einfach Projekte im Netz, 
die sich mit diesem Thema befasst haben!

Danke!

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

micron hat noch viele Applikationen auch zu älteren DRAM-Typen
http://www.micron.com/support/designsupport/documents/technotes
SDRAM-Datenblätter sind unter "Obsolete" zu finden:
http://www.micron.com/support/eolpartlist.aspx?n=DRAM_SDRAM_STEP%20SEARCH%20OBSOLETE&Select=Select

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Grundlagen lassen sich sicherlich auch diesem Beitrag von Benedikt 
entnehmen:

Beitrag "2MB DRAM an AVR"

von Benjamin Munske (Gast)


Lesenswert?

@Christoph Db1uq: Die erste Seite ist nicht schlecht, aber auf der 2. 
Seite habe ich nichts zum Thema "Simm-Module" gefunden.

@Rufus t. Firefly: Das habe ich auch schon gefunden - bis auf die 
letzten Beiträge ist es jedoch recht alt - dachte es gäbe was neueres in 
C.

Danke schon einmal!

von antworter (Gast)


Lesenswert?

@Benjamin

Mit den SIMM-RAMs habe ich schon zwei Hobby-Projekte abgeschlossen. Da 
es dort mit Dokumentation etwas mager ist, hier ein paar 
Erfahrungswerte:

- nimm Dir eines der im Forum herumschwirrenden Datenblätter 
Beitrag "2MB DRAM an AVR"

- spiele mit den Timings etwas herum

- teilweise halten RAM-Zellen ihre Werte für zig Minuten ohne Refresh, 
aber sobald die Temperaturen steigen, gehen diese Haltezeiten in den 
Keller ! Fazit: Nicht am Refresh sparen - sonst geht alles im 
Bastelzimmer perfekt und fällt dann reihenweise aus !

- die SIMMs sind recht robust

Glück auf :-)

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

In dem Thread schweben auch irgendwo C beispiele rum, die 
zugriffsroutinen in Assembler, und dazu rate ich auch. Ich komme mit 
meinem Assemblercode auf ca 500kb/s bei 16MHz (AVR).

von Bobby (Gast)


Lesenswert?

Vielleicht ist ja was dabei, was Dir weiter hilft:


Ich habe früher (15 years ago) mit DRAMs Platinen
gebaut. Die einfachste Ansteuerung geht so:


Ich beschreib das jetzt mal für ein einzelnes DRAM-IC (64Kx1):

Lesezugriff:
Zuerst R/W-Leitung richtig einstellen
(Ich glaube LOW bedeutet WRITE)

ROW-Adresse an die Adressleitungen anlegen
RAS-Setuptime abwarten
RAS-Signal aktivieren
warten
COL-Adresse anlegen
CAS-Setuptime abwarten
CAS-Signal aktivieren
warten
Nach Ablauf der Zugriffszeit steht das Datenbit am Ausgang D.
Zum Schluss RAS und CAS wieder auf HIGH setzen

Das Schreiben funktioniert genauso, nur
dass vor dem CAS-Impuls das Datenbit den gewollten Wert
haben muss.


Parallelschaltung von DRAMs:
Ein SIMM-Modul ist im Prinzip nichts anderes.
Dabei ist zu beachten, dass die Adressleitungen aller
ICs auf dem Modul parallel geschaltet sind.
Ein Mikrokontroller muss diese summierte Last treiben können.
Stichwort: FANOUT.


Zum Schluss (oder sogar am Anfang) muss man an den
Refresh denken, den fast alle DRAMs brauchen.
Dazu genügt es, alle Reihen in regelmäßigen
Abständen anzusprechen (RAS-zyklus). Im PC erledigt
das die Speicheransteuerung, also der Chipsatz.


Ciao

von Benjamin Munske (Gast)


Lesenswert?

Hey, das ist ja sehr nett von euch!

@antworter: Hast du deine Projekte irgendwo dokumentiert, bzw. kannst du 
mir was hilfreiches zuschicken? Die Datenblätter habe ich mich schon 
gespeichert!

@Hauke Radtki: Mit ASM habe ich mich zwar auch schon in zwei Projekten 
befasst, aber ich bevorzuge ja C. Dass ASM hier deutlich besser ist, 
kann ich aber auch nicht bestreiten. Wenn ich das richtig verstanden 
habe, dann hat Benedikt (s. Link oben) in seinem Projekt eine Mischung 
davon geschrieben, sprich die zeitkritischen Sachen in ASM und die etwas 
unkritischeren Sachen in C. Das interessiert mich doch sehr - das müsste 
man mit deinen Routinen doch auch machen können.

@Bobby: Hast du davon noch gute Schaltpläne auf Lager?

Werde mich in den nächsten Tagen erst einmal einlesen in das Thema - 
Stichwort: Datenblätter ;-)

von Benjamin Munske (Gast)


Lesenswert?

*mir ...man findet anschließend doch immer wieder Fehler... ^^

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Benedikts Assembler/C gemisch ist schon etwa das Optimum. Ich hab noch 
mal eigene Routinen allein in assembler geschrieben, da wenn man nur 
assembler nutzt noch ein paar dinge Optimieren kann. Nutzt du überhaupt 
einen AVR? Wenn  ja kann ich mal nen schaltplan posten. Wenn ich Zeit 
habe mache ich vielleicht sogar einen neuen, da ich nun meine Sockel für 
die Speichermodule habe und mir doch jetzt noch einige Verbesserungen 
für die alte Platine eingefallen sind.

von Bobby (Gast)


Lesenswert?

@Bobby: Hast du davon noch gute Schaltpläne auf Lager?

Leider Nein, aber die Platinen gibt es noch.
Die Pläne waren alle handgemalt, auch die Platinenvorlagen,
mit Edding-Anreibezeichen und Tuschstift.
Weiß aber nicht wo die hingekommen sind.


War damals für einen selbstgebauten 8085-Rechner,
der schneller und billiger als der IBM-PC sein sollte
und das auch war.
Das Ding steht im Regal über meinem Schreibtisch
und wer es versucht da wegzunehmen, oh weia ;-)

(Da es zu der Zeit noch keinen Assembler gab, den man
als Student sich leisten konnte, wurde das Ganze mit
der Befehlstabelle des Chip-Herstellers binär programmiert.
Das aber nur am Rande...)


Aber denk dran: RAS-CAS-Timing beachten, Treiberleistung
richtig dimensionieren und den Refresh nicht vergessen.

von Bobby (Gast)


Lesenswert?

Korrektur: Muss natürlich 8088 heißen statt 8085

von Benjamin Munske (Gast)


Angehängte Dateien:

Lesenswert?

@Hauke Radtki: Ja, ich nutze AVRs - die sind gut im Handling - damit 
kenne ich mich aus. Wäre sehr nett, wenn du was hochlädst zum Thema 
Schaltplan!

Etwas doof ist, dass ich gar nicht genau weiß, was ich hier für 
Simmmodule habe - nach einigen Google-Recherchen habe ich nur Anbieter 
gefunden, die ICs liefern wollen, aber kein Datenblatt!
Daher habe ich mal ein Foto gemacht und kann folgendes dazu sagen:

Linkes IC: HY514400A J-70
MittleresIC: HY514400A J-70
RechtesIC: HY531000AJ-70

Auf der Platine steht noch am Rand, dass sie von Hyundai gefertigt wurde 
und hinten steht noch JCI-S25 H.

Evtl. seht ihr sofort, wie groß die Speicherkapazität ist bzw. kennt die 
ICs oder sogar das Modul.

von Benedikt K. (benedikt)


Lesenswert?

Die beiden sind 1M x 4bit, das andere 1M x 1bit. Macht also 1MByte + 
1MBit. Es ist also der typische 1MByte Riegel mit Parity.

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Anschlußbelegungen findet man im "Hardwarebook", hier als PDF:
http://pf.ku.sk/lajciak/technickevybavenie/hwbook/hwbook2.pdf
Auf Seite 253 von 441 steht sei für 30polige SIMMs, die folgenden Seiten 
für 72-, 144- und 168-pin-Module

von Benjamin M. (bennm)


Lesenswert?

Danke für die Infos! Das Hardwarebook finde ich ganz gut - kannte ich 
bisher noch nicht!

So, ich habe mir nun mal den Artikel "Various Methods of DRAM 
refreshing" durchgelesen und habe dazu ein paar Fragen:

1. Wenn ich das richtig verstanden habe befindet sich im Chip ein 
Zähler, der bei jedem Refresh inkrementiert wird, so dass beim nächsten 
Refresh die nächste Speicherzelle refreshed wird. Man braucht im Prinzip 
für die empfohlene Refresh-Variante (CBR) nur die Pins RAS, CAS und WE 
um zu refreshen. -> Kann diese Aufgabe dann nicht theoretisch ein ATTiny 
übernehmen, damit der "Haupt-µC" mehr Zeit für andere Dinge hat oder ist 
davon abzuraten, bzw. dies nicht möglich? Der Tiny müsste natürlich 
Synchronisiert werden, damit er nicht refresht, wenn Daten geschrieben 
werden sollen.

2. Welche Refresh-Methode wird in den Quellcodes von Benedikt bzw. Hauke 
Radtki verwendet? Habe irgendetwas von einem "mix" gelesen!?

3. Bisher habe ich noch nicht gelesen, wie viele Bits pro Schreibvorgang 
geschrieben werden - klar es kann max. 1 Byte anliegen (8 
Datenleitungen), aber es kann ja sein, dass bei einem Schreibzugriff 
immer gleich mehrere Bytes geschrieben werden müssen!?

4. Da ich laut Benedikt ein 1MB-Modul besitze, müsste bei mir der 
Adressbereich bis 2^10, sprich bis 0-4095 gehen. D.h. D0 bis D9 sind 
aktiv, richtig? Jede Adresse steht für eine Speicherzelle á 8 Bit.

So, das wars zunächst einmal.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> 4. Da ich laut Benedikt ein 1MB-Modul besitze, müsste bei mir der
> Adressbereich bis 2^10, sprich bis 0-4095 gehen.

Der gemultiplexte Adressbereich geht bis 2^10. Das ist 1024, also von 
0-1023.

> D.h. D0 bis D9 sind aktiv, richtig?

Nein. Mit den Datenleitungen hat das nichts zu tun; es geht um die 
Adressleitungen A0..A9, die so ein 1 M-DRAM hat.

> Jede Adresse steht für eine Speicherzelle á 8 Bit.

Hier sind es sogar neun, da auf dem Speichermodul noch ein Paritybit 
zusätzlich vorhanden ist. Die Daten werden über die Datenleitungen 
D0..D7 und -je nach Bezeichnung- D8 übertragen.


von Benedikt K. (benedikt)


Lesenswert?

Benjamin Munske wrote:
> 1. Wenn ich das richtig verstanden habe befindet sich im Chip ein
> Zähler, der bei jedem Refresh inkrementiert wird, so dass beim nächsten
> Refresh die nächste Speicherzelle refreshed wird. Man braucht im Prinzip
> für die empfohlene Refresh-Variante (CBR) nur die Pins RAS, CAS und WE
> um zu refreshen. -> Kann diese Aufgabe dann nicht theoretisch ein ATTiny
> übernehmen, damit der "Haupt-µC" mehr Zeit für andere Dinge hat oder ist
> davon abzuraten, bzw. dies nicht möglich? Der Tiny müsste natürlich
> Synchronisiert werden, damit er nicht refresht, wenn Daten geschrieben
> werden sollen.

Theoretisch kann man das machen, praktisch macht das keinen Sinn.
Da du 1024 Refreshtakte alle 16ms brauchst (also 64000Takte pro 
Sekunde), kann dies der Hauptprozessor nebenbei erledigen. Bei 
durchschnittlich 3 Takten für einen Refresh sind das gerade mal 1,2% bei 
16MHz.
Die Synchronisation ist da Zeitaufwendiger.

> 2. Welche Refresh-Methode wird in den Quellcodes von Benedikt bzw. Hauke
> Radtki verwendet? Habe irgendetwas von einem "mix" gelesen!?

Ich verwende nur den CBR, da dieser eindeutig am einfachsten und somit 
am schnellsten ist: CAS auf Low legen, und danach nur noch RAS toggeln.
Bei jedem Schreib/Lesevorgang wird automatisch die ausgewählte Zeile 
refreshed.

> 3. Bisher habe ich noch nicht gelesen, wie viele Bits pro Schreibvorgang
> geschrieben werden - klar es kann max. 1 Byte anliegen (8
> Datenleitungen), aber es kann ja sein, dass bei einem Schreibzugriff
> immer gleich mehrere Bytes geschrieben werden müssen!?

Nein, es wird immer nur 1 Byte geschrieben (bzw. 16bit bei 16bit breiten 
DRAMs, aber die haben dann meist 2 CAS Anschlüsse um die Bytes einzeln 
ansprechen zu können). Für jedes weitere Byte muss man zumindest eine 
neue Spaltenadresse anlegen und CAS erneut auf High und Low setzen (das 
nennt sich dann Page Mode).

von Benjamin M. (bennm)


Lesenswert?

@Rufus t. Firefly: Oh man, da war ich aber unkonzentriert - meinte 
natürlich von 0-1023 - darum ja 2^10 ^^ Meinte auch die Adressleitungen.

>> Jede Adresse steht für eine Speicherzelle á 8 Bit.

> Hier sind es sogar neun, da auf dem Speichermodul noch ein Paritybit
> zusätzlich vorhanden ist. Die Daten werden über die Datenleitungen
> D0..D7 und -je nach Bezeichnung- D8 übertragen.

Es werden doch aber nicht 9 Bit abgespeichert, oder? Was meinst du mit 
"je nach Bezeichnung"

Wie genau funktioniert das eigentlich mit den Paritätsbits? Bekommt man 
bei einem Fehler eine Meldung in form eines High-Bytes oder so?

von Benedikt K. (benedikt)


Lesenswert?

Benjamin Munske wrote:

> Es werden doch aber nicht 9 Bit abgespeichert, oder? Was meinst du mit
> "je nach Bezeichnung"

Wenn CAS vom Parity mit dem normalen CAS verbunden ist schon. Mit "je 
nach Bezeichnung" meint Rufus, dass die Dinger keinen einheitlichen 
Namen haben. Einige nennen den Pin D8, andere Parity usw.

> Wie genau funktioniert das eigentlich mit den Paritätsbits? Bekommt man
> bei einem Fehler eine Meldung in form eines High-Bytes oder so?

Nein. Das ist nur ein Speicher. Um die Erzeugung des Prüfbits und den 
Vergleich nachher musst du dich selbst kümmern. Die wenigsten PCs nutzen 
daher das Parity Bit.

von Benjamin M. (bennm)


Lesenswert?

Ach so, aber das ist dann ein seperater Speicher, in dem für einen 
Schreibzyklus das Paritätsbit abgelegt wird oder wie? Weil eine 
Speicherzelle ist doch 8 Bit groß!?

Was mir noch eingefallen ist: Benutzt du Distributed- oder Burst 
Refresh?

Um noch mal zu meiner 1. Frage zurückzukommen: Stimmt das, was ich 
geschrieben habe:

> 1. Wenn ich das richtig verstanden habe befindet sich im Chip ein
> Zähler, der bei jedem Refresh inkrementiert wird, so dass beim nächsten
> Refresh die nächste Speicherzelle refreshed wird.

von Benedikt K. (benedikt)


Lesenswert?

Der Parity Speicher hat nur 1bit, d.h. man kann einzelne Bits schreiben.

Ich verwende eine Mischung aus distributed und Burst Refresh: Burst 
Refresh ist effizienter, allerdings ist der Controller allerdings für 
eine weile blockiert, da das ganze in einem Interrupt läuft. Ich mache 
meist 256 Refreshs hintereinander, und das ganze 250 mal pro Sekunde.

Der interne Adresszähler ist nur im CBR Modus zu gebrauchen. Beim Hidden 
oder RAS only Refresh muss man die Adrese angeben.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Von mir müssten 2 versionen rumschwirren. einmal werden alle zeilen auf 
einmal alle 16ms refreshed und einmal mach ich glaub ich 8 refreshs 
verteilt über die Zeit. Wieviele Refreshs man auf einmal macht hängt 
davon ab, wie groß die maximale schreiblatenz sein darf, d.h. du willst 
daten schreiben (z.b. wie in meinem beispiel ein audio signal sampeln) 
da sollte natürlich kein sample verlohren gehen.

von Benjamin M. (bennm)


Lesenswert?

Die Idee mit dem verteilten Refresh-Prozess finde ich sehr gut - werde 
ich dann demnächst mal ausprobieren und nachvollziehen.

@Hauke Radtki: Läuft die Schaltung von dir, die hier im Forum zu finden 
ist, zuverlässig oder gibts dort noch ein paar Verbesserungsvorschläge? 
Mittlerweile glaube ich nämlich zumindest eine Übersicht über die 
DRAM-Funktionsweise zu haben und müsste mir nun eine Schaltung zum 
direkten Erproben bauen. Von deiner Schaltung würde ich allerdings nur 
den DRAM-Teil von dir übernehmen.

Mein erstes Projekt wird eine art Logik-Analyser werden, der per RS232 
mit dem PC verbunden ist. Man soll Zeitintervalle einstellen können, 
nach denen gespeichert wird, ob gerade 5V oder 0V anliegen. Am Ende der 
Messung (RAM voll!) sollen die Werte an den PC übertragen werden und ein 
Graph gezeichnet werden. Bis auf den DRAM-Teil habe ich auch alles schon 
mehrmals in ähnlichen Variationen gebaut/programmiert - sollte also 
keine all zu große Hürde darstellen - bin aber sehr gespannt, wie 
komplex es für mich wird den RAM anzusprechen, aber dank eurer Tipps 
fühle ich mich schon ganz gut darauf vorbereitet.

...und zum Debugging ist so ein Forum ja auch gut ;-)

von Benjamin M. (bennm)


Lesenswert?

Da fällt mir gerade noch etwas ein: Ich habe hier ja 4 Simm-Module je 
1MB liegen. Wie viele davon kann ich parallel betreiben z.B. über 
Latches bzw. wie mache ich das üblicherweise?

von antworter (Gast)


Lesenswert?

>...und zum Debugging ist so ein Forum ja auch gut ;-)

...Eher "wenn das Debugging fehlschlägt"; ein bißchen selbst probieren 
und Hirn anstrengen wird gern gesehen...

von Benjamin M. (bennm)


Lesenswert?

hehe - war mir klar, dass so ein Beitrag kommt, daher habe ich ja schon 
diesen hier ans Ende gesetzt:

> ;-)

Werde sicherlich nicht posten: "Habe das jetzt `zusammengebraten` und es 
funzt net"...

von Benjamin M. (bennm)


Angehängte Dateien:

Lesenswert?

So, nach einigen Stunden Arbeit habe ich nun die erste Version meines 
zukünftigen Layouts für den schon oben erwähnten Logik-Analyser 
fertiggestellt.

Würde mich freuen, wenn ihr mal drüberschauen könntet und mich auf 
Fehler, bzw. Verbesserungen hinweisen könntet!

Funktioniert das so mit den Simm-Riegeln, wie ich das gezeichnet habe?

Zur Erklärung:

1. Habe jetzt doch alle Addressleitungen angeschlossen, da man ja evtl. 
auch mal auf 4MB-Module aufrüstet, wenn man merkt, dass 1MB zu knapp 
sind.

2. Die Input-Pins (PORTA4 bis 7) sind per DIP-Switch mit einem Pull-Down 
verbunden.

3. Passt das so mit der Kapazität vor den Ram-Riegeln? Habe gelesen, 
dass die möglicherweise einiges an Strom benötigen und man diese besser 
mit einem 100µF Kondensator unterstützen sollte - was meint ihr dazu?

Der Rest sollte eigentlich klar sein.

von Benedikt K. (benedikt)


Lesenswert?

Sieht ganz gut aus: Die 47pF am Reset sind aber zu klein, 47nF wären 
besser.
WR, und RAS kannst du parallel schalten (ist aber nicht unbedingt 
notwendig, spart nur Pins). CAS reicht zur Unterscheidung der beiden 
Module.

von Benjamin M. (bennm)


Angehängte Dateien:

Lesenswert?

Ah, vielen Dank - der Tipp mit RAS und WR (bzw. bei mir heißt der ja WE) 
ist gut, dann kann ich nämlich doch die Input-Pins an Int0 und Int1 
anschließen - das könnte sinnvoll sein. An die freien Pins habe ich noch 
2 Status-Leds angebaut (ist gut zum Debugging und auch beim Betrieb.
Ein Hauptschalter und die Power-Led komplettieren die Überarbeitung.

Noch irgendwelche Anregungen? Kann es zu Störungen kommen, wenn man all 
zu hochfrequente Signale einspeist? Wenn ja - wie kann man dem an den 
Input-Pins entgegenwirken? Macht das überhaupt Sinn in dieser Schaltung?

Danke!

von Simon K. (simon) Benutzerseite


Lesenswert?

Leg beim MAX232 am besten noch unbenutzte Eingänge auf Masse/VCC..

(Am besten Masse, wenn du eh eine Massefläche benutzt)

von Benedikt K. (benedikt)


Lesenswert?

Das ist nicht notwendig, ein MAX232 hat Pullups an den 5V Eingängen und 
Pulldowns an den RS232 Eingängen.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Also mit meiner Schaltung hatte ich beim DRAM teil eigentlich keine 
probleme.
Mehrere module schaltet man parallel, in dem man alle leitungen bis auf 
CAS parallel schaltet. Aber das hast du ja schon rausbekommen ;) Aber 4 
Eingänge für nen LA ist das nicht etwas wenig? ich würde wenigstens 8 
nehmen um 8 bit datenbusse abhören zu können.

von Simon K. (simon) Benutzerseite


Lesenswert?

Benedikt K. wrote:
> Das ist nicht notwendig, ein MAX232 hat Pullups an den 5V Eingängen und
> Pulldowns an den RS232 Eingängen.

Verdammt, ich kann mich noch an einen Thread erinnern wo das scharf 
diskutiert wurde. Ich kann mich nicht mehr genau erinnern, aber ich 
meine MAX232 Kopien/Versionen gegeben zu haben, die das nicht hatten.. 
(?)

PS: Beitrag "Max3232 -- nur ein Kanal benötigt"
PPS: Aber hier wird ja explizit ein MAX232 verwendet - Okay okay, ich 
gebe mich geschlagen ;)

von Benjamin M. (bennm)


Lesenswert?

@Hauke Radtki: Ja, hast schon Rest mit den 4 Eingängen, aber ich habe 
leider nicht mehr Eingänge - könnte evtl. noch an den 2 Status-Leds 
sparen. Einen größeren Prozessor könnte ich auch nehmen, allerdings 
benötige ich in der aktuellen Anwendung nur 2 Eingänge und habe hier den 
Mega 8535 herumliegen.

...Denke, dass ich die beiden Status-Leds wirklich noch gegen 2 Eingänge 
austauschen werde.

von Benjamin M. (bennm)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

da ich ein wenig Zeit gestern und heute hatte, habe ich die Schaltung 
mal entflochten - dabei ist das Resultat herausgekommen (Anhang). Jetzt 
steht mir das Ätzen bevor... könnte bei 2 Layern und so feinen 
Leiterabständen schwierig werden, aber mal sehen - bisher ging das immer 
noch.
Schaltplan erstellen, Routen, Optimieren und Kontrollieren haben 
übrigens ca. 8 Stunden gedauert.

von antworter (Gast)


Lesenswert?

Da springt mir eine elendig lange Leitung ins Auge (linkes Bild, 
ATMEGA-Pin ganz rechts oben).

Nimm dort doch lieber eine Brücke...

von Benjamin M. (bennm)


Lesenswert?

Meinste wegen Störungen? Die Leitung hat mir auch schon etwas 
Kopfschmerzen bereitet, aber es ist in der Nähe alles zugebaut!
Wenn es unbedingt sein muss, dann würde ich das ändern, aber wenns auch 
so funktioniert, lasse ich das lieber.

Aber danke für den Hinweis!

von antworter (Gast)


Lesenswert?

Da Du eh Bohrungen brauchst, würde ich an Deiner Stelle eine Brücke 
hinbasteln... aber ob es unbedingt nötig ist, kann ich nicht sagen - auf 
jeden Fall ist es schicker, wenn die Leitung nicht dreimal zwischen den 
Pins durchgeht.

von antworter (Gast)


Lesenswert?

Sag mal - geht die Leitung nicht sowieso auf der TOP-Seite nach unten ?

Wenn der IC auf der TOP-Seite spiegelverkehrt zur Bottom-Seite ist, dann 
führe die Leitung doch unten lang (von dem Via ausgehend).

(ich hoffe das ist irgendwie verständlich... bin satt-und-matt)

von Benjamin M. (bennm)


Angehängte Dateien:

Lesenswert?

So - es gibt mal wieder Neuigkeiten: Die Platine ist jetzt geätzt! Habe 
die eine Leitung nicht mehr umverlegt, da ich der Meinung war, dass es 
um diese nicht so kritisch steht (Machbarkeit / Störungen) und nur wegen 
des Designs...

Naja, jedenfalls ließ sich die Platine deutlich leichter herstellen, als 
vermutet! Das Platinenmaterial (7 Jahre alt) ließ sich trotz des Alters 
sauberst verarbeiten - war nicht schwer. Hoffe man bekommt auf dem Bild 
einen kleinen Eindruck davon, wie gut (für meine Hobby-Verhältnisse) die 
Platine geworden ist.

Werde dann demnächst die Platine bestücken, allerdings zunächst die 
SIMM-Module nicht anlöten, sondern erst einmal den µC in eine gute 
Ausgangsposition (Portrichtungen einstellen / Fuse-Bits setzen) bringen.

Gibt es eigentlich Zustände bei den SIMM-Modulen, die nicht geschaltet 
werden dürfen, weil davon das Modul Schaden nehmen könnte?
Worauf muss ich jetzt noch besonders achten?

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Ich hab mal nen fehler in der ansteuerung gehabt, wo die module schon 
daten an den ausgängen hatten und ich noch die ports auf ausgang, hat 
sich nur in nem höheren stromverbrauch/erwärmung wiedergespiegelt, ging 
aber trotzdem. Scheinen recht robust zu sein die Riegel.

Die Platine sieht gut aus! 7-Jahre altes Material, hätte ich nciht 
erwartet, dass man damit so gute ergebnisse erziehlen kann. Mit was hast 
du geätzt?

PS: Wenn du brauchst ich hab einige SIMM Sockel bei ebay günstig 
erstanden, und werde die wohl kaum alle je aufbrauchen können ;) Falls 
du welche brauchst melde dich

von Benjamin M. (bennm)


Lesenswert?

Es handelt sich um ein Plexiglasbecken, welches beheizt wird mit einem 
Aquariumheizstab. Auf dem Grund des Beckens befindet sich ein Schlauch, 
der mit Nadeln reichlich durchstochen wurde, aus dem mit ca. 2 Bar im 
Eingang Luft austritt. Bei der Ätzflüssigkeit handelt es sich um 
Ammoniumpersulfat - gabs mal bei Reichelt - jetzt bedauerlicher Weise 
nicht mehr!? Funktioniert gut!

Mal sehen, wie sich das mit den Simm-Modulen bewährt, wenn das gut 
funktioniert hätte ich schon Interesse an Sockeln, aber warum hast du 
das nicht ein paar Tage eher gesagt - dann hätte ich dir sofort einen 
abgekauft und in die aktuelle Schaltung eingesetzt!

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.