Forum: Mikrocontroller und Digitale Elektronik Beschaltung AT29C010 /Pulldowns?


von Thomas O. (Gast)


Lesenswert?

Hallo,

ich habe jetzt endlich meinen Flash-EPROM von Reichelt bekommen und
baue das gerade auf einem Steckbrett auf. Jetzt habe ich eine paar
kurze Frage.

Muss ich die Adresseingänge mit einem Wiederstand gegen Masse belasten
damit diese bei Low-Pegel auch 100% Low sind oder kann ich sie einfach
offen hängen lassen?

Wie ist es mit den I/O-Eingängen wird es dort auch benötigt? Wenn ja
wie groß sollte ich diese dimensionieren damit sie nicht zuviel Strom
ziehen um bei Highpegel zum Eingang oder Highpegel vom Ausgang
angeschloßen bleiben zu können?

von Rufus T. Firefly (Gast)


Lesenswert?

Eingänge nie offen lassen.

Pulldown-Widerstände sind allerdings unnötig, man kann sie direkt auf
Masse legen.

Ist an den Eingängen auch nur irgendetwas angeschlossen (beispielsweise
ein Port eines Microcontrollers), dann sind die Eingänge logischerweise
nicht mehr offen - und dann sind weder Pullup- noch
Pulldown-Widerstände erforderlich.
Pullups wären nur dann nötig, wenn der Microcontroller Open-Collector
(bzw. Open-Drain) Ausgänge hätte.

von Thomas O. (Gast)


Lesenswert?

Hallo,

ich baue das ganze erstmal mit Microschalern(DIP) auf um es zu testen.

ok Eingänge kan ich dann direkt auf Masse legen, wenn dann der I/O Pin
allerdings als Ausgang geschaltet wird und der liegt dann direkt auf
Masse denn wird es den Ausgang himmeln wenn er nicht intern nen Schutz
gegen Überlastung hat, deswegen wollte ich Wiedrstände reinmachen.

10kOhm oder 20(habe ich gerade da) sollten doch ok sein?

von Thomas O. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

kann mir jemand was zur Belastbarkeit der Ausgänge sagen? Wenn ich das
Datenblatt auf Seite 4 ganz unten richtig verstehe kann ich den Ausgang
mit 100µA belasten und die Ausgangsspannung bleibt dann bei min. 4,2V
wenn VCC 4,5V beträgt. Bei einer Belastung von 400µA fällt sie aber
schon auf 2,4V ab.

Was sagen eigentich die TTL Spezifikationen sollte das nicht mind. für
5V/2mA gut sein?

von Rufus T. Firefly (Gast)


Lesenswert?

Sag' mal, was hast Du da eigentlich komisches vor?

Magst Du mal Deinen vorgesehenen Schaltplan posten?

von Thomas O. (Gast)


Lesenswert?

Hallo,

ich hatte erstmal vor eine bestimmte Stelle im Speicher anzusprechen,
dazu benötige ich ja nicht alle Adressleitungen und deswegen leigen
einige offen. Die Ein/Ausgabe geschieht ja durch die 8 gleichen Pins,
so das die Frage ist wie lasse ich mir das in den Flash geschriebene
Byte wieder anzeigen und wenn die Pins als Ausgänge zu schwach sind hat
es ja keinen Sinn LEDs(LowCurrent) dranzuhängen, dann würde es nur mit
nem µC gehen, mit dem es später ja eh gemacht werden soll. Von der
aktuellen Schaltung habe ich noch keinen Schaltplan gemacht.

Hate letzte Woche ne Schaltung für einen Latchbaustein aufgebaut, mit
diesem ich dann später die Adressports ansteuern will. Dieser Teil der
Schatung funktioniert nun einwandfrei.
http://www.mikrocontroller.net/attachment.php/153963/Latch.png
http://www.mikrocontroller.net/forum/read-1-45071.html

Aber jetzt komt mir gerade ne Idee ich kann ja einen Latch nehmen um
damit die LEDs zu treiben weil das funktioniert ja.

von Rufus T. Firefly (Gast)


Lesenswert?

Die unbenutzten Adressleitungen des Flash-ROMs kannst Du ohne Probleme
auf Masse legen. Da Adressleitungen eines Speicherbausteins niemals
Ausgänge werden können, kann da auch nichts passieren.

Entkopple die Leuchtdioden mit einem einfachen Bustreiber, ein Latch
ist hier IMHO unnötig, es sei denn, Du möchtest nicht, daß die Daten
beim Schreibvorgang angezeigt werden.

Was ist insgesamt der Sinn der Übung? Leuchtdioden an ein 128
kByte-Flash-ROM hängen?

von Thomas O. (Gast)


Lesenswert?

Hallo,

ne an die Adressleitungen möchte ich keine Leuchtdioden hängen sondern,
an die Datenleitungen um die beschriebene Speicherstelle auch
auslesen(über Leds anzeigen) zu können.

Und da ist es einfach leichter das ganze per Dipschalter zu machen also
die Adressleitungen und Daten, anstatt da zig mal das Programm im
Rechner neu zu programmieren und auf den Tiny zu brennen.

Im Prinzip kann ich ja nen Latch als Bustreiber verwenden, also einfach
auf Transparent stellen weil ich einige Latches da habe Bustreiber aber
nicht.

Später soll das ganze eh von nem großen ATmega angesteuert werden. Ich
programmiere zurzeit einzelne Programmabschnitte die später in ein
großes Programm zusammengewürfelt werden.

von Rufus T. Firefly (Gast)


Lesenswert?

"ne an die Adressleitungen möchte ich keine Leuchtdioden hängen"
Davon habe ich nie geredet.

"Und da ist es einfach leichter das ganze per Dipschalter zu machen
also die Adressleitungen und Daten, anstatt da zig mal das Programm im
Rechner neu zu programmieren und auf den Tiny zu brennen."

Das klingt, als hättest Du sowas noch nie zuvor gemacht. Wozu soll das
denn gut sein?

Einerseits kann ein Flash-ROM wie das genannte nicht byteweise
programmiert/gelöscht werden (das ist schließlich kein EEPROM),
andererseits ist "zig mal" einen Dip-Schalter umzustellen auch keine
sonderlich elegante Lösung.

Bist Du Dir außerdem dessen bewusst, daß kein AVR externen
Programmspeicher unterstützt?

Insgesamt:
Was soll die ganze Übung? Willst Du ein Programmiergerät für Flash-Roms
entwickeln?

von Thomas O. (Gast)


Lesenswert?

Hallo,

nein habe das noch nie zuvor gemacht.

Man kann es nicht Byteweise programmieren? Aber wieso kann man es
bytegenau adressieren? Habe mich schon gewundert warum das so im
Datenblatt steht und das erklärt auch die lange Schreibdauer. Ich habe
es aber so verstanden das es die restl. 127 Byte einew Sektor
zwischenspeichert und dann mit dem einem Byte neu schreibt.

Naja ich wollte ja nur mal testweise ein einzelnes Byte schreiben was
mit den Dipschaltern schon gehen sollte.

Hardwaremäßig unterstützt es kein AVR, der 90S8515 sollte aber mit
normalen EPROM oder war es SRAM zurechtkommen. Aber es soll dann ja eh
in software gemacht werden.

Soll kein Programmiergerät werden, aber man soll durch Tastendruck
schon einzelne Byte erhöhen/erniedrigen können.

Also da ich ja im Prinzip ein Anfänger bin wäre ich für hilfe dankbar
da ich die Datenblätter nicht ganz so gut verstehe. Ich bemühe mich
aber erst reinzuschauen bevor ich fragen stelle.

von tubbu (Gast)


Lesenswert?

Hol dir doch lieber einen seriellen I2C EEProm.
Dann hast du das Preoblem mit den ganzen Adressleitungen nicht

von Thomas O. (Gast)


Lesenswert?

Hallo,

also damit sehe ich keine Probleme das Kniff mit denLatches habe ich ja
raus, dazu brauche ich dann 8 Pins für die Daten, 1 Pin für Latch out da
kann ich ja alle Latches zusammenfassen, und dann noch eine
entsprechende Anzahl an Pins für die Latch enable.

Für mich als ASM-Anfänger wäre das am leichtesten, da ich da ich mich
nicht erst mit I2C auseinandersetzen  muss.

Ich habe allerdings eine Dummheit begannen ich habe die Datenleitungen
mit Lowcurrentleds 2mA über 180Ohm belastet, jetzt weiß ich nicht ob
das Ding noch lebt da ich keinen Programmierer habe.

Kann das jemand ausschließen, oder war ich mit der Belastbarkeit von
400µA pro Datenausgang richtig gelegen?

von Rufus T. Firefly (Gast)


Lesenswert?

Ach, das Flash-ROM wird schon nicht davon gestorben sein. Mit 180 Ohm
gegen Masse kommt zwar bei der Beschaltung vermutlich nichts sinnvolles
mehr 'raus, aber wenn Du die Widerstände (und LEDs) beseitigst, dann
sollte das Teil wieder das machen, was es soll.

Es könnte bei Deiner Anwendung allerdings wirklich sinnvoller sein, ein
echtes EEPROM zu verwenden, denn bei dem kannst Du wirklich jedes
einzelne Byte beliebig programmieren.
Es gibt auch EEPROMs mit paralleler Ansteuerung, so daß Deine bisherige
"Schaltung" auch weitestgehend beibehalten werden kann.
Ein Beispiel wäre das AT28C64, das kost' bei Segor für 4.40.
Datenblatt gibt's bei Atmel.

von Rufus T. Firefly (Gast)


Lesenswert?

Ach ja, noch eine Anmerkung:
Auch der 90S8515 unterstützt keinen externen Codespeicher. Externes
RAM, ja, das kann man an einigen AVRs anschließen, aber das ist beim
AVR eben was anderes als Codespeicher - Stichwort "Harvard".

von Thomas O. (Gast)


Lesenswert?

Hallo,

@Rufus: Nun habe ich das Teil da und würde es gerne einsetzten, habe
aber anscheinend das ganze nicht richtig verstanden.

Kannst du mir da bitte etwas helfen? Mir kommen jetzt folgende Fragen.

Wie läuft diese Sektorweise programmierung ab muss ich jeweils
128Byte's nacheinander übertragen, diese landen in einem
zwischenspeicher und werden dann auf einmal geschrieben?
Ich dachte immer man kann jedes einzelne Byte schreiben da ja ansonsten
die Adressierung für die 128Bytes Unsinn ist wenn sie eh alle
nacheinander beschrieben werden.

Es geht eigentlich weniger um den Preis aber wegschmeisen will ich das
Teil nun auch nicht, selbst wenn ich mit einem Byte nen kompletten
Sektor voll machen müsste hätte ich ja dann immer noch 1023 Sektoren
die ich mit einem einzogen Byte beschreiben könnte.

Werde mir mal das Datenblatt zu nem normalen EEPROM ziehen.

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.