Synchronisierung von mehreren PWM channeln verschiedener µC(ATSAM4S)

Persönliche Seite #3966069
Lesenswert?

Der Titel sagt es schon:

Ich habe mehrere µCs (bis zu 4 SAM4S), die jeweils 4 PWM Channel mit dem 
selbem Takt (1kHz) und Duty Cycle nutzen sollen. Aktiv sind die Channel 
aber nie gleichzeitig, wichtig ist trotzdem für die Demodulation an 
anderer Stelle, dass es sozusagen einen Mastertakt gibt, auf dem alle 
Channel synchron laufen.

Nun möchte ich NICHT einen gemeinsamen Takt für die SAM4S cores.
Die Frage ist: Wie kann ich diese Synchronisierung (z.B. über eine von 
allen µC geteilte clock-line) am besten/effektivsten bewerkstelligen?

Die PWM Channel der SAM4S haben ja einen gemeinsamen clock-generator - 
nur wie synchronisiere ich die PWM clock-generatoren zwischen den µCs?

Ich freue mich auch über allgemeine Tips, die SAM4S unspeziefisch sind!

Viele Grüße
Alex
Gast #3966243
Lesenswert?

Bei dem SAM3X weiß ich, dass es die möglichkeit gibt, den Clock 
Generator von extern zu takten. Dann könntest du z.B. einen Quarz nehmen 
und ihn an alle yC (den Pin für den PWM - Masterclock) anschließen. 
Somit wäre es absolut synchron.

Die Frage ist, wie weit de Controller voneinander entfernt sind, ggf. 
musst du dann bei einer hohen Taktfrequenz auf gutes Schaltungsdesign 
achten (wegen parisitären Kapazititäten)


Freundliche Grüße

Stefan
Persönliche Seite #3966646
Lesenswert?

Achso, sorry!
Ich habe grade im Datenblatt vom SAM3X geschaut aber auf die schnelle 
nichts finden können (da ist immer nur die rede von clock generator, der 
clocks aus der division der PWM master clock (MCK) erzeugt), was auf 
einen externen Pin hinweist.
Kannst du mir da noch einen Tip geben - zB PinNamen o.Ä.? Vielleicht 
finde ich eine solche Möglichkeit beim SAM4S auch nur deshalb nicht, 
weil ich Blind für den Bezeichner bin...
Persönliche Seite #3967544
Lesenswert?

Danke für den Hinweis! :)
Ich habe dort bisher (momentan im SAM4S Datenblatt) allerdings nur 
finden können, dass (wie) man die programmierbaren Clock Outputs auf die 
PCKx pins ausgibt (das ist schonmal gut, einer der µCs wird das ja auch 
müssen), nicht aber andersherum... Entweder das ist sehr verschlüsselt 
geschrieben oder ich komme nur einfach nicht auf den grünen Zweig
Gast #3969257
Lesenswert?

Mir ist grade noch eine andere (eventuell einfachere) Lösung 
eingefallen. Beim SAM3x gibt es beim PWM-Modul die sogenannte Fault 
Protection. Der Controller hat 3 Fault-Inputs.
Liegt an diesem Pin ein vorher definierter Pegel an (High oder Low) wird 
der PWM-Ausgang mit einem gewünschten Wert überschrieben (High oder Low) 
und das PWM-Modul zurückgesetzt.


The fault protection on a channel is triggered when this channel is 
enabled and when any one of the faults that are enabled for this channel 
is active. It can be triggered even if the PWM masterclock (MCK) is not 
running but only by a fault input that is not glitch filtered.
When the fault protection is triggered on a channel, the fault 
protection mechanism forces the channel outputs to the values defined by 
the fields FPVHx and FPVLx in the “PWM Fault Protection Value Register” 
(PWM_FPV) and leads to a reset of the counter of this channel. The 
output forcing is made asynchronously to the channel counter.


Man könnte also bei jedem Controller erst eine kurze Zeit ein Signal an 
den Fault-Input anlegen, dann müssten alle PWM-Signale Synchron laufen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren