Hallo, ich möchte sicherheitshalber die I/O Pins eines EEPROM AT28C64 gegen Überlast schützen. Kann mir jemand sagen wie hoch ich den Wiederstand wählen soll. Ich verstehe das Datenblatt nicht richtig. Dort gibts die Angabe VOL Output Low Voltage IOL = 2.1 mA .40 V VOH Output High Voltage IOH = -400 mA 2.4 V Soll das bedeuden das der Pin wen ner High ist, bei einer Belastung von 400µA noch mind. 2,4V ausspuckt? Kann es evt. sien das die Pins eh gegen Überlast geschützt sind? Ich will dort nämlich eh Pulldowns reinmachen um einen sicheren Lowpegel zu haben, dort habe ich 10kOhm verwendet also 5V/10kOhm=0,5mA. Aber das würde ja dann bedeuten das da selbst bei High Pegel die Spannung unter 2,4V fallen würde und der AVR dann kein High erkennen würde. Wie sieht es mit den Adressleitungen aus kann es passieren das ich diese Überlaste, wenn z.b. die Pins am AVR zum sinken eingestellt sind oder sind die evtl. intern auch schon mittels Wiederstand geschützt. Ich befürchte das ich so ein Teil wieder kille und deshalb mit meinem Debugging nicht weiterkomme, deswegen will ich jetzt alles absichern. Wäre nett wenn mir da jemand mit der Dimensionierung helfen würde damit ich die Teile bestellen kann.
Solcherlei Pegel schreien doch geradezu nach Pullups statt Pulldowns.
Der EEPROM kommt ja direkt an den Memory-Bus, da brauchts keine Schutzbeschaltung. Für ordentliches High für den AVR sollten aber Pullups an die Datenpins (4,7kOhm), die AVRs sind ja nicht TTL-kompatibel. Wichtig ist es, die software-data-protection zu aktivieren, sonst kann es beim Ein- und Ausschalten zu unbeabsichtigten Schreibzyklen kommen (EEPROM wird vergeßlich). Peter
Hallo, verstehe ich nicht ganz. Ich beführchte einfach das wenn das EEPROM 10011001 ausgibt der AVR evtl. 1111111 einließt. Also brauche ich mir hierüber keine Gedanken machen. Ist die Belastung der Leitung wenn der AVR auf Eingang steht so hoch das die Spannung soweit abfallen kann. Also hätte ich eher damit Probleme wenn das EEPROM 10011001 ausgibt der AVR 00000000 einliest. Wann könne diese ungewollten Schreibvorgänge passieren? Wenn das EEPROM eingeschatet wird also VCC erhält? Über die Pegel finde ich auch keine klare Angabe im Datenblatt(ATM8535). Oder vielleicht ds hier bis 0,7V low ab 2,2V high? Im EEPROM Datenblatt steht ja das es bei High min. 2,4V auspuckt (400µA wird bestimmt die Belastung sein) Bei Low wird allerdings max. 0,4V bei einer Belastung von 2,1mA angegeben und das wird man doch nie und nimmer erreichen.
Ungewollte Schreibvorgänge gibt es, wenn WE beim Einschalten auf 0 erkannt wird. Immerhin ist der entsprechende Anschluss vom AVR zu dem Zeitpunkt auf Eingang programmiert, der Pin floatet also. Da kann man also softwareseitig das EEPROM entsprechend einrichten - die von Peter erwähnte software-data-protection. Sinnvoll scheint mir freilich auch, bei CS und WE je einen 10K Pullup anzuschliessen.
Hallo, habe im Datenblatt gefunden das das EEPROM beim Eenschalten der Stromversorgung erst nach 5mSek das Schreiben aktiviert. Ich habe aber sicherhaltshalber ne kleine Verzögerungsschaltung mittels RC gebaut so das es noch ein paar mSek längert dauert bis er die volle Spannung bekommt. Soll der Pullup nur einen Teil der Spannung liefern, so das sich der AVR nicht mehr so schwer tut oder soll er die Pegel auf High ziehen und der AVR tut sie dann auf Low sinken? Da die neueren AVRs ja sowohl 20mA sourcen wie sinken können sollte es doch keine Probleme geben, ich verstehe das einfach nicht woraus ihr zu diesem Schluß kommt, das man Pullups benötigt. Bitte um Erklärung
Wie Verzögerungsschaltung? Für die Betriebsspannung des EEPROM? Nee, das geht nicht. So kann es passieren, daß er durch den flachen Spannungsanstieg gar nicht aufwacht. Mach mal lieber an WE einen PullUp dran und initialisiere den AVR so, daß er beim Booten gleich den ensprechenden Pin auf 1 setzt. Dann geht das auch. Du kannst auch einen sogenannten Brown-Out Detektor (siehe AtmelCD, Appnotes) an den CE-Pin des EEPROM bauen, der erst über 4V diesen Pin auf Low legt und somit den EEPROM aktiviert und unter 4V eben wieder auf High. Im allgemeinen reichen dazu 3 Widerstände und ein pnp-Transistor aus. Habe ich hier seit Jahren laufen bei einer Schaltung und noch nix vergessen gewesen im EEPROM.
"ich verstehe das einfach nicht woraus ihr zu diesem Schluß kommt, das man Pullups benötigt." Nun, Du willst bestimmt auch den EEPROM lesen, also High vom EEPROM zum AVR und da sind ohne Pullups nur 2,4V garantiert, der AVR möchte aber 3V haben. Peter
Hallo, @Peter: Danke, jetzt hab ichs verstanden, wo hast du diese Angabe mit den 3 Volt her, habe sowas im Datenblatt nirgends gefunden.
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.