Forum: Mikrocontroller und Digitale Elektronik Einige Fragen zu µElektronik


von Maverick (Gast)


Lesenswert?

Hi,

ich habe jetzt ein bischen mit meinem ATMega32 rumgespielt und mir sind
einige sachen noch nicht so klar.

1. Warum werden in fast allen Tutorial die Schaltungen so aufgebaut,
dass wenn der Pin auf VCC (also im µC logisch "1") die LED oder der
Taster aus ist und bei "0" dieses an ist?

2. Ist es eignetlich möglich MMC Karten und solche Sachen die dem
anschein nach immer an das SPI angeschlossen werden auch an "normale
" Pins anzuschliessen um z.B. mehrere zu unterstützen?

3. Gibt es irgentwo ein Projekt wie myCPU, das auch das alles erklärt?
Bzw wo kann man diese grundlagen am besten lernen welche Bücher sind
gut dafür? Und wie schwer ist es z.B. Eine art Game Boy mit einem 368sx
aufzubauen? Gibt es Tutorials für so etwas?

Mfg Maverick

von A.K. (Gast)


Lesenswert?

Zu 1: Liegt ursprünglich in der Arbeitsweise von TTL und
NMOS-Schaltungen begründet. Die lassen sich weit leichter runter- als
hochziehen. Zwar sind heute beide Techniken nicht mehr in Gebrauch,
aber erstens halten Traditionen lang, zweitens haben 8051-er mit ihrer

archaischen Portstruktur das bis in die heitige Zeit konserviert.

von Rolf Magnus (Gast)


Lesenswert?

Zu 1:
Bei LEDs macht man das meist deshalb, weil die Treiberstufen in den
Controllern in der Richtung mehr Leistung schaffen.
Bei den Tastern, weil man einen Widerstand braucht, der den Pin auf das
"andere" Potential zieht, und dazu den eingebauten pull-up verwenden
kann, wenn man den Taster gegen Masse schalten läßt. Wenn man ihn gegen
VCC schaltet, muß man noch einen zusätzlichen externen pull-down
einbauen.

Zu 2:
Du müßtest sie eigentlich auch alle parallel an SPI anschließen können
und brauchst dann halt nur eine weitere Leitung pro Karte für die
Auswahl.
Es ginge auch, sie ans die "normalen" Pins anzuschließen, aber dann
mußt du das SPI selber in Software implementieren.

Zu 3 kann ich nichts sagen.

von Jens D. (Gast)


Lesenswert?

Zu 2:
erweiterung: Du kannst nicht nur MMS Karten anschliessen, sondern auch
noch andere Komponenten zB, DA / AD Wandler ....

Gruss

von Mario R. (mario001) Benutzerseite


Lesenswert?

Hallo,

zu 2: Ja, du kannst prinzipiell Peripherie an jeden beliebigen Portpin
anschließen. Dann musst du aber die nötigen Ansteuerungsroutinen meist
von Hand programmieren !

Besser ist es oft, die internen Hardware-Module (z.B. SPI, TWI, UART
... je nachdem was der Controller halt alles hat) zu benutzen, was die
Sache extrem vereinfacht, da sich dann größtenteils der Controller um
die Abarbeitung kümmert. Diese Hardware-Module sind aber eben auf
bestimmte Pins herausgeführt, die dann auch benutzt werden müssen.

zu 3: Ich empfehle dir hier a) dieses Forum, b) Google, c) die
Datenblätter und Application Notes der Controller und d) try-and-error,
also einfach ausprobieren. Das Geld für spezielle Bücher würd ich sparen
und in Hardware investieren :-)

Grüße, Mario

von Mario R. (mario001) Benutzerseite


Lesenswert?

Hups, sorry, war ich zu langsam :-)

von Maverick (Gast)


Lesenswert?

Hi danke das hat mir schon sehr geholfen.

Irgentwann wollte ich mal einen Schachcomputer bauen. (In C++ habe ich
mal einen geschrieben)
Anfangs wollte ich da mit einem µC machen nur habe ich jetzt gemerkt,
das man ja viel zu wenig Speicher hat sollte man da den Mega128 nehmen
oder echt versuchen das ganze mit einem 386sx zu machen? Ich habe noch
2 rumfliege.

Was bräucht eman alles dafür? Spannungsversorgung, 386, Taktgenerator
SRAM, I/O für Taster und LED´s (2x16) und ein LCD Display. Ist so etwas
machbar und wonach muss ich dafür genau bei google suche? Ich habe noch
keine genauen Datenblätter (wie z.B. Von den Megas) für den 386sx
gefunden. Wo kann ich solche Daten oder auch Beispielbeschatungen mit
erklärung finden?

von Ppp M. (sanic)


Lesenswert?

@Maverick:
Wenn dir die ATMegas zu wenig Platz bieten schau dir doch mal ARM
Mikrocontroller an:
http://www.mikrocontroller.net/articles/LPC2000_Philips_ARM7TDMI-Familie

Grüße

von Daniel B. (khani)


Lesenswert?

Hallo,

also mit PC-Prozessoren zu arbeiten ist sehr schwer (ich sage
wohlweißlich nicht unmöglich). Ein Mikrocontroller hat fast alles, was
er zum Betrieb braucht "an Bord". Ein PC-Prozessor ist eben "bloß"
ein Prozessor.

Das ist so als würdest Du fragen, ob Du lieber mit dem Moped oder einem
Turbodiesel-Aggregat fahren sollst. Das eine ist komplettes Fahrzeug,
das andere nur ein Antrieb.

Es gibt viele (auch rechenstarke Mikrocontroller) - da findest Du
bestimmt einen für ein Schachprogramm (sollte dann einer sein, der
größere Mengen Speicher verwalten kann - ich glaube das ist gut für
SChachprogramme).

MfG, Daniel.

von Winfried (Gast)


Lesenswert?

Auch noch ein Grund: Pull-Down ist störanfälliger als Pull-Up. Oft ist
Low maximal bis 0.7..0.8V definiert. Von 0V .. 0.8V sind es nur 0.8V
Hub, von 5V..2.5V sind es ganze 2.5V Sicherheit.

von Maverick (Gast)


Lesenswert?

Hi danke für die Antworten.

Ok ist es denn möglich an einen µC einen schnellen, grossen externen
SRam anzuschiessen? Also bis jetzt habe ich gelesen, dass das alles
leider sehr langsam gehen soll.

Bei meinem C++ Programm war meistens das Problem, dass in kurzer Zeit
massenweisse Stellungenn Berehcnet und bewertet wurden und ich bin da
realativ schnell auf so ca 128MB gekommen und nach möglichkeit wollte
ich 256MB nutzen ....

Auserdem braucht ich wegen der Stellungsbewertung und den
Stellungsvergleichen einen relativ schnellen spiecher da auch diese
Tabellen relativ schnell über ein 64kb gross werden und dann auch nicht
mehr auf den µC passt.

Leider kann ich nicht erkenne was für ein Controller mein gekaufter
Schachcomputer nutzt sonst würde ich den mal versuchen...

Kennt jemand so ein oder ein vergleichbares Projekt im Internet?
Oder wie kann ich am besten da rangehen? Die Software sollte kein
Problem sein eher die Hardware.

Mfg Maverick

von A.K. (Gast)


Lesenswert?

Äh? Mega32 mit 256MB RAM????

Da bist Du mit einem auf PC-Technik basierenden System besser dran.
FlexATX, die VIA Dinger und derartiges.

von popel (Gast)


Lesenswert?

Schachcomputer auf µC :
http://www.elektor.de/Default.aspx?tabid=27&art=72517

( 256 MB RAM sind natürlich zu wenig ;-)

von popel (Gast)


Lesenswert?


von Maverick (Gast)


Lesenswert?

Hi vielen dank!

von Peter Dannegger (Gast)


Lesenswert?

Zu DDR-Zeiten gabs mal einen Schachcomputer mit Z80 und der war gar
nicht mal schlecht.

Ich glaube, das waren 16kB RAM und 48kB ROM, man braucht also nicht
Unmengen an Speicher.


Peter

von Jim (Gast)


Lesenswert?

"Zu DDR-Zeiten gabs mal einen Schachcomputer mit Z80 und der war gar
nicht mal schlecht.

Ich glaube, das waren 16kB RAM und 48kB ROM, man braucht also nicht
Unmengen an Speicher."


Die ersten Schachcomputer hatten alle wenig RAM und ROM.
Die ersten Mephistos hatten den 1802 drin und brachten 1250 ELO.
Die mit 6502 brachten schon über 1900 ELO.


Wenn man also mit 256MB RAM nicht auskommt, dann sollte man vielleicht
erstmal am Algorithmus basteln. Ansonsten ist man wohl mit
Brute-Force-Ansatz bei einem dicken AMD64 besser aufgehoben.

von Bassti (Gast)


Lesenswert?

Zu1:
Die CMOS-Technik hat N-Kanal zum runterziehen und P-Kanal zum
hochziehen.
die Elektronenbeweglichkeit ist in Silizium fast 3mal so hoch wie die
der "Löcher".
Das heisst ein P-Kanal muss ungefär 3x so gross sein wie ein n-Kanal,
um gleich "stark" zu sein. Das hat man eben nicht unbedingt so
gemacht, deshalb ist die bevorzugte Richtung nach unten ziehen.

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.