www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 Isr-Jitter und externes Ram


Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an Alle!

Ich habe folgendes Problem:

Ich verwende einen STM32 (Cortex M3) in Verbindung mit einem externen 
SRAM. Bei Verwendung des internen Ram habe ich einen Interrupt Jitter 
von +/- einem Takt. (@72MHz ~ 14ns) Diesen Jitter kann ich mir zwar auch 
nicht erklären da es in meiner Konfiguration meiner Meinung nach eine 
feste Latenz von 12 Takten geben sollte aber keinen Jitter. Gut damit 
läßt sich leben.
Greife ich allerdings auf das externe SRAM zu steigt der Jitter auf ~ 
+/- 200ns was mir sehr seltsam vorkommt. Gut ein größerer Jitter ist zu 
erwarten da das RAM nur 16bit Zugriffe macht und ein 32bit Zugriff 
bestimmt nicht von einem ISR unterbrochen werden kann. Aber die 
Größenordnung passt einfach nicht. Verwendet wird übrigens ein 10ns 
SRAM.
Wo könnte das Problem liegen? Habe schon Stunden die unschöne Arm Doku 
studiert und komme zu keiner wirklichen Lösung.

Vielleicht weis von Euch jemand genaueres dazu?


Viele Grüße
Georg

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Georg schrieb:

> Diesen Jitter kann ich mir zwar auch
> nicht erklären da es in meiner Konfiguration meiner Meinung nach eine
> feste Latenz von 12 Takten geben sollte

Solche Angaben sind eher als Maximum definiert, das ggf. unterschritten 
werden kann. Sie dürfte sich ausserdem auf einen nicht durch 
irgendwelche Waitstates gebremsten Cortex-M3 Core beziehen. Bei 72MHz 
entstehen bei Code im Flash aber 2 Waitstates.

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ok an die habe ich dabei nicht gedacht! Damit ist dieser Jitter 
schonmal erklärt!

Danke!

Weiter Ideen zum externem Ram?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie lang ist denn der Speicherzyklus bei Zugriff auf externes RAM, bei 
32 Bits?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
NB: Für taktgenauen Programmablauf sind solche Controller nicht gedacht.

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich kann es leider gerade nicht nachmessen. Aber es sollten 10ns 
zum Adresse setzen und 10ns zum Daten lesen sein. Das hieße 32bit lesen 
sollte ~40ns dauern. Jitter ist aber um Faktor 10 größer...

Einen taktgenauen Zugriff erwarte ich ja nicht. Aber einen so hohen 
Jitter habe ich nicht erwartet.... Meiner Meinung nach ist die Auslegung 
mit dem externem Ram an dieser CPU auch nicht optimal, aber da ist nix 
dran zu wackeln.

Vielen Dank für deine Hilfe!

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein Blick in die Reference suggeriert bei SRAM-Lesezyklen mindestens 5 
HCLKs pro 16-Bit Transfer. 1xADDSET + 2xDATAST + 2 (Figure 187, Table 
106). Ergibt 10 HCLKs bei 32 Bits, sind 140ns. Schreiben geht fixer.

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mist das sieht echt nicht gut aus. Werde das nächste Woche nochmal 
genauer durchgehen und vermessen.
Danke Dir!

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nicht wirklich ein effizientes Speicherinterface - trotz 70ns Zyklus 
ergeben sich grad mal 10ns Zugriffszeit (3xHCLK-32 lt. Datasheet).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.