z.B. der ATmega2560
Hallo,
wie schon im Titel such ich für ein Projekt von mir einen µC mit mehr als 50 I/O Ports. Ich hab ne Menge Hardware anzusteuern und daher brauch ich viele viele Anschlüße. Den Mega128 hab ich mir schon angeschaut, der hat leider ein paar Ports zu wenig für meinen Geschmack (das ganze soll ja auch noch erweitert werden können). Außerdem verliehrt man gleich wieder ne Menge Ports für Programmierschnittstelle und Bus Systeme.
Da ich bisher nichts gefunden hab was mehr als die genannten Ports zur Verfügung stellt wende ich mich jetzt vertrauensvoll an euch in der Hoffenung dass vielleicht einer einen entsprechenden µC kennt.
viele Grüße
Hanno
z.B. der ATmega2560
Signatur??? kann ich mir nicht leisten!!!
hätte ich auch spontan vorgeschlagen..
bei viel hardware macht es sich dann ev. schon gut das über ein bus system zu machen...
kannst ja mal schreiben was es so an hardware ist
Ok dann wollen wir mal
2 Gleichstrommotoren (4 Signale jeweils 2PWM und 1 Enable ein Inkrementalgeber) = 8
2x4 Servos für die Arme = 8
3 Servos für den Hals/Kopf = 3
10 LEDs für die Batterieanzeige = 10
3-4 Taster = 4
weitere LED bzw. Laser = 3-5
AD Eingänge für Spannungsüberwachung = 2
AD Eingänge für Sensoren = 6
Sensoren US je 2 geplant 2-3 = ~6
Display = 6
das wäres so grob und natürlich soll es noch erweitert werden können.
Mit Bus systemen hab ich bisher noch nicht gearbeitet bzw. mich noch nicht heran getraut, da ich nicht weis wie ich die Controller miteinander kommunizieren lassen könnte.
Hallo!
@ HannoHupmann
Laut alter Regel "was nicht passt, wird passend gemacht" würde ich für Ansteuerung der 10 LED's für Baterieanzeige z.B. ein LM3914 verwenden.
Wenn es nicht extrem schnell seien muss, lässt sich durch Anwenden von Schieberegister zum Einlesen/Ausgeben von Daten die Anzahl nötigen Pins stark reduzieren.
Einziges Nachteil ist, das es mehr externer Hardware benötigt wird.
MfG
Wenns wirklich ein µC mit mehr Pins sein soll würd mir da spontan ein Infineon XE167 einfallen. Ist zwar ne ganze Ecke mächtiger als ein AVR, aber mit nem 144-Pin-Gehäuse sollte genug da sein.
Aber der Liste nach würde sich das alles schon mit 2560er machen lassen. Als Bus-System reicht hier dann auch der I2C. Und den in Gang kriegen ist auch kein so grosses Hexenwerk (eher Teufelswerk, wenns mal irgendwo hakt)
#ifndef MfG
#define MfG
@PICture, genau deswegen dieser Thread, da mein Projekt gerade stagniert, wegen dieser Problematik. Bisher hab ich in dem Roboter zwei Mega32 am rattern, aber die kommunzizieren nicht miteinander und das möchte ich nicht. Die Idee war einen großen µC zu nehmen und sich die Busproblematik zu sparen. Dass eine 10 Segmentanzeige auch anders angesteuert werden kann, hab ich im Hinterkopf und wird auch sinnvoller sein.
Ein neues Board muss ich eh auslegen da können dann auch noch mehr Controller drauf.
Also immer her mit den Ideen
Also der AT90USB1287 hat schon mal 48 I/Os.
http://www.atmel.com/dyn/resources/p...ts/doc7593.pdf
Die Atmegas der ATmega1281/2561, ATmega640/1280/2560 haben 51 bzw 86 Programmable I/O Lines! Reicht Dir das??
Mächtiger geht ja nun wirklich nicht.
http://www.datasheetcatalog.org/data.../3055029_1.pdf
Mit ein wenig Geschick kann man auch eine Menge Ports einsparen. z.B.:
- Tasteneingaben über ADC & Widerstandsnetzwerk
- LCDs im 4Bit-Mode oder am I2C Betreiben
- Sämtliche zsätzlichen Steine/Sensoren am I2C betreiben
und und und
hi HannoHupmann,
für ein anderes Projekt habe ich einen kleinen (guten alten) 8 bit parallel-Bus aufgebaut.
Das gibt jede Menge freier Adressen.
Bild hier
Schau doch mal da:
https://www.roboternetz.de/phpBB2/ze...rieb&start=154
Am Ende des oberen Drittels der Beitrag vom: 19.09.2008, 17:57
Statt des unidirektional arbeitenden 74..573 kannst Du auch den 74..245 verwenden. Der arbeitet auch bidirektional:
Einfacher (zu programmieren) ist es aber jeweils 8 Bit nur für Ein- oder Ausgabe zu definieren.
http://www.datasheetcatalog.org/data...1x649sy2py.pdf
Die Teile sollten auch in SMD verfügbar sein.
Das schöne an den Latches ist, daß sie die Daten zwischenspeichern und Du sie abrufen kannst, wann Du möchtest.
Mit nur 3 Bit (Adressen) & 8 Bit (Daten) könntest Du schon 15 (16) mal einen 8 Bit breiten parallelbus aufbauen.
Bei 4 Adressbits verfügst Du schon über 31 (32) 8 Bit breite Kanäle.
Der Schaltungsaufwand ist etwas höher und die Technologie stammt noch aus der "Computersteinzeit"; wie ich selber auch , bietet aber auch ein paar Vorteile.
Du hast keinen Streß mit irgendwelchen Übertragungsprotokollen und die Datenübertragung ist auch nicht so strörungsanfällig wie bei seriellen Systemen.
Die Geschwindigkeit ist auch recht hoch, da bis zu 8 Bit parallel übertragen werden.
Inwieweit die neuen Bussysteme nun besser sind als mein "Dinosaurier" können andere hier besser beurteilen als ich. Ich kenne nur den Einen "en détail". Da lasse ich mich auch gerne belehren \/
Das System ist, sofern einmal verstanden, recht einfach aufzubauen und bei entsprechender Auslegung der Busadressen auch im nachhinein einfach zu erweitern.
Bin schon mal gespannt, was Du wieder "ausheckst" \/ \/
liebe Grüße,
Klingon77
Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de
@ HannoHupmann
Ich finde trotzdem die Lösung nur mit Schieberegister ohne Bus besser, weil sie keine Adressen und bei beliebiger Vergrösserung der Datenmenge keine zusätzliche Pins braucht. Man braucht immer für das Ausgeben nur 2 und das Einlesen nur 3 Pins.
MfG
Lesezeichen