Hallo, für eine Laufzeitmessung verwende ich einen GP22 von acam. Um diesen in Betrieb zu nehmen, muss am Anfang per SPI-Schnittstelle ein gewisse Folge an Befehlswörtern und der Inhalt der Konfigurationsregister übertragen werden. Ich hatte zunächst dem GP22 mit Hilfe eines Mikrocontroller AT32UC3C in Betrieb genommen. Dies ging recht problemlos. Die Dokumentation dazu ist recht gut. Nun allerdings möchte ich gern die Ansteuerung mit einem FPGA realisieren. Dafür habe ich zunächst die SPI-Schnittstelle in VHDl beschrieben und eine State-Machine geschrieben, die mir die Folge der Befehlesworte und Inhalt der Konfigurationsregister für den GP22 auswirft. Wenn ich mir die Kommunikation per Oszilloskop anschaue ist diese identisch mit der funktionierenden Ansteuerung per AT32UC3C. Punkte wie: - SPI-Einstellung: Clock Phase Bit = 1; Clock Polarity Bit = 0 - SPI-Chip-Select LOW-active - HW-Reset vor Beginn der Kommunikation habe ich berücksichtigt. Auch die Daten die übertragen werden, habe ich überprüft. Nun ist allerdings das Problem, das nach dem Steuerwort: 'Start_Cal_Resonator' der GP22 mit einem Interrupt reagieren müsste. das tut er allerdings nicht. Ich habe inzwischen jeden stein zweimal umgedreht und weiß nicht weiter. Hat irgendwer schoneinmal mit dem GP22 ( oder GP21 ) gearbeitet und hat ähnliche Erfahungen gemacht? Wenn noch weitere Angaben fehlen, dann fragt bitte, ich werde sie dann nachreichen. Gruß
Kannst Du evtl. die beiden Bilder (geht, geht nicht) vom Scope hier einstellen? Irgendwo muß ja ein Unterschied sein. Wie wird die Konfiguration im FPGA gestartet? Kann die Statemachine wiederholt ausgeführt werden? Duke
Hi Duke, Duke Scarring schrieb: > Kannst Du evtl. die beiden Bilder (geht, geht nicht) vom Scope hier > einstellen? siehe Anhang. in den Abbildungen: Kanal 1 - Interruptleitung Kanal 3 - MOSI Kanal 4 - Chip Select Duke Scarring schrieb: > Wie wird die Konfiguration im FPGA gestartet? Der FPGA hängt in der Kommunikationskette zwischen dem Mikrocontroller (der oben bereits genannte) und dem GP22. Ich habe mir eigene Steuerwörter für die Kommunikation zwischen uC und FPGA definiert, welche ich per SPI (uC = Master; FPGA = Slave ) übertrage. Damit wird dann meine State-Machine im FPGA gefüttert und die Übertragung der Konfiguration zum GP22 ( FPGA = Master; GP22 = Slave ) gestartet. Duke Scarring schrieb: > Kann die Statemachine wiederholt ausgeführt werden? Ja. Wenn ich das entsprechende Steuerwort an den FPGA schreibe werden die Daten erneut übertragen. Ich habe mich auch schon parallel an die SPI-Leitungen gehängt und mitgeschnitten, welche Daten übertragen werden. Dort ist ebenfals kein Unterschied zu erkennen (siehe Anhang).
@ GP22-Nutzer (Gast) >Ich habe mich auch schon parallel an die SPI-Leitungen gehängt und >mitgeschnitten, welche Daten übertragen werden. Dort ist ebenfals kein >Unterschied zu erkennen (siehe Anhang). Bitte? Wie willst du auf DIESEN Screenshots Unterschiede erkennen bzw Gleichheit exakt prüfen? Da muss man MINDESTENS die gleiche Zeitbasis wählen und den gleichen Triggerpunkt. Ein Logikanalysator wäre gut.
Hi Falk, mit den ScrennShots hast du vollkommen recht. Logik-Analyzer habe ich leider nicht; nur ein Oszi. Ich kann das hier für mich natürlich wesentlich genauer untersuchen als auf den Bildern dargestellt und mir jedes Bit und jede Flanke genau anschauen. Soll ich jetzt von jedem übertragenen Byte ein einzelnen Screenshot hier reinstellen? Ich denke nicht. Da müsst ihr meiner Aussage vertrauen. Das von mir geschriebene, was du zitiert hast, bezieht sich auf die txt-Datei. Das habe ich nicht deutlich genug herausgestellt. Entschuldigung. Ich danke aber trotzdem schon für die bisherigen Mühen. Gruß
OK, deine Bilder zeigen streng genommen nur das die Signale aus dem FPGA laufen. Ist auch sichergestellt: -das sie ankommen (am GP22-Pins gemessen)? -der GP22 arbeitet? (Betriebs-LED o.ä.) -die IRQ leitung am FPGA ankommt (nahe FPGA pin messen, oder intern durchrouten auf Testpad)? Messhinweis: Speichere doch das MOSI ab und lass das abgespeicheret signal bei der FPGA Messung auch darstellen. (Stored waveform oder so) damit kann man gut vergleichen. MfG,
Hallo, der GP22 befindet sich auf dem erhältlichen Eval-Board GP22-EVA-KIT. Die Pins des GP22 werden an eine Steckerleiste herausgeführt. Ich habe den FPGA über diese Leiste angeschlossen und hänge auch mit dem Oszi an dieser Stelle (dafür habe ich mir einen entsprechende Adapter gebastelt). Wenn ich den Mikrocontroller anschließe passiert dies über die gleiche Steckerleiste und dort funktionierts. Daher gehe ich davon aus, dass die Signale auch jeweils korrekt anliegen (sowohl am GP22 als auch am Spartan). Die Idee mit der Signal-Speicherung finde ich sehr gut. Das werde ich morgen mal ausprobieren. Wenn ich dort neue Erkentnisse gewinne, werde ich sie hier reinstellen. Vielen Dank und Gruß
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.