www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DMA Verständnissfrage bei dsPics


Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen. Ich werde irgendwie nicht schlau vom DMA im dsPic. DMA 
steht ja für Direct Memory Access, also direkter Speicherzugriff. Ist 
das so gemeint, dass man von der Pic-Peripherie z.b. ADC in den Pic-Ram 
schreiben kann, ohne groß Code zu haben, oder ist das so gemeint, dass 
man an bestimmte Pins bzw. SPI einen externen Ram anschließen kann, der 
aber als "Intern" angesehen wird, also dass man sich nich über die 
übertragung kümmern muss. Als Beispiel: 0x0000 - 0xFFFF ist PIC-Ram und 
0xE00000 - 0xEFFFFF ist der eigentlich externe Ram. Hier wäre der Pic 
dann sozusagen Peripherie, die direkt auf den (externen) Ram zugreift.

Letzteres wäre nämlich nicht schlecht, da man ja dort ein größeren Ram 
(evtl SD-Ram vom PC) anschließen könnte, als der der im Pic ist.

Sollte es, wie ich vermute, das erste sein, also das man "ohne" Code vom 
ADC ins Ram schreiben kann, wie kann man die 2. Möglichkeit am 
elegantesten verwirklichen, sodass ich die ADC-Daten schnell und mit so 
wenig Code wie möglich in einem externen Ram speichern kann.

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir niemand kurz sagen, was es damit auf sich hat?

Autor: Pic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Deine erste Vermutung ist richtig. Mit DMA können einige Schnittstellen 
auf einen speziellen RAM-Bereich (DMA-RAM) zugreifen, ohne die CPU damit 
zu belästigen. Die Zugriffe werden über entsprechende Register 
hardwaregesteuert und erfolgen meist über einen separaten Bus.
Um externes RAM anzuschließen könntest Du dir mal den Parallel Master 
Port (PMP) beim DsPic33F... ansehen. Der ist extra dafür vorgesehen.

Grüße

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah, dachte ich mir doch. Danke für die Info, werde mir den PMP mal 
genauer angucken.

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Falls als externen Speicher ein EEPROM oder ein Flash möglich ist 
könntest du versuchen per DMA von ADC zulesen und mit einem zweiten DMA 
Kanal die Daten in den externen Speicher zu schreiben (z.B. SPI-EEPROM)

Gruss Manuel

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.