DMA Verständnissfrage bei dsPics

Gast #2010806
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.
Gast
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
Gast
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

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.