Forum: Mikrocontroller und Digitale Elektronik Frage zur AD-Triggerung des LPC17xx


von Wolf (Gast)


Lesenswert?

Hallo,

ich möchte meim LPC17xx einen PWM-getriggerte A/D-Wandlung. Als 
A/D-Start soll das Erreichen des Top-Wertes einer center-aligned-PWM 
dienen. Beim A/D-Wanlder sehe ich folgenden Eintrag:

Register: AD0CR (AD-Control-Reg.)
_____________
100 Start conversion when the edge selected by bit 27 occurs on MAT0.1. 
Note that this does
not require that the MAT0.1 function appear on a device pin.
_____________

Der MAT0 bezieht sich meiner Interpretation auf den 
Timer0/1/2/3-Bereich, also nicht auf den PWM- oder Motor-Control-PWM.

Da ich 4 PWM-Ausgänge habe, geht meines Erachtens das eh nicht mit der 
Motor-Control-PWM, die diese auf 3 Phasen begrenzt ist. Deshalb hätte 
ich für meine Anwendung die PWM-Unit als Signalquelle benutzt. Nur wie 
damit die AD-Messung triggern?

Gruß  Wolf

von Erwin R. (er-tronik)


Lesenswert?

Ein Blick ins Datenblatt zum Register AD0CR gibt genauen Aufschluß, 
welche Signale zum triggern des AD-Wandlers geeignet sind:
1
26:24 START When the BURST bit is 0, these bits control whether and when an A/D conversion is
2
started:
3
000 No start (this value should be used when clearing PDN to 0).
4
001 Start conversion now.
5
010 Start conversion when the edge selected by bit 27 occurs on the P2.10 / EINT0 / NMI pin.
6
011 Start conversion when the edge selected by bit 27 occurs on the P1.27 / CLKOUT /
7
USB_OVRCRn / CAP0.1 pin.
8
100 Start conversion when the edge selected by bit 27 occurs on MAT0.1. Note that this does
9
not require that the MAT0.1 function appear on a device pin.
10
101 Start conversion when the edge selected by bit 27 occurs on MAT0.3. Note that it is not
11
possible to cause the MAT0.3 function to appear on a device pin.
12
110 Start conversion when the edge selected by bit 27 occurs on MAT1.0. Note that this does
13
not require that the MAT1.0 function appear on a device pin.
14
111 Start conversion when the edge selected by bit 27 occurs on MAT1.1. Note that this does
15
not require that the MAT1.1 function appear on a device pin.

Daraus kann man erkennen, dass nur Timer 0 und 1 benutzt werden können.
Man kann sich aber eines kleinen Tricks behelfen, indem man einen 
Ausgangspin der PWM-Unit (PWM1..6) mit P2.10 oder P1.27 hardwaremässig 
verbindet und diesen Pin dann zum triggern festlegt. Anders gehts leider 
nicht.

Erwin

von Wolf (Gast)


Lesenswert?

Hallo Erwin,

Das gefällt mir aber nicht besonders. Ich möchte eine Center-Aligned-PWM 
und die Strommessung IN DER MITTE der LOW-PWM-Phase an einer Halbbrücke 
durchzuführen. Wenn ich an einer PWM-Flanke die AD-Messung triggere, 
dann funktioniert die Strommessung masseseitig an der Halbbrücke 
überhaupt nicht, weil sich der Meßkreis erst mal einschwingen muß. Da 
fallen mir dann nur "abwegige" Lösungen noch ein, wie zum Bsp. einen 
Match-Interrupt beim PWM-Top-Wert und dort die Messung per SW zu 
starten, oder einen Timer0/1 parallel zur PWM laufen zu lassen und dann 
diesen zum Triggern benutzen. Gefällt mir aber beides nicht. Gibts denn 
eine Appl.-Note bezüglich Motor-Control von NXP? Dort muß ja eine 
Realisation der Messung zu finden sein - wenn auch vielleicht eine 
"unschöne".

Gruß  Wolf

von (prx) A. K. (prx)


Lesenswert?

Möglicherweise kannst du einen zweiten dafür geeigneten Timer synchron 
mit dem PWM-Timer laufen lassen, also mit gleicher Periode und (fast) 
gleichzeitig gestartet.

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.