Forum: Mikrocontroller und Digitale Elektronik AT91SAM7P256 / Maximale Geschwindigkeit


von Peter (Gast)


Lesenswert?

Hallo NG,

ich beschäftige mich ja z.Zt. wieder intensiv mit dem AT91SAM7P256.

Ist die Geschwindigkeit, wenn sie durch folgende Zeilen festgelegt wird 
die maximale Geschwindigkeit, oder geht da noch mehr?

//Selection of Master Clock and Processor Clock
//select the PLL clock divided by 2
p_pPMC->PMC_MCKR = AT91C_PMC_CSS_PLL_CLK | AT91C_PMC_PRES_CLK_2;
while(!(p_pPMC->PMC_SR & AT91C_PMC_MCKRDY));

Ich habe es auch schon mal mit AT91C_PMC_PRES_CLK probiert, aber da 
blinkt dann nix mehr :-(

Mit AT91C_PMC_PRES_CLK_4 wirds langsamer. Dann sollte doch 
AT91C_PMC_PRES_CLK die Sache beschleunigen, oder?

Vielen Dank für jeden Hinweis.
MfG
Peter

von Peter (Gast)


Lesenswert?

Hallo NG,

sorry, dass ich hier nochmal eine Frage stelle um die Eingangsfrage zu 
"pushen".

Ich wollte eigentlich nur wissen, ob der interne Takt - so wie im 
Beispiel beschrieben - schon das Maximum ist, oder ob es noch schneller 
geht. Warscheinlich habe ich mich nicht fachgerecht ausgedrückt. Ist nur 
ein Hobby von mir. Ändert aber nichts am Interesse zu der Thematik :-)

MfG
Peter

PS.: habe heute in der Arbeit mal eine Schleife in PHP bis 100000 zählen 
lassen (auf einem 3,2 GHz Rechner). Hat ein paar Sekunden gedauert. Auf 
dem kleinen ARM eine gefühlte 1/10 Sek. Da sieht man mal wieder, wo 
heute die Rechenzeit hingeht... Naja, auf der anderen Seite kann man 
halt recht schnell irgendwelche Dinge machen.

von Stephan (Gast)


Lesenswert?

Hi,

eigentlich stets im Datenblatt, aber so ungefähr weiß ich's noch.

48 MHz max mit USB
ca. 56 MHz ohne

AT91C_PMC_CSS_PLL_CLK -> default bei 96 MHz
AT91C_PMC_PRES_CLK_2 -> teiler von 2 (48 MHz)

da gibs noch richtige Multiplikatoren und andere Einstellungen die dir 
da die Frequenz bestimmen.

Stephan

von Peter (Gast)


Lesenswert?

Hallo Stephan,

danke für die Antwort.

> 48 MHz max mit USB
> ca. 56 MHz ohne

> AT91C_PMC_CSS_PLL_CLK -> default bei 96 MHz
> AT91C_PMC_PRES_CLK_2 -> teiler von 2 (48 MHz)

Kann dann mein PRG mit 96 MHz irgendwie laufen, oder ist 48 / 56 das 
Maximum?

MfG
Peter

PS.: wegen dem PHP-Beispiel: der ARM7 hat übrigens bis 800000 gezählt 
:-)

von gerhard (Gast)


Lesenswert?

>Kann dann mein PRG mit 96 MHz irgendwie laufen
nein!
das datenblatt verrät die max. taktfrequenz, in jedem fall prüfen, ob as 
flash nicht schon waitstates braucht (findest du auch im datenblatt).

gruss
gerhard

von Fremder (Gast)


Lesenswert?

Peter schrieb:
> MfG
> Peter
>
> PS.: habe heute in der Arbeit mal eine Schleife in PHP bis 100000 zählen
> lassen (auf einem 3,2 GHz Rechner). Hat ein paar Sekunden gedauert. Auf
> dem kleinen ARM eine gefühlte 1/10 Sek. Da sieht man mal wieder, wo
> heute die Rechenzeit hingeht... Naja, auf der anderen Seite kann man
> halt recht schnell irgendwelche Dinge machen.

muss ich mal doof fragen:
ich habe hier nen 2.4 dual core (intel) relativ gut eingerichtet und
würde gerne wissen - wie DU in PHP auf nur 100.000 kommst :(

in Vb.net:
 stpw.Start()
        Dim i As Integer
        Dim counter As Integer = 200000000 ' = 200.000.000

        Do While i < counter

            i += 1
            xInt = counter * 1.347123
            myP.intA = xInt - 10 ' ne structure damit der compi was zu 
tun hat
            myP.intB = xInt

        Loop

des hat dann ~ 1.7 Sekunden gedauert :)
in c++ hats 0.89 Sekunden gedauert

also kann da wohl irgendwas nich zusammenpassen UND

obwohl ich auch ein verfechter von ressourcenKlau bei den
heutigen pcs bin :)
denn 2.4 GhZ ist ja erstmal: 2.400.000.000 Takte/sek.

von Peter (Gast)


Lesenswert?

...sorry, Du hast Recht.
Ich hatte es "nur" im Zendstudio getestet.
Hab mal die effektive Zeit messen lassen.
Liegt auch im Bruchteilbereich.

Gruß,
Peter

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.