mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Welcher Prozessor für Anfänger und Aquariumsteuerung


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

so bald ich etwas Zeit finde, will ich mich intensiv mit uProzessoren
beschäftigen und eine Aquariensteuerung bauen. Also Ph, Temp, Leitwert
messen und Heizung, Beleuchtung usw. steuer.

Welcher Prozessor ist da geeignet?

Ich habe zwar während meines Studiums Assembler programmiert und auch
den einen oder andern Prozessor angesteuert, aber noch nich was in
diese Richtung gebaut.

Könnt ihr mir einen Tipp geben?

Ich hatte mir den Atmega16 mal rausgesucht. Ist wahrscheinlich erstmal
zu groß für meine Aquariumsteuerung, aber wer weiss was ich da noch
alles erweitern will, wenn es mal funtkioniert. Oder sollte ich einen
anderen wählen.

Gruß und Danke für eure Bemühungen im vorraus

Matthias

http://www.aqua-aquaristik.de

http://www.fischforum.de.vu

Autor: Marius Schmidt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich finde ein µC kann nie groß genug sein (von der Leistung her, nicht
von den Dimensionen :))!

Ich glaube mit einen ATmega16 bist du gut bedient, den habe ich auch
und ich find den echt toll! Wahrscheinlich würde auch ein ATmega8
reichen.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke. Die Unterschiede zwischen den ATmega 16, 32 usw. sind doch nur
die internen Speicher oder?

Dil 40 Gehäuse ist sinvoller oder? Die anderen lassen sich schlecht
löten?


Gruß

Matthias

http://www.aqua-aquaristik.de

http://www.fischforum.de.vu

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Die Unterschiede zwischen den ATmega 16, 32 usw. sind doch nur die
> internen Speicher oder?

Jein.  Erstmal ja.  Ein kurzer Blick auf das Datenblatt lässt mich
vermuten, dass zwischen ATmega16 und ATmega32 im Wesentlichen wirklich
nur Unterschiede in der Speichergröße bestehen.  Zwichen ATmega32 und
ATmega64 wiederum ist es komplett anders geworden: der '64 ist sowas
wie '128 mit halbem Speicher.  Im Vergleich zum ATmega16 ist da sehr
vieles anders (nicht nur die Pinanzahl).

> Dil 40 Gehäuse ist sinvoller oder? Die anderen lassen sich schlecht
> löten?

Das hängt von dir ab.  Nein, TQFP lässt sich auch durchaus brauchbar
mit der Hand löten, zumindest bis zu 0,65er Raster herunter.  0,5er
Raster ist mit der Hand schon ein wenig Aufwand, aber auch das geht.

Wenn man kleine Platinen haben will, ist so ein DIP-40 einfach viel zu
groß.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ok hmm erstmal wird es ja wohl eine Rasterplatine sein. Wenn dann mal
alles funktioniert und ich eine richtige Platine macht, könne ich mir
auch ein Atmega in TQFP Gehäuse.

Also erstmal Dil 40.

Gruß und Danke

Matthias

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh peinlich.

meinte gönne. War irgendwie eine Mischung aus kann und gönne.

lach

Matthias

Autor: JojoS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
welcher ATMega ist eigentlich nicht die Frage wenn man gleich als
Einsteigerprojekt seine Lieblingsfische grillen will :-)
Ich würde erstmal mit kleineren Aufgaben anfangen um den ausgesuchten
µP kennenzulernen. Habe auch gesehen das die Atmels 'im Prinzip' alle
gleich sind, aber der Teufel liegt hier im Bit-Detail. Und ein einziges
falsches Bit kann deinen Wasserfreunden das Leben kosten...
Von der Leistung her ist deine Vorauswahl sicher ok, hilfreich sind
sicher die Experimentierboards die hier im Shop angeboten werden. Auch
einen Mega128 kann man über Adapterboards nutzen, dadurch kann man sich
mehr auf die Ansteuerung der Peripherie als um irgendwelche frickelige
Prozessordetails zu kümmern. Die Software wird dir noch genug Ärger
machen...

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sein Problem wird soundso die Sensorik und nicht die paar
Regelalgorithmen.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen zusammen.

Nein das ganze soll natürlich nicht mein erstes Projekt werden, und das
zweite wohl auch nicht. Aber ich wollte mir gleich einen in der
richtigen Grösse kaufen um später auf dieses Projekt hin zukommen.

Denke ich werde erstmal froh sein, wenn ich ein was auf ein Display
ausgegeben bekomme, später vielleicht mal ein Termometer bauen usw.
Mich halt ganz langsam an die Geschichte wage.

Als Anhaltspunkt für die Steuerung später wolle ich mich ein wenig hier
ran halten http:///www.sterabi.de die hatten das ganze schonmal
realisiert allerdings mit dem C-Control von Conrad. Den wollte ich
durch den Atmel ersetzen und anpassen

Boards hier im Shop. Noch gar nicht gesehen. Muss ich gleich nochmal
schauen.

Gruß

Matthias

http://www.aqua-aquaristik.de

http://www.fischforum.de.vu

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,

um meine Meinung auch noch zum Besten zu geben : Ich finde den
ATmega32, der hat genügende Platz im Speicher auch wenn man mal einfach
so drauf losprogrammieren will. Durch sein Gehäuse kann man ihn auch
prima auf einem Steckbrett oder auf Loch-/Streiofenraster verwenden.
Der ATMega hat zudem alle möglichen Features der AVR-Familie (incl.
JTAG wenn man das mal ausprobieren will). Dazu kommt, dass die Pins
nicht so stark überbelegt sind (Stichwort RESET-pin).
Ich persönlich finde den ATmega32 so gut, dass ich auch meine momentane
Entwicklung (MP3+Harddisk + was weiß ich noch alles) damit durchführe.

MfG, Daniel.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hm also doch lieber den Atmega32 ?

JTAG sagt mir im moment "noch" nichts. Muss ich mich noch ganz schön
einlesen :-)

Gruß

Matthias

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

JTAG verwendet man zum on-chip-debugging. Ich hab's noch nie verwendet
(habe keinen JTAG-Adapter, obwohl es viele einfach und unteure
Möglichkeiten gibt, einen zu basteln). Allein die Möglichkeit
macht's.

Wenn man erst mal einen Prozessor in seinen Aufbau eingefrickelt hat,
oder keine Lust hat, für ejde Projekt gleich eine Handvoll Prozessoren
zu kaufen, dann ist die Möglichkeit etwas Neues zu verwenden schon eine
gute Sache.

MfG, Daniel.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

was heisst on-chip-debugging? ich kann direkt im Prozessor ändern?

Gruß

Matthias

http://www.aqua-aquaristik.de

http://www.fischforum.de.vu

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

so ähnlich. Normalerweise heißt debugging, den Prozessor (und Teil der
Hardware so weit wie es die Umgebung zulässt) zu simulieren und den
Programmfluss an bestimmten Stellen (breakpoints) zu unterbrechen.
Außerdem kann man dabei noch Einfluß auf die Register und die on-chip
Peripherie nehmen, bzw. deren Status ermitteln.

on-chip Debugging ist all das in eingeschränktem Rahmen direkt auf dem
Mikrocontroller. Das hat den Vorteil, dass die umgebende Hardware nicht
simuliert werden muss, sondern sich eifnach so verhält, wie sie es imemr
tut (mal abgesehen davon, dass das timing durch schrittweises Ausführen
von Code etwas leiden kann ;-) ).

MfG, Daniel.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ahja danke ist verstanden.

Gruß

Matthias

http://www.aqua-aquaristik.de

http://www.fischforum.de.vu

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Matthias

Ich habe was ähnliches vor wie du und habe mich für die MSP430er-Reihe
von Texas Instruments entschieden. Das sind enorm stromsparende 16-bit
uCs mit bis zu 8MHz, 10KB RAM und 60kb Flash für Daten und Code. Ich
finde die Dinger genial! Vor allem weil sie orthogonal organisiert
sind: Vom Prozessorregister über die Peripheriemodule bis hin zum Code
und der Interrupt-Vektor-Tabelle ist alles in denselben Speicher
abgebildet, was die Programmierung AFAIK sehr vereinfacht.

In-System-Debugging wird praktisch uneingeschränkt unterstützt, was die
Fehlersuche enorm beschleunigt. Mein MSP430F149 hat:
- 48 GIO-Pins
- 8x 12Bit ADC
- 2kb RAM
- 60kb FLASH
- 2x Hardware-USART
- 1x WDT + 2x 16Bit-Timer mit 3 und 7 Capture&Compare-Registern für
PWM, Schrittmotorsteuerung, Slope-ADC, usw
- Hardware-Multiplizierer

Und schau dir das noch an:
# Low Supply-Voltage Range, 1.8 V . . . 3.6 V
# Ultralow-Power Consumption:

    * Active Mode: 280 µA at 1 MHz, 2.2V
    * Standby Mode: 1.6 µA
    * Off Mode (RAM Retention): 0.1 µA

# Five Power-Saving Modes
# Wake-Up From Standby Mode in less thatn 6 µs

Andere Typen haben noch LCD-Treiber integriert und es gibt sie auch mit
Hardware I2C.

Man kann die Dinger problemlos mit C programmieren. Auch C++-Compiler
existieren. Assembler will ich auch noch anschauen: es sind nur 27
Befehle und 7 Adressierungsarten!

Ein Minuspunkt ist, dass es sie nur in SMT-Ausführung gibt. Aber ich
hab mir zwei Headerboards und einen JTag-Adapter gekauft. Und SMT-Löten
soll ja auch von Hand gehen, wenn man etwas Übung hat. Das hab ich aber
noch nie gemacht bis jetzt.

Wenn du dich nicht sehr gut mit Elektrotechnik auskennst, würde ich mir
gleich ein gutes Test-Board kaufen. Als Minimalbeschaltung reicht eine
3V-Batterie, aber mit einem gut ausgerüsteten Board kannst du dich
gleich auf das wesentliche konzentrieren. Die Dokus von TI finde ich
ausgezeichnet (habe aber keine Vergleichsmöglichkeit)!

Ressourcen findet man einige im Internet und verfügbar sind sie auch
ziemlich gut.

Weisst du schon, wie du den PH- und den Leitwert messen willst? Hast du
schon Sensoren und Schaltungen dafür? Ich möchte das auch, werde es aber
voraussichtlich nicht dem uC überlassen, weil man die Sensoren ja nicht
in der Lösung lassen soll (gilt das auch für Lösungen mit pH 5 <  x <
8?).

Mein erstes Projekt war ein Datenlogger, der über den ADC die
Temperatur misst, diese in den Flash protokolliert und auf Anfrage über
RS-232 ausgibt.
Als nächstes will ich eine Relais und PWM-Platine bauen, dann kommt
Software I2C für ein paar Sensoren und dann wohl irgend wann noch MMC.
Einen Prozessmanager zur Priorisierung und einen Timed Event Manager
zum Steuern von jensten Sachen habe ich auch schon programmiert. Hygro-
und Thermostat sollten ein Klaks sein.

Ich lass dir mal meine Mail-Adresse hier, du kannst dich ja mal bei mir
melden wenn du Lust auf einen Erfahrungs- und Ideenaustausch hast.

Gruss

Tom

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

IMHO lernt man am meisten und schnellsten, wenn man klein anfängt.
Außerdem sollte man das Potential von 8bit-MCUs nicht unterschätzen.
Die meisten Fehlerquellen lernt man dadurch kennen, dass aus
irgendeinem Grunde mal wieder nix geht.  Um so einfacher die
Architektur der verwendeten MCU dann ist, um so leichter findet man den
Grund für die Fehler (die zu einem hohen Prozentsatz aus dem Nichtlesen
oder Fehlinterpretieren des Datenblattes kommen - geht mir zumindest
so).

Da Atmel IMO sehr gut und umfangreiche Dokumentationen zur AVR-Reihe
vorlegt, ist das ein guter Einstieg. Man kann auch anders
argumentieren, ich wollte nur meine Meinung darstellen. Andererseits
gibt's auch schöne Großkaliber, die man in Hochsprachen programmieren
kann. Wenn ich so etwas wollte, ich glaube ich würde mir irgendeinen
ARM holen. Der ist zwar weniger übersichtlich, dafür hat der jede Menge
Power und auch eine gute Toolchain - ist aber total überfeatured für
meine bisherigen Projekte (welche an sich nicht gerade underfeatured
waren ;-) )

MfG, Daniel.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Top,


hmm auch sehr interessant. Werde ich mir auch mal anschauen. Deine
Email kommt gleich mal in die Adressliste. :-)

Wäre natürlich auch eine Möglichkeit... Naja muss mir das alles mal in
Ruhe durch das Hirn gehen lassen :-)

Momentan kann ich nicht viel machen, weil ich an meiner Diplomarbeit
schreibe,aber dann ind 6 oder 8 Wochen will ich die Geschichte
angehen.Werde dann erstmal mit Hallo World anfangen und mich
vortasten.

Die Sensoren wollte ich lösen wie bei dem Link den ich oben mal gegeben
hatte. Also der hier http://www.sterbai.de. Da gibt es bereits komplette
Schaltungen und die müssten ja eingentlich nur noch angepasst werden.

Aber eine zusammenarbeit, bzw. ein Informationsaustausch sollte egal
welcher prozessor ja nichts im Wege stehen.

Gruß

Matthias

http://www.aqua-aquaristik.de

http://www.fischforum.de.vu

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tom,

das Argument Stromsparen kann ich nicht gelten lassen.

Sowas hat, wenn überhaupt, nur bei Baterriebetrieb eine Bedeutung. Und
Aquarium mit Batterie fällt ja wohl flach.

Dagegen sind die Vorteile des AVR mir mehr wert (DIL-Gehäuse,
5V-Technik).

Außerdem muß man sich ja zum Stromstparen erstmal durch die vielen
Takteinstellungen durchwuseln.

Der AVR hat aber auch einige (nicht so viele) Stromsparoptionen, d.h.
letztendlich reduziert sich der Unterschied MSP/AVR nur auf wenige 10µA
im Sparbetrieb.


Was wirklich für den MSP spricht ist der lineare Speicherbereich
(Konstanten in C) und die Interruptprioritäten.


Wenn ich mich recht erinnere, wenn man beim MSP die Lockbits setzt,
dann wars das. Es gibt kein Weg mehr zurück (kein Wiederverwenden,
keine Updates). Das ist für den Hobbybastler ja nicht so schön.


Peter

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter, hi Matthias

Der geringe Stormverbrauch war ein zusätzliches Kirterium für meine
Diplomarbeit, da der Datenlogger im Batteriebetrieb laufen sollte. Und
schlecht ist ein geringer Stromverbrauch IMHO nie. Zudem kann ich nicht
für jedes Projekt mit einem anderen uC arbeiten.
Die vier Standby-Modi sind ganz einfach zu verstehen: Je tiefer der
Standby, umso weniger läuft. Der Takt bleibt gleich. Du kannst nach und
nach CPU, Quarz1, Quarz2 und den internen, digitalen Oszillator
ausschalten. Um die integrierte Konstantstromquelle und um die Timer
must du dich selbst kümmern, wenn du noch mehr Strom sparen willst.
Damit hatte ich wirklich nie Probleme. In C hast du auch komfortable
Makros für solche Sachen.
Aber wenn du schon mit 'wenigen' 10uA kommst, dann muss ich dich
enttäuschen: Stromspaaren beginnt beim MSP erst bei unter 2uA für den
Standby und um 0.1 uA für den Off-Mode (Warten auf externen Interrupt)
;-).

Die AVRs waren nie wirklich alternativen für mich, da sie bei uns in
der Firma nicht eingesetzt werden und ich sie schlicht nicht kannte.
Die MSP430er brauchen wir hier zwar auch nicht, jedoch habe ich mich
sehr für dessen moderne Architektur begeistern können. Kennen gelernt
hab ich diesen uC durch die c't-Artikel.

Für Experimente hab ich Headerboards, die mir die Kontakte auf ein
2.54mm-Raster führen. 5V brauche ich nur für die Relais, aber dort
steckt ja sowieso ein OK dazwischen.

Noch was zum Lock-Pin, den ich erst neulich im DB entdeckt hab: Durch
eine hohe Spannung an einem bestimmten Pin kann man eine Sicherung
zerstören, womit man über den JTag-Adapter nicht mehr auf den uC
zugreifen kann. Ausgesperrt bist du dann aber noch lange nicht,
schliesslich hat man ja einen Bootstramp Loader, der über ein
256-Bit-Passwort geschützt sein soll ;-). Ausprobiert habe ich das aber
noch nicht, da ich noch nichts schützenswertes entwickelt habe.

Gruss

Tom

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wow, das muss ich mir glaube noch mindestens 2 mal in Ruhe durchlesen,
um das alles aufzunehmen :-)
@ tom gibt es für deinen Prozessor auch igendwelche gute Seiten im
Netz, wo man mal nachlesen kann? Wie weit hast du deine Steuerung
schon, oder ist die auch noch in Planung.


Gruß

Matthias

http://www.aqua-aquaristik.de

http://www.fischforum.de.vu

Autor: Peter Dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tom,

"Aber wenn du schon mit 'wenigen' 10uA kommst, dann muss ich dich
enttäuschen: Stromspaaren beginnt beim MSP erst bei unter 2uA"

Das war auch eher eine Gefühlsaussage.
Bei mir sitzen die Stromfresser immer außerhalb des MC. Ob der also nun
5mA oder 5µA braucht, ist für mich völlig irrelevant und das dürfte für
jede netzbetriebene Anwendung zutreffen.


Mit Stromsparen habe ich nur zweimal was gemacht. Ich hab mal eine
Digitaluhr mit dem AT89C2051 aufgebaut und mit einem Goldcap 1F
gestützt, das reichte dann für 8h Gangreserve:
http://home.tiscali.de/peterd/appl/hard/uhr4536/uhr4536.htm

Und dann noch einen Würfel, der geht in Power down (~2µA bei 3V):
http://home.tiscali.de/peterd/appl/soft/c51/dice/index.htm



Mein unangefochtener Lieblings-MC ist natürlich der 8051 (~600
verschiedene Typen), aber da kosten die C-Compiler nicht wenig und der
SDCC soll ja nicht so doll sein.

Zum AVR bin ich nur dadurch gekommen, weil der auch von Atmel
hergestellt wurde und pinkompatibel zum 8051 war.

Der MSP wurde ja erst viel viel später entwickelt.


Peter

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Et voilà:

http://www.mikrocontroller.net/articles/MSP430

Ich muss dich natürlich zuerst auf den Artikel hier bei 'uns'
hinweisen. Darin wird wiederum auf die sehr gute Seite
http://www.mathar.com/ verwiesen. Dann musst du natürlich die
Codebeispiele, die Datenblätter, User's Guides und ein paar
Application Reports von Texas Instruments haben, die sind wirklich sehr
gut. Es gibt beispielsweise ein einzelnes, gut 70 Seiten starkes
Dokument zu den ADCs, wo genau erklärt wird, wie man diesen auf etwa
sieben verschiedene Arten beschalten und auswerten kann. Das hat mir
sehr geholfen.

http://www.ti.com/msp430

Interessant dürften für dich in Etwa die Typen MSP430F149 oder der
kleinere MSP430F1232 sein.

Mit Lektüre solltest du somit für die nächsten drei Monate versorgt
sein ;-).

Mit meiner Steuerung bin ich noch nicht weit. Ich habe die ersten
beiden Softwareteile bereits entwickelt, weil diese von der Hardware
unabhängig sind, wesshalb ich das am PC (ohne uC) machen konnte. Die
Relaisplatine habe ich vom Schema her zu 85% im Kopf, jetzt muss ich
dieses noch durchrechnen und die richtigen Bauteile bestellen. Dazu
habe ich gleich noch ein, zwei Fragen, die mir Peter bestimmt kurz und
kompetent beantworten kann:

Ich möchte die Relaisplatine von der uC-Platine galvanisch trennen. Vom
uC-Ausgang zum Relais geht das über einen OK, das weiss ich. Nur haben
Relais- und uC-Platine dieselbe Stromversorgung. Über einen
Festspannungsregler wird der uC mit 3.3V versorgt. Sind die Systeme so
voreinander geschützt? Getrennt sind sie ja eigentlich nicht. Oder muss
ich den uC über einen eigenen Trafo versorgen?
Würdet ihr den Festspannungsregler auf die separate
Stromversorgungsplatine auslagern, womit auch gleich noch andere
3.3V-Mini-Baugruppen versorgt werden, oder soll ich diese möglichst
nahe an den uC rücken?

Noch was zum MSP430: für den gibt es nämlich den GCC(MSP). Es sind
viele Tools frei verfügbar. Für erste Experimente ist der IRA Workbench
sehr empfehlenswert, wenn du dich schon mit Debugging & Co auskennst.
Leider ist der Objektcode auf 4KB begrenzt.

Gruss
Tom

Autor: Jürgen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Moin Matthias, in einem anderen Thread habe ich schon erwähnt, dass wir
in der Firma die ICmega8-8 Module mit und ohne USB von www.ic-board.de
benutzen. Die Module finde ich gut geeignet für Deinen Zweck, preiswert
und Industriequalität eben.
Du kannst im Prinzip für EUR19,95 sofort loslegen und erstmal alles auf
einer Lochrasterplatte aufbauen. Die Module sind auch so klein, dass es
fraglich ist, ob Du diesen Teil (ATmega8, Quarz, Taster, LED) jemals
neu entwerfen mußt. Die Sensoren kannst Du dort einfach per I2C an die
ICplug-Buchsen anschließen. Ich hab' Dir mal das Datenblatt
angehangen.

-- der Jürgen

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ja danke werde mir das mal alles ganz in Ruhe anschauen müssen. Im
moment verstehe ich ja nur Bahnhof. Werde mich mal hier durch deine
Links und die anderen hier durchkämpfen.

Sieht aber auch sehr interessant aus. Hat alles so seine Vor und
Nachteile, wobei mir so ein ganz einfaches Board für USB zum einfachen
spielen und mehr schonmal ganz gut gefällt.

Gruß

Matthias

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tom:

"moderne Architektur" passt leider nicht zum MSP. Der hat wohl die
älteste Architektur aller hier besprochenen MCs...
Informier Dich besser mal ;)

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jürgen

Klar, wenn du nur die Grundprinzipien von von Neumann- mit der
Harvard-Architektur vergleichst, dann ist die Harvard-Architektur
neuer. Dich muss ich wohl kaum fragen, welche von beiden flexibler ist.
Weil Daten und Code in demselben Speicher liegen, kann man auch aus
seinem eigenen Programm dynamisch Code erzeugen und ausführen, was zum
Beispiel für eigene Programmierlösungen (Der Chip programmiert sich
selbst) gut geeignet sein soll. Bei einem Chip mit Harvard-Architektur
ist das nicht möglich, dafür sie in der Theorie etwas schneller.

Mit dem modern dachte ich eher an die Orthogonalität sowie an das
JTag-Interface, welches zwischen CPU und dem Systembus liegt und somit
echtes und AFAIK uneingeschränktes In-System-Debugging ermöglicht.

Zudem wurde der MSP430 für die Programmierung mit Hochsprachen, sprich
C und sicher auch C++ optimiert. Für C++ ist aber leider momentan noch
keine Standard-Bibliothek verfügbar. Aber man kann ja auch mit C
objekt-orientiert programmieren.

Des weiteren ist auch der Assembler-Befehlssatz viel reduceder als der
der Atmel-uCs. Mit nur 27 Befehlen kannst du jedes Bit einzeln
schubsen! ;-)

Der 16-Bit-Adressraum bietet auch noch reichlich
Erweiterungsmöglichkeiten, die laut TI noch erarbeitet werden sollen.

Also erzähl mir nix ;-) Nein, sag mir ruhig deine Meinung, ich habe bis
jetzt noch nie richtig mit einem anderen uC gearbeitet.

Gruss

Tom

Autor: Jürgen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey, Tom, leider falsch.
Eine Suche hier im Forum hätte Dir das obige bestätigt.
Die MSP-Architektur ist eine leicht abgespeckte Form der PDP11 von
1970!

Siehe auch:
http://www.mikrocontroller.net/forum/read-1-187731...

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Klar, wenn du nur die Grundprinzipien von von Neumann- mit der
Harvard-Architektur vergleichst, dann ist die Harvard-Architektur
neuer. Dich muss ich wohl kaum fragen, welche von beiden flexibler
ist."

Das hängt natürlich von der Sicht ab...

"Weil Daten und Code in demselben Speicher liegen, kann man auch aus
seinem eigenen Programm dynamisch Code erzeugen und ausführen, was zum
Beispiel für eigene Programmierlösungen (Der Chip programmiert sich
selbst) gut geeignet sein soll. Bei einem Chip mit Harvard-Architektur
ist das nicht möglich, dafür sie in der Theorie etwas schneller."

Urgs, genau das führte bisher nur zu Problemen.
Wer so programmiert, macht etwas falsch. Und dass sich der Chip selber
programmiert, ist ja heutzutage fast schon Standard, auch bei Atmels
AVR.


"Mit dem modern dachte ich eher an die Orthogonalität sowie an das
JTag-Interface, welches zwischen CPU und dem Systembus liegt und somit
echtes und AFAIK uneingeschränktes In-System-Debugging ermöglicht."

Tja, Orthogonalität ist nichts Modernes, das gibt es doch schon seit
den 60ern...


"Zudem wurde der MSP430 für die Programmierung mit Hochsprachen,
sprich C und sicher auch C++ optimiert. Für C++ ist aber leider
momentan noch keine Standard-Bibliothek verfügbar. Aber man kann ja
auch mit C objekt-orientiert programmieren."

Häh? Der MSP ist, wie oben geschrieben wurde, ein abgespeckter
PDP11-Abklatsch und somit wurde der MSP überhaupt nicht für etwas
optimiert, er wurde einfach übernommen...


"Des weiteren ist auch der Assembler-Befehlssatz viel reduceder als
der der Atmel-uCs. Mit nur 27 Befehlen kannst du jedes Bit einzeln
schubsen! ;-)"

Was ist denn reduceder? Habe ich noch nie gehört. Und die Anzahl der
Befehle ist mir, ehrlich gesagt, egal.
Manchmal ist es sogar ganz praktisch - wenn man in Assembler
programmiert -, wenn man nicht eine "besseren" Befehl durch viele
einfache ersetzen muss.


"Der 16-Bit-Adressraum bietet auch noch reichlich
Erweiterungsmöglichkeiten, die laut TI noch erarbeitet werden
sollen."

Na, das muss erstmal kommen. Vor allem gibt es in diesem Bereich sehr
viel Konkurrenz, z.B. die ARMs.


"Also erzähl mir nix ;-) Nein, sag mir ruhig deine Meinung, ich habe
bis jetzt noch nie richtig mit einem anderen uC gearbeitet."

OK, hiermit getan ;)

Autor: Andi K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Mathias: Bevor Du Dich für das "Aquarium-Projekt" für einen µC
entscheidest, zähl doch erst mal die I/O-Pins ab, die Du dafür
benötigst.

Dazu fällt mir im Moment ein:
1x Pumpe ein/aus.
1x Licht ein/aus
1x ADC-Pin zur Messung des PH-Wertes?!?
3x Taster???
6x LCD-Pins (DB4-7, EN, RS)

Das lässt sich locker mit einem ATtiny26 realieseren.
Der hat 20 Pins und 15 I/O-Pins, 11 davon kann man für ADC her nehmen.
Fragt sich halt, ob Du dann in ASM programmierst da der tiny26 nur 2KB
Flash und 128 Byte SRAM hat. Kann mir aber im Moment nicht verstellen,
das man mehr benötigst wenn es ASM wird.
Ansonsten geht auch ein Mega8 mit 28 Pins, 23 I/O-Pins, 8KB Flash und
1KB SRAM.
Die Schaltung soll doch nicht größer als nötig werden, oder?

MfG
Andi

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nein sie soll natürlich nicht übergroß werden. Aber sie soll schon
soweit reichen, dass ich nicht irgendwann an die Grenzen stosse.

Was angesteuert werden soll ist:

1 LCD da habe ich bereits eines, ist ein 4x27 von pollin.de wenn das
funktioniert. Ist ein WINTEK WD-C2704M-1HNN
1 die Beleuchtung, die soll dimmbar werden,
2 Heizungen
1 PH Wert messen
1 Redox messen
1 Temperaturmessen
1 Leitwert
1 Dosierpumpe
1 Magnetventil für die CO2 Anlage zum schalten
eventuell noch was für einen automatischen Wasserwechsel

das ist das so was ich irgendwann mal, wenn alles mal so klappen sollte
wie ich mir das vorstelle, regeln möchte.

ich brauche 6 Stück für ein LCD?

Gruß

Matthias

Autor: Andi K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das, was Du ausgewählt hast, braucht sogar 7 wegen 2
LCD-Controller.
Im 4 Bit Mode wäre das dann wie folgt:
DB4 bis DB7 (4 Leitungen), E1 (Enable Controller 1), E2 (Enable
Controller 2) und RS (Befehl/Daten).
Mit den ganzen Dingen, welche Du steuern willst, ist es mit dem tiny26
doch etwas arg knapp ausser, Du steuerst die 2 Heizungen mit einem Pin
syncron, dann ginge es genau auf.
Rate Dir dann auch zu einem mega8 da Du ein paar Taster oder
Drehimpulsgeber noch nicht dabei hattest.


MfG
Andi

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ah ja danke. Hmm hört sich gut an. Sind alles ja nur langzeitziehle,
aber das wären Dinge, die ich realisieren würde. :-)

Gruß

Matthias

Autor: Unix Alpha (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,

hast du denn schon was realiesieren können?

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.