Hallo,
Ich möchte meinen Atmega16 dazu Missbrauchen, mir ein EPROM auszulesen
und während dem Lesen, die daten an die UART Schnittstelle zu schicken
um diese mit dem PC dann abgreifen zu können.
Das EEPROM ist ein 256Kbx8 von ST (M27C2001)
So nun habe ich ja A0 - A17 was ja meine Inputs sind.
Dann Q0-Q7 = Dataoutputs. (Ich denke die werden fürs Lesen relevant
sein?)
Dann E für Chip Enable
G für Output Enable
und P für Program (Erstmal uninteressant)
und VPP, VCC, VSS.
So nun müsste ich ja die Q0-Q7 an PB0-PB7 ran klemmen können ohne
Probleme, müsste dann den PB als "Eingang" setzten, und die Port Pins
auf High oder Low?
Dann müsste ich ja Die Steuerleitungen ChipEnable (e) und G (Output
Enable) auf High setzten wenn ich das Richtig aus dem Datenblatt gelesen
habe?
Laut Datenblatt gibts ein "Two Line Output Control" aber damit kann ich
nichts anfangen, kann mir vielleicht jemand das ein bischen erklären?
Lg
Daniel
Nun, du kannst deine Adressen "zu Fuß" auf irgendwelche Ausgabeports
schreiben, und wenn du CE und OE des EPROMs aktiv hast (kannst du,
wenn der Stromverbrauch keine Rolle spielt, die ganze Zeit aktiv
halten), dann hast du nach der Zugriffszeit die Daten am EPROM-Ausgang,
von wo aus du sie mit einem 8-bit-Port wieder einlesen kannst. Man
braucht natürlich ziemlich viele Portpins für Adressleitungen.
Könntest du ggf. durch Multiplexen machen, dann brauchst du ein
(oder zwei) 74*373 Register dazwischen. Dann bist du schon fast
beim externen Speicherinterface, wie es zwar der ATmega16 nicht hat,
aber beispielsweise der ATmega8515 (oder ATmega128/ATmega1281 dann
wieder).
Ah okay danke,
Wie würde denn dann die Programmierung aussehen?
Hätte hier einen Atmega1281, Atmega8515 noch rum fliegen, nur an den
Multiplexern haperts ein bischen.
Dann benötige ich für das Auslesen dennoch die A0-17 Ports?
geht es darum das teil einmalig einzulesen (sicherungskopie) oder um
einen professionellen "reader" der dauerhaft eingesetzt werden soll ?
für so ne einmalaktion lohnt sich ein imho ein mega128 nich (layout
nötig), aber wenn man was professionelles (evtl. erweiterbares) will tut
mehr flash immer gut...
PS: für ne einmalaktion reicht theor. sogar ein tiny2313 mit externen
schieberegistern (is nich so teuer wenn was falsch angeschlossen und
dein chip wegbruzelt).
Eprommer schrieb:> Dann müsste ich ja Die Steuerleitungen ChipEnable (e) und G (Output> Enable) auf High setzten
CE und OE sind low aktiv, erkennbar am Querstrich im Blockschaltbild.
Da das zwei Leitungen sind, ist das das
> "Two Line Output Control"> aber damit kann ich nichts anfangen,
Eprommer schrieb:> Gibt wohl nicht sehr viele, die mir hier eventuell weiterhelfen könnten?
Sach mal, was erwartest du? Dass dir hier jemand ein fertiges Programm
serviert?
> Hab in Google bisher auch nichts tolles gefunden..
Dann suchst du falsch. Zweiter Treffer ist ein Datenblatt vom EEPROM,
dazu das Datenblatt vom µP, der Rest wurde hier erklärt oder steht in
zig Tutorials die es überall im Netz gibt.
Ich erwarte hier kein vollständiges Programm!
Ich habe bereits gefragt, wie ich das EEPROM am besten an einen AtMega
anschließen könnte, oder wie ich das Abfragen kann, das wird wohl nicht
so wie in den Tutorials für I2C EEPROMs funktionieren.
Wenn es doch Zig Tutorials dazu gibt, dann kannst du gerne mal paar
Posten, das Datenblatt hab ich dazu schon selbst auf dem Rechner.
A0-17 Pins -> Adresse anlegen
(fängt bei 0 an und hört bei 262143 = 111111111111111111 auf)
Also 0 anlegen,
auf dem Datemport lesen
1 anlegen und
auf dem Datemport lesen
immer so weiter.
Gruss Klaus
Zitat: "Primär für die Sicherung 5 EPROMs des selbigen Typs."
Irgendwie steh ich auf'm Schlauch....
Wenn ich die Daten will, dann nehme ich ein entspr. Programmiergerät und
lese die EPROMs damit aus.
Und ein Programmiergerät ist auch nötig, um Dublikate zu erstellen.
Oder willst Du die Daten dann auch noch modifizieren?
(Motorsteuergerät, BIOS, ...)
ich habe das vor einigen Jahren mal gemacht, war ein EEPROM mit 12 oder
13 Adresspins ich habe diese mittels 2 74HC573 Latches angesteuert. Und
nur 1 Port für die Latches +4 Pins für die Steuerung des EEPROMs und der
Latches benutzt. Auf die schnelle habe ich die ersten Versuche noch
hier, habe Sie gerade durchgesehen und die Komentare geradegerückt, habe
da anscheinend nur die unteren 8 Adressen ausprobiert waren wie gesagt
die allerersten Versuche. Aber vielleicht könnt ihr damit schon etwas
anfangen.
ok um den Speicher von 0-xyz komplett lesen oder beschreiben ist ok.
Wenn ich aber von Speicherstelle 0 auf 10514 will vergeht schon etwas
Zeit wenn ich das reinzählen muss. Da fährt man mit 12 Pin besser wobei
man hier auch noch was einsparen kann, bin mir nicht mehr sicher ob ich
die Latches immer auf OE gelagt habe oder per µC ansteuere.
Hallo Thomas,
Du kannst die 4040er ja "parallel" betreiben, d.h. jedes kann einzel
getakted werden. Dann sind's nicht 2**24 sondern nur 2*12, bzw. 2**9
statt 2*18, wenn Du nur 18 Adresspins hast.
Gruß,
Jürgen
Eprommer schrieb:> Ja okay..>> Benötige ich nun zum Lesen die A0-17 Pins oder reichen mir lediglich die> O0-7 Pins?
Alleine für diese Fragestellung sollte man dir die Lizenz entziehen.
AVR mit 40Pins (keiner mit ADC), dann Daten-, Adress- und
Steuerleitungen
an Ports und Lesevorgang "händisch" nach Datenblatt programieren
-> Fertig
ist halt "etwas" Verdrahtungs- und Programmieraufwand.
ciao.
Eprommer schrieb:> Primär für die Sicherung 5 EPROMs des selbigen Typs.
Schick sie mir mit einem frankierten Rückumschlag, und ich sende dir
die Daten zu. Das geht schneller, als dir hier zu erklären, wie man
einen EEPROM anschließt und dir dann auch noch ein Programm zu
liefern.
Hallo,
Danke für die vielen Kommentare.
Karl heinz Buchegger @ Sorry, aber ich habe bisher nur mit I2C EPROMs
gearbeitet und nicht mit solchen alten 40 Pin EPROMs, ist es daher nicht
verständlich das es einen gewaltigen Unterschied zwischen normalen
EPROMs und I2C Eproms die man lediglich über 2 Leitungen abfrägt, gibt?
Es tut mir leid, wenn man eben nicht alles weiß und ein Forum zum
nachfragen nutzt.
Danke @ DL8DTL für dein Angebot, werde evtl. drauf zurück kommen :-)
Eprommer schrieb:> Karl heinz Buchegger @ Sorry, aber ich habe bisher nur mit I2C EPROMs> gearbeitet und nicht mit solchen alten 40 Pin EPROMs, ist es daher nicht> verständlich das es einen gewaltigen Unterschied zwischen normalen> EPROMs und I2C Eproms die man lediglich über 2 Leitungen abfrägt, gibt?
Gibt es.
Aber auch dir muss klar sein, dass man irgendwie dem EEPROM mitteilen
muss, von welcher Speicherzelle es die Daten auslesen soll.
Wenn du bereits I2C EEPROMs ausgelesen hast, dann hast du dem die
Adresse über I2C geschickt. Bei dem hier muss man auf den
Adressleitungen die Adresse einstellen. Also im Grunde noch viel
primitiver als ein I2C EEPROM, weil es kein Protokoll oder dergleichen
einzuhalten gilt. Aber wenn du im Datenblatt 'Adressleitungen' liest UND
weißt wie ein I2C EEPROM ausgelesen wird (das man eine Adresse angeben
muss), dann muss es bei dir klingeln, wofür die Adressleitungen wohl gut
sind.
Adresse A an den Adressleitungen anlegen
Mit den Steuerleitungen laut Datenblattvorschrift wackeln
Das EEPROM legt die von der angegebenen Adresse gelesenen Daten auf die
Ausgangspins.
µC holt sich das Datum von den Datenleitungen ab.
Fertig mit auslesen des gespeicherten Datums von der Adresse A.
Ein Forum in der Hinterhand zu haben entbindet nicht vom eigenständigen
denken. Gerade ältere Technologien (ab etwa 1970, davor war vieles
ausgesprochen trickreich) sind meistens unglaublich primitiv. Je
einfacher und naheliegender du daher mit deiner Denkweise an die Sachen
rangehst, desto näher liegst du oft an der Wahrheit.
Danke,
Leider empfand ich vor den ganzen Beiträgen die Thematik mit den älteren
EEPROMs, "frickeliger" als ein I2C, wo man einfach sein Protokoll
schreibt.
Aber klar, ich hab das Datenblatt so Interpretiert, das man lediglich
über die "Two wires" lesen kann.
Aber wenn's natürlich so einfach funktioniert, werd ich das auf
jedenfall mal testen, und mich dieser Primitiven sache nicht geschlagen
geben :-)
Dennoch danke für deine Antwort! :)
Ich werde jedenfalls berichten wie's ausgegangen ist!
@Eprommer
Schonmal drangedacht, irgendwie vorort eine Schule oder ein Uni-Labor zu
finden, wo noch ein Eprom-Programmiergerät rumliegt ?
(Und jedmand da ist, der es bedienen kann).
Oder -wie bereits angeboten- an Jörg Wunsch schicken...