Hallo, ich erarbeite gerade eine Schaltung für eine Lauflichtsteuerung. Diese wollte ich über einen Atmega 128 ansteuern. Kanäle sind insgeammt 24 Kanälen. Die sich in 4 Gruppen wiederholen. Aufgrund der Platine habe ich aber keinen Platz für eine atmega 128. Mein Gedankengang: Ich nehme einen kleineren Controller. für jede Gruppe einen. Jeder bekommt das gleiche Programm. Ich habe aber Angst das sich diese voneinader abweichen wenn die 8-9 Stunden laufen. Frage kann ich diese alle Zusammen über ein Externes Qaurz sysconisieren oder gibt es eine andere Möglichkeit? LG Marcel
Nimm doch Portexpander, die du über I²C oder SPI ansteuerst (beispielsweise). Dann kannst du mit einem Controller mehrere Ports ansteuern und weißt immer, daß alles timingmäßig synchron läuft.
Prinzipiell kannst Du mehrere Controller mit einem Taktgenerator betreiben. Wenn Du eine zusätzliche Pufferstufe verwendest, kannst Du auch den Taktgenerator eines Deiner Controller (wenn mit ext. Quarz stabilisiert) anzapfen und das so gewonnene Taktsignal in die anderen Controller einspeisen. Du kannst auch einen separaten Quarzoszillator als Taktquelle für alle Controller verwenden; die Anzahl hängt vom "fan-out" des Quarzoszillators ab, die sich aber wiederum mit entsprechenden Pufferstufen steigern lässt.
Rufus Τ. Firefly schrieb: > anzapfen und das so gewonnene Taktsignal in die anderen > Controller einspeisen. oder den CKOUT des Controllers nutzen...
Marcel Pieroth schrieb: > Ich habe aber Angst das sich diese voneinader abweichen wenn die 8-9 > Stunden laufen. > > Frage kann ich diese alle Zusammen über ein Externes Qaurz sysconisieren Es hat oft Vorteile einen gemeinsamen Takt zu verwenden, aber ob die Prozessoren synchron bleiben, ist nicht zuletzt eine Frage der Software.
Die Controller mit dem selben Takt zu versorgen, ist an sich nicht schwierig, wie hier ja schon geschrieben wurde, garantiert aber nicht den Gleichlauf. Wenn z.B. ein Störimpuls einen der Controller resettet, muß die Synchronität ja wieder hergestellt werden, oder das ganze System neu gestartet werden. Man kommt also nicht drum rum, die Synchronität zu überwachen, und gegebenenfalls wiederherzustellen. Das wird, mit gemeinsamem Takt allerdings einfacher, da das langsame Wegdriften wegfällt. Möchtest Du PWM an den Licht-Kanälen machen? Wenn nein, wäre eine Porterweiterung z.B. mit Schieberegistern sicher einfacher. Zwei 8 Bit Schieberegister an der Hardware-SPI sind auch nur 2 zusätzliche Bausteine, daran 16 Ausgänge, und die jetzt noch fehlenden 8 direkt am Controller. Mit freundlichen Grüßen - Martin
Marcel Pieroth schrieb: > Kanäle sind insgeammt 24 Kanälen. Die sich in 4 Gruppen wiederholen. > > Aufgrund der Platine habe ich aber keinen Platz für eine atmega 128. > > Mein Gedankengang: > > Ich nehme einen kleineren Controller. für jede Gruppe einen. Es sollen also alle 4 Controller auf 24 Outputs genau das gleiche machen? Da reicht doch genau 1 Controller, und du hängst an jeden der 24 Output je 4 "Lampen-Treiber" ran... Oder sind es 6 Kanäle (x 4)? Ganz schlau werde ich nicht, aber egal. Alles was sich "wiederholt", d.h. das gleiche Signal bekommt, kann man auch direkt hardwareseitig zusammenschalten.
Marcel Pieroth schrieb: > Frage kann ich diese alle Zusammen über ein Externes Qaurz sysconisieren > oder gibt es eine andere Möglichkeit? Man kann alle Prozessoren über einen Pin synchronisieren. Einer stellt den Master dar und gibt das Synchronisationssignale raus.
Kann man machen, nur stellt sich mir trotzdem noch die Frage, wozu man 4 Dirigenten braucht, die untereinander synchron dirigieren sollen, und die jeweils einen Geiger dirigieren, wenn jeweils 4 Geiger auch auf einen Dirigenten gucken könnten... ;-)
Hi, Vielen vielen dank an die Vielen und vor allem schnellen Antworten. Ihr habe mich eine großen Schritt weiter gebracht. DANKE lg marcel
Na, sei doch noch so nett, und erläutere kurz wie deine Lösung jetzt aussieht.
Hallo, ich habe das ganze nun so aufgebaut das ich einen Atmega 128 nutze und diese dann mit den Ausgängen eingeteilt habe. Ich habe aber auch an Ausgängen abgespeckt da das andere aus Platzgründen auf der Platine nicht so enfach umzusetzten war. Vielen Dank für eure Mithilfe und Infos daran!! lg Marcel
Das sieht toll aus. Ein Detail jedoch stört mich, siehe Bild. Warum hast Du die Durchkontaktierungen auf die Pads gelegt? War auf der anderen Seite nicht genug Platz zum Rand der Platine hin? Denn bei den anderen hast Du es doch auch nach außen verlagert.
Die richtige Lösung für mehrere uC an einem Quartz sollte im (alten) Thread vielleicht nicht fehlen: http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.7 > Ich habe 2 Controller an einem Quartz angeschlossen, d.h. XOUT von > Controller 1 an XIN von Controller 2, aber es schwingt nicht. > Gibt es eine zuverlässige Lösung ? Natürlich geht auch ein Quartzoszillator, dessen Ausgang dann nur an XIN verteilt wird.
Die Klärung diese Frage liegt auf der Rückseite der Platine .... Siehe Foto ;-)
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.