Elektronik

EEPROM (seriell) 24C64/24C65/24C128/24C256

 
Die C-Control-(M)-Units sind grundsätzlich alle mit dem EEPROM 24C65 von "MICROCHIP" bestückt, d.h. es gibt einige wenige Versionen, die mit einer Pin-kompatiblen Version des EEPROM 24C64 von der Firma "SGS THOMSON" bestückt sind. Der Unterschied besteht darin, das der 24C65 einen High Endurance Block besitzt. Im Normalfall kann jede Speicherstelle im seriellen 24C65'er EEPROM, zwischen 100.000 mal und eine Million mal neu programmiert werden, danach ist sie tot. Es gibt aber einen verschiebbaren, 4096 Bit großen Bereich, der bis zu zehn Millionen mal neu programmiert werden kann. Dieser Bereich heißt High Endurance Block und liegt vom Werk aus (angeblich) am Ende des Speicherraums des EEPROMs.
Weitere Informationen bietet das 24C65 Manual (24LC64 Manual) von der Firma MICROCHIP. Auf der Seite http://www.geocities.com/ccontrolintern von Dietmar Harles liegt ein Programm zum Verschieben des High Endurance Blocks (leider noch nicht getestet bzw. kein Feedback).

24C256Es gibt sogar größere EEPROMs, die für die C-Control-Units genutzt werden können. Statt dem 24C65 (8 Kilobyte Speicher), kann man z.B. einen 24C256 einsetzen. Dieser bietet 32 KB Speicherplatz (siehe Tabelle unten). Zusätzliche Informationen zu diesem Thema gibt es auch unter
http://home.t-online.de/home/B.Kainka.





Das Betriebssystem schert sich beim Speichern in die Datendatei (mit den "OPEN# FOR ..."- und "PRINT#"-Befehlen) übrigens nicht um die Größe des EEPROMs. Falls über die gültige Bereichsgrenze des EEPROMs hinaus in dieses geschrieben (oder aus diesem gelesen wird) läuft einfach der interne Adresszähler im EEPROM über und es wird der Beginn des EEPROMs überschrieben. Nur der FILEFREE-Befehl benutzt zur Berechnung des freien Speichers des EEPROMs eine feste Größe.
Das kann man sich wie folgt zu nutze machen:

DEFINE blocksize 9    'es sollen immer 9 Werte geschrieben werden
DEFINE i BYTE     'definiert eine Variable vom Typ BYTE (8-Bit)
DEFINE Temperatur WORD    'definiert eine Variable vom Typ WORD (16-Bit)
DEFINE Luftdruck WORD
...
...
#hauptprogramm    'Beginn des Hauptprogramms
...
GOTO meszwert_speichern    'Sprung zum Unterprogramm
...
END    ' Ende des Hauptprogramms, ab hier beginnen die Unterprogramme

#meszwert_speichern    'Sprungziel und Name des Unterprogramms
  OPEN# FOR APPEND    'öffnet die Datei im EEPROM zum "anhängen"
    IF FILEFREE < blocksize THEN GOTO filefull    'Ist der Rückgabewert von FILEFREE
    'kleiner als der Wert von blocksize, dann Sprung zu filefull

    PRINT# Luftdruck    'Werte der Variable "Luftdruck" ins EEPROM schreiben
    PRINT# Temperatur    'Werte der Variable "Temperatur" ins EEPROM schreiben
    ...
    ...
   GOTO fileok    v'gehe zum Sprungziel

   #filefull    'Sprungziel
    PRINT"EEPROM voll"    'Fehlermeldung über COM-Port
    '(oder LCD-Ausgabe je nach Ausstattung)
    FOR i=1 TO 25    'akustischer Fehlermeldung (Schleife)
    BEEP 440,2,0
    BEEP 200,2,0
    NEXT
    #fileok    'Sprungziel
  CLOSE#     'Datei schließen'
RETURN     'Rückkehr zum Hauptprogramm

Erklärung:
FILEFREE ist ein CC-Basic-Befehl der auf freien Speicherplatz im Datenbereich des EEPROM testet. Ist der Rückgabewert von FILEFREE kleiner als die zu speichernde Blockgröße, so wird eine Fehlermeldung ausgegeben und zum Hauptprogramm zurückgegangen.



Soll ein BASIC-Programm mit mehr als 8 Kilobyte Größe von der C-Control ausgeführt werden wird für die Windows-IDE eine neue "CCBAS32.DLL"-Datei benötigt. Diese kann direkt von der Homepage von C. Edelmann heruntergeladen werden.

Übrigens:
Das interne EEPROM des MC68HC05B6-Mikrokontroller, das dazu dient Assemblerprogramme zu beherbergen kann nur ca. 10.000 Lösch- und Schreibzyklen vertragen. Also, vorher überlegen, ob die Aktualisierung des Assemblerprogrammes bei der Übertragung BASIC-Programms notwendig ist oder evtl. auskommentiert werden kann.


EEPROM Bezugsquellen:

TypHerstellerGröße BestellnummerPreis ca.
Conrad Elektronik Conrad
Klaus-Conrad-Str. 1
92240 Hirschau
Tel.: 01 80 / 5 31 21 11
24C65Microchip64K (8Kx8)18 1803-225.60 EUR
Reichelt Reichelt
Reichelt Elektronik
Elektronikring 1
26452 Sande
Tel.: 0 44 22 / 9 55 - 0
24C64ST (ehem. SGS Thomson)64K (8Kx8)St24C64BN61.80 EUR
24C64 (SMD)ST (ehem. SGS Thomson)64K (8Kx8)St24C64MN61.55 EUR
Farnell Electronic Components GmbH Farnell
Grünwalder Weg 30
82041 Deisenhofen bei München:
Tel.: 0 89 / 61 39 39 39
M24C64-BN6ST (ehem. SGS Thomson)64K (8Kx8)111-2604.78 EUR
M24C64-MN6 (SMD)ST (ehem. SGS Thomson)64K (8Kx8)3025-3293.71 EUR
M24C128-BN6ST (ehem. SGS Thomson)128K (16Kx8)111-2727.64 EUR
M24C256-BN6ST (ehem. SGS Thomson)256K (32Kx8)111-2845.26 EUR
FM24C256M8Fairchild256K (32Kx8)3550-4125.80 EUR
FM24C256N (SMD)Fairchild256K (32Kx8)3550-4005.80 EUR
RS Components GmbH RS
Hessenring 13b
64546 Mörfelden-Walldorf
Tel.: 0 61 05 / 4 01 - 2 34
AT24C6410PCAtmel64K (8Kx8)246-69795.60 EUR
AT24C64N10SC (SMD)Atmel64K (8Kx8)246-69635.60 EUR
24LC65PMicrochip64K (8Kx8)831-8324.58 EUR
Firma Modul-Bus Modulbus
Email: modul-bus@t-online.de
Tel. 0 25 74 / 80 90
AT24C256Atmel256K (32Kx8)---??.?? EUR
Firma Schuricht Schuricht
Email: scc@schuricht.de
Tel. 0 18 05 / 5 22 34 35
24LC65/PMicrochip64K (8Kx8)64 45 302.81 EUR
Stand: 12/03 (alle Angaben ohne Gewähr)



zurück zur Elektronik-Seite
 
http://www.counter-service.de http://www.counter-service.de
Home
uebermich
Programmierung
Amateurfunk
Elektronik
Download
Links
E-Mail
Gästebuch/Meckerecke
Counter-DG1XPZ