Donnerstag, 20. August 2015

Die verschiedenen Speichertypen von Mikrocontrollern

In diesem Post geht es um die verschiedenen Speichertypen eines Mikrocontrollers.

Der Flash-ROM

Der Flashspeicher eines Mikrocontrollers ist normalerweise immer der mit Abstand größte Speicher. Das liegt daran, dass im Flash der Code des Programms gespeichert ist. Typische Größen des Flashspeichers sind: ATmega 328: 32KByte, ATmega 2560: 256 KByte. Ursprünglich konnte der Flashspeicher eines Mikrocontrollers während dem normalen Betrieb nur gelesen werden, um das Programm auszuführen. Mittlerweile ist es jedoch gelungen auch während ein Programm ausgeführt wird in den Flashspeicher zu schreiben. Das geht über einen Lücke im Bootloader, der in den Flashspeicher schreiben darf. Flashspeicher ist nicht flüchtig, sein Inhalt bleibt also auch ohne eine Stromversorgung gespeichert.

Der EEPROM

Der EEPROM ist ebenfalls ein nicht flüchtiger Speicher, der, vereinfacht gesagt, die Festplatte eines Mikrocontrollers ist. In den EEPROM kann ein beliebiges Programm schreiben und Daten auslesen. Der EEPROM ist jedoch normalerweise kleiner als der Flashspeicher eines Mikrocontrollers (ATmega328: 32KByte vs 1KByte). Ein EEPROM mit 1KByte hat also 1024 Bytes Speicherkapazität, was bedeutet, dass man 1024 verschiedene Zahlen zwischen 0 und 255 speichern kann. Um einen größeren EEPROM zu erhalten, ist es möglich einen externen EEPROM, beispielsweise über I2C mit nur 2 Kabeln, anzuschließen. 

Der RAM(SRAM)

Der RAM ist ein flüchtiger Speicher, das bedeutet, dass sobald die Stromversorgung unterbrochen wird alle Daten gelöscht sind. Im RAM eines Mikrocontrollers werden, ähnlich wie am PC, die aktuell verarbeiteten Daten/Variablen gespeichert. Der RAM verträgt beliebig viele Lese- und Schreibzyklen. Typische RAM Größen sind ein paar KByte(ATmega 328 2KByte). Es gibt viele verschiedene Arten von RAMs(DRAM, BRAM, SDRAM,...). Hier findet ihr ein Aufzählung der RAM Arten mit Erklärung.

Externe Speicherbausteine

Wie bereits erwähnt, ist es möglich auch externe Speicherbausteine an einen Mikrocontroller anzuschließen. Dabei kann der Aufwand jedoch abhängig vom gewählten Speichertyp, der Anwendung und dem verwendeten Protokoll variieren. Häufig verwendet wird heutzutage externer EEPROM. Eine andere Möglichkeit wäre EPROM.

Keine Kommentare:

Kommentar veröffentlichen