Hallo, ich habe Probleme die Datenübertragung FPGA -> 68013A -> PC zum laufen zu bekommen. Auf dem FPGA läuft eine Statemachine, die die Daten aus dem OUT-Fifo ausliest oder in den IN-Fifo hineinschreiben soll. Die Statemachine realisiert auch gleichzeitig den Fifo-Master. Die Statemachine schreibt einfach solange Daten in den IN-Fifo bis das Fullflag aktiv wird und liest so lange Daten aus dem OUT-Fifo bis das Emptyflag des jeweiligen Fifo aktiv wird. Der 68013A läuft im Asynchron-Slave-Fifo-Mode und soll die Daten nur durchreichen. Die EPs sind alle als Bulk-Endpoints konfiguriert. Ich benutze die vorgebene Firmware von Cypress und habe sie nach meinen Bedürfnissen angepasst. Eigentlich sollte nur EP2 und EP6 verwendet werden. EP4 und EP8 habe ich nur zum testen hinzugefügt aber das funktioniert allerdings auch nicht. Die ganze Geschichte sollte nun folgendermaßen funktionieren: EP2 ist als OUT-Endpoint konfiguriert und empfängt die Daten vom Host und die Statemachine im FPGA kann diese auch auslesen und weiter bearbeiten, soweit funktioniert das auch. Wenn ich nun allerdings Daten vom FPGA in den EP6Fifo schreiben möchte wird der EP6Fifo niemals full. Das auslesen des Fifos per CyConsole endet auch in einem Transfer failed. Auf dem Logicanalyzer sehe ich, dass die Daten auf dem FD-Bus anliegen, die Adresse von FIFOADR korrekt ist, SLOE=1(Output enable = inaktiv), SLCS=0(Chip Select = aktiv) und auch SLWR ewig hin und her toggelt. Normal müsste das EP6FIFO Full Flag nach 1024 Flanken aktiv werden (512Byte double buffered). Wird es aber leider nie. Also das Timing was mir mein LA ausspuckt sieht korrekt aus. Ich denke also das der CY68013 einfach nicht korrekt mitarbeiten will und es irgendwie an der Konfiguration liegen muss. Zum testen hab ich bereits einfach mal die Funktionen von EP2 und EP6 getauscht, nun war also EP2 der IN-EP und EP6 der OUT-EP. In der Statemachine habe ich dann nur die jeweiligen Adressen geändert und ansonsten alles so gelassen. Wenn ich nun Daten vom FPGA in den EP2Fifo geschrieben habe wurde das EP2Fifo Full Flag auch aktiv! Allerdings lese ich per CyConsole nur 512 mal 0x00 pro Paket aus obwohl auf dem FD Bus eigentlich 0x66 dauerthaft anliegen. EP6 Funktioniert nun auch nicht mehr. Die OUT-Übertragung über EP2 hat vorher ja korrekt funktioniert. Die Konfiguration habe ich für den EP6 nun genau so übernommen. Wenn ich jetzt Daten von der CyConsole an den EP6 schicke wird das Empty Flag zwar inaktiv aber Daten lassen sich nicht auslesen. FIFOADR steht auf der korrekten Adresse, SLOE=aktiv, SLCS=aktiv, und SLRD toggelt aber auf dem FD-Bus tut sich gar nichts. Ich beschäftige mich nun schon einige Zeit mit dem Problem aber ich komme im Moment einfach nicht weiter. Mein geredet oben klingt sicher etwas wirr aber ich wollte einfach soviel Infomation wie möglich rüber bringen. Falls ich etwas vergessen habe gebt mir bitte bescheid. Vielen Dank Flo
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.