Forum: Mikrocontroller und Digitale Elektronik Flash Memory löschen was ist zu beachten


von Ralf G. (old-school) Benutzerseite


Lesenswert?

Hallo zusammen,

habe eigentlich nur eine kurze Frage, was ist zu beachten wenn ein 
Flash-Speicher gelöscht werden soll,

z.B.
Am29F010
1 Megabit (128 K x 8-Bit)
CMOS 5.0 Volt-only, Uniform Sector Flash Memory

in der Anleitung vom Am29F010 steht:

The Am29F010 device is organized as eight uniform
sectors of 16 Kbytes each for flexible erase capability.

wie muss ich mir das vorstellen ...
der/das Flash-Ram kann geschrieben werden aber nur die Bits von 1 auf 0 
und durch das löschen werden diese wieder alle auf 1 gesetzt, wie bei 
den alten EPROMS mit Proger und UV-Licht.

besten Dank im voraus

von Reinhard Kern (Gast)


Lesenswert?

Ralf G. schrieb:
> wie muss ich mir das vorstellen ...

es gibt eine Befehlssequenz zum Löschen eines Sektors. Die musst du dem 
Flash unterjubeln und dann warten, bis das Löschen fertig ist, und das 
für jeden Sektor.

> ...durch das löschen werden diese wieder alle auf 1 gesetzt, wie bei
> den alten EPROMS mit Proger und UV-Licht.

Genau, bloss ohne Progger und ohne UV-Licht :)

Gruss Reinhard

von Martin (Gast)


Lesenswert?

Anmerkung:
Neben sektorweises Löschen (sector erase) kennt der Baustein auch 
komplettes Löschen (chip erase)!

Ähem, ist der Am29F010 nicht ein uralter Typ?
Gibt es den noch zu kaufen?
Datenblatt: 
http://www.datasheetcatalog.org/datasheet/AdvancedMicroDevices/mXrtsqs.pdf
Bei diesem Chip mußt Du für Chip Erase 6 Schreibzyklen einleiten, und 
danach entweder die definierte Erase Time abwarten oder den Status 
pollen.
Siehe "Chip Erase Command Sequence" auf Seite 11, Übersicht auf S.13.

Just my 5 cents

von Old_school_offline (Gast)


Lesenswert?

>> es gibt eine Befehlssequenz

z.B. diese für den Am29F010
---------------|-------1------|-------2------|-------3------|----------- 
--4---------|-------5------|-------6------|
...............|.Addr..|.Data.|.Addr..|.Data.|.Addr..|.Data.|.Addr...... 
..|.Data....|.Addr..|.Data.|.Addr..|.Data.|
Reset/Read...3.|.5555H.|.AAH..|.2AAAH.|.55H..|.5555H.|.F0H..|.RA........ 
..|.RD......|.......|......|.......|......|
Autoselect...3.|.5555H.|.AAH..|.2AAAH.|.55H..|.5555H.|.90H..|.XX00H/XX01 
H.|.01H/20H.|.......|......|.......|......|
Byte.Program.4.|.5555H.|.AAH..|.2AAAH.|.55H..|.5555H.|.A0H..|.PA........ 
..|.PD......|.......|......|.......|......|
Chip.Erase...6.|.5555H.|.AAH..|.2AAAH.|.55H..|.5555H.|.80H..|.5555H..... 
..|.AAH.....|.2AAAH.|.55H..|.5555H.|.10H..|
Sector.Erase.6.|.5555H.|.AAH..|.2AAAH.|.55H..|.5555H.|.80H..|.5555H..... 
..|.AAH.....|.2AAAH.|.55H..|.SA....|.30H..|

RA = Address of the memory location to be read
PA = Address of the memory location to be programmed  Addresses are 
latched on the falling edge of the WE pulse
SA = Address of the sector to be erased  The combination of A16, A15, 
and A14 will uniquely select any sector
RD = Data read from location RA during read operation
PD = Data to be programmed at location PA  Data is latched on the rising 
edge of WE

Im Datenblatt wird noch von einer Spannung(12V) an PIN (A9) geredet ... 
wird die denn bei dieser Befehlssequenz auch benötigt oder wird die nur 
noch aus kompatibilitäts Gründen unterstützt um den CHIP in den 
CODE-Modus zu bekommen.

Gruss Ralf

von Old_school_offline (Gast)


Lesenswert?

>> Ähem, ist der Am29F010 nicht ein uralter Typ?
>> Gibt es den noch zu kaufen?

brauche welche in DIL (2,54) Raster ... welche sind den aktueller ?

von Erich (Gast)


Lesenswert?

Das Thema überschneidet sich fast mit
Beitrag "29F040B in Schaltung programmieren"

Beide Bauteiltypen 29F010 und 29F040 sind "alt".

Aber es gibt sie offensichtlich noch zu kaufen, auch als DIP32.
Folgende Fa. hat welche, den 29F010 allerdings nur im PLCC32, 29F040 in 
beiden Varianten (bin nicht verwandt noch verschwägert).

http://www.chip-service.de/advanced_search_result.php?keywords=29F040&.ecrfwsnwpikiwjdt.x=0&.ecrfwsnwpikiwjdt.y=0

http://www.chip-service.de

von Reinhard Kern (Gast)


Lesenswert?

Old_school_offline schrieb:
> Im Datenblatt wird noch von einer Spannung(12V) an PIN (A9) geredet ...

Hallo,

nur für Autoselect im Programmiergerät (aber du weisst ja was du hast) 
und für Sector Protection. Wenn ich das überhaupt bräuchte, würde ich 
das mit einem Programmiergerät machen, nicht in der Schaltung, der 
Aufwand lohnt sich nicht.

In der Schaltung löschen und schreiben geht mit 5V only und A9 an A9.

Gruss Reinhard

von Erich (Gast)


Lesenswert?

Update zur Verfügbarkeit der 5 Volt paralell 8-Bit FLASH Speicher (32 
Pin Gehäuse):

Begriffe wg. Suche  AMD29F010  AMD29F020  AMD29F040

Die originalen AMD29F010A  AMD29F010B , AMD29F020A  AMD29F020B und 
AMD29F040A  AMD29F040B werden von AMD (Advanced Micro Devices) schon 
länger nicht mehr hergestellt.
Auch die ehemalige 2nd Source STM hat keine  M29F010B  M29F020B 
M29F040B mehr im Programm.
Diese Typen gibt es evtl. noch bei Resteverkäufern, Ebay oder 
Spezialdistributoren.

Aber gute Nachricht:
Es gibt noch das Bauteil  SST39SF010A  SST39SF020A  SST39SF040  der Fa. 
SST.
SST gehört seit 2/2010 zu Microchip.
Datenblatt hier: 
http://ww1.microchip.com/downloads/en/DeviceDoc/S71147.pdf

Das Bauteil ist prinzipiell ähnlich, hat jedoch grundsätzlich 
4-kByte-Sektoren.
Die "High Voltage Method" des AMD / STM an A9 existiert hier nicht.
Sector protection über Command Sequence.
Manufacturer ID und Device-ID sind natürlich auch anders.
Restliche  Command Sequence  scheint identisch zu sein.

Gehäuse DIP32, PLCC32 und TSOP (Standard) verfügbar.
Spannung 5 Volt, Speed 55 ns und 70 ns, Temperaturbereich -40°C to +85°C 
.

Erhältlich über Microchip direct oder auch bei Mouser.
Preise sind recht moderat und liegen ca. bei  Euro 1.-  bis  1.50

von Reinhard Kern (Gast)


Lesenswert?

Erich schrieb:
> Update zur Verfügbarkeit der 5 Volt paralell 8-Bit FLASH Speicher (32
> Pin Gehäuse):

Das stimmt so nicht ganz. Farnell z.B. hat verschiedene Ausführungen 
AM29F040 am Lager (ROHS-Konform!), die mit Original-AMD-Datenblatt 
geliefert werden unter der Marke "Spansion" - die haben wohl alles von 
AMD übernommen.

Ausserdem gibt es noch einen A29F040 von der Fa. AMIC, hab ich nicht 
weiter überprüft. Macronix stellt auch 29F040 her.

Bei RS ähnlich. Im Moment sind das also ganz normale ICs, alt sind sie 
insofern, als es sie schon länger gibt.

Gruss Reinhard

von Ralf G. (old-school) Benutzerseite


Lesenswert?

>> SST39SF040 (512K x8) hört sich sehr gut an, vor allem

Sector-Erase Capability = Uniform 4 KByte sectors
Sector-Erase 5555H AAH 2AAAH 55H 5555H 80H 5555H AAH 2AAAH 55H SAX 30H
SAX for Sector-Erase; uses AMS-A12 address lines

würde bedeuten der SST39SF040 hätte somit 128 Sektoren a' 4096 Byte,
würde mir für mein Projekt einer RAM-Floppy an einem Z80 sehr passen.

Schade die PDIL gibt es nur als SST39SF010A  SST39SF020A und da ist auch 
nur noch der SST39SF010A lieferbar :-(

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.