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).
Primär für die Sicherung 5 EPROMs des selbigen Typs. Wie würde denn eine solche beschaltung aussehen?
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,
Gibt wohl nicht sehr viele, die mir hier eventuell weiterhelfen könnten? Hab in Google bisher auch nichts tolles gefunden..
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.
>Datenblatt hab ich dazu schon selbst auf dem Rechner. Lesen! Paragraph 2.2 beschreibt den "Algorithmus" (mit 3 Anführungszeichen) welcher nur noch in eine beliebige Programmiersprache umgesetzt werden muss... >Wie würde denn dann die Programmierung aussehen? ... und dafür gibts Tutorials, z.B. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial wenn es C sein soll. Sollten die Portpins nicht reichen hilft http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister . Reicht das?
Ja okay.. Benötige ich nun zum Lesen die A0-17 Pins oder reichen mir lediglich die O0-7 Pins?
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.
Du kannst die Adressen auch über 2 * 74HC4040 erzeugen, dann brauchst Du nur 2 IO-Pins zum MC (Rücksetzen, Zählen). Also insgesamt 10 IOs. Peter
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!
@Karl heinz Buchegger
> Alleine für diese Fragestellung sollte man dir die Lizenz entziehen.
Welche Lizenz?
@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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.