Forum: Mikrocontroller und Digitale Elektronik Xmega32A4U Qdec


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 Michael H. (h_m)


Bewertung
0 lesenswert
nicht lesenswert
GutenTag,

ich möchte bei meinem Xmega32A4U eine Encoder (Spur A und B je TTL) 
anschliessen und auswerten, dazu habe ich im datenblatt geschaut Wie 
vorgegangen werden soll.

QDEC Setup
For a full QDEC setup, the following is required:
 Two or three I/O port pins for quadrature signal input
 Two event system channels for quadrature decoding
 One timer/counter for up, down, and optional index count

-Two or three I/O port pins for quadrature signal Input
Wo kann ich im Datenblatt das finden, welche pins dafür geeignet sind, 
denn in der Tabelle von alternate pin functions finde ich es nicht

Two event system channels for quadrature decoding
und hier das gleiche, wie weiss ich welche das sind?

ich muss dazu sagen das ich ein Xmega neuling bin, könnte mir da bitte 
jemand behilflich sein?



Mfg Huber M.

von Volker B. (Firma: L-E-A) (vobs)


Bewertung
0 lesenswert
nicht lesenswert
Michael H. schrieb:

> ich muss dazu sagen das ich ein Xmega neuling bin, könnte mir da bitte
> jemand behilflich sein?

Warum guckst Du Dir nicht einfach die entsprechende Application Note 
"AVR1600: Using the XMEGA Quadrature Decoder" an?

http://ww1.microchip.com/downloads/en/AppNotes/doc8109.pdf

Grüßle
Volker

von J. Zimmermann (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hatte das schon mal vor kurzem gepostet:
Die Initialisierung:
  PORTA.DIR &= 0b11111001;            // A1..A2 Inputs
  EVSYS.CH0MUX=0b01010001;      // Channel 0, PINA1
     EVSYS.CH0CTRL=0b00001011;      // QDEC enable,
                                            // Filter 4 samples
  TCC1.CTRLA=0b00001000;              // Clock Source:
                                            // Event Channel 0
     TCC1.CTRLD=0b01111000;              // EvACT: QDEC, Event
                                            // Delay, Source: Channel 0
  TCC1.CNT=0;
In dem Beispiel sind PORT A1 & A2 die Eingänge (A,B). Das Ergebnis steht 
in TCC1.CNT. Für andere Ports oder TCs lt. Datenblatt umkonfigurieren. 
Wichtig: Es wird nur der erste Pin (i.d.F. A1) im Channel-Mux-Register 
angemeldet, der 2. Eingang ist der nachfolgende, also A1 & A2, niemals 
A1 & A3.
TC und EVENT Channel müssen konfiguriert werden.
mfg
Achim

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.