PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Selbstbau EEPROM-Brenner?



Felix G
21.11.2005, 20:39
Ich brauche einen EEPROM-Brenner (wer hätte es gedacht ;-))
und da die Dinger so teuer sind, dachte ich mir es wäre vielleicht sinnvoll selbst einen zu bauen.

Viel können muss er ja nicht...
bin schon zufrieden wenn ich (E)EPROMS programmieren kann,
und vielleicht noch PLDs (das ist aber nicht unbedingt notwendig)


Bei Google habe ich außer einem Bausatz für 70€ leider nichts gefunden,
aber vielleicht kennt ihr ja was passendes (irgendein einfaches Brennerchen zum nachbauen)

foxi_the_daywalker
21.11.2005, 21:05
http://s-huehn.de/elektronik/

Der Prommer dort ist ganz nett.

Bis denn
Foxi

Skilltronic
22.11.2005, 00:06
Hallo

Möchtest du serielle oder parallele EEPROMs benutzen? Für serielle mit I²C-Anschluss habe ich mir aus 2 Widerständen und 3 Z-Dioden einen Brenner (http://www.skilltronics.de/runterlader/24C16.gif) für die serielle Schnittstelle gebaut. Lesen und Schreiben funktioniert mit einem selbstgeschriebenen QuckBasic-Programm und sogar ohne zusätzliche Stromversorgung.

Bei parallelen ist der Aufwand etwas grösser. Mein Programmiergerät (http://www.skilltronics.de/runterlader/28C16.jpg) spricht die Adressen über einen Binärzähler an. So braucht man nur eine Takt- und eine Resetleitung und man kann ihn rechnerunabhängig auslesen. Deshalb habe ich ihn so umständlich gebaut. Mit einem einfachen Taktgeber und einem DA-Wandler kann man sich dann aus dem EEPROM z.B. einen Funktionsgenerator aufbauen. Dafür habe ich mir ebenfalls ein QB-Programm geschrieben, er läuft auch über die serielle Schnittstell aber braucht eine 5V-Zusatzstromversorgung.

Vielleicht ist da was für dich dabei - billig nachzubauen sind beide.

Gruss
Skilltronic

SprinterSB
22.11.2005, 09:46
Hi Felix,

Wenn du schon weisst, welche (E)EPROMs du brennen willst, kannst du die Schaltung darauf zurechtschneiden.

Serielle EPROMs sind recht einfach zu proggen, wie Skilltronic schon gesagt hat.

Bei den parallelen ist es nicht so einfach. Je nach Typ muss man bis zu 4 Spannungen vorhalten und hat einiges an Adress-, Daten- und Steuerleitungen zu versorgen.

Mein erster Eprommer bestand nur aus 2 Zählern, ein paar NAND, NOR und NOT Gattern und einen Anschluss an den User-Port des C64. Damit konnte ich 24C64 bis 27C256 lesen und brennen. Gesteuert wurde das gante über C64 mittels Assembler, der Aufbau war auf Lochraster mit Wire-Wrap.

Für ein neueres Projekt brauchte ich wieder einen parallelen Eprommer, und zwar um parallele 8 MBit EPROMs zu brennen und zu lesen. Als µC hatte ich einen AT89C2051 genommen und später aufgebohrt für nen AT90S2313. Bei über 40 Ports, die ich brauche, würde auch ein Mega32 nicht reichen, ich hab nen unidirektionalen SPI-Bus mit 4*74595 auf dem Board. Gesteuert wird über RS232 durch eine C++-Applikation vom PC aus. Falls der Schaltplan interessiert kann ich dan mal rauskramen.

Felix G
22.11.2005, 18:19
Hallo,
schonmal vielen Dank für die Schaltungen :)
wenn ich etwas mehr Zeit habe werde ich mir die mal genauer anschauen, vielleicht ist ja schon was passendes dabei



Möchtest du serielle oder parallele EEPROMs benutzen?Ich möchte zunächst parallele (E)EPROMs bis 512Kx8 (wäre natürlich schön wenn auch mehr ginge) brennen können.

Es sollte aber selbstverständlich auch möglich sein kleinere EEPROMS zu brennen da ich, genau wie du,
einige als Funktionsgenerator nutzen möchte die teilweise deutlich kleiner sein dürfen als 512Kx8



Für ein neueres Projekt brauchte ich wieder einen parallelen Eprommer, und zwar um parallele 8 MBit EPROMs zu brennen und zu lesen. Als µC hatte ich einen AT89C2051 genommen und später aufgebohrt für nen AT90S2313. Bei über 40 Ports, die ich brauche, würde auch ein Mega32 nicht reichen, ich hab nen unidirektionalen SPI-Bus mit 4*74595 auf dem Board. Gesteuert wird über RS232 durch eine C++-Applikation vom PC aus. Falls der Schaltplan interessiert kann ich dan mal rauskramen.Klingt interessant...
und es kann ja nicht schaden wenn der Brenner auch mit größeren EEPROMs fertig wird.
Wäre schön, wenn du mir den Schaltplan dazu geben könntest

joachim1954
14.04.2007, 01:05
Hallo Skilltronic
Durch zufall bin auf diese seite gestossen,weil ich suche einen Eeprom Brenner,dein Schaltungsvorschlag hat mir gut gefallen,ich paar Eeproms ST24C16 und ST24C32.Ich vor paar jährchen bisschen mit Basic Programmiert (Commodore C64),mich würde interessieren wie man mit
QuckBasic den Eeprom beschreiben und auslesen kann
MfG
Joachim.

shaun
14.04.2007, 13:23
Das Problem bei diesen Dingern ist: wenn Du ein Design für EEPROMs und EPROMs fertig hast (und da sage ich dann schon: Hut ab!) brauchst Du mal einen PIC, ein CLPD, ein GAL... und die verlangen dann nach 12V, 16V, was weiss ich wie viel Volt an einem Pin, den Du zuvor leider fest für TTL verdrahtet hattest. Hier
http://engcyclopedia.de/programmiergeraete.html
habe ich mich mal über Universal-Programmer und die Möglichkeiten ausgelassen, auf einer der Unterseiten ist ein Platinenfoto eines Pindrivers zu erkennen, den ich mal entwickelt habe, aber dann nicht weiter verfolgt. Das Ding sollte folgendes können: Jeder Pin kann wahlweise mit eine von vier extern zugeführten Spannungen verbunden werden. Dabei sollte eine eine Logik-Versorgung von 1,8-6V sein, eine weitere von 0-30V einstellbar, die nächste dasselbe, aber mit umschaltbarer Polarität. Die Netzteilmodule sollten auf Spannung und Strom überwacht werden, um Beschädigungen der eventuell einzigartigen auszulesenden Chips zu vermeiden. Eine weitere Relaisstellung war die Verbindung mit Masse. Durch die Relais konnten weite Spannungsbereiche bei geringen Impedanzen realisiert werden. In Ruhe haben die Relaiskontakte eine Verbindung des IC-Pins mit dem eigentlichen Pin Driver hergestellt, dieser bestand aus einem Bustreiber, dessen Versorgung gleich der Logik-Supply des zu programmierenden IC war. Ebenfalls an der Versorgung hingen Treiber, die alle einzeln mit Logikpegel und Output Enable beaufschlagt werden konnten, so dass hier Kombinationen aus Totem Pole, Open Collector und Open Emitter möglich waren. Zudem waren Pullups an jeden Pin separat schaltbar. Zusätzlich konnte die Spannung an jedem Pin durch einen Multiplexer einem A/D-Wandler zugeführt werden, um Chips mit teilbeschädigten Ausgangstreibern noch auslesen zu können.
Das alles war im Herbst 1998, das Gerät sollte 48 Pins bedienen können, hätte ein 3HE-19"-Gehäuse voller Tiefe umfasst, wäre zusammen mit einem 19"-PC als Steuerung also schon ganz schön untransportabel geworden und das schlimmste: für jedes IC hätte man zeitkritische Programmierroutinen schreiben, austesten,... müssen.
Insofern habe ich inzwischen neben dem Data I/O (für bipolare PROMs, 2708-EPROMs usw) noch ein Advantech Labtool in der Werkstatt, teuer aber gut. Alles andere sprengt an Aufwand jegliche Grenzen, wenn man ein halbwegs universelles Gerät braucht.

joachim1954
14.04.2007, 13:38
Hallo shaun
Danke für deine Antwort,aber mich interesirt mehr,wie kann man mit QBasic(QuickBasic) einen Eeprom programmieren,die Daten hineinschreiben und dann auslesen ?
MfG
Joachim.

kalledom
14.04.2007, 15:13
Hallo joachim1954,
wenn Du Dich auf Eeproms beschränkst, die pin-kompatibel sind, ist das Auslesen das kleinste Problem:
über das Parallel-Port Adresse Low ausgeben, Adresse High ausgeben, Chip-Select ausgeben und Daten einlesen.
Adresse High und Low müssen in Latchs gespeichert werden.
Ohne zusätzliche Elektronik geht es nicht.

Dann kommt das etwas größere Problem, das Programmieren.
Dazu wird am Programmier-Pin des Eproms eine Programmier-Spannung 12...??V angelegt.
Dann wie beim Lesen Adresse Low und High ausgeben, Daten ausgeben und dann, ja dann wird es hersteller-abhängig.
Entweder wird jedes Datenbyte 1ms lang angelegt, bis alle Adressen fertig sind oder
die Datenbytes werden für den gesamten Adressbereich in µs-Schleifen gebrannt, bis beim Compare festgestellt wird, daß alle Daten drin sind; dann noch einige Schleifen 'sicherheitshalber' hinterher.
Wenn Du dann noch Eeproms programmieren möchtest und dann noch den einen oder anderen µC, dann mußt Du es so aufbauen, wie shaun es schon beschrieben hat.
Na dann viel Spaß beim Selberbauen.

joachim1954
14.04.2007, 22:38
Hallo kalledom
Ich wollte nach vorschlag von Skilltronic http://www.skilltronics.de/runterlader/24C16.gif einen Brenner bauen und mit QBasic einen Programm schreiben der den Seriellen Eeprom 24C16 beschreiben und auslesen kann.Der Brenner soll an der RS232 Schnittstelle angeschlossen sein,deshlb wollte wissen wie der Eeprom 24C16 angeschprochen wird.Wie viele Adressen hat ein Eeprom 24C16 ?
(0000 bis ?),wie viele Bit hat eine Adresse ? (8,16,32 etc etc)
](*,)
MfG
Joachim.

kalledom
15.04.2007, 00:44
Hallo joachim1954,
für serielle Eeproms brauchst Du keinen 'Brenner'; die Dinger sitzen in jedem Autoradio, jedem ..... Hättest Du das mal früher erwähnt ....
Die seriellen Eeproms kannst Du mit (fast) jeder Schnittstelle auslesen und beschreiben. Ein Ausgang ist für den Takt und je nach Typ ein Ausgang und Eingang für die Datenbits oder einen bidirektionaler I/O-Pin für die Datenbits.
Bezüglich der Adressen solltest Du ein Datenblatt zu dem verwendeten Baustein laden und studieren. Die Erklärungen zu Random- und Sequentiell-Zugriffen würden hier zu weit führen.
Wie die serielle Schnittstelle von QBasic als NICHT-USART-Schnittstelle angesprochen wird, habe ich noch nie ausprobiert. Du mußt jedes einzelne Signal der SIO steuern.

joachim1954
15.04.2007, 09:12
Hallo kalledom
Danke für dene Hilfe
mfg
joachim.