Reverse Engineering: Signale auslesen an bunten Pins

Die Übersicht über 256 Pins zu behalten, ist schwer. Deswegen greifen wir zum Malstift. Zur Belohnung zeigt uns Linux schließlich hübsche Sinuskurven.

Eine Anleitung von Christer Weinigel, übersetzt von veröffentlicht am
Schaltbild des Panels
Schaltbild des Panels (Bild: Christer Weinigel)

Eine Vielzahl von GPIO-Pins des FPGA eines Oszilloskops kenne ich seit dem vierten Teil der Artikelserie, doch es ist nicht einfach, die Übersicht zu behalten und mir zu merken, welcher Pin wofür zuständig ist. Deshalb werde ich mir im letzten Teil der Artikelserie einen Überblick aufmalen. Mit diesem Wissen kann ich schließlich ein Signal an einer Oszilloskop-Sonde auswerten und unter Linux auf dem Oszilloskop darstellen.

Malen nach Zahlen

Ein FPGA hat jede Menge Pins mit unterschiedlichen Funktionen. Die Pins sind auf verschiedene I/O-Bänke aufgeteilt und können mit verschiedenen Spannungen und Standards arbeiten. Um den Überblick nicht zu verlieren, habe ich die Infos zu den Pins aus der zugehörigen Dokumentation herauskopiert und mit einem kleinen Python-Programm ein PNG erzeugt, das die Pins und ihre Nutzung anzeigt.

  • Legende der FPGA-Pins (Bild: Christer Weinigel)
  • Die FPGA-Pins (Bild: Christer Weinigel)
  • Pins des SoC-Bus (Bild: Christer Weinigel)
  • Pins zum RAM (Bild: Christer Weinigel)
  • Pins zum ADC (Bild: Christer Weinigel)
  • Vollständig dokumentierte Karte der Pins (Bild: Christer Weinigel)
  • Matrix-Schaltung der Bedientasten am Oszilloskop (Bild: Christer Weinigel)
  • Noch keine Sinuskurve (Bild: Christer Weinigel)
  • Mit viel Phantasie eine Sinuskurve (Bild: Christer Weinigel)
  • Eine echte Sinuskurve (Bild: Christer Weinigel)
  • Das gleiche Spiel mit zwei Kanälen (Bild: Christer Weinigel)
  • Noch etwas Chaos (Bild: Christer Weinigel)
  • Wenigstens keine Ausreißer mehr (Bild: Christer Weinigel)
  • Beide Kanäle sind klar erkennbar. (Bild: Christer Weinigel)
  • Beide Kanäle mit größer Dämpfung (Bild: Christer Weinigel)
Die FPGA-Pins (Bild: Christer Weinigel)
  • Legende der FPGA-Pins (Bild: Christer Weinigel)
  • Die FPGA-Pins (Bild: Christer Weinigel)
  • Pins des SoC-Bus (Bild: Christer Weinigel)
  • Pins zum RAM (Bild: Christer Weinigel)
  • Pins zum ADC (Bild: Christer Weinigel)
  • Vollständig dokumentierte Karte der Pins (Bild: Christer Weinigel)
  • Matrix-Schaltung der Bedientasten am Oszilloskop (Bild: Christer Weinigel)
  • Noch keine Sinuskurve (Bild: Christer Weinigel)
  • Mit viel Phantasie eine Sinuskurve (Bild: Christer Weinigel)
  • Eine echte Sinuskurve (Bild: Christer Weinigel)
  • Das gleiche Spiel mit zwei Kanälen (Bild: Christer Weinigel)
  • Noch etwas Chaos (Bild: Christer Weinigel)
  • Wenigstens keine Ausreißer mehr (Bild: Christer Weinigel)
  • Beide Kanäle sind klar erkennbar. (Bild: Christer Weinigel)
  • Beide Kanäle mit größer Dämpfung (Bild: Christer Weinigel)
Legende der FPGA-Pins (Bild: Christer Weinigel)

Die Form der Symbole zeigt die Funktion eines Pins. Ein Kreis steht für einen normalen GPIO-Pin. Pins mit einem Hexagon können entweder als GPIO-Pin oder als Takteingabe fungieren. Ein Karo steht für einen normalen GPIO-Pin oder dient als Referenzspannung (VREF), wie sie bei einigen Schnittstellenstandards erforderlich ist. Die übrigen Symbole stehen für Pins mit festgelegten Funktionen und können nicht für GPIO-Aufgaben konfiguriert werden.

Die Farbe des Symbols zeigt dessen Bank an. Die Pins für die Stromversorgung der internen Logik des FPGA und die Masse-Pins gehören keiner Bank an, sie sind grau markiert. Die farbigen Vierecke um einige Pins zeigen an, welche Funktion sie meiner Meinung nach haben. Zum Beispiel dienen die Pins mit den gelben Vierecken zur Konfiguration des FPGA. Die Farbe der Symbole für diese Pins ist Blau, daher benutzen sie die Spannungswerte von Bank 2.

Stellenmarkt
  1. Entwicklungsingenieur Software (m/w/d)
    Jumo GmbH & Co. KG, Fulda
  2. Deep Learning Engineer (m/w/d)
    Magnosco GmbH, Berlin
Detailsuche

Die Pins P10, R3 und T11 können nach der Konfiguration als GPIO-Pins benutzt werden. Im Gegensatz dazu kann die Konfiguration der Pins L13 und T2 nicht geändert werden. L11 und N14 werden nicht zur Konfiguration eingesetzt und sind deshalb grau. A15, C12, C14 und E14 sind JTAG-Pins, allerdings sind diese Pins anscheinend nirgendwo angebunden.

Wo der SoC-Bus anliegt

Im vorherigen Artikel habe ich eine ganze Reihe von Pins gefunden, die ständig geschaltet werden. Sie sind wohl mit dem DDR-Speicherbus des SoC verbunden. Darüber kommuniziert der SoC hauptsächlich mit dem FPGA. Dazu simuliert der FPGA einen DDR-Speicher, den der SoC ausliest oder beschreibt. Ich habe die Pins entsprechend als "SoC bus" markiert und meine Grafik neu erzeugt.

  • Legende der FPGA-Pins (Bild: Christer Weinigel)
  • Die FPGA-Pins (Bild: Christer Weinigel)
  • Pins des SoC-Bus (Bild: Christer Weinigel)
  • Pins zum RAM (Bild: Christer Weinigel)
  • Pins zum ADC (Bild: Christer Weinigel)
  • Vollständig dokumentierte Karte der Pins (Bild: Christer Weinigel)
  • Matrix-Schaltung der Bedientasten am Oszilloskop (Bild: Christer Weinigel)
  • Noch keine Sinuskurve (Bild: Christer Weinigel)
  • Mit viel Phantasie eine Sinuskurve (Bild: Christer Weinigel)
  • Eine echte Sinuskurve (Bild: Christer Weinigel)
  • Das gleiche Spiel mit zwei Kanälen (Bild: Christer Weinigel)
  • Noch etwas Chaos (Bild: Christer Weinigel)
  • Wenigstens keine Ausreißer mehr (Bild: Christer Weinigel)
  • Beide Kanäle sind klar erkennbar. (Bild: Christer Weinigel)
  • Beide Kanäle mit größer Dämpfung (Bild: Christer Weinigel)
Pins des SoC-Bus (Bild: Christer Weinigel)

Die meisten dieser Pins befinden sich in Bank 2, aber einige auch in Bank 3. Bank 2 befindet sich auch physisch am nächsten am SoC, weshalb ihre Nutzung auch vom Platinenlayout her sinnvoll ist.

Der DDR2-Speicher benutzt den SSTL-Standard zur elektrischen Datenübertragung. Die Spannung beträgt dabei 1,8 Volt, weshalb eine externe Referenzspannung von 0,9 Volt über einen VREF-Pin benötigt wird. Ich habe einen Spannungsteiler auf der Platine gefunden, der diese Spannung bereitstellt.

An den Pins P7 und M7 liegt ein symmetrisches 133-MHz-Taktsignal vom SoC an. Noch ist mir nicht die komplette Pin-Belegung des SoC-Busses klar. Aber ich habe einige Ideen, wie ich sie herausfinden kann.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Den echten DDR-Bus identifizieren 
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6.  


Aktuell auf der Startseite von Golem.de
Apollon-Plattform
DE-CIX wagt umfassendstes Netzwerkupgrade seiner Geschichte

Das Upgrade zum Ausfiltern von Netzwerkrauschen erfolgte innerhalb nächtlicher Wartungsfenster bei laufendem Betrieb.

Apollon-Plattform: DE-CIX wagt umfassendstes Netzwerkupgrade seiner Geschichte
Artikel
  1. Kia Flex: Kia startet Neuwagen-Abo
    Kia Flex
    Kia startet Neuwagen-Abo

    Unter dem Namen Kia Flex hat Kia ein neues Vertriebskonzept vorgestellt. Kunden kaufen die Autos nicht, sondern abonnieren sie.

  2. Autonomes Fahren: VW-Chef Blume streicht offenbar Audi-Projekt Artemis
    Autonomes Fahren
    VW-Chef Blume streicht offenbar Audi-Projekt Artemis

    Nicht nur das VW-Projekt Trinity, auch das geplante Audi-Vorzeigemodell Artemis fällt den Softwareproblemen des VW-Konzerns zum Opfer.

  3. Kids für Alexa im Test: Alexa, wer hat den Kindermodus verbockt?
    Kids für Alexa im Test
    Alexa, wer hat den Kindermodus verbockt?

    Amazon bietet neuerdings einen speziellen Kindermodus für Alexa an. Das soll Eltern in Sicherheit wiegen, die sollten sich aber besser nicht darauf verlassen.
    Ein Test von Ingo Pakalski

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Amazon Last Minute Angebote: Games & Zubehör, AVM-Router • Saturn-Weihnachts-Hits: Rabatt-Angebote aus allen Kategorien • Laptops bis zu 41% günstiger bei Saturn • PS5 Disc Edition inkl. GoW Ragnarök wieder vorbestellbar bei Amazon 619€ • ViewSonic 32" WQHD/144 Hz 229,90€ [Werbung]
    •  /