Forum: Mikrocontroller und Digitale Elektronik Funktion beschleuniggen (AT91SAM7s)


von Luky S. (luky)


Lesenswert?

Ich habe eine kleine Frage:
Mein AT91SAM7S64 läuft normalerweise mit einem Haupttakt von 18,432Mhz 
und das soll auch so bleiben (batteriebetrieben).
Nur eine Ansteuerungsroutine sollte schneller betrieben werden.
Was muss ich machen damit ich eine Funktion aus dem RAM heraus ausführen 
kann und wie ändert man den Takt am einfachsten?
Die PLL läuft aktuell mit 96Mhz.

von gerhard (Gast)


Lesenswert?

schon mal einen blick ins datenblatt geworfen?

gruss
gerhard

von Luky S. (luky)


Lesenswert?

Ja.
Das mit der Geschwindigkeit geht ja.
Aber die Funktion is RAM kopieren steht weder im Datenblatt noch habe 
ich sie in der GCC Dokumentation gefunden.

von BB (Gast)


Lesenswert?

Hier wirds gemacht, ich meine sogar im ersten example.
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/index_at91.html


gruß,
Bjoern

von Luky S. (luky)


Lesenswert?

Funktionen ins RAM kopieren ist gut beschrieben.
Ich habe jedoch eine prinzipiellere Frage und leider noch keine Antwort 
darauf gefunden:
Die ins RAM kopierte Routine soll mit 48Mhz ausgeführt werden.
Wie kann ich den Takt im Betrieb umschalten und was muss dabei beachtet 
werden?
Kann der Controlle,r wenn er mit 48hz läuft, weiterhin Funktionen aus 
dem Flash ausführen oder muss man dazu die Konfiguration des 
Flashzugriffes ändern (Waitstates einfügen)?

von gerhard (Gast)


Lesenswert?

hallo lukas,
hier ein paar antworten auf deine fragen


>Wie kann ich den Takt im Betrieb umschalten und was muss dabei beachtet
>werden?
zwischen verschiedenen clock-quellen umschalten kannst du mit dem Master 
Clock Controller. beim umschalten müssen nur manchmal timeouts. am 
besten mal im datenblatt mal das kapitel 26.7 Programming Sequence 
ansehen.
achtung: bei bestimmten masken des at91sam7s gab es probleme bei 
umschalten der clock-source (siehe kapitel errata des datenblatts).


>Kann der Controlle,r wenn er mit 48hz läuft, weiterhin Funktionen aus
>dem Flash ausführen oder muss man dazu die Konfiguration des
>Flashzugriffes ändern (Waitstates einfügen)?
sobald MCK > 30Mhz wird muß bei flashzugriffen ein waitstate eingefügt 
werden (siehe datenblatt).
beachte auch die hinweise im kapitel errata des datenblatts. MCK darf 
bei bestimmten masken des chips nicht innerhalb des bereichs von 3-19 
mhz liegen.

gruss
gerhard

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.