Forum: Mikrocontroller und Digitale Elektronik Vergleich Rechenleistung MSP430 vers. Atmega


von chris (Gast)


Lesenswert?

Hallo Zusammen,

wie würdet Ihr die Rechenleistung eines Atmega mit einem MSP430 bei 
gleicher Taktfrequenz bewerten?

Der Atmega ist ein 8 Bit Prozessor, der MSP ein 16 Bit Prozessor.

von Helfer (Gast)


Lesenswert?

Such mal das Dokument "AVR Competitive Analysis with MSP430" von den 
Atmel Leuten.

IMHO kann man Programme schreiben, die auf dem einen µC besser aussehen 
als auf dem anderen µC. Wer was ist, hängt vom Schreiber ab :)

von Christoph H. (mc-entwickler)


Lesenswert?

Wenn das Paper von Atmel ist, könnte es etwas tendenziös sein.

Mich hätte die Meinung von jemandem interessiert, der beide Prozessoren 
kennt und in C programmiert.

von Christoph H. (mc-entwickler)


Lesenswert?

Hier gibt es das Paper:
http://www.prochild.co.kr/board/files/tb_6/TI_MSP430Competitive%20Analysis-Rev.3.doc

Beim Avr sprechen sie von 16Mips, wohingegen der MSP430 nur 8 Mips 
erreicht.
Ausserdem 20-30% größerer Code.

von Sebastian (Gast)


Lesenswert?

Meine Einschätzung - nur aus eigener Erfahrung, habe beide schon 
ausprobiert - ist folgende: Der AVR ist schneller, wenn es nicht ums 
Rechnen geht, sondern um möglichst schnelles Port-Toggeln für 
Bitbanging, und die meisten Dinge, sie sich mit bitweisen logischen 
Verknüpfungen abbilden lassen. Der MSP430 hat die Nase vorn, sobald mit 
größeren Zahlen gerechnet wird - das muß man ihm mit 16 Bit nunmal 
lassen - und besitzt eine überraschend gute Code-Effizienz. Es kann 
durchaus vorkommen, daß ein funktionsgleiches C-Programm auf dem MSP430 
am Ende einige Bytes weniger Binärcode ergibt.

Eine allgemeine Empfehlung geben kann man nicht, beide haben ihren Reiz 
und jeder seine eigenen Vorteile. Ich würde den AVR verwenden, wo es um 
Low-Level Sachen in "harter Echtzeit" geht und jede Mikrosekunde zählt, 
den MSP430 eher zur Meßwertverarbeitung oder für Regelungsgeschichten 
und so.

Am Ende sind es jedoch meist andere Kriterien, die zur Wahl eines Mikros 
für ein bestimmtes Projekt bestimmend sind - Betriebsspannung, 
Peripherieausstattung... allein die A/D-Wandler von AVR und MSP430 sind 
grundlegend unterschiedlich. Der vom MSP ist wesentlich schneller, aber 
auch deutlich unruhiger, so daß man für brauchbare Ergebnisse mehr 
Aufwand treiben muß. Ich meine hier natürlich den ADC12, es gibt 
verschiedene Varianten, schon klar.

von Purzel H. (hacky)


Lesenswert?

Texas Instruments hat (mindestens vor Jahren) die Information zum 
Compilerschreiben sehr restriktiv vergeben, deshalb ist die Auswahl an 
Compilern fuer den MSP430 sehr viel geringer. Ich hatte damals keine 
Lust auf IAR, und daher fiel der MSP420 flach, und ich waehlte den AVR. 
Heute gibt es mindestens noch Imagecraft fuer den MSP430.

von Sebastian (Gast)


Lesenswert?

Oh, es gibt auch MSPGCC, praktisch genauso brauchbar wie das Gegenstück 
beim AVR, und alternativ eine auf 16 kB limitierte Entwicklungssoftware 
von TI (eigener Compiler + IDE).
Natürlich hat man die meiner Meinung nach ausgesprochen praktische 
Integration von AVR-GCC in das AVR Studio nur bei Atmel. TI hat leider 
nie Benühungen unternommen, MSPGCC in die eigene IDE einzubinden. 
Allerdings kann MSPGCC mit Eclipse benutzt werden, dazu gibt es eine 
Anleitung im Netz.

von chris (Gast)


Lesenswert?

Vielen Dank für eure Hinweise. Da mir auf der Embedded-Systems das 
Launchpad in die Hände gefallen ist, kam ich nicht umhin, damit ein 
wenig zu spielen.

Zuerst dachte ich der MSP430G2231 hätte einen Hardware Multiplier mit 
MAC, aber leider hatte ich zuerst mit dem IAR-Compiler für den falschen 
Typ kompiliert.

Nachdem nun mein Testprogrämmchen läuft, wollte ich den Prozessor 
außerhalb des Launchpad testen. Aber: leider geht es nicht. Im Launchpad 
geht es.

Mein Aufbau: Spannungsversorgung über eine Solarzelle mit 220uF 
geglättet und eine Piezo Speaker an Port 1.2.
Also insgesamt nur 3 Pins angeschlossen.

Weiß jemand, ob der MSP430 noch eine spezielle Reset-Konfiguration 
benötigt oder bzgl Spannungsversorgung empfindlich ist?

von Jörg S. (joerg-s)


Lesenswert?

>Weiß jemand, ob der MSP430 noch eine spezielle Reset-Konfiguration
>benötigt
Reset muss halt auf high.

>oder bzgl Spannungsversorgung empfindlich ist?
Wieviel Volt hat du denn?

von Jadeclaw D. (jadeclaw)


Lesenswert?

> 
http://www.prochild.co.kr/board/files/tb_6/TI_MSP430Competitive%20Analysis-Rev.3.doc
Man sollte bei diesem Atmel-Paper nicht vergessen, das es alt ist.
Z.B. ""There will be a megaAVR with LCD 1H 2002.""
Mittlerweile kaufbar einzeln als ATMega169 oder auf Platine mit Display 
als Butterfly.
oder: ""AVR is manufactured in a dense process, but still allowing 
2.7-5.5V operation.""
Das hat sich mit dem XMega auch erledigt, da ist bei 3.6V Schluß. Dafür 
fangen diverse AVR schon bei 1.8V an, der ATTiny43U dank integriertem 
Wandler schon bei 0.9V.

Also, es hat sich einiges getan, auf der MSP430-Seite sicherlich auch, 
hab' das dort nicht so verfolgt. Und was ein Controller letztendlich zu 
leisten vermag, ist, von wenigen Aspekten abgesehen, weniger von der 
Architektur/Familie abhängig, sondern von den Fähigkeiten des 
Programmierers. Mit passend designten Code bekommt man jede CPU in den 
Kriechgang. ;-)

Gruß
Jadeclaw

von chris (Gast)


Lesenswert?

Joerg S. schrieb
>>Weiß jemand, ob der MSP430 noch eine spezielle Reset-Konfiguration
>>benötigt
>Reset muss halt auf high.

Danke, das war's. Beim Attiny13 muss man den Reset nicht extern 
beschalten, dort zieht ein interner Pullup den Reset nach oben.

Hier mein kleines Low-Power-Solar Projektchen:
http://www.hobby-roboter.de/forum/viewtopic.php?f=5&t=43&p=528

Ich hatte gehofft, dass der MSP gegenüber dem Attiny13 bei noch 
geringeren Lichtverhältnissen los läuft. Ich habe festgestellt, das der 
Attiny13 noch bis zu einer Versorgungsspannung von 1.1V anläuft. Der 
Attiny13 läuft damit schon bei ziemlich schwachem Licht im Vergleich zum 
MSP430G2231 und ist damit für den Solarvogel im Vorteil.
Vielleicht kann jemand von den Erfahrenen unter euch mal auf die 
Takteinstellung in meinem Programm schauen und sagen, ob ich 
einigermaßen das Minimum des Stromverbrauchs erwischt habe.

von Tim (Gast)


Lesenswert?

Der Attiny13 läuft nur mit 1 Volt, nur wenn der Brownout-Detektor 
abgeschaltet ist. Ob der ADC läuft ist die Frage. Beim Msp430 musst du 
auch den Brownout-Detektor deaktivieren, vielleicht klappt es dannn 
auch.

Der neue MSP430L092 läuft schon ab 0.9 Volt
[http://processors.wiki.ti.com/index.php/Low_Voltage_Microcontrollers_from_MSP430]

von Jörg S. (joerg-s)


Lesenswert?

>Beim Msp430 musst du auch den Brownout-Detektor deaktivieren, vielleicht
>klappt es dannn auch.
Lässt sich meines wissens nicht deaktivieren. Der MSP hat ja auch keine 
Fuses, d.h. er müsste mindestens beim ersten Start mit aktiviertem BOR 
starten.

Die neuen MSP430L/Cxx haben nur ROM! Vermutlich ist es einfach der 
Flash-Speicher der es notwendig macht erst mit höherer Spannung 
anzulaufen.

von Sebastian (Gast)


Lesenswert?

Kann durchaus sein. Dennoch ist der "L092" Typ technisch ganz 
interessant - Im Datenblatt wird erwähnt, daß er einen Loader enthält, 
der das Programm in einem internen 2K RAM lädt, und währenddessen über 
P1.2 eine Ladungspumpe bedient, um den externen seriellen EEPROM zu 
versorgen. Das ist vom Konzept her gar nicht so schlecht gedacht, 
allerdings sind wir wahrscheinlich von der tatsächlichen Erhältlichkeit 
dieser Mikros noch ein Stück weit entfernt. Es könnte unter Umständen 
Muster geben. Dennoch stellen sich bei niedrigen Betriebsspannungen 
plötzlich neue Fragen, zum Beispiel: "Wie bekomme ich eigentlich eine 
LED zum leuchten...?"

von chris (Gast)


Lesenswert?

>"Wie bekomme ich eigentlich eine LED zum leuchten...?"

Eventuell mit einer Ladungspumpe:
http://www.elektronik-kompendium.de/sites/slt/0206161.htm

Oder man bastelt einen ganz einfachen Step-Up-Converter 
http://de.wikipedia.org/wiki/Aufw%C3%A4rtswandler
in dem man die Schaltpultze direkt mit dem MC erzeugt.

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.