Forum: Mikrocontroller und Digitale Elektronik STM32F1xx: Welcher Time Mode für 1-0-1 Decodierung?


von Christian J. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

beim Lesen der Timer Modes wurde ich schlichtweg erschlagen im Manual 
und weiss immer noch nicht wirklich was welcher Mode da genau macht. Ich 
weiss nur was ich brauche.

Ein einziger Pin (durch 433 Mhz ASK Funmodul angesteuert) geht ständig 
auf 1 und 0. Ich muss nur die Länge der 1 Phasen genau messen und 
ebenfalls die der 0 Phasen. Das soll ohne INTs gehen. Bei einem PIC 
würde ich schlichtweg einen Ext Int Pin nehmen und in der ISR einen 
Timer starten, der einen Capture ausführt. Aber der STM32F1xx kann das 
ganz sicher auch vollautomatisch mit diesen Mords-Timern.

Was ich brauche wäre also ein tor-gesteuerter Timer oder auch zwei 
Timer.

1. Lo->Hi Flanke kommt
2. Timer rennt bei 0 los undm stoppt bei Hi->Lo, erzeugt INT
3. Hi->Lo hat seinerseits Timer gestartet und der stoppt bei Lo->Hi

Vielleicht weiss ja jemand sogar die Seite des F1xxx Manuals wo steht 
was ich da konfigurieren muss. Und welche Timer?

Seufz....

Gruss,
Christian

von W.S. (Gast)


Lesenswert?

Naja, "Mords-Teimer" sind das leider nicht. (hurrie hurrie Egon, alles 
geteimt..)

M.W. sind die alle nur 16 Bit Timer, so daß man sich sehr genau 
überlegen muß, mit welchem Takt man sie füttert. Falls du nicht zwingend 
auf ST angewiesen bist, würde ich dir da eher zu den LPC von NXP raten: 
die haben 32 Bit Timer.

Ansonsten hast du dort an so einem Timer-Register eben ein oder mehrere 
Register dran kleben, die man entweder als Capture oder als 
Compare-Register benutzen kann. Für dich wäre die Capture-Seite 
interessant, also Timer-Stand auf ein äußeres Signal hin übernehmen.

W.S.

von Christian J. (Gast)


Lesenswert?

W.S. schrieb:
> Für dich wäre die Capture-Seite
> interessant, also Timer-Stand auf ein äußeres Signal hin übernehmen.

Gefühlt haben die 100.000 Einstellmöglichkeiten. Vielleicht gibt es ja 
genau den den ich brauche, der auf einen Pinwechsel Timer = 0 setzt, 
dann losläuft und stoppt, wenn andere Flanke.

Mir fehlt da immer noch jede Idee....

von Christian J. (Gast)


Lesenswert?

Ok.... IR Decoding ist ja so ähnlich, scheint gut erklärt zu sein:

http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00267896.pdf

Der "PWM Input Mode" captured steigende und fallende Flanken an einem 
Pin unter Verwensdung zweier Capture Register und löst beidesmal einen 
INT aus. Damit lässt sich quasi eine vollautomatische Decoderierung 
bauen.

Au mann... beim AVR war das dermassen easy ein IR Signal zu 
decodieren..... immerhin merkt man, dass die Jungs von Arm sich Gedanken 
gemacht haben.

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.