mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 8051er Architecktur VS. andere


Autor: Stefan Krytinar (roadrunner1980)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

Wir sind etwas ratlos in unserm Projekt an der Abendschule bei der 
Auswahl des µC.

Zu beginn hatten wir einen AT89c51id2 in die engere Wahl getroffen. Doch 
jetzt denken wir das einen Produkt von Analog Device besser wäre. 
Nämlich einen ADUC 832. Beide Controller sind 8051er Architektur.

Der von Anlaog Device hat den Vorteil das er schon zwei PWM Ausgänge fix 
fertig hat.

Nun zum nächsten Problem:

Da wir im "Programiern" noch unter der Katergorie Anfänger einzuordnen 
sind und uns die Grundlagen immer mit der 8051er Architektur beigebracht 
worden sind dachten wir uns, dass wir auch beim Projekt einen solchen 
verwenden sollten um es beim programieren (assembler) etwas leichter zu 
haben.

Doch wo bekommen wir so einen µC, oder ein Experimentierboard???

Für AVR, PIC, gibt es alles wie Sand am Meer und noch dazu ist der Preis 
auch akzebtabel. Unsere Regergen haben ergeben das die anderen "Typen" 
in der Programierart viel komplexer sind. Das ist für uns nicht von 
Vorteil.
Weiters haben die anderen nicht so viele Ports wie die beiden oben 
gennanten.

Ich danke im Voraus für jede Info

mfg. steve

Autor: Pete (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Regergen", besuch am besten next time den Deutsch-Kurs....

aber zum Thema:

Nimm 'nen AVR, oder fährst du auch noch mit einem Golf 1 Oldtimer rum, 
für den es nur teure Ersatzteile gibt?

Autor: dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich suche auch gerade dazu Infos.
Hier habe ich angefangen:
http://de.wikipedia.org/wiki/8051#Entwicklungsboar...

Man findet schon ne Menge beim rumgoogeln.
Gruß dirk

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan Krytinar wrote:

> Zu beginn hatten wir einen AT89c51id2 in die engere Wahl getroffen.
>
> Der von Anlaog Device hat den Vorteil das er schon zwei PWM Ausgänge fix
> fertig hat.

Der Atmel hat doch ein PCA mit 5 PWM-Ausgängen.


> Doch wo bekommen wir so einen µC, oder ein Experimentierboard???

Die 8051 mit Bootloader braucht man nur auf ne Rasterplatine zu pappen, 
Quarz und MAX202 ran und fertig:

Beitrag "8051 Entwicklungsboard"


Peter

Autor: Robert Teufel (robert_teufel_nxp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan
der ADUC832 gibt es nichts vergleichbares von der AVR Fraktion genau 
dann, wenn Du die analogen Eigenschaften ausnuetzen willst. Analog 
Devices weiss einfach wie man Analog Devices baut ;-)
Im Ernst, falls der ADC und der DAC nicht hoch auf der Wunschliste 
stehen, dann gibt es einfachere, bessere Micros. Allerdings schlagen der 
ADC und der DAC so ziemlich alles was sonst mit 8-bit zu haben ist.
Schau Dir auch mal die Typen von Silabs an. Da gibt es 8051 basierende 
Micros mit 100 MIPS (ca 6 mal so schnell wie der schnellste AVR).
Die 8051 Architektur ist zwar aelter als der AVR aber es gibt auch eine 
groessere Vielfalt von Teilen von mehr verschiedenen Anbietern.
Eine gute Adresse ist immer www.8052.com, eine weitere www.keil.com, da 
gibt VIEL mehr Info als nur ueber den Compiler.

Vielleicht hilfts ja ein wenig, Robert

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Pete

Der GolfI braucht auch weniger Ersatzteile als der Golf IV. Und der Golf 
V ist laut VW-Betriebsrat ein !nicht! produzierbares Auto. Sind nicht 
besser geworden...

Die Architektur ist schon alt, das stimmt, aber sie haben ein Konzept 
gehabt, dass bis in die jetzige Zeit gut funktioniert.
Eine gute Seite ist auch www.erikbuchmann.de, insbesondere der 
Codegenerator.

Gruß Elektrikser

Autor: Carlos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
versuchs mal mit dem AT89C51CC03er von Atmel (8051er).
Der hat u.a 64 kByte Programmspeicher  auf dem Chip, A/D-Wandler und 
einige PWM-Ausgänge.
Dazu gibt es bei palmtec (www.palmtec.de) ein gutes Entwicklungsboard, 
beim Elektor-Verlag die Lehrbücher dazu, programmiert wird das Ganze 
dann in ´C´, ein leistungsfähiger C-Compiler ist bei Wickenhäuser zu 
erhalten (die kostenlose Demo-Version kann immerhin 8 kByte Code-Umfang, 
die Vollversion kostet weit unter 100 EURO, www.wickenhaeuser.de).
Gerade für die Ausbildung ist das System gut geeignet, es besitzt auch 
die Empfehlung von der PAL.

Viel Spaß,
Carlos

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Abbildung vom Palmtec ist ganz witzig. Hatten wohl für's Foto grad 
kein seriellen 'C681 auf Lager, drum haben sie ersatzweise ein SRAM an 
dessen Stelle gesteckt, um das Loch im Bild zu stopfen.

Autor: Mario G. (maggyver)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau dir mal von Silabs die F33x/F41x an , die Developement Boards 
haben meiner Meinung nach sogar ein noch besseres 
Preis-Leistungs-Verhältniss als das STK von Atmel weil ein 
In-circuit-emulator gleich dabei ist , gibts bei Digikey


wer meint die "8051"-er wären veraltet sollte sich mal die aktuellen 
Modelle anschaun , die ursprünglich 12 instruction cycles sind 
mitlerweile meist auf 1-2 runteroptimiert und einige uC haben perepherie 
integriert die man bei AVRs kaum findet (DAC,RTC,...)

c-compiler gibts kostenlos (sdcc), oder eine 4K/2K beschränkte version 
vom Industrie Standard Keil

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An den 51ern ist nicht die Implementierung veraltet, sondern die ISA 
(Instruction Set Architecture), mit ihrer Begrenztheit und Vielfalt an 
Speicherbereichen. Man muss sich mehr Gedanken über Platzaufteilung von 
Daten machen als nötig, und sie erschwert beispielsweise "reentrant" 
Funktionen und architekturübergreifende RTOS-Implementierungen 
(ebendrum, und aufgrund des Stacks).

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A.K. wrote:
> An den 51ern ist nicht die Implementierung veraltet, sondern die ISA
> (Instruction Set Architecture)

Veraltet ist sie ganz und garnicht, sie ist nur auf Steuerungen 
optimiert.

Wer Unix auf nem 8051 implementieren will, der ist ein Idiot.

Auch muß man für ein RTOS immer die mindestens 10-fach höhere 
Rechenleistung hinblättern, als bei der klassichen Mainloop mit 
Interrupts, um die gleiche Aufgabe zu lösen.

Und ein RTOS erleichert die Programmierung in keinster Weise, eher das 
Gegenteil.
Die Parameterübergabe zwischen Funktionen über globale Variablen ist 
total tabu.
Man muß immer spezielle Zugriffsfunktionen aufrufen, die dann 
umständlich eine Variable für andere Prozesse sperren, auslesen, 
modifizieren, abspeichern und dann wieder freigeben.
Das hat auch den schönen Nebeneffekt, daß es zu einem Deadlock kommen 
kann, wenn die andere Funktion nicht damit rechnet, daß ihr der Zugriff 
temporär verweigert werden kann.
Auch ist bei einem RTOS die Abarbeitungsreihenfolge nicht mehr 
determiniert.

Ein RTOS hat also nur bei sehr großen Anwendungen (>1MB) Sinn und dann 
nimmt man gefälligst keinen 8051.


Peter

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Und ein RTOS erleichert die Programmierung in keinster Weise, eher das
Gegenteil."

Ansichts- und Übungssache.

"Man muß immer spezielle Zugriffsfunktionen aufrufen"

Stimmt. Deshalb verwende ich dafür vorzugsweise C++.

"daß es zu einem Deadlock kommen kann"

Stimmt.

"sehr großen Anwendungen (>1MB) Sinn"

Oder eben auch ein Mega32 mit 4 Tasks (Benutzerinterface, Steuerung, 
Überwachung, Kommunikation). Muss man nicht so machen, kann man aber so 
machen.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Man muß immer spezielle Zugriffsfunktionen aufrufen"

Bei kooperativem Multitasking entfällt das. Das verbessert zwar nicht 
unbedingt die Reaktionszeit, macht aber (in meinen Augen) den 
Programmablauf übersichtlicher, weil allerlei Zustandsabhängigkeiten 
durch strukturierte Programmabläufe ersetzt werden können.

Wie gesagt, Ansichtssache. Und halt dessen worin man geübter ist. Ich 
persönlich kann ganz gut in solchen Prozessen denken, zumal sich diese 
Arbeits- und Denkweise von der in Windows/Unix nicht wesentlich 
unterscheidet.

Resourcenfresser müssen einfache RTOSe nicht sein. Mit einem kompletten 
Prozesswechsel inklusive Scheduler in weniger als 4µs kann ich ganz gut 
leben (ARM7 60MHz).

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um mal etwas Gift aus der Sache rauszunehmen: Ich halte die 51er im 
selben Sinn für veraltet, wie ich dies bei den PC-Prozessoren schon anno 
IBM AT Anfang der 80er tat. Auf guten Gründen gibt es beide noch und 
wird es beide noch lange Zeit geben, aber Qualität und Aktualität der 
ISA gehört nicht zu diesen Gründen.

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.