Forum: Mikrocontroller und Digitale Elektronik Maximum I/Os Microcontroller


von golther (Gast)


Lesenswert?

Hallo,

ich bin noch ein Anfänger und denke gerade über ein neues Projekt nach. 
Hierzu habe ich 3 Fragen:
1. Wie bestimmt ich die größe des Speichers und Prozessors vom 
Controller?
2. Viele Hobbybastler schwören ja auf den Eigenbau vom Controller, da 
sie ihn so optimal bestücken können. Was muss mindestens auf einem 
Controller an Peripherkomponenten enthalten sein? Ich weiß, dass man 
natürlich eine Stromversorgung, einen Busanschluss und eine CPU (z.b. 
Atmega328) braucht. Auf den Platinen sind aber immer noch 
Spannungsregler,...zu sehen. Wäre nett, wenn mir da einer einen groben 
Überblick geben könnte, konnte dazu leider recht wenig finden.
3. Gibt es ein Maximum von I/Os, die ich auf einem Controller verbauen 
kann?
Angenommen ich will eine 10x10 LED-Matrix nicht multiplexen oder durch 
Shiftregister steuern, sondern wirklich jede LED einzeln. Ginge das und 
wenn ja warum/warum nicht und wo ist die Grenze bzw. durch was wird sie 
definiert?
Bin für jede Hilfe dankbar.
Grüße

von Schnurpsel (Gast)


Lesenswert?

golther schrieb:
> 1. Wie bestimmt ich die größe des Speichers und Prozessors vom
> Controller?
Indem du ins Datenblatt schaust.

> 2. Viele Hobbybastler schwören ja auf den Eigenbau vom Controller, da
> sie ihn so optimal bestücken können. Was muss mindestens auf einem
> Controller an Peripherkomponenten enthalten sein? Ich weiß, dass man
> natürlich eine Stromversorgung, einen Busanschluss und eine CPU (z.b.
> Atmega328) braucht. Auf den Platinen sind aber immer noch
> Spannungsregler,...zu sehen. Wäre nett, wenn mir da einer einen groben
> Überblick geben könnte, konnte dazu leider recht wenig finden.
Eigenbau welcher Controller? Was soll der Controller können? Welche 
Platinen?

> 3. Gibt es ein Maximum von I/Os, die ich auf einem Controller verbauen
> kann?
Was für ein Controller?

von Micha (Gast)


Lesenswert?

golther schrieb:
> Wie bestimmt ich die größe des Speichers und Prozessors vom
> Controller?

Datenblätter und "parametrische Suche" bei den Herstellern der µCs

> 2. Viele Hobbybastler schwören ja auf den Eigenbau vom Controller, da

Huch, meinst Du nicht eventuell "Eigenbau von Entwicklungsboards", 
sprich den Platinen? ;-)Dann bekommt man eben genau das (und nur das) 
was man braucht.

> 3. Gibt es ein Maximum von I/Os, die ich auf einem Controller verbauen
> kann? ...
> wo ist die Grenze bzw. durch was wird sie definiert?

Im wesentlichen duch die Anzahl der Pins, d.h. der Gehäuse-Größe, die Du 
verarbeiten kannst. Sagen wir mal so, ein AVR-Tiny im Dip8 Gehäuse kann 
man gut verarbeiten und hat max. 6 IOs (+Vcc+Gnd), ein moderner Core7 >> 
1000 Pins und der kommt im nicht ganz so bastlerfreundlichem BGA daher. 
Dazwischen gibt's so fast alles.

von Fabian O. (xfr)


Lesenswert?

golther schrieb:
> 1. Wie bestimmt ich die größe des Speichers und Prozessors vom
> Controller?

Das hängt davon ab, was die Anwendung machen muss. Dazu gibt es 
Erfahrungswerte. Die Ansteuerung eines Grafik-LCD braucht z.B. mehr 
Speicher als eine LED blinken lassen. Wenns das Projekt ein 
Einzelstück/Prototyp ist im Zweifel lieber einen größeren Controller 
nehmen. Die Kosten halten sich ja in Grenzen.

> 2. Viele Hobbybastler schwören ja auf den Eigenbau vom Controller, da
> sie ihn so optimal bestücken können. Was muss mindestens auf einem
> Controller an Peripherkomponenten enthalten sein? Ich weiß, dass man
> natürlich eine Stromversorgung, einen Busanschluss und eine CPU (z.b.
> Atmega328) braucht. Auf den Platinen sind aber immer noch
> Spannungsregler,...zu sehen. Wäre nett, wenn mir da einer einen groben
> Überblick geben könnte, konnte dazu leider recht wenig finden.

Ein Spannungsregler gehört doch zur Stromversorgung. Wenn die Schaltung 
von außen schon mit der richtigen Spannung versorgt wird, brauchst Du 
keinen, ansonsten schon. Welche Peripherie Du sonst brauchst, hängt nur 
von der Anwendung ab. Wenn das Board nur eine LED blinken lassen soll, 
dann muss darauf nur die Stromversorgung, der Mikrocontroller und die 
eine LED, mehr nicht.

> 3. Gibt es ein Maximum von I/Os, die ich auf einem Controller verbauen
> kann?
> Angenommen ich will eine 10x10 LED-Matrix nicht multiplexen oder durch
> Shiftregister steuern, sondern wirklich jede LED einzeln. Ginge das und
> wenn ja warum/warum nicht und wo ist die Grenze bzw. durch was wird sie
> definiert?

Jeder Mikrocontroller ("Prozessor") hat eine gewisse Anzahl an I/O-Pins, 
beispielsweise 32. Dann kannst Du daran 32 LEDs anschließen, mehr nicht. 
Wenn Du mehr haben willst, brauchst Du entweder einen größeren 
Mikrocontroller oder zusätzliche Bauteile wie Schieberegister, 
Multiplexer bzw. andere ICs, die ganz grob gesagt aus wenigen Pins mehr 
Pins machen. Genau dafür sind sie da. Du kannst natürlich auch mehrere 
Mikrocontroller auf ein Board bauen, allerdings ist das meistens nicht 
sonderlich sinnvoll.

von golther (Gast)


Lesenswert?

Aber es gibt ja Controller mit verschiedenen I/Os Anzahlen z.B. 8,32,52. 
Kann ich also auf meinem Board (wenn ich es selber bau) beliebig viele 
I/Os einbauen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

golther schrieb:
> Kann ich also auf meinem Board (wenn ich es selber bau) beliebig viele
> I/Os einbauen?

Überleg doch einfach mal. Was sollte Dich daran hindern?

von Dietrich L. (dietrichl)


Lesenswert?

golther schrieb:
> Aber es gibt ja Controller mit verschiedenen I/Os Anzahlen z.B. 8,32,52.
> Kann ich also auf meinem Board (wenn ich es selber bau) beliebig viele
> I/Os einbauen?

Direkt hast Du erstmal soviele, wie der µC selber hat. Wenn Du mehr 
brauchst, gibt es verschiedene Möglichkeiten, das zu erweitern (siehe 
Fabian O.).

Die werden dann aber anders angesprochen wie die µC-eigenen, d.h. Du 
musst dazu eine spezielle Software schreiben (eine Art Treiber), die den 
I/O-Pin liest oder schreibt.

Gruß Dietrich

von Christian Fuchs (Gast)


Lesenswert?

golther schrieb:
> Aber es gibt ja Controller mit verschiedenen I/Os Anzahlen z.B. 8,32,52.
> Kann ich also auf meinem Board (wenn ich es selber bau) beliebig viele
> I/Os einbauen?

Generell ja, aber was bringt dir ein Board mit 1000 I/Os wenn dein 
Controller nur, sagen wir 16 I/Os besitzt?
Außerdem würde ich an deiner Stelle nicht mit 100 LEDs anfangen, wenn du 
sie alle einzeln steuern willst, sondern mit wesentlich weniger. Z.B. 25 
damit würde sich auch schon ein 5x5 LED Feld ansteuern lassen und du 
kannst ein wesentlich handlichern Controller nehmen.
Ich persöhnlich bin mit dem ATMega32 sehr zufrieden und der hat 32 I/Os 
(wobei man ein paar erst "freischalten" muss, da siebereits Intern 
vergeben sind. Das lässt sich aber mit AVRStudio 4 sehr leicht 
bewerkstelligen). Eine Hilfe hier ist vielleicht auch das AVR-Tutorial.

golther schrieb:
> 2. Viele Hobbybastler schwören ja auf den Eigenbau vom Controller, da
> sie ihn so optimal bestücken können. Was muss mindestens auf einem
> Controller an Peripherkomponenten enthalten sein? Ich weiß, dass man
> natürlich eine Stromversorgung, einen Busanschluss und eine CPU (z.b.
> Atmega328) braucht. Auf den Platinen sind aber immer noch
> Spannungsregler,...zu sehen. Wäre nett, wenn mir da einer einen groben
> Überblick geben könnte, konnte dazu leider recht wenig finden.

Wenn du ein Entwicklungsboard oder generell eine Platine suchst dann 
schau doch mal ins Equipment Tutorial von AVR 
(http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment). Dort 
findest du eigentlich alles notwendige. Als Spannungsversorgung 
funktioniert aber auch ein altes PC-Netzteil, das liefert dir eine 
geglätte und stabilisierte Spannungsversorgung mit vielen üblichen 
Spannungswerten.

golther schrieb:
> 1. Wie bestimmt ich die größe des Speichers und Prozessors vom
> Controller?

Wie bereits gesagt musst du dafür das entsprechende Datenblatt zu rate 
ziehen. Für ein kleineres Anfangsprojekt sollte so ziemlich jeder 
Speicher eines handelsüblichen Mikrocontroller ausreichen. Atmel bietet 
auf diesem Gebiet eine große Auswahl an günstigen Mikrocontroller (z.B. 
die ATtiny-Reihe oder die ATMega-Reihe)

von Eingehirner (Gast)


Lesenswert?

Meine bescheidene Erfahrung zu Entwicklungsboards ist: Man gibt trotz 
sorgfältiger Budgetierung mehr Geld aus, wenn man eins selber baut, als 
wenn man sich z.B. ein myAVR gönnt. Das kann zwar erstmal nur 
DIP-20-AVRs und hat fast keinen Port mit allen acht Pins, aber es läuft 
gut und man kann sich mal einarbeiten. Mit dem myMultiProg-Board kann 
man dann auch alles andere programmieren. Alternativ bastelt man sich 
Adapter, die auf den myAVR-Sockel passen und oben einen für ATTiny, 
ATMega8535 etc. haben /(quasi ein erweitertes MultiProg).

Die Platinen sind oft auch deshalb so "voll", weil sie für mehrere Fälle 
gebaut werden. Mein myAVR-Board hat z.B. ungenutzte Kontakte für den 
AVRUSBmkII-Programmer-Wannenstecker, den man aber prinzipiell auflöten 
und benutzen könnte (statt der myAVR-Programmierplatine). Der Rest ist 
aber, wie schon gesagt wurde, Spannungsregler (auf 6V, hat auch jede 
meiner anderen Platinen) und das Zeugs für die Programmiererei: LEDs mit 
Vorwiderstand an Masse, Summer, Steckports für Add-on-Module, Potis, 
Taster, Port-Kontakte. Manche haben vielleicht noch einen Taktgeber für 
LCDs? Es kommt immer drauf an, was sich der "Bauer" gedacht hat. Schau 
dir mal verschiedene Entwicklungsboards an und zieh all das ab. Viel 
bleibt nicht übrig.

Selber bauen heisst meistens auch: Mehrere Bauteile werden gegrillt, man 
kauft zuviel vom einen, zuwenig vom anderen, das Falsche vom dritten, 
muss zwischendrin umdisponieren, braucht plötzlich neue Platinen etc 
etc. Dafür lernt man sehr viel steiler.

Was allerdings beim Eigenbau ein Vorteil ist: Man kann z.B. 
Schraubkontaktleisten statt der üblichen Sockelsteckkontakte verbauen, 
ist mechanisch etwas stabiler, wenn man das Zeug durch die Wohnung 
trägt, und etwas Platz für Beschriftung ("Port A 0...7") ist auch 
noch...

Was die 10x10 LEDs angeht: 2x10 Pins und AND-Bausteine? ;) Dann reicht 
schon ein ATMega8535 oder ähnliches aus... oder aber Schieberegister und 
ein ATTiny... wie Fabian O. schon meinte: "Genau dafür sind sie da." 
Strom könnte dabei ein Problem werden...

Gruss,
Eingehirner

von Bastler (Gast)


Lesenswert?

Zum multiplexen nehme ich immer 74hc595 weil die latchen.
Da kann man in aller Ruhe neue Daten reintakten ohne dass irgendetwas 
flackert.
Oft liegt es auch am mangelnden Wissen über Bauteile und will alles mit 
den Controller-Pins direkt regeln.
Das kommt mit der Zeit...

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.