Forum: Mikrocontroller und Digitale Elektronik Unterschied zwischen avr und 8051 bei atmel


von Sucher (Gast)


Lesenswert?

Hallo,

mir ist eines nicht klar, was ist der große unterschied zwischen avr und 
8051 struktur?

Der Flash-Speicher?
Danke

von Jörg B. (manos)


Lesenswert?

Die Speicherarchitektur (von Neumann/Harvard). Gemeinsamer Adressbereich 
bzw. Programm und Daten getrennt...

von Johannes M. (johnny-m)


Lesenswert?


von MC (Gast)


Lesenswert?

Tag Sucher,
AVRs und 8051er Controller unterscheiden sich grundsätzlich voneinander. 
Dabei spielt es keine Rolle, von welchem Hersteller sie sind. ATMEL 
stellt Controller aus beiden Controllerfamilien her.
Die Unterschiede sind so ziemlich überall zu finden. AVRs haben keinen 
externen Programmspeicher, 8051er können diesen schon haben. AVRs haben 
keine Zyklenbildung aus mehreren Takten, 8051er schon (12Takte = 
1Zyklus). Desweiteren haben AVRs eine ganz andere interne ALU als 8051er 
und müssen z.B. Multiplikationen im Programmcode extra generieren.
Man kann hier noch dutzende weitere Unterschiede aufzählen.
Bis irgendwann,
MC

von yalu (Gast)


Lesenswert?

> was ist der große unterschied zwischen avr und 8051 struktur?

Groß ist der Unterschied höchstens dann, wenn du bestehende Software,
die du nicht selbst geschrieben hast, von einem der beiden auf den
anderen portieren möchtest.

Die verbleibenden Unterschiede fallen größtenteils in die Kategorie
"Geschmacksache" (Beispiel: Ich persönlich finde die AVRs etwas
schmackhafter :-)). Eine gegebene Anwendung kannst du in den
allermeisten Fällen entweder mit beiden oder mit keinem von beiden
realisieren.

Die 8051-Architektur ist schon uralt, hat sich aber im Laufe der Zeit
zu einer Art Industriestandard entwickelt. Sehr viele Hersteller
bieten deswegen Derivate davon an, so auch Atmel.

Vielleicht noch ein etwas bedeutsamerer Unterschied, wenngleich ich
den nicht zur "Struktur" zählen würde: Die Bandbreite an Gehäusegrößen
und Pinzahlen ist bei den AVRs größer, damit kann man sie sowohl bei
Platzmangel als auch bei massivem Bedarf an I/O-Pins gut einsetzen.

> Desweiteren haben AVRs eine ganz andere interne ALU als 8051er und
> müssen z.B. Multiplikationen im Programmcode extra generieren.

So unterschiedlich sind die ALUs auch wieder nicht. Beide unterstützen
die für 8-Bit-Prozessoren üblichen Standardoperationen und (mit
Ausnahme der ATtiny-AVRs) zusätzlich Multiplikationen.

von Durchblicker (Gast)


Lesenswert?

Sowohl bei 8051 als auch bei AVR sind Programm und Datenspeicher 
voneinander getrennt, der Unterschied fällt flach :-).

von Magnus Müller (Gast)


Lesenswert?

Durchblicker wrote:
> Sowohl bei 8051 als auch bei AVR sind Programm und Datenspeicher
> voneinander getrennt, der Unterschied fällt flach :-).

Beim 8051 lässt sich bei entsprechender Beschaltung aber auch Code im 
(externen) Ram ausführen lassen.

von Peter D. (peda)


Lesenswert?

Magnus Müller wrote:

> Beim 8051 lässt sich bei entsprechender Beschaltung aber auch Code im
> (externen) Ram ausführen lassen.

Aber nur die ab 40Pins aufwärts und nicht die 1-clocker.


Peter

von Der Gastjammerer (Gast)


Lesenswert?

Der 8051 is hoffnungslos veraltet. Er hat nur ein pointer register und 
da laeuft alles drueber. Egal wieviele MHz, die Leistng verpufft um 
umladen dieses Registers. Der neuere AVR hat drei davon. Es gibt Leute, 
die wollen die 25 jaehrigen Tools mit dem 8051 noch etwas amortisieren. 
Lassen wir die. In den Kuebel damit.

von Durchblicker (Gast)


Lesenswert?

Wehe, das geht beim AVR auch... hm... nein, da kann man maximal RAM 
anschliessen. Verdammt ;-)

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Was fuer ein Zufall... Prof. von uns hat sich beschlossen den 8051 in 
"Rechnersysteme" genauer zu besprechen. Bekommt man das Teil eigentlich 
ueberhaupt noch oder nur Nachbauten? Irgendwie isses schon bissel 
daneben dass er nich nen etwas aktuelleren bespricht... aber immerhin 
sozusagen ;)

Michael

von Thomas B. (detritus)


Lesenswert?

Der Gastjammerer wrote:
> Der 8051 is hoffnungslos veraltet. Er hat nur ein pointer register und
> da laeuft alles drueber. Egal wieviele MHz, die Leistng verpufft um
> umladen dieses Registers.

register bank switching ist dir ein Begriff? Dann sind es schon mal 4 
Pointer, wozu auch immer man das braucht...


> Was fuer ein Zufall... Prof. von uns hat sich beschlossen den 8051 in
> "Rechnersysteme" genauer zu besprechen. Bekommt man das Teil eigentlich
> ueberhaupt noch oder nur Nachbauten? Irgendwie isses schon bissel
> daneben dass er nich nen etwas aktuelleren bespricht... aber immerhin
> sozusagen ;)

> Michael

Du bekommst "nur" noch Nachbauten( besser ausgedrückt: stark verbesserte 
Weiterentwicklungen).
Das Ding ist nunmal Industriestandard und auch alles andere als schwach 
auf der Brust. Bitschubserei kann er z.B. gut. Keine Sorge, so schnell 
reizt du den nicht aus ;-)

von Bastler (Gast)


Lesenswert?

Ich hab grad "Nachbauten" mit 8051-Kern, aber mit einem Takt pro Befehl, 
USB, 48 MIPS, und und und..

Sogesehen sterben die Dinger "nie" aus...
...die Original mit 12 Takten pro Befehl verwendet man natürlich nicht 
mehr.

von Dirk F. (dirk-frerichs)


Lesenswert?

Der Gastjammerer wrote:
> Der 8051 is hoffnungslos veraltet. Er hat nur ein pointer register und
> da laeuft alles drueber. Egal wieviele MHz, die Leistng verpufft um
> umladen dieses Registers. Der neuere AVR hat drei davon. Es gibt Leute,
> die wollen die 25 jaehrigen Tools mit dem 8051 noch etwas amortisieren.
> Lassen wir die. In den Kuebel damit.


hmm wir haben den 68HC11 als lernobjekt .....
auch schon älter ....

die nächste stuf soll bald in planung sein .. ARM9

von Peter D. (peda)


Lesenswert?

Der Gastjammerer wrote:
> Der 8051 is hoffnungslos veraltet. Er hat nur ein pointer register und
> da laeuft alles drueber.

Wenn man so blöd ist, alle Daten nach XDATA auszulagern, kann 
oberflächlich dieser Eindruck entstehen.

Für Leute, die das Datenblatt lesen können, hat er aber 9 Datenpointer 
und 2 Codepointer.

Wobei neuere 8051 auch mehrere XDATA-Pointer haben.

Die NXP 51MX-Serie hat sogar 2 24Bit Pointer, d.h. kann linear 8MB Daten 
+ 8MB Code adressieren.


Peter

von Peter D. (peda)


Lesenswert?

Michael G. wrote:
> Was fuer ein Zufall... Prof. von uns hat sich beschlossen den 8051 in
> "Rechnersysteme" genauer zu besprechen. Bekommt man das Teil eigentlich
> ueberhaupt noch oder nur Nachbauten?

Naja man bekommt nur über 500 verschiedene Derivate von über 50 
verschiedenen Herstellern. Reicht das?

Wobei die Tendenz weg vom 12-Clocker hin zum 1- oder 2-Clocker geht 
(Atmel, Infineon, Silabs, ...).
Sogar Infineon hat kürzlich seine 8051 auf Flash umgestellt.


Peter

von Thorsten P. (torry)


Lesenswert?

Durchblicker wrote:
> Sowohl bei 8051 als auch bei AVR sind Programm und Datenspeicher
> voneinander getrennt, der Unterschied fällt flach :-).

Nein das stimmt nicht ganz, gemeint ist:
8051 hat einen Datenbus für Programm & Datenspeicher.
AVR hat getrennten Daten und Programmspeicherbus !!!
Daher also doch ein unterschied.

Bei AVR werden fast alle Befehle in einem Takt ausgeführt.
Bei 8051 gibt es Befehle mit 4 Takte(und die normale 51er Kerne teilen 
den Takt nochmal durch 12) Gibt aber wohl auch schon welche die nur 
durch 6 oder 3 oder 4 Teilen, hab ich wohl mal gesehen. Zum Teil die LPC 
von NXP(ehem. Philips).

In der 8bit Welt sind zur Zeit die AVR am schnellsten, da sie 1Takt = 
1Befehl abarbeiten können.
PIC´s dort wird der Takt durch 2 geteilt....

Naja, jede Architektur hat so seine Vor und Nachteile...
Aber AVR ist halt eine recht neue Familie und es werden auch ständig 
neue Mikrocontroller entwickelt die dann immer noch mehr können.

8051 stammt von Intel und ist wirklich wenn ich mich erinnere aus den 
70er oder Anfang 80er... Also so mit die ersten 8bit Mikrocontroller 
wohl.

von runni (Gast)


Lesenswert?

Es kommt immer darauf an was man machen will, die 8051er haben den
Vorteil das die von mehreren Herstellern gebaut werden, in sehr vielen 
Varianten.
Für mich gibt es in dem ewigen "8051 ist veraltet" Streit keinen 
Gewinner, immer wen mir Jemand erzählt hat das der 8051 keine Zukunft 
mehr hat, kam ein neues Modell mit neuen Featurs raus.
Meiner Meinung nach ist die flex. Handhabung des Spezial Funktions 
Registers und die Kompatiblität einzigartig.
Und als Grundlage zum lernen ist der 8051 sowiso Ideal.

von MC (Gast)


Lesenswert?

Der 8051 ist zum lernen wirklich ideal, da er sehr logisch aufgebaut 
ist. Und man darf nicht 8051 als 8051 abtun! Der erste 8051 ist wirklich 
veraltet und wird auch nicht mehr produziert. Aber der Kern wird immer 
weiter entwickelt und taucht mit Features auf, von denen AVRs teilweise 
nur träumen können. Außerdem hat man bei der Beschaffung keine Probleme, 
da man nicht von einem Hersteller abhängig ist! (Was ich besonders 
wichtig finde). Ein (für mich) wichtiger Vorteil des 8051 gegenüber den 
AVRs sind die Interruptprioritäten, mit denen man besonders bei 
Regelungen und Kommunikationssystemen einen schnelleren Ablauf erzielen 
kann.

von Peter D. (peda)


Lesenswert?

Thorsten Poser wrote:

> In der 8bit Welt sind zur Zeit die AVR am schnellsten, da sie 1Takt =
> 1Befehl abarbeiten können.

Das waren sie noch nie.

Die 1-Clocker 8051 von Silabs gibts schon länger (C8051F120, 100MIPS)
Dann gibts noch welche von Maxim (DS89C450, 33MIPS) und sogar Atmel hat 
welche (AT89PL24052, 20MIPS).
Gibt aber bestimmt noch mehr von anderen Herstellern.


Peter

von Thorsten P. (torry)


Lesenswert?

Peter Dannegger wrote:
> Thorsten Poser wrote:
>
>> In der 8bit Welt sind zur Zeit die AVR am schnellsten, da sie 1Takt =
>> 1Befehl abarbeiten können.
>
> Das waren sie noch nie.
>
> Die 1-Clocker 8051 von Silabs gibts schon länger (C8051F120, 100MIPS)
> Dann gibts noch welche von Maxim (DS89C450, 33MIPS) und sogar Atmel hat
> welche (AT89PL24052, 20MIPS).
> Gibt aber bestimmt noch mehr von anderen Herstellern.
>
>
> Peter

Danke Peter für die Info...
Habe in den letzten Jahren nicht mehr alles über 8051 verfolgt.
Ich kenne noch die Zeiten, wo man viel mit 8051er Kernen von 
Siemens/Infineon herum machte.... Und die waren zu der Zeit recht 
langsam... Aber wohl in den letzten 2-3 Jahren hat man da viel 
Beschleunigungsarbeit bei den Kernen geleistet...

Ich benutze aber AVR recht gerne, da das STK500 Entwicklingsümgebung 
recht günstig ist und man kann recht viel  damit anfangen, außerdem sind 
die AVR´s sehr günstig(Reichelt)...
Jede Fam. AVR oder 8051er haben so ihre Vor & Nachteile !!!

Danke noch mal fü die Info !

Thorsten

von Siegfried Schrader (Gast)


Lesenswert?

Ich möchte die Info hier, noch ein wenig erweitern.
Als ATMEL die AVR auf dem Markt gebracht haben, wurden auch welche mit 
kompatiblen Pin's gebaut.
ATMEGA 8515  =  80C52
ATMEGA 162   =  80C52
ATTINY 2313  =  AT89C4051
Nachdem es auch schnelle 80C52 Typen auf dem Markt gab, zum Teil sogar 
schneller als die AVR Typen, hat ATMEL keine neuen Pin kompatiblen AVR 
auf dem Markt gebracht. Wer sich beim Entwickeln des Layout's noch nicht 
sicher ist, hat hier die Möglichkeit zwischen beiden Typen zu wechseln.
So hat man auch die Möglichkeit auf ein altes 8051 Board mit einem AVR 
zu entwickeln.

von MC (Gast)


Lesenswert?

Schlau gemacht!

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.