Okok... ich nehm das Ding auch nicht zu ernst. Aber erstmal will ich schnallen, was Du da gezaubert hast. Und danach nehm ich mir die SA-Kiste nochmal vor.
Aber erstmal zur Keksdose (Dein Programm kann ich wunderbar verstehen. Ist doch super kommentiert).
Folgendes scheint der ESR-Kern zu sein:
Zitat:Esrgu:
Vlo = 0
Vhi = 0
For Overflow_count = 0 To 6300
' Set Portd.6
While Pinb.3 = 1 : Wend
While Pinb.3 = 0 : Wend
Adw = Getadc(5) 'hi wert
' Set Ddrd.5 ' esr lo switch aktiv
Vhi = Vhi + Adw
While Pinb.3 = 0 : Wend
While Pinb.3 = 1 : Wend
' Reset Portd.6
Adw = Getadc(5) ' lo wert
Vlo = Vlo + Adw
' Reset Ddrd.5 ' esr lo switch deaktiviert
Next
Erstmal sehe ich zwei Flankenerkennungen auf PB3.
Das passt IMHO zwar nicht zum Plan:
...aber macht mich auch erstmal nicht wuschig.
Ich glaub Deiner Source, dass irgendjemand an PB3 rumwackelt. Möglicherweise sogar mit 80kHz.
Zuerst wartest Du genüsslich auf die low-high-Flanke. Gleich danach beginnst Du eine AD-Wandlung. Mit 16:1 Vorteiler und Single-Betrieb. Deine Wandlung wird also irgendwann gemütlich fertig. Die Wandlung lebt vom S&H im Wandler. Das hat ewige Mikrosekunden gedauert. Du bist natürlich völlig aus dem Takt.
Irgendwann bist Du sowweit fertig und musst Dich wieder neu synchonisieren. Das tust Du mit der zweiten Flankenerkennung.
Kurzum: du wandelst keineswegs synchron mit 160.000 Wandlungen pro Sekunde. Du macht vielmehr ein ganz gemütliches Vor-dich-Hin-Wandeln. Deine Infos bzgl. der grenzwertigen Übertaktung des Wandlers führten komplett in die Irre. Es würde alles auch ohne Übertaktung funktionieren, so lange der S&H genügend schnell geladen wird.
Mensch Junge....
...aber zumindest hab ich das nun verstanden. Also Tonne.
---------------------
Nun zum SA.
Wie funktioniert damit eine Messung? Was ist ein SA und ein "tracking Generator"? Kannst Du das mal in wenigen Worten so erklären oder Suchbegriffe nennen, dass ich ne Chance habe?