Hallo zusammen Ich habe eine FX3(S)-firmware, welche unter anderem ein FPGA vom S0-Interface (eMMC) via P-Port (GPIF II) konfiguriert. Das GPIF bringt brutto 800 Mbit/s (16-bit @ 50MHz), ich schaffe netto ~160 Mbit/s. Das eMMC-readout ist nicht der Bottle-Neck (grössere DMA-Buffer bringen immer noch etwas, ich will aber nicht soviel Speicher dafür aufwenden). Ich vermute den Bremsklotz irgendwo in meiner FX3(S)-Firmware. Hat jemand von Euch schon Profiling auf der Toolchain (Cypress EZ USB Suite) betrieben (möchte etwas mehr Auflösung, als nur ein, zwei GPIOs zu bewegen...)? Mit was für einer Lösung? Hints & Links, Empfehlungen? Danke schon im Voraus...
Profiling hab ich noch nicht gemacht, arbeite aber auch mit dem FX3 im Slave FIFO Modus. Ein großer Bremsklotz ist eine zu geringe DMA Buffer Anzahl und der DMA Manual bzw. Signal Mode. Mit DMA Auto Mode kriegt man die volle GEschwindigkeit hin. Ich nehme an, am S läuft das mit der eMMC ähnlich über die DMA Threads.
Christian R. schrieb: > Mit DMA Auto Mode kriegt man die volle Geschwindigkeit hin. Vielleicht liegt da der Hund begraben. Im Moment benutzte ich das Teil im Mode MANUAL_IN/OUT, via CPU. Ich benutze CyU3PSibReadWriteRequest() welcher für jeden Transfer zu/vom eMMC benutzt wird (mit Block-Adresse, Anzahl Blocks die transferiert werden müssen, etc.). Da liegt ein AUTO einigermassen quer (auf die Schnelle habe ich da kein sinnvolles Setup gefunden).
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.