Forum: Mikrocontroller und Digitale Elektronik "Memory-Mapped angebundener Flash-Baustein" und "seriell angebundener Flashbaustein"?


von Owen S. (senmeis)


Lesenswert?

Hallo,

hat jemand diese zwei Begriffe "Memory-Mapped angebundenen 
Flash-Baustein" und "seriell angebundenen Flashbaustein" gehört? Was 
sind die Unterschiede?

MfG
Senmeis

von Ralf (Gast)


Lesenswert?

Memory-mapped bedeutet, dass der IC über den Daten-, Adress- und 
Steuerbus angesprochen wird. Dafür hat der Controller separate Befehle.
Schnell, verbraucht aber viele Leitungen, evtl. Chip-Select-Dekodierung 
notwendig. Üblicherweise für Programm, kann aber auch Daten enthalten.

Seriell bedeutet, dass der IC über I²C, SPI, MicroWire etc. angebunden 
ist. Sofern der Controller entsprechende Peripherie hat, geht auch das 
direkt, allerdings nicht über spezielle Befehle, sondern "nur" durch 
entsprechendes Beschreiben der SFR.
Auch relativ schnell, aber weniger Leitungen. Die meisten Controller 
können nur Daten in seriellen Speichern ablegen, aber kein Programm.

Das dritte wäre dann in Software angesteuert, also die Portpins werden 
durch Software entsprechend gesetzt/gelöscht/gelesen. Das macht man 
dann, wenn der Controller die entsprechende Funktion nicht in Hardware 
unterstützt.
Nur für Daten.

Peripherie wie ADC/DAC/usw. gibt es sowohl parallel als auch seriell.

Ralf

von Owen S. (senmeis)


Lesenswert?

vielen Dank für die Antwort.

Arbeiten AVRs nach dem memory mapped Mechanismus? In meinem Lehrbuch 
steht ein Kapitel "Programmgesteuerte Ein-/Ausgabe": "...D.h. Die CUP 
operiert in 2 Adressräumen: dem Speicher-Adressraum (Memory Address 
Space) und dem E/A-Adressraum (I/O Address Space)."
Beschreibt dieses Kapitel doch den seriell angebundenen Flashbaustein? 
Ist diese Technik nicht veraltert, da diese auf zwei Adressräume 
zugreifen muss?

MfG
Senmeis

von Johannes M. (johnny-m)


Lesenswert?

Owen Senmeis wrote:
> Arbeiten AVRs nach dem memory mapped Mechanismus? In meinem Lehrbuch
> steht ein Kapitel "Programmgesteuerte Ein-/Ausgabe": "...D.h. Die CUP
> operiert in 2 Adressräumen: dem Speicher-Adressraum (Memory Address
> Space) und dem E/A-Adressraum (I/O Address Space)."
Das hat mit Deiner ursprünglichen Frage nichts zu tun. Die Angaben 
beziehen sich allgemein auf den Datenspeicher des AVR, der kein Flash 
ist, sondern ein SRAM! ein Flash hat der AVR als Programmspeicher. Und 
auf diesen Programmspeicher wird bei der Harvard-Architektur über einen 
separaten Bus zugegriffen.

Der Datenspeicher ist im AVR aufgeteilt in den I/O-Space und den 
allgemeinen Datenbereich. Bei den Standard-AVRs ist auch noch der 
Rechenregistersatz zu berücksichtigen, der ebenfalls ins SRAM gemappt 
ist, und zwar an die 32 niedrigsten Adressen.

> Beschreibt dieses Kapitel doch den seriell angebundenen Flashbaustein?
Wie oben schon gesagt: Es beschreibt gar keinen externen Flashbaustein, 
sondern das RAM. Flash ist beim AVR der Programmspeicher, und der ist 
architekturbedingt nicht durch externe Bausteine erweiterbar.

Das einzige, was man bei manchen AVRs (ATMega8515, 162 und alle 
128-Derivate) tatsächlich memory-mapped erweitern kann, ist das SRAM.

Es steht Dir frei, einen seriellen Flash-Baustein an eine der 
seriellen Schnittstellen des µC anzuschließen, der dann aber nichts mit 
der o.a. Fragestellung zu tun hat. Auf diesem Flash-Baustein kannst Du 
dann per Software Daten ablegen, auf die die CPU aber keinen direkten 
Zugriff hat.

> Ist diese Technik nicht veraltert, da diese auf zwei Adressräume
> zugreifen muss?
Auch die Harvard-Architektur hat ihre Vorteile.

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.