Die Macht der Statistik
Wie geht es weiter? Die Signale der niederwertigsten Bits in jeder Pin-Gruppe sollten sich öfter ändern als die höherwertigen. Warum also nicht eine kleine Statistik aufmachen? Ich sortiere die Signale an den Pins nach der Häufigkeit der Änderungen und ordne sie in Vierergruppen an.
Übergänge Pins 6 E13 F12 J14 K15 18 F10 H13 H15 L14 42 D11 G12 G14 M15 84 C11 F15 J13 N14 173 P15 B14 E15 J11 335 - 357 K12 B15 M13 D14 358 - 368 B10 R15 T14 C13 406 - 427 L12 R14 C15 B12
Bei einer Sinuskurve, die sich dreimal wiederholt, wird sich das höchstwertige Bit zweimal pro Wiederholung ändern, damit gilt 2 * 3 = 6 Änderungen, das entspricht dem ersten Eintrag. Die anderen Einträge sind Vielfache von 3. Erst ab 173 wird das Schema durchbrochen, das liegt um eins unter 58 * 3 = 174. Wahrscheinlich ist das Signal nicht ganz mittig über den gesamten Bereich. Die Anzahl der Änderungen für die niederwertigsten drei Bits variiert deutlich, eventuell sind sie durcheinander und einige Signaländerungen sind wahrscheinlich einfach Rauschen.
Ordnen wir die Pins entsprechend der obigen Tabelle und schauen erneut darauf:
Das sieht jetzt definitiv wie eine abgeschnittene Sinuskurve aus. Es gibt immer noch viel Rauschen, aber langsam wird es.
Weiter geht es. Da alle Pin-Gruppen ähnliche Daten zeigen, muss der ADC mit allen vier Gruppen Daten von Kanal 1 liefern. Also starte ich das Oszilloskop neu und schalte beide Kanäle an, beide werden mit der gleichen Signalquelle gespeist. Jetzt sollten je zwei Gruppen die Daten für Kanal 1 und Kanal 2 enthalten. Ich schalte auf Linux um und führe eine neue Erfassung durch.
Die Pins für beide Kanäle wirken teilweise vermischt, also probiere ich wieder den Trick mit dem abgeschnittenen Signal und vertausche die Pins so lange, bis die ersten beiden Gruppen die Daten von Kanal 1 enthalten.
Das sieht wieder besser aus. Die rote und die grüne Gruppe enthalten die Daten von Kanal 1, die blaue und magentafarbene Gruppe die von Kanal 2. Offensichtlich sind die grüne und blaue Gruppe immer noch vermischt. Zwischen der 80. und der 230. Stichprobe ist der Wert der blauen Stichproben um 128 zu hoch und der der grünen 128 zu niedrig. Ich tausche die Pins, die den Wert 128 repräsentierten, zwischen den Gruppen aus.
Langsam sieht es gut aus. Es gibt noch einige Artefakte bei den drei niederwertigsten Bits, aber das ist nicht so schlimm. Ich spiele einfach ein wenig weiter herum, bis der Graph gut aussieht. Schließlich ergibt sich der finale Graph:
Wenn ich die Dämpfung erhöhe, verändert sich der Graph entsprechend.
Ich habe es geschafft. Es kann sein, dass die Ordnung der Gruppen noch nicht ganz korrekt ist. Die 1. Gruppe von Kanal 1 könnte tatsächlich auch die 2. Gruppe von Kanal 1 sein. Ich müsste mit höheren Signalfrequenzen experimentieren, um herauszufinden, ob die Abfolge stimmt oder nicht.
Aber mein Ziel habe ich erreicht. Ich kann das Oszilloskop mit meiner eigenen Software nutzen, um Signale zu analysieren.
Weiterlesen lohnt
Wir haben eine Vielzahl von Werkzeugen, Methoden und teils unorthodoxen Ideen kennengelernt, um die Hard- und Software eines Gerätes zu verstehen. Die Analyse von Christer Weinigel ist allerdings noch längst nicht vorbei. In weiteren Blogbeiträgen widmet er sich unter anderem dem genaueren Verständnis des Analog-Frontends und seiner Ansteuerung, greift erneut die DDR-RAM-Implementierung im FPGA auf - diesmal mit Erfolg. Mit der Kenntnis der gesamten Artikelserie sollte es auch für Einsteiger möglich sein, den umfangreichen Ausführungen zu folgen.
Diese Artikelserie erschien zuerst im Blog von Christer Weinigel. Mit seiner Erlaubnis hat Golem.de seine Artikel ins Deutsche übersetzt und dabei einige Kürzungen und Ergänzungen vorgenommen, damit der Inhalt auch Einsteigern verständlich ist.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Oszilloskop-Daten auslesen |
Du bist mit Abstand der coolste Typ auf dieser Erde. Wahrscheinlich wirst du eigentlich...
Jo, das Trollen bei Heise war schon mal lustiger. Früher konnte man da sicher sein, mit...