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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Simon (Gast)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.