Mittlere Zugriffszeit bei FLASH-Speicher in µCs?

OP #995120
Lesenswert?

Hallo,

ich soll eine Zeitabschätzung machen, wie lange eine Datenübertragung 
dauert. Ich finde im Datenblatt zu diversen 8Bit µCs nur Angaben für 
Lösch- und Schreibzeiten des FLASH aber nicht für einen Lesezugriff. 
Eine Hausnummer / Byte würde mir da schon reichen. Was haben denn 
handelsübliche 8-Bitter (ATmega, HCS08, usw.) für Zugriffszeiten (z.B. 1 
Byte oder 1 Page) auf den Inhalt des Flashs? Laut Wikipedia verwenden 
µC's überwiegend NOR-Flash.

Vielen Dank.
Gast #995252
Lesenswert?

Hallo,

die Zugriffszeit ist doch nur wichtig wenn die CPU nicht mit dem vollen 
Bustakt auf den Sppeicher zugreifen kann. Mir ist jetzt eigentlich kein 
8 Bit Controller bekannt der für den Speicherzugriff Wait States 
benötigt.
Also sollte die Zugriffszeit ein Buszyklus sein. Wie lange der braucht 
hängt von der Taktfrequenz des Controllers ab.

Eckhard
Gast #995389
Lesenswert?

Ein Flashzugriff auf das Codesegment ist natuerlich 1 Zyklus, der ist 
sogar implizit. Will man quasi auf das Datensegment zugreifen, welches 
physikalisch dasselbe wie das Codesegment ist, muss man zuerst einen 
Pointer setzen und eine Flashread funktion aufrufen, dann hat man den 
Wert sofort, dh innerhalb eines Zyklus in einem Register.
#995394
Lesenswert?

so nicht wrote:
> Will man quasi auf das Datensegment zugreifen, welches
> physikalisch dasselbe wie das Codesegment ist, muss man zuerst einen
> Pointer setzen und eine Flashread funktion aufrufen, dann hat man den
> Wert sofort, dh innerhalb eines Zyklus in einem Register.

Nein, es sind mindestens 2 Takte, denn gleichzeitig muss ja noch der 
nächste Befehl gelesen werden. Daher wird ein weiterer Takt hinzugefügt, 
in dem der Datenwert gelesen wird.
Gast #2077364
Lesenswert?

auch wenn schon etwas älter!!

Aber das ganze ist doch immernoch abhängig vom flash controller oder 
nicht? Denn wenn dieser eine Zugriffszeit von 10µs hat (??), aber meine 
MCU mit 50 MHz taktet, ist doch hier der Flaschenhals oder nicht?
#2077373
Lesenswert?

Als Daumenregel habe ich den Eindruck, dass recht viele Controller mit 
Flash als Programmspeicher jenseits von 20-40MHz Zykluszeit auf 
Waitstates ausweichen. Daraus kann man wohl auf die derzeit technisch 
übliche maximale Geschwindigkeit eines solchen Flash-Speichers 
schliessen.
Gast #2077709
Lesenswert?

alles klar, bei diesen Zeiten ist es tatsächlich kein Problem. Ich hatte 
überlegt, wieso als Datenspeicher nicht mal Flash anstatt RAM, aber 
dafür sind dann wohl die langen Schreibzyklen verantwortlich oder?
#2077806
Lesenswert?

Flasch Hals schrieb:

> Die Technik ist schon lange weiter:
> Ein Renesas RX610 läuft mit 100MHz ohne Wartezyklen.

Das Thema hatten wir schon mal, und wenn Renesas der Konkurrenz 
tatsächlich um viele Jahre voraus sein sollte, dann ändert das nichts 
daran, das viele aktuelle Controller nach wie vor jenseits von um die 
30MHz herum mit Waitstates arbeiten. Daher hatte ich das auch 
Daumenregel genannt und nicht eisernes Gesetz.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren