Gast
#3382147
Hallo, ich habe jetzt doch einen ganz überraschenden Test mit dem neuen Controller von ST gemacht. Da ich den Angegebenen Werten, die aus den Marketing Abteilungen der Hersteller kommen nie ganz traue, muss man selber testen. Die Aufgabe war eine Hilberttransformation für die Aufbereitung der I und Q Signale bei einer Samplingfrequenz von 32KHz und einer Signalbreite von 32 Bit. Der Code reinrassig optimiert für beide Controller in Assembler geschrieben. FIR-Filter mit 127 Taps. ARM9 = AT91SAM9G10 mit 264MHz Clock und 132MHz SDRAM. CM4 = STM32F429 mit standard 168MHz Clock. Das Testergebniss war für mich zwar nicht ganz unerwartet, hat mich aber dennoch sehr erfreut. Der CM4 schafte die Berechnung 6,41 mal pro Sekunde zu durchlaufen. Also 6.41 mal schneller als Echtzeit. Der ARM9 mit allen seinen eingeschalteten Turboladern I-Cache, D-Cache und MMU mit 6,944 mal pro Sekunde. Dabei ist es beim D-Cache unintressant aus welchem RAM. Mit abgeschaltetem D-Cache aus dem internen RAM waren es nur noch 3.3 mal pro Sekunde. Hopla macht der Cache nur die Sache schnell. Aber der CM4 glänzt hier ganz gut würde ich mal behaupten, denn Cache ist hier eher Fehlanzeige. Es muss aber noch gesagt sein, das auf dem ARM9 noch ein TFT-Display angesteuert wurde mit 480x272 mit einem Datendurchsatz von ca.7,8 MByte pro Sekunde. Das fällt aber auch kaum ins Gewicht da ja der D-Cache und I-Cache aktiv ist. Wenn der Speed des CM4 auch bei Random Access auf das interne SRAM so hoch bleibt, finde ich, dass er dem ARM9 überlegen ist. Der FIR-Filter wurde übrigens hauptsächlich mit dem SMLAL Befehl aufgebaut. Also 32 Bit mal 32 Bit = 64 Bit + 64 Bit Summing Register. D.h.alle Filter koeffizienten sind mit einer Genauigkeit von 32 Bit angegeben. Die Audio Daten von der Soundkarte mit 24 Bit. Hat jemand andere Erfahrungen mit dem STM32F429 gemacht? Gruß Sascha