mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zeitverhalten


Autor: Student (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich soll einen Analogwert per AD-Wandler wandeln, per CAN übertragen (8
Bit) und per PWM wieder ausgeben.
Jetzt ist meine Frage, wie das zeitlich aussieht.
Nach jeder abgeschlossenen Wandlung löst der AD-Wandler einen Interrupt
aus. In der ISR kann ich den Wert dann per CAN-Message abschicken. Wenn
der Empfänger die Nachricht korrekt empfangen hat löst dieser auch
einen Interrupt aus, in dieser ISR verwende ich den Wert dann zur PWM.
Soweit meine geplante Theorie.

Aber lässt sich das zeitlich so verwirklichen? Die CAN-Übertragung
läuft mit 125kBaud.
Die Übertragung müsste ja dann schneller sein als der AD-Wandler, oder?
Aber wie schnell arbeitet der Wandler?
Und die PWM sollte etwa gleich schnell sein wie der AD-Wandler?

Lässt sich das so verwirklichen? Es handelt sich um einen C515c.

Auf einen Ringpuffer würde ich gerne verzichten wenn möglich. Geht das
auf diese Art?

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bau es doch einfach in einer Endlosschleife wie beschrieben auf. Du
kannst auch alles im Polling machen und sparst dir die Interrupts.

1. AD-Wandlung auslösen
2. Wenn fertig CAN-Message senden
3. Wenn fertig PWM-Wert berechnen und ausgeben
4. Springe zu 1.

Autor: Student (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dss Problem an der Endlosschleife ist, dass der Empfänger dem Sender
nicht mitteilen kann wenn er fertig ist mit der PWM.

Sender und Empfänger laufen ja völlig getrennt voneinander ab.

Ich könnte höchstens noch über den CAN Transmit Interrupt abfragen ob
die Message korrekt gesendet wurde, und erst dann eine neue Wandlung
starten.

Im Handbuch steht eine Wandlungszeit von 13us. Wie lange dauert die
Übertragung von 8 Bit bei 125kBaud? Ich kann mit dem Begriff Baud grad
nicht so viel anfangen. Sind das 125000 Bits/s? Weil das wären ja dann
schon 8 us pro Bit?! Also wäre die Übertragung zu langsam?

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.