Hallo, ich lese hier immer viel mit und bin Jetzt mal an einen Punkt gekommen, wo ich mal Ideen bzw. vllt noch sinnvolle Ergänzungen bräuchte. Zu meinen Vorhaben ich wollte mir ein experimentierbord aufbauen mit dem Schwerpunkt Bus System( ein Thema das mich sehr reizt). Bis jetzt habe ich nur kleine Board bzw. Adapter zum programmieren und halt alle Pins nach außen geführt, nur solangsam wird der Schreibtisch sehr voll und mit den ganzen steckboards sehr unübersichtlich. Jetzt dachte ich mir alles mal auf einer Platine zubringen. Nun zu meiner frage, ich hab mir schon Gedanken gemacht was ich da so alles unterbringen möchte, nun wollte ich mich erkundigen, ob es noch sinnvolle Ergänzung, gibt die ich übersehen habe. Hier mal eine grobe Übersicht über bisherigen ich nenn es mal Bauteile die ich verbauen möchte. Steckplatz für die ganzen Microcontroller(Attiny85,4313,ect),(Atmega 644,328,etc.) mit SPI, ISP und I2C zusammen gefügt ( Problem bis jetzt ich kann während des progens immer nur ein UC auf die Sockel stecken, wenn es da nen tippt gibt wie ich immer nur ein UC proggen kann die andern jedoch in den Sockel lassen kann immer her mit der Info :-)) I2C / Rs232 USB Schnittstelle: MCP2221 Kleiner Lasten Esel L293D evtl mit MCP 23008 MCP 4151 SPI Poti 2 EEProms einmal SPI einmal I2C 24LC512 Schnittstelle für Hd 2x16 Dispaly über I2C FTDI I2C zu low Speed CanBus und SPI zu high Speed CanBus 2 Port Erweiterungen I2C und SPI MCP 23017 und MCP 23s08 ISP Anschluss (Progammierer MY USB LIGHT) 16 Taster 8 davon direkt an IO 8 weitere über Widerstandsnetzwerk über ADC I2C / SPI Ausgang für Erweiterungen Spannungsregler lm317 mit schiebeschalter zum wechseln der UC Spannung von 3,3V oder 5V Diverse LED 2x Dip 8 Fach Dip Switches So das war das grobe was ich mir gedacht habe, nun wäre schön evtl noch Ergänzungen zubekommen auf die ich selber nicht kam :-) und vllt ne Lösung zu mein Programmier Problem.
Patrick schrieb: > > Steckplatz für die ganzen Microcontroller(Attiny85,4313,ect),(Atmega > 644,328,etc.) mit SPI, ISP und I2C zusammen gefügt ( Problem bis jetzt > ich kann während des progens immer nur ein UC auf die Sockel stecken, > wenn es da nen tippt gibt wie ich immer nur ein UC proggen kann die > andern jedoch in den Sockel lassen kann immer her mit der Info :-)) Der SPI und / oder I2C-Master müssen tri-state werden, in dem Moment, wo die Slaves per ISP programmiert werden. Das machst Du am einfachsten, indem die Resets der Slaves jeweils über Dioden (Schottky) den Master-Reset ebenfalls auslösen (Dioden-Logik).
Das ist nen super Tipp. Nur das Problem, mit dem programmieren meinte ich anders. Ich hab einen ISP Anschluss. Dieser ist mit VCC MOSi MISO SCK RESET und GND aller UCs verbunden. Zum Proggen müsste ich jetzt alle UCs bis auf den zu programmierenden entnehmen. Das würd ich gerne umgehen. Schalter bei 6 Leitungen wäre, etwas schwer. Und mehrere ISP Anschlüsse wollte ich eigentlich vermeiden. Wenn ich mehrere ISP Anschlüsse verwenden würde wäre dein Tipp perfekt.
Dann brauchst Du Reset an allen (wegen Hochohmigkeit) bzw. an dem zu programmierenden uC und Du mus mindestens z.B. die SCK-Leitung an den nicht zu programmierenden uCs unterbrechen.
Also wenn ich nur die SCK Leitung, mit Jumpern machen würde würd es funktionieren ?
Patrick schrieb: > Also wenn ich nur die SCK Leitung, mit Jumpern machen würde würd es > funktionieren ? Nein! Die anderen Prozessoren laufen ja los, und zucken vermutlich auf den Leitungen rum, je nach Programm. Den Reset per Jumper. Einen Reset per Jumper zum ISP Stecker Alle anderen Resets auf GND Nachtrag: Ich halte das ganze für unsinnig. Ist aber nicht meine Baustelle.
Variante A Jeder uC hat einen ISP-Stecker. Wenn die uC alle per I2C verbunden sind, muss Du den BusMaster auch resetten, in dem Moment, in dem Du die anderen uCs programmierst -> Dioden-Logik. Das geht bei I2C, weil da die ISP und I2C Pins unterschiedlch sind. Bei SPI geht das nicht. Aufwand hier: Umstecken des ISP-Steckers Variante B Ein ISP Stecker für alle. Hier müssen alle den Reset bekommen, aber die SPI darf ja nur für den Ziel-uC aktiviert sein. Deswegen musst Du bei (N-1) uC z.B. das SCK Signal unterbrechen. Aufwand hier: (N-1) Jumper umstecken
Also die Variante 2 hört sich schon sehr gut an. Hab nochmal zum verständniss. Die Grundschaltung in Eagle aufgebaut.
Zieht der Programmer die UCs dauerhaft auf Reset oder ist das ein und ausgeschalte ? Im Anhang hab ich das mal mit den SCK Leitungen gemacht. Wenn der Programmer, eh den Reset ausführt kann ich die Leitungen vom Reset erstmal zusammenfügen oder?
Hallo, eine ergänzende Sucheanfrage zu I²C mit dig-eingängen: Es gibt z.B. PCF8574C und PCF8575C für8 oder 16 I/O, soweit klar. Es gibt auch den PCA9555 mit interrupt, verstehe ich den Baustein richtig daß Eingangssignale ein FlipFlop setzen, der gespeicehrter Wert ausgelesen wird und mit dem Read-Impuls das FlipFlop dann wiede rgelöscht wird. Daher auch kurze high-Signale werden erkannt und über den I²C-Bus an den Controller weitergeleitet. Oder geht das auch mit den PCF8574 und PCF8575? Gruß
Wenn er genauso wie der MCP 23017 aufgebaut ist dann ist es so du hast 2 Ports mit IO Port A und B beide haben je ein Interupt Pin. Dieser ist "frei" Programmierbar zb ich nutze PIN A.1 als Eingang, dann kann er so eingestellt werden das bei Pegeläderung zb. LOW auf High der Interupt ausgelöst wird. Und der Uc dann am INT Eingang dies mitbekommt und entsprechend handeln kann. kleines Bsp. ausm Gebrauch hier im Haus. An Port hängen 8 Türkontaktschalter, ändert einer der Türkontakte sein Pegel wird der Interupt ausgelöst und das am INT0 des Uc mitgeteilt. Dieser führt in der Int-Routine,dann folgendes aus: er sendet eine Lese Berechtigung per i2c für den Port A und schaut welcher Türkontakt geschaltet hat. und schaltet dem entsprechend die dazugehörigen Webcams an. hoffe mal hab deine frage richtig verstanden. Somit kann der Slave dem Master etwas mitteilen was onst nur im Mulitmaster betrieb möglich ist. Nachteil sind zusätzliche Leitungen für jeden INT Pin
Arduino F. schrieb: > Nachtrag: > Ich halte das ganze für unsinnig. den Endruck habe ich auch. Wenn man so universell haben will, gibt's von Atmel nicht das fertige s.g. STK500 oder STK600 ? SPI hin, I2C her, entweder beherscht man oder nicht. Bei allen Controller sind das gleiche. Ansonsten Arduinos von A...Z erfüllen dem Lernzweck auch, warum das Rad neu erfinden?
Weil man etwas Herstellt was man an seine Bedürfnisse anpassen kann und nicht 0815 ist. Auch Super aussage entweder man beherrscht es oder nicht. Also mit andern worten, brauchst du kein Testboard für Schaltungen und Entwicklungen du baust auf Programmierst und alles läuft 100% i.o. Glückwunsch zum Wasserfall Modell die 60er lassen grüßen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.