Forum: Mikrocontroller und Digitale Elektronik XE167 Incremental Interface - Compare Interrupt


von Max (Gast)


Lesenswert?

Hallo!

Ich habe ein Projekt wo ein XE167-96F66 Mikrocontroller zum Einsatz 
kommt. Mich beschäftigt derzeit die Auswertung eines 
Inkremental-Encoders welchen ich über GPT1 - T2 im "incremental 
interface mode" auswerte. Dies klappt auch einwandfrei.
Das Problem ist, dass ich gerne bei bestimmten Positionen des Encoders 
(bzw. der Mechanik) gewisse Aktionen durchführen muss. Ich würde daher 
im Prinzip soetwas wie einen Compare-Interrupt benötigen der bei einem 
entsprechenden Counterstand von T2 ausgelöst wird.
Die Capture/Compare Einheit des Controllers arbeitet mit den Timern 7 
und 8, hier kann ich jedoch den Encoder nicht so einfach auswerten.

Meine Frage ist folgende: Gibt es irgenwie eine Möglichkeit wie ich auf 
einen Zählerstand von T2 ein Ereignis auslösen kann?
Ansonsten müsste ich pollen, wobei mir eine elegantere Lösung lieber 
wäre.

Ich wäre für eine kleine Hilfe sehr dankbar!

Viele Grüße

Max

von tom (Gast)


Lesenswert?

Max,

1. Infineon/Distributor FAE befragen
2. DAVE aufmachen und schauen ob sich da etwas grafisch zusammenklickbar 
anbietet

cy, tom.

von Max (Gast)


Lesenswert?

Danke für die Antwort.
Über Dave habe ich bisher leider noch keinen Weg gefunden.
Werde jetzt mal über einen FAE anfragen.

Falls jemandem noch was einfällt wäre ich dennoch sehr dankbar.

Viele Grüße

Max

von Guido B. (guido-b)


Lesenswert?

Warum setzt du in der ISR des Encoders bei entsprechendem
Zählerstand nicht einfach das I-Flag eine Compare- oder
sonstigen unbenutzten Interrupts? Das darf man!

von Max (Gast)


Lesenswert?

Hallo Guido,
der Timer besitzt einen sogenannten "incremental interface mode" wo die 
Auswertung des Encoders vollständig von der Hardware erledigt wird. Der 
Vorteil davon wäre, dass nicht bei jedem Schritt bzw. Abtastung ein 
Interrupt erfolgen muss, was ressourcensparend wäre.
Meine Wunschvorstellung wäre gewesen, wenn ich einen Interrupt nur beim 
Compare-Match habe, und nicht bei jedem Schritt - mittlerweile sieht es 
aber so aus als ob das nicht funktionieren würde.

Grüße

Max

von Guido B. (guido-b)


Lesenswert?

Hallo Max,

eine vllt. verrückte Idee hätte ich noch: Der Encoder-Int löst
einen PEC-Transfer des Zählerstandes in einen Timer/Zähler
aus. Beim Compare-Match muss dann der jew. PEC-Event-Cntr neu
initialisiert werden, da unendlich viele Transfers afair nicht
möglich sind.

Gruß, Guido

von inc dec (Gast)


Lesenswert?

wie ich es verstehe, sollte es gehen
http://d.pcnews.at/ins/pcn/083/003700/main.htm

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.