Forum: Digitale Signalverarbeitung / DSP / Machine Learning TMS320F28027 ePwm


von Torsten (Gast)


Lesenswert?

Hallo,

ich arbeite mich zur Zeit in den TMS320F28027 ein.
Ich möchte jetzt gerne mit einem der PWM-Modulen eine IR-Led mit 100kHz 
(Einschaltdauer 2us, Ausschaltdauer 8us) flashen. Das läuft auch schon.
Jetzt würde ich gerne noch immer etwa 1us nach dem Einschaltimpuls einen 
Input-Pin abfragen. Aber mir fehlt da momentan noch die Idee, wie ich 
den passenden Moment zum abfragen abpassen kann. Hat da vielleicht 
jemand einen Tip für mich?

Gruß Torsten

von Michael K. (Gast)


Lesenswert?

Du kannst den Timer so einstellen, dass er jede us auslöst und den Rest 
per Software in der Timer-ISR lösen.

Oder du synchronisierst zwei ePWM-Einheiten: in einer lässt du die LED 
blinken und in der anderen kümmerst du dich um den Pin. Ist zwar etwas 
verschwenderisch, aber wenn du die ePWM-Einheit nicht brauchst, kriegst 
du deswegen auch kein Geld zurück.

von Friedrich (Gast)


Lesenswert?

Vielleicht geht's auch so:
PWM auf 10us einstellen, zyklischer reload, nach 2 us ein/ausschalten 
(Capture/Compare), je nachdem wie du beschaltet hast, bei rollover 
Interrupt auslösen.
Im Interrupt CPU Timer auf 3us aufziehen und damit zweiten Interrupt 
auslösen. In der zweiten Interruptroutine kannst Du dann den Port 
abfragen.

rgds

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Eine ePWM-Unit reicht dafür aus. Angenommen man verwendet das 
Compareregister CMPA für das Timing des Ausgangs für die LED und das 
Compareregister CMPB triggert einen Interrupt im 'Event-Trigger (ET) 
Submodule', was dann in Software behandelt wird und die AD-Wandlung 
startet. CMPB muss dann entsprechend immer so eingestellt werden, dass 
das Event immer 1 µs nach dem Compareevent von CMPA triggert.

Alternativ kann das Eventtriggermodul auch direkt eine AD-Wandlung 
auslösen, also in Hardware und ohne Interrupt. Ließ dazu mal Kapitel 2.8 
von http://focus.ti.com/lit/ug/spru791e/spru791e.pdf


Grüße,

Peter

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.