Forum: Mikrocontroller und Digitale Elektronik XMC1300 ADC Wandlung nach PWM Impuls


von Simon (Gast)


Lesenswert?

Hallo,
ich erzeuge mit Hilfe eines XMC1300 mittels der CCU4 automatisch 2µs 
Impulse.
Der Abstand zwischen  den Impulsen variiert erwas. Dies wird in der ISR 
duch
[c]
XMC_CCU4_SLICE_SetTimerCompareMatch(SYNC_SLICE, naechster_impuls);
XMC_CCU4_SLICE_SetTimerPeriodMatch(SYNC_SLICE, naechster_impuls + 
SYNC_LAENGE);
[c/]
realisiert.
Der Timer ist folgendermaßen konfiguriert:
[c]
XMC_CCU4_SLICE_COMPARE_CONFIG_t sync_timer_config =
{
  .timer_mode = XMC_CCU4_SLICE_TIMER_COUNT_MODE_EA,  // Edge aligned
  .monoshot = XMC_CCU4_SLICE_TIMER_REPEAT_MODE_REPEAT,
  .shadow_xfer_clear = true,
  .dither_timer_period = false,
  .dither_duty_cycle = false,
  .prescaler_mode = XMC_CCU4_SLICE_PRESCALER_MODE_NORMAL,  // Norm oder 
Float
  .mcm_enable = false,  // Multi-Channel
  .prescaler_initval = 5, // Prescaler 2^x
  .float_limit = 0,
  .dither_limit = 0,  // Jitter
  .passive_level = XMC_CCU4_SLICE_OUTPUT_PASSIVE_LEVEL_LOW,
  .timer_concatenation = false  // Verkettung
};
[c/]

Nun möchte ich 5µs nach der fallenden Flanke des Impulses den ADC 
starten.
Ich wollte dafür einen zweiten Timer nehmen, weiß jemand wie ich die 
Timer verknüpfen kann?

Herzlichen Dank!

Simon

von Markus S (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

versuch mal mit DAVE die Konfiguration druchzuführen.

Wie ich das Verstanden haben könnte es so funktionieren:
Timer (2µs) -> ERU -> PWM (2ter Timer) (5µs) -> ADC

Jedoch verstehe ich nicht ganz wie dein Prinzip gehen soll. Der erste 
Timer ist ja schneller als der zweite Timer. Der erste Timer triggert 
den Zweiten !
Was passiert wenn der zweite Timer schon läuft und dann wieder durch den 
ersten Timer getriggert wird ?

Habe mal die "Connectivity View" von DAVE angehängt, wie ich es umsetzen 
würde.

Gruss
Markus S

von Simon (Gast)


Lesenswert?

Markus S schrieb:
> Hallo
>
> versuch mal mit DAVE die Konfiguration druchzuführen.
>
> Wie ich das Verstanden haben könnte es so funktionieren:
> Timer (2µs) -> ERU -> PWM (2ter Timer) (5µs) -> ADC
>

Hallo Markus,
vielen Dank für die ausfühliche und schnelle Antwort.
Ich möchte ungern die DAVE-Apps nutzen, werde es aber zum Testen 
trotzdem mal machen.
Lieber würde ich es mit der XMC Lib machen.

Markus S schrieb:
> Jedoch verstehe ich nicht ganz wie dein Prinzip gehen soll. Der erste
> Timer ist ja schneller als der zweite Timer. Der erste Timer triggert
> den Zweiten !
> Was passiert wenn der zweite Timer schon läuft und dann wieder durch den
> ersten Timer getriggert wird ?

Die Pause zwischen den Impulsen ist viel länger(~50µs).
___|___|___|___|__________|___|___|___|_______
Die Verarbeitung sollte vor dem nächsten Impuls abgeschlossen sein.

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.