Hi,
ich stehe vor einem neuen Projekt und habe die Möglichkeit, dieses mit
einem 8051 oder einem MSP430 zu bewältigen.
In beide Controlertypen müsste ich mich erst einarbeiten und nun stehe
ich eben vor der Wahl, mich für einen der beiden entscheiden zu müssen.
Kann man pauschalisierend einen der beiden Typen gegenüber dem anderen
in Vorteil sehen oder muss dies grundsätzlich unter der jeweiligen
Aufgabenstellung betrachtet werden?
Ich benötige weder besonders viele Pins, noch eine besonder hohe
Verarbeitungsgeschwindigkeit, einzig der Energieverbrauch sollte nicht
zu niedrig sein und I2C sollte vorhanden sein.
Den Herstellersupport kann ich nicht beurteilen, aber der Usersupport
scheint zumindest in diesem Forum beim MSP weiter entwickelt zu sein.
Ich freue mich über jede persönliche Meinung, welcher zu bevorzugen
wäre.
Beim 8051 ist die Typenvielfalt erheblich größer und es gibt auch welche
im DIP-Gehäuse.
Beim Rechnen > 8Bit dürfte der MSP430 nen Tick schneller sein, aber das
ist Dir ja nicht wichtig.
Stromsparoptionen sind heutzutage bei allen MC-Familien vorhanden, da
gibt es keine großen Unterschiede mehr.
Der Keil C51 ist auch ein guter Compiler, den solltest Du nehmen.
Peter
Ich würde den MSP430 nehmen. Das ist ein moderner 16 Biter, auch im DIL,
auch reichlich Typen, flexible Taktversorgung, einfaches Debugging, ...
Preislich und Low Power steht der MSP430 weit oben auf dem Treppchen.
Aber das ist meine persönliche Meinung.
(Ach ja, ich kenne den 8051 gut, er hat mich jahrelang begleitet.)
Peter Dannegger schrieb:> Stromsparoptionen sind heutzutage bei allen MC-Familien vorhanden, da> gibt es keine großen Unterschiede mehr.
Bitte nenne die sparsamsten 8051 Typen. Ich würde gerne gegen den MSP430
vergleichen.
MSP430 schrieb im Beitrag #2675243:
> Bitte nenne die sparsamsten 8051 Typen.
Kann ich nicht, weil mich das nie interessiert hat.
Ich überlege mir immer erst, wieviel darf meine Schaltung verbrauchen
und suche dann einfach irgend einen MC aus, der die Anforderungen
erfüllt.
Oftmals ist auch garnicht der MC der Hauptverbraucher, sondern die
anderen Bauteile. Ob vielleicht ein anderer MC einige µA einsparen
würde, ist dann völlig egal.
Große Unterschiede sind jedenfalls nicht möglich, die Physik läßt sich
nicht überlisten. Der Verbrauch ist immer direkt abhängig von der
Taktfrequenz und der VCC.
Ein 8051 bei 5V verbraucht mehr, als bei 1,8V.
Peter
Peter Dannegger schrieb:> MSP430 schrieb im Beitrag #2675243:>> Bitte nenne die sparsamsten 8051 Typen.>> Kann ich nicht, weil mich das nie interessiert hat.Peter Dannegger schrieb:> Stromsparoptionen sind heutzutage bei allen MC-Familien vorhanden, da> gibt es keine großen Unterschiede mehr.
Passt nicht ganz zusammen.
Ich habe auch noch keine LCD Armbanduhr mit Beschleuningungssensor und
Funk auf 8051 Basis gesehen. Der MSP430 (CC) kann 's.
Aber egal, Du stehst auf 8051. Ich nicht mehr, ich nehme jetzt MSP430,
der ist auch billiger.
MSP430 schrieb im Beitrag #2677763:
> Ich habe auch noch keine LCD Armbanduhr mit Beschleuningungssensor und> Funk auf 8051 Basis gesehen. Der MSP430 (CC) kann 's.
Du meinst also, nur weil TI so ein Entwicklungskit anbietet, ist das der
Beweis, daß es mit anderen MCs nicht gehen darf ???
Dann bist Du aber ganz schön auf die Werbung reingefallen. Die
TI-Werbung ist schon gut gemacht, keine Frage. Ein Techniker sollte es
aber besser können und mal die Datenblätter lesen.
Ich hab einige Schaltungen, die mit AVR oder 8051 laufen und nichtmal
einen Ausschalter haben, die laufen jahrelang mit einer Batterie.
Sie wachen mit einem Interrupt auf, machen kurz was und gehen wieder
schlafen (<1µA).
Vorteil ist auch, daß die Weitbereich sind (1,8..5,5V), d.h. keinen
zusätzlichen Stromverbrauch durch einen Spannungsregler haben. Die
laufen direkt mit 2*1,5V, bis die leer sind.
Sie würden auch mit 2*1,2V Akkus laufen, aber die entladen sich ja zu
schnell selber.
Peter
ARM Cortex-M3 kommt nicht in Frage? STM32, LPC13xx/17xx, oder die
sparsamen EnergyMicro EM32?
Die µCs kannste speichermässig linear wegprogrammieren, hast genug
Rechenleistung RAM Flash.
Ausserdem arbeitest du dich damit in eine Architektur ein, die von sehr
vielen Herstellern für µCs verwendet wird. D.h. bei der Wahl der
nächsten MCU wird die Dauer der Einarbeitung wesentlich geringer
ausfallen.
@MSP430
nimm einen MSP, wenn Du in Deiner Wahl wirklich zwischen 8051 und dem
eingeschränkt bist. Argumente s.o.
Wenn nicht, erwäge wirklich den Schritt zu Cortex-M0/M3.
@Peda
bitte sei so sachlich und schaue Dir die MSP430 Familie kurz quer, bevor
Du wirklich einseitige und subjektiv gefärbte Empfehlungen abgibst.
Ansonsten ist die Wahl der geeignetsten zu verwendenden
uC-Famile+Toolchain in einem professionellen Umfeld von noch deutlich
mehr Faktoren abhängig...
Aber das würde den Rahmen hier sprengen, vermute ich.
Viel Erfolg, tom.
Entscheidung schrieb:> oder muss dies grundsätzlich unter der jeweiligen> Aufgabenstellung betrachtet werden?
Ja, genau.
tom schrieb:> @Peda> bitte sei so sachlich und schaue Dir die MSP430 Familie kurz quer, bevor> Du wirklich einseitige und subjektiv gefärbte Empfehlungen abgibst.
Du meinst also, mal blind einen Cortex-M0 / M3 empfehlen wäre objektiv?
Zugunsten der MSC-51 spricht, daß es sehr, sehr viele Leute mit
Erfahrung mit den Dingern gibt, und daß etliche Hersteller Controller
mit dieser Architektur produzieren.
MSP430 gibt es nur von TI.
MSC-51 in C zu programmieren ist ähnlich wie bei AVRs etwas hakelig,
weil da die Harvard-Architektur ihre Einflüsse ausübt. Die
von-Neumann-Architektur der MSP430 ist da geradliniger (solche Klimmzüge
wie "pgmspace.h" sind dort nicht erforderlich).
Bei keinem MSP430 kann das RAM erweitert werden oder Code aus externem
ROM ausgeführt werden.
Dafür sind MSP430 bei gleichem Takt leistungsfähiger, da sie mit 16 und
nicht nur 8 Bit arbeiten; es gibt auch MSP430-Varianten, die
16-Bit-I/O-Ports haben, und es gibt Varianten, die über einen
Hardwaremultiplikator verfügen.
Jeder MSP430 kann im System programmiert und debuggt werden, neben einem
seriellen Bootloader (BSL) gibt es bei allen Controllern ein
4-Draht-JTAG-Interface, das mit einem leicht selbstzubauenden
Frickelportadapter angesteuert werden kann.
Es gibt aber auch USB-JTAG-Adapter, das "Original" von TI kostet etwa
100 EUR.
Neuere MSP430-Varianten bieten auch eine Art "2-Draht-JTAG-Interface"
(SpyBiWire), das sowohl mit dem 100-EUR-Adapter als auch dem
spottbilligen Launchpad angesteuert werden kann. Das ist zwar langsamer
als das 4-Draht-JTAG, belegt dafür aber keine anderweitig verwendbaren
Pins.
Statt des 100-EUR-Adapters gibt es auch noch etwas günstigere Nachbauten
von Olimex.
Es gibt keine 5V-tauglichen MSP430, das ist reine 3V-Technik, was zu
berücksichtigen ist.
Dafür gibt es eine recht große Bandbreite an integrierter Peripherie,
was vom 10-Bit-ADC über 12-Bit-ADC und sogar einen 16-Bit-ADC reicht,
die verschiedenen UART-Varianten benötigen keine sogenannten
"Baudratenquarze", und insgesamt ist die Takterzeugung recht flexibel,
da sie zur Laufzeit angepasst werden kann (keine sogenannten "Fuses").
Nur sehr wenig MSP430-Varianten sind im DIP-Gehäuse verfügbar, und
noch weniger davon sind bei in Deutschland ansässigen Versandhändlern
beziehbar; Reichelt vertreibt nur die recht uninteressante weil
minimalistische 'F20xx-Reihe.
Mit der neuesten Variante des Launchpads wird der "größte" MSP430 im
DIP-Gehäuse ausgeliefert, das ist der 'F2553 im 20-poligen Gehäuse mit
16 kB Flash-ROM, 512 Byte RAM, einem 8-Kanal 10-Bit-ADC und diversen
Schnittstellen, UART, IrDA, I²C und bis zu zweimal SPI.
http://www.ti.com/product/msp430g2553
Alle "interessanten" MSP430-Ausführungen gibt es ausschließlich im
SMD-Gehäuse, so auch das "Dickschiff" 'F5438 mit 256 kB Flash und 16 kB
RAM, oder die für extrem niedrige Versorgungsspannung (ab 0.9V)
ausgelegten Varianten.
Man sollte die Diskussion erstmal dahingehend führen, WAS DENN gebaut
werden soll mit dem uC.
= Anzahl Pins
= Art der Energieversorgung (Batterie?)
= Art der Sonderfunktionen, wie I2C ; sonst nichts?
= Geschätzter Funktionsumfang (Speichergrösse)
Ohne solche Minimalangaben (+ mehr, wenn bekannt) kann noch nichtmal
eine "Richtung" für uC Auswahl erfolgen.
Rufus Τ. Firefly schrieb:> Nur sehr wenig MSP430-Varianten sind im DIP-Gehäuse verfügbar, und> noch weniger davon sind bei in Deutschland ansässigen Versandhändlern> beziehbar; Reichelt vertreibt nur die recht uninteressante weil> minimalistische 'F20xx-Reihe.
Andere gibt's in DIP ja auch nicht :)
OK, die G2xxx gibt's jetzt auch in DIP, aber das sind ja im prinzip
abgespeckte F2xxx.
@PeDa
Ich will Dir die 8051 nicht maidg machen. Jedem das Seine.
Peter Dannegger schrieb:> Ein Techniker sollte es> aber besser können und mal die Datenblätter lesen.
Würde ich gerne, aber Du hast mir keine µCs benannt.
Peter Dannegger schrieb:> Ich hab einige Schaltungen, die mit AVR oder 8051 laufen und nichtmal> einen Ausschalter haben, die laufen jahrelang mit einer Batterie.> Sie wachen mit einem Interrupt auf, machen kurz was und gehen wieder> schlafen (<1µA).Peter Dannegger schrieb:> MSP430 schrieb im Beitrag #2675243:>> Bitte nenne die sparsamsten 8051 Typen.>> Kann ich nicht, weil mich das nie interessiert hat.
Das passt jetzt nicht so ganz zusammen.
Rufus Τ. Firefly schrieb:> Zugunsten der MSC-51 spricht, daß es sehr, sehr viele Leute mit> Erfahrung mit den Dingern gibt
Der TE wollte eine Empfehlung zu 8051 oder MSP430. Bei beiden ist er
unbeleckt.
Aber danke für Deine Ausführungen. Die decken sich mit meinen
Erfahrungen. Für Newbees gibt es heute Besseres und Komfortableres als
8051.
MSP430 schrieb im Beitrag #2678972:
> Peter Dannegger schrieb:>> MSP430 schrieb im Beitrag #2675243:>>> Bitte nenne die sparsamsten 8051 Typen.>>>> Kann ich nicht, weil mich das nie interessiert hat.> Das passt jetzt nicht so ganz zusammen.
Was paßt denn da nicht?
Es gibt hunderte (oder tausende?) 8051. Ich kann daher unmöglich den
sparsamsten heraussuchen.
Auch ist der "sparsamste" Unsinn, den gibt es nirgends. Wie sparsam ein
MC ist, hängt immer von der konkreten Anwendung ab.
Sag mir eine konkrete Anwendung und wie lange sie mit welcher Batterie
laufen soll und dann erst kann ich Dir einen MC raussuchen, der dazu
paßt.
Hauptsächlich entscheidet aber die Firmware, wie sparsam meine Anwendung
ist. D.h. der Programmierer muß die einzelnen Tasks nur so oft wie nötig
und mit der Taktfrequenz so hoch wie nötig implementieren.
Auch ein MSP340 kann keinen Strom sparen, wenn der Programmierer ihn
ständig unter Volldampf laufen läßt.
Das Programm ist also der entscheidende Stromsparfaktor.
Ob dann noch ein Hersteller seine Transistoren nen Tick sparsamer bauen
kann, macht höchstens nur noch unter 1% aus.
Peter
Peter Dannegger schrieb:> Ich kann daher unmöglich den> sparsamsten heraussuchen.
Nicht den sparsamsten, sondern die Familie oder was auch immer.
Irgendein Beispiel für einen sehr sparsamen 8051. Einfach einen
Stellvertreter.
> Autor: Entscheidung
Das ist hier schon witzig, ausser dem Eingangsposting hat der TO seit
dem 13.5. nichts mehr von sich lesen lassen und hier wird immer noch
dargelegt, dass man offensichtlich nicht in der Lage ist (wie so oft),
die Datenblätter sämtlicher Derivate der 8051er Hersteller und Familien
zu konsultieren, um den µC herauszusuchen, der am wenigsten Energie für
sein Eigenleben benötigt... tssss
Mazze schrieb:> hat der TO seit> dem 13.5. nichts mehr von sich lesen lassen und hier wird immer noch> dargelegt
???
Es dürfen doch aus andere ihre Erkenntnisse aus den Posts ziehen.
Peter Dannegger schrieb:> Das Programm ist also der entscheidende Stromsparfaktor.> Ob dann noch ein Hersteller seine Transistoren nen Tick sparsamer bauen> kann, macht höchstens nur noch unter 1% aus.
Na ja, die MSP Hardware ist halt von Grund auf zum Spromsparen
optimiert. Beim PIC16 an dem ich gerade sitze ärgere ich mich z.B. schon
das ich nicht jedem Timer auch den Takt geben kann der im Sleep Modus
noch aktiv ist. Was dazu führt das ich den Sleep Modus überhaupt nicht
nutzen kann. Das ist beim MSP schon wesentlich besser gelöst, da ist die
Taktversorgung für jede Peripherie getrennt einstellbar und mit jedem
Takt versorgbar.
Der MSP gibt dem Programmierer also Lösungen zum Stromsparen an die
Hand. Ob man die nutzt ist natürlich einen andere Sache, aber es kommt
schon auf wesentltich mehr an als nur stromsparende Transistoren...
Servus! Deswegen bin ich seit über 1 Jahr Gecko-Fan: Da stimmt nicht nur
der niedrige Stromverbrauch, sondern der EFM32 ist auch einfach zu
programmieren. Der Profiler von Energy Micro erleichtert die Analyse wo
man bei Codieren in Bezug auf Energieverbrauch den Schwerpunkt setzen
sollte.
Ich würde die knapp 70Euro (siehe EFM32 Tiny Gecko Starter Kit bei z.B.
Digikey) investieren, um den einmal auszutesten. Für 70 Euro ist alles
dabei (HW Debugger, Strommessung, IAR Workbench) + Simplicity Studio von
der Energy Micro Seite (inkl. Profiler zum "Energy Debugging“).
Einmal probiert ....
Ich findes es genial!
Guten Abend
TK