Forum: Mikrocontroller und Digitale Elektronik FX3: Profiling?


von P. K. (pek)


Lesenswert?

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...

von Christian R. (supachris)


Lesenswert?

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.

von P. K. (pek)


Lesenswert?

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
Noch kein Account? Hier anmelden.