STM32F429: Externer ADU-SPI-DMA-Externer Ram

Gast #4609810
Lesenswert?
• ▲
▼
Sehr geehrte Forum User,

nach einiger Recherche wende ich mich nun an euch:

Ich möchte ein kleines (1-Kanal) Datenerfassungsgerät mit dem STM32F429 
Discovery Board (STM Board) realisieren. Zu diesem Anlass verwende ich 
den 24-Bit Delta-Sigma Analog-Digital-Umsetzer (ADU) ADS1271 [1, siehe 
unten] von TI. Die "hohe" Auflösung möchte ich deswegen, da ich mit 
einem Beschleunigungsaufnehmer (MEMS oder auch IEPE), angeschlossen an 
den ADU, mechanische Schwingungen erfassen möchte um ggf. auch eine 
experimentelle Modalanalyse durchführen zu können.

Der oben aufgeführte ADU kommuniziert mit dem STM Board über die SPI 
Schnittstelle. Nun ist bekannt, dass für die "richtige" Auswertung des 
Signals im Frequenzbereich die Abtastperiode (T_A) zwischen den Samples 
stets äquidistant sein muss. Damit diese Bedingung gewährleistet werden 
kann, muss ich die Samples "schnell" irgendwo unterbringen und daher 
denke ich an den Einsatz des DMA Controllers. Dieser soll die Daten im 
Empfangsbuffer des SPIs "schnell" in den externen RAM auf dem STM Board 
laden. Wenn ich das richtig verstanden habe, wird der externe RAM auf 
dem STM Board m.H. des FSMC angesteuert. Falls dies stimmt ist die 
Frage: Hängt der FSMC und der SPI des STM32F429 Controllers auf einem 
gemeinsamen DMA Bus und würde der beschriebene Vorgang funktionieren ? 
Dies habe ich aus dem Reference Manual [2] des STM32F429 Controllers 
nicht richtig herauslesen können.

Alternativ habe ich mich gefragt ob ich die Daten direkt an den PC über 
die USB Schnittstelle schicke. Wie man im Datenblatt des ADUs [1] 
entnehmen kann, beträgt die Abtastrate im High-Resolution Mode c.a. 
52kHz. Klappt das mit USB oder wäre das zu langsam ? Wie macht man hier 
überhaupt eine Überschlagsrechnung um genau diese Frage beantworten zu 
können ?

Wenn ich den ADU nun "befeuere" und dieser die Daten an den Controller 
sendet, kann ich dann davon ausgehen, das alle Daten mit äquidistanten 
Abtastzeiten ankommen oder soll ich dies lieber mit einem internen Timer 
im Controller erledigen um sicher zu sein, dass die Timings stimmen ? 
Dann würde ich bei jedem Timer Interrupt genau einen Wert abtasten und 
diesen in den RAM speichern bzw. über USB an den PC senden.

Ich würde mich über jede Hilfe freuen.

mfGruß und ein schönen Samstag,
opcode69

[1]: http://www.ti.com/lit/ds/symlink/ads1271.pdf
[2]: 
http://www.cs.hs-rm.de/~kaiser/1313_canacademy/STM42F4xx_Reference_manual_DM00031020.pdf
Gast #4609903
Lesenswert?
• ▲
▼
Zu 1:
Der st32f4 hat eine "multi-AHB bus matrix".
(http://www.st.com/content/ccc/resource/technical/document/datasheet/03/b4/b2/36/4c/72/49/29/DM00071990.pdf/files/DM00071990.pdf/jcr:content/translations/en.DM00071990.pdf)
Oder hier steht auch was dazu:
http://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32f4-series/stm32f429-439.html?querycriteria=productId=LN1806
>Easily extendable memory range using the flexible 90 MHz
>memory controller with 32-bit parallel interface,
>and supporting Compact Flash, SRAM, PSRAM, NOR,
>NAND and SDRAM memories

Zu2:
Der stm hat full speed 2.0 an Bord (12mbps). LAN kannst du auch nehmen.

Du musst nicht warten bis dein RAM überfüllt wird. Sende die Daten in 
Paketen ab (4096 bytes). Die Bearbeitung der Daten findet am Rechner 
statt. Außer du willst die Daten am µC bearbeiten?

mfg

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.