15.06.2009, 09:16 AM
Das ist ein guter Hinweis. Wir haben noch keinerlei Automatiken drin.
Aber lasst uns mal vorpreschen und überlegen, wie unser Interface und der PIC zusammen Messungen machen können....
https://stromrichter.org/d-amp/content/i...cope3a.jpg
Wir nehmen mal an, dass der PIC sich im Vordergrund mit dem User-Interface befasst. Da muss er allerlei Tasten/Drehgeber und die Einstellung des Triggers (Pegel und Flanke) abfragen und das ganze dann auf dem LCD abbilden.
Plötzlich kommt ein Trigger. Die Hardware tut, was sie zu tun hat. Sobald die Delayline abgelaufen ist, bekommen wir ein Start-Signal. Spätestens nach 4 Takten (= 800ns bei 20MHz) sind wir in der ISR (interrupt service routine). Dort müssen wir noch wenig abfragen, bevor wir schließlich den AD-Wandler anwerfen können. Wenn wir Eile hätten, könnten wir den AD-Wandler im Hintergrund laufen lassen und einen INT auslösen, wenn er fertig ist. Wir haben aber keine Eile, stellen also unsere Delay-Line-PWM um eine [ns] länger, verbleiben in der ISR und pollen den Wandler. Nach rund 20us ist der Messwert auf dem LCD-Schirm.
Nun haben wir die Möglichkeit, uns eine variable Zeit schlafen zu legen. Wenn wir mit 20 MHz takten, so können wir diesen "HoldOff" per Software in 200ns-Schritten einstellen. Bei einem D-Amp mit 300kHz-Träger brauchen wir 23us pro [ns]-Sample, kriegen also jede 7. Periode mit.
Die ganze [ns]-Sampelei ist also pillepalle. Kein Thema. Spannend wirds aber, wenn wir mal überlegen, wie wir eigentlich in gröberen Schritten samplen. Also beispielsweise nur alle 100ns.
Darauf hab ich noch keine Antwort!
Aber lasst uns mal vorpreschen und überlegen, wie unser Interface und der PIC zusammen Messungen machen können....
https://stromrichter.org/d-amp/content/i...cope3a.jpg
Wir nehmen mal an, dass der PIC sich im Vordergrund mit dem User-Interface befasst. Da muss er allerlei Tasten/Drehgeber und die Einstellung des Triggers (Pegel und Flanke) abfragen und das ganze dann auf dem LCD abbilden.
Plötzlich kommt ein Trigger. Die Hardware tut, was sie zu tun hat. Sobald die Delayline abgelaufen ist, bekommen wir ein Start-Signal. Spätestens nach 4 Takten (= 800ns bei 20MHz) sind wir in der ISR (interrupt service routine). Dort müssen wir noch wenig abfragen, bevor wir schließlich den AD-Wandler anwerfen können. Wenn wir Eile hätten, könnten wir den AD-Wandler im Hintergrund laufen lassen und einen INT auslösen, wenn er fertig ist. Wir haben aber keine Eile, stellen also unsere Delay-Line-PWM um eine [ns] länger, verbleiben in der ISR und pollen den Wandler. Nach rund 20us ist der Messwert auf dem LCD-Schirm.
Nun haben wir die Möglichkeit, uns eine variable Zeit schlafen zu legen. Wenn wir mit 20 MHz takten, so können wir diesen "HoldOff" per Software in 200ns-Schritten einstellen. Bei einem D-Amp mit 300kHz-Träger brauchen wir 23us pro [ns]-Sample, kriegen also jede 7. Periode mit.
Die ganze [ns]-Sampelei ist also pillepalle. Kein Thema. Spannend wirds aber, wenn wir mal überlegen, wie wir eigentlich in gröberen Schritten samplen. Also beispielsweise nur alle 100ns.
Darauf hab ich noch keine Antwort!