Forum: Mikrocontroller und Digitale Elektronik µProzessor µC - flexibler?


von Patrick O. (sir-patrick)


Lesenswert?

Hi

Ich schlage mich mit dem Gedanken rum, welcher Aufbau besser zum 
Experimentieren und Erweitern ist. Ein µC bei dem schon alles eingebaut 
ist, oder ein Prozessor, bei dem ich mich noch um RAM etc. selber 
kümmern muss.

Unter anderem denke ich mir, dass ich so mein Programm über einen 
externen Massenspeicher wie z.B. SD-Karte viel einfacher abspeichern 
kann.

Ich hoffe, dass ich unter den beiden Begriffen alles richitg verstehe.
Was sagt ihr dazu?

Mit freundlichen Grüßen

     Patrick

von 6641 (Gast)


Lesenswert?

Probier's mal mit einem AVR. Der hat alles drin. Oder ein PIC ist auch 
gut.

von mr.chip (Gast)


Lesenswert?

Was willst du tun und was sind deine Vorkenntnisse? (Anhand der Frage 
schätze ich sie jetzt mal eher gering ein.)

Wie 6641 sagt: Nimm einen AVR und ein Steckbrett und spiel mal ein 
bisschen damit herum. Dieser Aufbau ist jedenfalls genug flexibel und 
erweiterbar um sehr, sehr viel auszuprobieren.

von Der freundliche Bastler von Nebenan (Gast)


Lesenswert?

Obwohl beim AVR IMO das Havard eigentlich nervt.
Nachladbarer Code in ner VM, was den eh schon zu knappen Speicher 
auffrisst, oder man macht sich mit der Zeit das Flash karpott.

@OP:
Ich persönlich würde eher danach gehen wieviel Zeit du mitbringen 
willst.
Bei hinreichender Zeit, schnapp dir ne Z80 oder ne 6502, dazu passend 32 
kbyte SRAM und 32 kbyte Flash und respektive PIAs (Z80) oder VIAs/CIAs 
(6502).
Die Einzelteile für 6502 (ok, 6510 ;) obwohl, in ner 1541 ist eine 6502 
drin....) kannst du dir aus nem C64 ausschlachten, die Dinger gibt es 
wie Sand am Meer und auf $FLOHMARKT meist schon für eine geringe Menge 
Teuros zu haben.

von Michael U. (amiga)


Lesenswert?

Hallo,

obwohl ich dem Gedankengang von "Der freundliche Bastler von Nebenan" 
durchaus einiges abgewinnen kann (kenne ich eben alles noch von früher), 
würde ich es davon abhängig machen, wohin die Experimente gehen sollen.
Richtung Computer (hier im Sinn von Hardware mit Betriebssystem und 
Standard-I/O wie Tastatur, Monitor), die ihren Zweck drin hat, ein 
Programm zu laden, dessen Ergebnisse nur Daten sind oder
Richtung Steuerung (hier im Sinne von Hardware, die direkt an Schalterm 
Sensoren, Relais, Motoren hängt), die ihren Zweck nur darin hat, eben 
diese Peripherie zu bedienen.

Für den ersten Fall ist der 6502/Z80 Gedanke ok, für den anderen Fall 
eher AVR, PIC o.ä.

Das Problem bei der "Computerlösung": viele Bauteile, die man erstmal 
zum Zusammenspiel überreden muß, damit überhaupt was passieren kann, was 
man programmieren könnte.

Beim µC hat man eine bescheidene Grundhardware, wie auch "mr.chip" 
schreibt, mit der man schnell rumspielen kann und Erfolge sieht.

Die Grenzen sind sowieso nicht so eng, schließlich kann ein PC auch 
externe Sachen steuern oder ein AVR ein Basic-Computer sein...

Gruß aus Berlin
Michael

von Jörg B. (manos)


Lesenswert?

Patrick O. wrote:
> Ich schlage mich mit dem Gedanken rum, welcher Aufbau besser zum
> Experimentieren und Erweitern ist. Ein µC bei dem schon alles eingebaut
> ist, oder ein Prozessor, bei dem ich mich noch um RAM etc. selber
> kümmern muss.
Nimm den µC, vieeel weniger Hardware-Aufwand. Hängt natürlich auch davon 
ab, was Du überhaupt vorhast.

> Unter anderem denke ich mir, dass ich so mein Programm über einen
> externen Massenspeicher wie z.B. SD-Karte viel einfacher abspeichern
> kann.
Egal in welcher Architektur der Prozessor arbeitet, kopiert werden muss 
das Programm von der SD-Karte dann in beiden Fällen - entweder ins RAM 
oder ins Flash. Und wer jetzt behauptet, dass das Flash aber nur eine 
bestimmte Anzahl von Schreibzyklen zulässt sollte bedenken, dass 
immerhin min. 10.000 Schreibzyklen möglich sind und die bei vernünftiger 
Verwendung (also nicht alle 2 Sek. neu schreiben) schon eine Zeit lang 
halten sollten und im schlimmsten Fall anschließend für 2-4 Euro ein 
neuer µC fällig ist.
Die Frage ist eigentlich eher, warum sollte man das Programm überhaupt 
ständig von SD laden.

von Patrick O. (sir-patrick)


Lesenswert?

Das ist eine gute Frage. Unter anderem ist ein SD-Karten Schreibgerät 
viel flexibler in seinem Funktionsumfang und man kann schnell zwischen 
unterschiedlichen Programmen wechseln, deren Größe weit größer als der 
von µC sein kann.
Dadurch entfallen Programmiergeräte, die, ok auch nur bei 30Euro 
beginnen.

Frage: Werden heute noch Prozessoren im Gehäuse gefertigt, die bei 
Steckbrettern üblich sind?

von Bensch (Gast)


Lesenswert?

Die Grenze zwischen uP und uC kann man doch heute garnicht mehr ziehen, 
jeder moderne uP hat doch schon viele Funktionen implementiert, die 
früher einem uC "vorbehalten" waren.
Nimm den schon zitierten Z80, was hat der Nachfolger eZ80L92 oder F92 
schon alles drin? Nebenbei gibt es bei denen weniger Einschränkungen, 
weil sie einen riesigen Speicher direkt ansprechen können.
Kommt halt schlicht auf die Anwendung an, wir setzten übrigens den 
eZ80L92 und den AVR ein und zwar in ein und derselben Anlage 
(Zentraleinheit und mehrere intelligente Peripherie-Einheiten).

von Arc N. (arc)


Lesenswert?

Patrick O. wrote:
> Das ist eine gute Frage. Unter anderem ist ein SD-Karten Schreibgerät
> viel flexibler in seinem Funktionsumfang und man kann schnell zwischen
> unterschiedlichen Programmen wechseln, deren Größe weit größer als der
> von µC sein kann.

Schnell wechseln? Nicht wirklich, das Programm muss, wie schon 
geschrieben, in den normalen Speicher des Controllers (bzw. den an den 
Controller angeschlossenen Speicher) nachgeladen werden. Direkt von 
einer SD-Karte kann kein Controller Programme ausführen (selbst wenn, 
wäre dies um Größenordnungen zu langsam).

Manchmal fragt man sich, was das für riesige Programme werden sollen. 
Früher (z.B. Amiga, ST) haben ganze Betriebssysteme inkl. Treiber, GUI 
etc. in 256 kiB gepasst.

> Dadurch entfallen Programmiergeräte, die, ok auch nur bei 30Euro
> beginnen.

Die Ansteuerung der SD-Karte o.ä. muss der Controller auch irgendwo 
gespeichert haben d.h. man brauch dann auch wieder ein Programmiergerät.

> Frage: Werden heute noch Prozessoren im Gehäuse gefertigt, die bei
> Steckbrettern üblich sind?

Einige schon, viele aktuelle wie z.B. div. ARM7/9, Cortex-M3, SHs, MIPS, 
PowerPCs etc nein.

von Jojo S. (Gast)


Lesenswert?

Also ein ordentliches Programmiergerät (z.B. AVRISP von Atmel oder die 
Nachbauten) sollte man sich schon gönnen, dazu gibt hier im Forum schon 
reichlich viele Diskussionen. Damit ist ein Umprogrammieren schneller 
als mit SD Karte hin und herwechseln. Zumindest in der Testphase wenn 
das Programmiergerät noch angeschlossen ist. Für das Umprogrammieren im 
laufenden Betrieb bieten sich die Bootloader an die per seriell oder USB 
angeschlossen sein können (SD Bootloader gibts natürlich auch).
Ein Nachbau aus CPU/Ram/Rom würde ich auch nicht mehr machen. Wenn es zu 
Lehrzwecken doch gewünscht ist: dafür dürfte es in älteren Elektor oder 
ct Zeitschriften reichlich halbfertiges geben.

von Patrick O. (sir-patrick)


Lesenswert?

An Arc Net

Nach meinem Verständis über Prozessoren, können Programme doch auch von 
externen Speichern abgearbeitet werden, oder wie wird denn sonst bei PCs 
von Disketten oder Festplatten gebootet?

> Schnell wechseln? Nicht wirklich, das Programm muss, wie schon
> geschrieben, in den normalen Speicher des Controllers (bzw. den an den
> Controller angeschlossenen Speicher) nachgeladen werden. Direkt von
> einer SD-Karte kann kein Controller Programme ausführen (selbst wenn,
> wäre dies um Größenordnungen zu langsam).

Bei der Idee mit der SD-Karte hab ich eher an Prozessoren gedacht. 
Sollte sich jetzt heraus stellen, dass ich den Unterschied zwischen 
Prozessor und Controller nicht kenne tut es mir Leid.

von Andreas K. (a-k)


Lesenswert?

Patrick O. wrote:

> Nach meinem Verständis über Prozessoren, können Programme doch auch von
> externen Speichern abgearbeitet werden, oder wie wird denn sonst bei PCs
> von Disketten oder Festplatten gebootet?

Indem ein ROM-basiertes Programm (z.B. BIOS) ein Programm von diesem 
Datenträger ins RAM läd und dort ausführt.

Kein System kann Programme direkt von Massenspeicher ausführen, ohne so 
einem Schritt dazwischen.

von Patrick O. (sir-patrick)


Lesenswert?

Also muss ein BS wie Windows das gesamte Programm zuerst in den 
Arbeitsspeicher schreiben, um von dort ausgeführt zu werden?

Ladet das BIOS dann nur den Bootsektor, wenn der PC von nem Medium 
bootet?

von Andreas K. (a-k)


Lesenswert?

Patrick O. wrote:

> Also muss ein BS wie Windows das gesamte Programm zuerst in den
> Arbeitsspeicher schreiben, um von dort ausgeführt zu werden?

Ja. Wenngleich sowas bedarfsweise Stück für Stück geschieht.

> Ladet das BIOS dann nur den Bootsektor, wenn der PC von nem Medium
> bootet?

Das BIOS läd den Master-Bootsektor (MBR). Das Programm darin sucht die 
aktive Partition und läd dessen Bootsektor. Von da an entscheidet die 
Boot-Technik des verwendeten Betriebssystems wie es weiter geht - es 
können durchaus noch einige weitere Schritte folgen, bis der Kernel 
aktiv wird.

von Andreas K. (a-k)


Lesenswert?

Zu archaischer Zeit musste man übrigens auf manchen Systemen mangels 
Boot-ROM einen kleinen ersten Bootloader manuell per Schalter Befehl für 
Befehl eingeben.

von Εrnst B. (ernst)


Lesenswert?

Patrick O. wrote:
> Also muss ein BS wie Windows das gesamte Programm zuerst in den
> Arbeitsspeicher schreiben, um von dort ausgeführt zu werden?

Lass PCs erstmal außen vor, da kann das beliebig kompliziert werden. 
Siehe Page Fault, Swap, memory mapped files, etc...


> Ladet das BIOS dann nur den Bootsektor, wenn der PC von nem Medium
> bootet?

Das Bios will immer einen Bootsektor laden, ob von Festplatte, CDRom, 
USB, Diskette, Netzwerk, ... kann man dort üblicherweise einstellen.

von Patrick O. (sir-patrick)


Lesenswert?

Welcher ist der kleinste, heute noch produzierte, euch bekannte 
Prozessor?

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.