mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ARM: Stromaufnahme vs. Speed


Autor: Ulf Knoblich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann mir jemand sagen, wieviel so ein ARM (z.B. AT91SAM7S128) je nach
Clock-Speed so zieht? Wir brauchen etwas schnelleres als den MSP430,
soll aber nicht gleich ein Vielfaches an Strom ziehen.
Der ARM muss nicht auf voller Geschwindigkeit laufen (so viel ist nun
auch wieder nicht zu tun)

Gruß

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aussage von Atmel für die SAM7S Serie:

"Power consumption with voltage regulator ON, BOD activated, ARM core
@50MHz, ADC activated, all peripherals clocked:
31.3 mA

Power consumption in ultra low power mode: voltage regulator in idle
mode, BOD and ADC deactivated, all peripherals unclocked, Flash in
standby, ARM core @500Hz:
41.2 µA
"

Gruß Jörn

Autor: Ulf Knoblich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja danke,

aber es ging nicht um den LPM, sondern darum, den ARM im Betrieb
möglichst stromsparend zu verwenden z.B. durch:
1.) Absenkung der Versorgungsspannung
2.) Reduktion der Taktrate auf z.B. 25MHz

Gruß

Ulf

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann im Datenblatt
(http://www.atmel.com/dyn/resources/prod_documents/...)
ab Seite 492. Dort gibt es eine Aufstellung was die Peripherie bzw. der
ARM-Kern an Strom zieht in µA/Mhz. Das dürfte das sein was du suchst.

Die Versorgungspannung kannst du nicht so frei variieren wie beim MSP.

Autor: Robert Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ulf,

wir haben die LPC2000 gemessen und kommen dabei auf folgende Werte mit
Peripherals clocked:
60 MHz von SRAM ca 40 mA in ARM mode
60 MHz von Flash ca 33 mA in ARM mode
Weil die LPCs ein 128-bit breites interface zum Flash haben sind die im
ARM mode spuerbar schneller als SAM7S allerdings ist es im Thumbmode,
der 20-30% weniger Performance bringt ziemlich genau gleich weil da das
32-bit breite Interface von Atmel genuegt.
Fuer Spitzengeschwindigkeit aus Flash ist der LPC ganz klar schneller,
aus dem SRAM bekommst du schlicht und ergreifend den Unterschied in
MHz.
Ach ja, ein Unterschied zwischen Flash LPC @ 60 MHz und Atmel SAM7S @
55 MHz vom SRAM existiert praktisch nicht +/- 2% performance gemessen.
Allerdings gibt es einen gewaltigen Unterschied zwischen Atmel Flash
und Philips Flash wenn im schnelleren ARM mode gearbeitet wird.

Unterschied zwischen ARM Mode und Thumb Mode:
Es benoetigt ca. 7 Thumb Befehle um dieselbe Funktion auszufuehren wie
5 ARM Befehle. Das bedeutet, 5 ARM Befehle = 20 Bytes, 7 Thumb Befehle
14 Bytes, also eine Code Optimierung von 30%. Das sind so die Zahlen
die allgemein auftauchen. Dann heisst es immer, dass Thumb Mode nur
minimale Performance Einbussen hat. Na ja, so kann man das nicht sagen,
es braucht aehnlich viele Zyklen in der CPU einen Thumb Befehl
abzuarbeiten wie einen ARM Befehl aber die CPU muss 2 Befehle mehr
abarbeiten im Thumb mode.
Der langen Rede kurzer Sinn, was im Thumb mode an Code Groesse gespart
wird geht an Geschwindigkeit verloren.
Trotzdem macht es Sinn den Thumb Mode fuer den groessten Teil des Codes
zu benutzen weil normalerweisse 90% oder mehr nicht kritisch ist in
Bezug auf Geschwindigkeit.

Fuer Deine Anforderung wuerde ich als empfehlen im ARM Mode zu
arbeiten.
Angenommen, 20 MHz sind schnell genug, dann spielen die
unterschiedliche Flashs sowieso keine Rolle, Du solltest so zwischen
12-15 mA bei SAM7 oder LPC2000 bekommen. Die Unterschiede zeigen sich
erst wenn es schnell wird (>30 MHz).

Gruss, Robert

Autor: Michael König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne den neunen Thumb-2 nicht, aber beim ursprünglichen ist es
definitiv so, daß jede Thumb-Instruktion intern genau einer
ARM-Instruktion entspricht.

Man sollte aber auch nicht vergessen, daß bei Thumb die meisten
Instruktionen nur auf den halben Registersatz zugreifen können, daß man
nur 2-Adresscode statt 3-Adresscode wie bei ARM hat und daß Shifts und
Rotationen bei ARM keine eigenständigen Instruktionen sind, sondern mit
jeder datenverarbeitenden Instruktion kombiniert werden können und dabei
noch nicht einmal zusätzliche Taktzyklen verbrauchen, wenn man nicht
gerade einen variablen Shift will.

Der Hauptvorteil von Thumb ist somit vor allem die bessere Codedichte
und die Tatsache, daß man den Code aus einem stormsparenderen 16-Bit
Speicher laden kann. Zumindest wird es so von Steven Furber
dargestellt, und der sollte es als einer der ursprünglichen Designer
des Prozessors eigentlich wissen...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.