Vergleich Rechenleistung MSP430 vers. Atmega

Gast #2120507
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.
Gast #2120534
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.
Gast #2120742
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?
#2120911
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
Gast #2121162
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.
#2121323
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.
Gast #2121343
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...?"

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