Grüß euch
Ich würde gerne die Lesegeschwindigkeit eines IS25LP128 Flash an einem
STM32L431 maximieren. Der Prozessor und das Flash wird mit 80MHz
getaktet und ich nutze bereits das "FAST READ QUAD I/O OPERATION"
Kommando um auf allen 4 Datenleitungen zu empfangen.
Leider entsprechen meine Tests nicht der erwarteten Performance. Meines
Verständnis nach müsste alle 2 Takte ein Byte empfangen werden. Das
Kopieren eines 1kB großen Blocks aus dem QSPI-Flash ins Prozessor RAM
müsste also ohne Berücksichtigung des Instruction/Address-Overheads in
1 | 1 / 80MHz * 1024B * 2 = ~26µs
|
erledigt sein.
Tatsächlich dauert der komplette Lesevorgang allerdings 100µs. Woher
kann dieser Unterschied kommen?
Da es sich ausschliesslich um BGA Bauteile handelt kann ich leider grad
etwas schlecht ein Oszilloskop anhängen. Es existiert zwar ein Layout
mit Testpins, das müsste ich allerdings erst wieder in Betrieb nehmen.